{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Vector Search / Nearest Neighbors\n",
    "\n",
    "Vector search systems with Vi is designed to be incredibly easy to do."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "nbsphinx": "hidden",
    "slideshow": {
     "slide_type": "skip"
    }
   },
   "outputs": [],
   "source": [
    "import IPython.display as ipd\n",
    "from IPython.core.interactiveshell import InteractiveShell\n",
    "InteractiveShell.ast_node_interactivity = \"all\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let us write a quick function to show the results as pandas DataFrames."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "nbsphinx": "hidden",
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "outputs": [],
   "source": [
    "import string\n",
    "import requests\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "import random\n",
    "import datetime\n",
    "import time"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "nbsphinx": "hidden",
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "outputs": [],
   "source": [
    "import json\n",
    "with open('product.json', 'r') as infile:\n",
    "    documents = json.load(infile)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "username = os.environ['VI_USERNAME']\n",
    "api_key = os.environ['VI_API_KEY']\n",
    "url = \"https://api.vctr.ai\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "collection_name = 'ecommerce'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "from vectorai.client import ViClient\n",
    "vi_client = ViClient(username, api_key, url)\n",
    "\n",
    "from vectorai.models.deployed import ViText2Vec, ViImage2Vec, ViAudio2Vec\n",
    "text_encoder = ViText2Vec(username, api_key, 'https://api.vctr.ai')\n",
    "image_encoder = ViImage2Vec(username, api_key, 'https://api.vctr.ai')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here we insert the documents into a collection and encode it with a text2vec encoder. When a field is encoded a new field is created called 'field_vector_'. e.g. 'name' -> 'name_vector_' "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "vi_client.insert_documents(\n",
    "    collection_name,\n",
    "    documents, \n",
    "    models={\n",
    "        'name':text_encoder.encode,\n",
    "    }\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Once inserted you can also run jobs ontop of the collection to encode other fields that you didn't encode intially at insert."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "job = vdb_client.encode_image_job(collection_name, 'image_url')\n",
    "vdb_client.wait_till_jobs_complete(collection_name, job['job_id'], job['job_name'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Search"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Vi makes search really easy and blazing fast. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>image_url</th>\n",
       "      <th>_id</th>\n",
       "      <th>name</th>\n",
       "      <th>sku</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/s/m/smj320zzwnxsa_1_med.jpg\" width=\"100\" ></td>\n",
       "      <td>1_43661</td>\n",
       "      <td>Samsung - SM-J320ZZWNXSA - Galaxy J3 2106 - White</td>\n",
       "      <td>1091002705</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/s/m/smr170nzkaxsa_01_med.jpg\" width=\"100\" ></td>\n",
       "      <td>1_50310</td>\n",
       "      <td>Samsung - SM-R170NZKAXSA - Galaxy Buds</td>\n",
       "      <td>SM-R170NZKAXSA</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/s/a/samsung-s7-silver-hero.jpg\" width=\"100\" ></td>\n",
       "      <td>1_43031</td>\n",
       "      <td>Samsung - SM-G930FZSAXSA - Galaxy S7 32GB - Silver</td>\n",
       "      <td>SM-G930FZSAXSA</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/s/a/samsung-s7-gold-hero.jpg\" width=\"100\" ></td>\n",
       "      <td>1_43029</td>\n",
       "      <td>Samsung - SM-G930FZDAXSA - Galaxy S7 32GB - Gold</td>\n",
       "      <td>SM-G930FZDAXSA</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/s/a/samsung-s7-black-hero.jpg\" width=\"100\" ></td>\n",
       "      <td>1_43030</td>\n",
       "      <td>Samsung - SM-G930FZKAXSA - Galaxy S7 32GB - Black</td>\n",
       "      <td>SM-G930FZKAXSA</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "search_results = vi_client.search(collection_name, \n",
    "    text_encoder.encode('samsung phone'), 'name_vector_', page_size=5, page=1)\n",
    "\n",
    "vi_client.show_json(search_results, selected_fields=['_id', 'name', 'sku'], \n",
    "    image_fields=['image_url'], image_width=100)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Recommendations/Search by _id"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>image_url</th>\n",
       "      <th>_id</th>\n",
       "      <th>name</th>\n",
       "      <th>sku</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/a/i/airpods-with-chargingcase-hero.jpg\" width=\"100\" ></td>\n",
       "      <td>1_50198</td>\n",
       "      <td>Apple AirPods with Charging Case (2nd Gen) - MV7N2ZA/A</td>\n",
       "      <td>MV7N2ZA/A</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/m/r/mr8u2zaa_01_med.jpg\" width=\"100\" ></td>\n",
       "      <td>1_50196</td>\n",
       "      <td>Apple Wireless Charging Case for AirPods - MR8U2ZA/A</td>\n",
       "      <td>MR8U2ZA/A</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/a/i/airpods-with-wirelesschargingcase-hero.jpg\" width=\"100\" ></td>\n",
       "      <td>1_50197</td>\n",
       "      <td>Apple AirPods with Wireless Charging Case - MRXJ2ZA/A</td>\n",
       "      <td>MRXJ2ZA/A</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "product_id = '1_50198'\n",
    "search_by_id_results = vi_client.search_by_id(collection_name, product_id, 'name_vector_', page_size=3)\n",
    "vi_client.show_json(search_by_id_results, selected_fields=['_id', 'name', 'sku'], \n",
    "    image_fields=['image_url'], image_width=100)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Hybrid Search \n",
    "\n",
    "There are sometime search cases where pure vector search does not provide the best solution. For example product skus."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dict_keys(['_id', 'short_description', 'on_special', 'product_url', 'rating', 'description', 'saleable', 'pre_order', 'thumbnail_url', 'model_no', 'was_now', 'manufacturer', 'cashback_amount', 'price', 'merchandising_blocks', 'add_to_cart_html', 'attribute_set', 'id', 'sku', 'brand_img', 'store_id', 'quickview_url', 'compare_url', 'price_html', 'ticket_price', 'image_url', 'tax_class_id', 'cashback_time', 'memory_gb', 'webcode', 'special_time', 'name', '_clusters_', 'objectID', '_dr_', 'status', '_search_score'])"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>image_url</th>\n",
       "      <th>_id</th>\n",
       "      <th>name</th>\n",
       "      <th>sku</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/n/u/nutribullet-rx-hero.jpg\" width=\"150\" ></td>\n",
       "      <td>1_43035</td>\n",
       "      <td>NutriBullet RX 1700 - N171007M</td>\n",
       "      <td>N171007M</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/a/c/ac6904194_med.jpg\" width=\"150\" ></td>\n",
       "      <td>1_39666</td>\n",
       "      <td>Euroflex - AC6904194 - Antibak</td>\n",
       "      <td>AC6904194</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/6/6/6695er_01_med.jpg\" width=\"150\" ></td>\n",
       "      <td>1_52451</td>\n",
       "      <td>SEBO K Service Kit - 6695ER</td>\n",
       "      <td>6695ER</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "search_results = vi_client.search(collection_name, text_encoder.encode('R170NZKAXSA'), 'name_vector_', page_size=3)\n",
    "vi_client.show_json(search_results, selected_fields=['_id', 'name', 'sku'], \n",
    "    image_fields=['image_url'], image_width=150)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Instead, in those cases, we may want to adopt a hybrid search approach to fine-tune our search results."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>image_url</th>\n",
       "      <th>_id</th>\n",
       "      <th>name</th>\n",
       "      <th>sku</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/s/m/smr170nzkaxsa_01_med.jpg\" width=\"150\" ></td>\n",
       "      <td>1_50310</td>\n",
       "      <td>Samsung - SM-R170NZKAXSA - Galaxy Buds</td>\n",
       "      <td>SM-R170NZKAXSA</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/n/u/nutribullet-rx-hero.jpg\" width=\"150\" ></td>\n",
       "      <td>1_43035</td>\n",
       "      <td>NutriBullet RX 1700 - N171007M</td>\n",
       "      <td>N171007M</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/s/m/smr150nzkaxsa_1_med.jpg\" width=\"150\" ></td>\n",
       "      <td>1_45830</td>\n",
       "      <td>Samsung - SM-R150NZKAXSA - Gear IconX</td>\n",
       "      <td>SM-R150NZKAXSA</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "search_results = vi_client.hybrid_search(collection_name, 'R170NZKAXSA',\n",
    "      text_encoder.encode('R170NZKAXSA'),\n",
    "      fields=['name_vector_'], text_fields=['name'],\n",
    "      traditional_weight=0.015,\n",
    "      page_size=3)\n",
    "vi_client.show_json(search_results, selected_fields=['_id', 'name', 'sku'], \n",
    "    image_fields=['image_url'], image_width=150)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Collection Metadata"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "View the collection schema."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'_clusters_': 'dict',\n",
       " '_clusters_.image_url_vector_': 'dict',\n",
       " '_clusters_.image_url_vector_.default': 'numeric',\n",
       " '_clusters_.name_vector_': 'dict',\n",
       " '_clusters_.name_vector_.default': 'numeric',\n",
       " '_dr_': 'dict',\n",
       " '_dr_.default': 'dict',\n",
       " '_dr_.default.2': 'dict',\n",
       " '_dr_.default.2.name_vector_': 'vector',\n",
       " '_dr_.default.2048': 'dict',\n",
       " '_dr_.default.2048.image_url_vector_': 'vector',\n",
       " 'add_to_cart_html': 'text',\n",
       " 'attribute_set': 'text',\n",
       " 'brand_img': 'text',\n",
       " 'cashback_amount': 'text',\n",
       " 'cashback_time': 'numeric',\n",
       " 'categories': 'numeric',\n",
       " 'categories_search': 'text',\n",
       " 'clearance_item': 'text',\n",
       " 'compare_url': 'text',\n",
       " 'description': 'text',\n",
       " 'description_vector_': 'vector',\n",
       " 'display_url_vector_': 'vector',\n",
       " 'id': 'text',\n",
       " 'image_url': 'text',\n",
       " 'image_url_vector_': 'vector',\n",
       " 'insert_date_': 'date',\n",
       " 'manufacturer': 'text',\n",
       " 'memory_gb': 'text',\n",
       " 'merchandising_blocks': 'text',\n",
       " 'model_no': 'text',\n",
       " 'name': 'text',\n",
       " 'name_vector_': 'vector',\n",
       " 'objectID': 'text',\n",
       " 'on_special': 'bool',\n",
       " 'pre_order': 'numeric',\n",
       " 'price': 'numeric',\n",
       " 'price_html': 'text',\n",
       " 'product_url': 'text',\n",
       " 'quickview_url': 'text',\n",
       " 'rating': 'text',\n",
       " 'saleable': 'numeric',\n",
       " 'short_description': 'text',\n",
       " 'sku': 'text',\n",
       " 'special_time': 'numeric',\n",
       " 'status': 'text',\n",
       " 'store_id': 'numeric',\n",
       " 'tax_class_id': 'text',\n",
       " 'thumbnail_url': 'text',\n",
       " 'ticket_price': 'text',\n",
       " 'was_now': 'text',\n",
       " 'webcode': 'text'}"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "vi_client.collection_schema(collection_name)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "View statistics about your collection!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'size_mb': 756.213328,\n",
       " 'number_of_documents': 6068,\n",
       " 'number_of_searches': 32698,\n",
       " 'number_of_id_lookups': 30519}"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "vi_client.collection_stats(collection_name)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "List all created collections!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['aggregated_ecommerce',\n",
       " 'audio_quickstart',\n",
       " 'common_voice',\n",
       " 'ecommerce',\n",
       " 'instagram']"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "vi_client.list_collections()[0:5]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Displaying a document by its id and without vectors.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dict_keys(['short_description', 'on_special', 'categories_search', 'product_url', 'rating', 'description', 'saleable', 'pre_order', 'thumbnail_url', 'model_no', 'was_now', 'manufacturer', 'cashback_amount', 'price', 'merchandising_blocks', 'add_to_cart_html', 'attribute_set', 'id', 'categories', 'sku', 'brand_img', 'store_id', 'quickview_url', 'compare_url', 'price_html', 'ticket_price', 'image_url', 'tax_class_id', 'insert_date_', 'clearance_item', 'cashback_time', 'memory_gb', 'webcode', 'special_time', 'name', '_clusters_', 'objectID', '_dr_', 'status'])"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "('MV7N2ZA/A',\n",
       " 'Apple AirPods with Charging Case (2nd Gen) - MV7N2ZA/A',\n",
       " 'Designed by Apple<br />Automatically on, automatically connected<br />Easy setup for all your Apple devices6<br />Quick access to Siri<br />Double tap to play or skip forward<br />Charges quickly in the case<br />Case can be charged with a Lightning connector<br />Rich, high-quality audio and voice<br />Seamless switching between devices<br /><br />Accessibility: Live Listen audio<br />AirPods sensors (each): Dual beamforming microphones, Dual optical sensors, Motion-detecting accelerometer, Speech-detecting accelerometer<br /><br />AirPods: Bluetooth<br />Charging case: Lightning connector<br /><br />AirPods with charging case: More than 24 hours of listening time3, up to 18 hours of talk time<br />AirPods (single charge): Up to five hours of listening time1, up to three hours of talk time; 15 minutes in the case equals three hours of listening time4 or up to two hours of talk time<br /><br />iPhone, iPad and iPod touch models: With iOS 12.2 or later<br />Apple Watch models: With watchOS 5.2 or later<br />Mac models: With macOS 10.14.4 or later<br />Apple TV models: With tvOS 12.2 or later<br /><br />iPhone Models: iPhone XS, iPhone XS Max, iPhone XR, iPhone X, iPhone 8, iPhone 8 Plus, iPhone 7, iPhone 7 Plus, iPhone 6s, iPhone 6s Plus, iPhone 6, iPhone 6 Plus, iPhone SE, iPhone 5s<br />iPad Models: iPad Air (3rd generation), iPad mini (5th generation), 11-inch iPad Pro, 12.9-inch iPad Pro (3rd generation), 10.5-inch iPad Pro, iPad (6th Generation), iPad (5th Generation), iPad Pro 12.9-inch (2nd Generation), iPad Pro 12.9-inch (1st Generation), iPad Pro 9.7-inch, iPad mini 4, iPad mini 3, iPad mini 2, iPad Air 2, iPad Air (1st generation)<br />Mac Models: 12-inch MacBook, 13-inch MacBook Air with Retina display, 13-inch MacBook Air, 11-inch MacBook Air, 13-inch MacBook Pro - Thunderbolt 3 (USB-C), 13-inch MacBook Pro, 15-inch MacBook Pro - Thunderbolt 3 (USB-C), 15-inch MacBook Pro, 21.5-inch iMac — Thunderbolt 3 (USB-C), 21.5-inch iMac — Thunderbolt 2, 27-inch iMac — Thunderbolt 3 (USB-C), 27-inch iMac — Thunderbolt 2, iMac Pro, Mac Pro, Mac mini — Thunderbolt 3 (USB-C), Mac mini<br />Watch Models: Series 4, Series 3, Series 2, Series 1<br />Apple TV Models: Apple TV 4K, Apple TV HD<br />iPod Models: iPod touch (6th Generation)<br />',\n",
       " [1261, 4, 31, 1300, 1394, 1395, 2048, 2197, 2219, 2226, 1132, 2379],\n",
       " 'Apple')"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "document = vi_client.id(collection_name, '1_50198', include_vector=False)\n",
    "document.keys()\n",
    "document['sku'], document['name'], document['description'], document['categories'], document['manufacturer']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Advanced Search\n",
    "\n",
    "Search can have a lot more complexity than simple vector search! We can sum our vectors, take the average of our vectors and even use traditional filters on our search due to the document-oriented approach of our library!"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Using Facets and Filters in search\n",
    "Facets is the frequency count of each unique value in a field\n",
    "1. we randomly create a filter and use it to filter\n",
    "2. this will be combined with vector search to make it even more powerful"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Get the facets and have an overview of each field's value."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'attribute_set': [{'attribute_set': 'Phone Accessories', 'frequency': 164},\n",
       "  {'attribute_set': 'Mobile Phones', 'frequency': 163},\n",
       "  {'attribute_set': 'USB Cables, Hubs & Readers', 'frequency': 121},\n",
       "  {'attribute_set': 'Sinks', 'frequency': 116},\n",
       "  {'attribute_set': 'Bluetooth Portable Speaker', 'frequency': 107},\n",
       "  {'attribute_set': 'Free Standing Dishwasher', 'frequency': 99},\n",
       "  {'attribute_set': 'Home Security', 'frequency': 86},\n",
       "  {'attribute_set': '60cm Built-In Ovens', 'frequency': 85},\n",
       "  {'attribute_set': 'Canopy Rangehoods', 'frequency': 84},\n",
       "  {'attribute_set': 'Induction Cooktops', 'frequency': 81},\n",
       "  {'attribute_set': 'Bottom Mount Fridge', 'frequency': 80},\n",
       "  {'attribute_set': 'Bluetooth Headphones', 'frequency': 75},\n",
       "  {'attribute_set': 'Ceramic Cooktop', 'frequency': 73},\n",
       "  {'attribute_set': 'French Door Fridge', 'frequency': 73},\n",
       "  {'attribute_set': 'Other Shelf Appliances', 'frequency': 73},\n",
       "  {'attribute_set': 'Front Load Washers', 'frequency': 70},\n",
       "  {'attribute_set': 'Power Accessories', 'frequency': 70},\n",
       "  {'attribute_set': 'Wearable Equipment', 'frequency': 69},\n",
       "  {'attribute_set': 'External Hard Drives', 'frequency': 68},\n",
       "  {'attribute_set': 'Taps', 'frequency': 68}],\n",
       " 'manufacturer': [{'manufacturer': 'Samsung', 'frequency': 356},\n",
       "  {'manufacturer': 'Smeg', 'frequency': 286},\n",
       "  {'manufacturer': 'Westinghouse', 'frequency': 230},\n",
       "  {'manufacturer': 'Miele', 'frequency': 225},\n",
       "  {'manufacturer': 'Cygnett', 'frequency': 180},\n",
       "  {'manufacturer': 'Apple', 'frequency': 154},\n",
       "  {'manufacturer': 'Philips', 'frequency': 144},\n",
       "  {'manufacturer': 'LG', 'frequency': 139},\n",
       "  {'manufacturer': 'Breville', 'frequency': 131},\n",
       "  {'manufacturer': 'Panasonic', 'frequency': 129},\n",
       "  {'manufacturer': 'Fisher & Paykel', 'frequency': 126},\n",
       "  {'manufacturer': 'Electrolux', 'frequency': 119},\n",
       "  {'manufacturer': 'Bosch', 'frequency': 110},\n",
       "  {'manufacturer': 'DeLonghi', 'frequency': 110},\n",
       "  {'manufacturer': 'Sony', 'frequency': 101},\n",
       "  {'manufacturer': 'Sunbeam', 'frequency': 95},\n",
       "  {'manufacturer': 'Blanco', 'frequency': 94},\n",
       "  {'manufacturer': 'JBL', 'frequency': 89},\n",
       "  {'manufacturer': 'Alogic', 'frequency': 83},\n",
       "  {'manufacturer': 'Beko', 'frequency': 77}],\n",
       " 'price': {'min': 2.0, 'max': 99999.0, 'avg': 974.5360909690178}}"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "vi_client.facets(collection_name, page=1, page_size=20, asc=False, fields=['attribute_set', 'price', 'manufacturer'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Take a randomly generated filter query!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[{'field': 'status',\n",
       "  'filter_type': 'text',\n",
       "  'condition_value': 'Enabled',\n",
       "  'condition': '=='}]"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "filter_query = vi_client.random_filter_query(collection_name, text_filters=1, numeric_filters=0)\n",
    "filter_query"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "View your filter results"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>_id</th>\n",
       "      <th>name</th>\n",
       "      <th>description</th>\n",
       "      <th>sku</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1_48435</td>\n",
       "      <td>Fisher &amp; Paykel - CG604DX1 - 60cm Gas on Steel...</td>\n",
       "      <td>Cast iron trivets&lt;br /&gt;Electronic ignition&lt;br ...</td>\n",
       "      <td>CG604DX1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1_51255</td>\n",
       "      <td>Kelvinator - KSV50HWH - 5kW/6kW Reverse Cycle ...</td>\n",
       "      <td>Kelvinator Connect Wi-Fi enabled&lt;br /&gt;Heating ...</td>\n",
       "      <td>KSV50HWH</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1_52877</td>\n",
       "      <td>Philips - HC5612/15 - Washable Hair Clipper</td>\n",
       "      <td>Trim-n-Flow PRO technology&lt;br /&gt;28 length sett...</td>\n",
       "      <td>HC5612/15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1_52875</td>\n",
       "      <td>LG - GS-B680DSLE - 679L Side-by-Side Fridge</td>\n",
       "      <td>&lt;style type=\"text/css\"&gt;\\r\\nbody {\\r\\n    backg...</td>\n",
       "      <td>GSB680DSLE</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1_47181</td>\n",
       "      <td>Asko - DBI654IB.S - XL 60cm Built-in Dishwasher</td>\n",
       "      <td>15 Place Settings&lt;br /&gt;13 Wash Programs&lt;br /&gt;T...</td>\n",
       "      <td>DBI654IBS</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>1_46728</td>\n",
       "      <td>Panasonic - Wireless CD Hi-Fi System - SC-PMX1...</td>\n",
       "      <td>3-ways speaker system&lt;br /&gt;High resolution aud...</td>\n",
       "      <td>SCPMX152GNS</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>1_52611</td>\n",
       "      <td>Sunbeam - EM5300K - Barista Max Espresso Machi...</td>\n",
       "      <td>All-in-one, easy to use espresso machine&lt;br /&gt;...</td>\n",
       "      <td>EM5300K</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>1_50483</td>\n",
       "      <td>JBL - Charge 4 Blue - Portable Bluetooth Speak...</td>\n",
       "      <td>Wireless Bluetooth Streaming&lt;br /&gt;20 Hours of ...</td>\n",
       "      <td>JBLCHARGE4BLU</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>1_48390</td>\n",
       "      <td>Husky - HUS-C3-840 - 307L Bar Fridge - Silver</td>\n",
       "      <td>6 x fully adjustable heavy duty shelves&lt;br /&gt;D...</td>\n",
       "      <td>HUSC3840HY</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>1_47665</td>\n",
       "      <td>Alogic - MF-AUS2PC7-02 - 2m Aus 2 Pin Mains Pl...</td>\n",
       "      <td>Male to Female Power Cable&lt;br /&gt;Insulated Pins...</td>\n",
       "      <td>MF-AUS2PC7-02R</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       _id                                               name  \\\n",
       "0  1_48435  Fisher & Paykel - CG604DX1 - 60cm Gas on Steel...   \n",
       "1  1_51255  Kelvinator - KSV50HWH - 5kW/6kW Reverse Cycle ...   \n",
       "2  1_52877        Philips - HC5612/15 - Washable Hair Clipper   \n",
       "3  1_52875      LG - GS-B680DSLE - 679L Side-by-Side Fridge     \n",
       "4  1_47181  Asko - DBI654IB.S - XL 60cm Built-in Dishwasher     \n",
       "5  1_46728  Panasonic - Wireless CD Hi-Fi System - SC-PMX1...   \n",
       "6  1_52611  Sunbeam - EM5300K - Barista Max Espresso Machi...   \n",
       "7  1_50483  JBL - Charge 4 Blue - Portable Bluetooth Speak...   \n",
       "8  1_48390      Husky - HUS-C3-840 - 307L Bar Fridge - Silver   \n",
       "9  1_47665  Alogic - MF-AUS2PC7-02 - 2m Aus 2 Pin Mains Pl...   \n",
       "\n",
       "                                         description             sku  \n",
       "0  Cast iron trivets<br />Electronic ignition<br ...        CG604DX1  \n",
       "1  Kelvinator Connect Wi-Fi enabled<br />Heating ...        KSV50HWH  \n",
       "2  Trim-n-Flow PRO technology<br />28 length sett...       HC5612/15  \n",
       "3  <style type=\"text/css\">\\r\\nbody {\\r\\n    backg...      GSB680DSLE  \n",
       "4  15 Place Settings<br />13 Wash Programs<br />T...       DBI654IBS  \n",
       "5  3-ways speaker system<br />High resolution aud...     SCPMX152GNS  \n",
       "6  All-in-one, easy to use espresso machine<br />...         EM5300K  \n",
       "7  Wireless Bluetooth Streaming<br />20 Hours of ...   JBLCHARGE4BLU  \n",
       "8  6 x fully adjustable heavy duty shelves<br />D...      HUSC3840HY  \n",
       "9  Male to Female Power Cable<br />Insulated Pins...  MF-AUS2PC7-02R  "
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "vi_client.results_to_df(vi_client.filters(collection_name, filter_query))[['_id', 'name', 'description', 'sku']]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Using facets and filters in vector search"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "advanced_search_query = {\n",
    "    'text' : {'vector': text_encoder.encode('iphone earphones'), 'fields' : ['name_vector_']}\n",
    "}\n",
    "\n",
    "filter_query = [\n",
    "    {'field': 'attribute_set',\n",
    "    'filter_type': 'text',\n",
    "    'condition_value': 'Bluetooth Headphones',\n",
    "    'condition': '=='}\n",
    "]\n",
    "\n",
    "results = vi_client.advanced_search(collection_name, advanced_search_query, \n",
    "                                    filters=filter_query, include_facets=True, \n",
    "                                    min_score=0.01, page_size=3, facets=['attribute_set', 'price'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>_id</th>\n",
       "      <th>name</th>\n",
       "      <th>description</th>\n",
       "      <th>sku</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1_45511</td>\n",
       "      <td>Apple AirPods</td>\n",
       "      <td>Designed by Apple&lt;br /&gt;Automatically on, autom...</td>\n",
       "      <td>MMEF2ZA/A</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1_51937</td>\n",
       "      <td>Apple AirPods Pro</td>\n",
       "      <td>Go to &lt;a href=\"http://www.apple.com/airpods-pr...</td>\n",
       "      <td>MWP22ZA/A</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1_45609</td>\n",
       "      <td>EarPods with 3.5mm Headphone Plug</td>\n",
       "      <td>Designed by Apple&lt;br /&gt;Deeper, richer bass ton...</td>\n",
       "      <td>MNHF2FE/A</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       _id                               name  \\\n",
       "0  1_45511                    Apple AirPods     \n",
       "1  1_51937                  Apple AirPods Pro   \n",
       "2  1_45609  EarPods with 3.5mm Headphone Plug   \n",
       "\n",
       "                                         description        sku  \n",
       "0  Designed by Apple<br />Automatically on, autom...  MMEF2ZA/A  \n",
       "1  Go to <a href=\"http://www.apple.com/airpods-pr...  MWP22ZA/A  \n",
       "2  Designed by Apple<br />Deeper, richer bass ton...  MNHF2FE/A  "
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "vi_client.results_to_df(results)[['_id', 'name', 'description', 'sku']]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'attribute_set': [{'attribute_set': 'Sports Headphones', 'frequency': 6},\n",
       "  {'attribute_set': 'In-ear headphones', 'frequency': 8},\n",
       "  {'attribute_set': 'Bluetooth One Box HiFi', 'frequency': 15},\n",
       "  {'attribute_set': 'Headphones Phone Controls', 'frequency': 21},\n",
       "  {'attribute_set': 'True Wireless Headphones', 'frequency': 21},\n",
       "  {'attribute_set': 'Noise Cancelling headphones', 'frequency': 34},\n",
       "  {'attribute_set': 'Headphones', 'frequency': 43},\n",
       "  {'attribute_set': 'Bluetooth Headphones', 'frequency': 75},\n",
       "  {'attribute_set': 'Bluetooth Portable Speaker', 'frequency': 107}],\n",
       " 'price': {'min': 4.0, 'max': 749.0, 'avg': 178.83030303030304}}"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "results['facets']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Advanced Vector Search"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Multi vector search\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### By Sum\n",
    "Multi-vector search allows you to obtain search scores by taking the sum of these scores.\n",
    "\n",
    "$TextScore + ImageScore = SearchScore$\n",
    "\n",
    "We then rank by the new SearchScore, so for 1000 documents there will be 1000 search scores (which is different to our comparison-only method!)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/jpeg": "[encoded data, 163544 characters]\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "execution_count": 37,
     "metadata": {
      "image/jpeg": {
       "width": 200
      }
     },
     "output_type": "execute_result"
    }
   ],
   "source": [
    "image_vector = image_encoder.encode('https://specials-images.forbesimg.com/imageserve/5e19e401a854780006e84e28/960x0.jpg?fit=scale')\n",
    "ipd.Image('https://specials-images.forbesimg.com/imageserve/5e19e401a854780006e84e28/960x0.jpg', width=200)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>image_url</th>\n",
       "      <th>_id</th>\n",
       "      <th>name</th>\n",
       "      <th>sku</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/m/x/mxvu2xa_01_med.jpg\" width=\"150\" ></td>\n",
       "      <td>1_52947</td>\n",
       "      <td>iPhone SE 256GB White</td>\n",
       "      <td>MXVU2X/A</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/a/p/apple-iphone-pro-gold-hero.jpg\" width=\"150\" ></td>\n",
       "      <td>1_51518</td>\n",
       "      <td>iPhone 11 Pro 256GB Gold</td>\n",
       "      <td>MWC92X/A</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/a/p/apple-iphone-pro-max-gold.jpg\" width=\"150\" ></td>\n",
       "      <td>1_51501</td>\n",
       "      <td>iPhone 11 Pro Max 256GB Gold</td>\n",
       "      <td>MWHL2X/A</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "advanced_search_query = {\n",
    "    'text': {'vector': text_encoder.encode('256gb'), 'fields': ['name_vector_']},\n",
    "    'image_url': {'vector': image_vector, 'fields': ['image_url_vector_']}\n",
    "}\n",
    "\n",
    "results = vi_client.advanced_search(collection_name, advanced_search_query, page_size=3)\n",
    "\n",
    "vi_client.show_json(results, selected_fields=['_id', 'name', 'sku'], image_fields=['image_url'], image_width=150)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Without Sum\n",
    "\n",
    "Multi vector search but not summing the score, instead including it in the comparison!\n",
    "\n",
    "Instead of using the search scores above, we can use the relevance instead.\n",
    "\n",
    "$TextScore = SearchScore$\n",
    "\n",
    "$ImageScore = SearchScore$\n",
    "\n",
    "We then rank by the new SearchScore, so for 1000 documents there should be 2000 search scores.\n",
    "\n",
    "We do this by setting `sum_fields=False`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>image_url</th>\n",
       "      <th>_id</th>\n",
       "      <th>name</th>\n",
       "      <th>description</th>\n",
       "      <th>sku</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/b/w/bwcb_01_med.jpg\" width=\"60\" ></td>\n",
       "      <td>1_53840</td>\n",
       "      <td>Blanco - BWCB - Wooden Chopping Board</td>\n",
       "      <td>Ash board<br />Supported by cushioned feet<br />Fits perfectly across the width of the sink<br />Integrated into the food preparation area<br />Designed to suit the ZEROX, CLARON, ANDANO, DIVON & SUBLINE sinks<br /></td>\n",
       "      <td>BWCB</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/a/p/apple-iphone-pro-gold-hero.jpg\" width=\"60\" ></td>\n",
       "      <td>1_51518</td>\n",
       "      <td>iPhone 11 Pro 256GB Gold</td>\n",
       "      <td>Go to <a href=\"https://www.apple.com/au/iphone-11-pro/specs/\" target=\"_blank\">www.apple.com/au/iphone-11-pro/specs/</a> for a complete set.</td>\n",
       "      <td>MWC92X/A</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/a/p/apple-iphone-pro-max-gold_2.jpg\" width=\"60\" ></td>\n",
       "      <td>1_51516</td>\n",
       "      <td>iPhone 11 Pro Max 64GB Gold</td>\n",
       "      <td>Go to <a href=\"https://www.apple.com/au/iphone-11-pro/specs/s\" target=\"_blank\">www.apple.com/au/iphone-11-pro/specs/</a> for a complete set.</td>\n",
       "      <td>MWHG2X/A</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "results = vi_client.advanced_search(collection_name, advanced_search_query, \n",
    "                                    page_size=3, sum_fields=False)\n",
    "\n",
    "vi_client.show_json(results, selected_fields=['_id', 'name', 'description', 'sku'], image_fields=['image_url'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Multi vector search with different weightings:\n",
    "\n",
    "$0.9\\times TextScore + 0.5\\times ImageScore = SearchScore$\n",
    "\n",
    "We then rank by the new search score (with 1000 documents there should be 1000 search scores.)\n",
    "For the advanced search query, the aliases below **text** and **image_url** (the keys of the query) can be renamed to anything and are mainly used to provide an alias for the search query. However, **vector** and **fields** are required to identify the vector search component and the fields component."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>image_url</th>\n",
       "      <th>_id</th>\n",
       "      <th>name</th>\n",
       "      <th>sku</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/a/p/apple-iphone-pro-gold-hero.jpg\" width=\"150\" ></td>\n",
       "      <td>1_51518</td>\n",
       "      <td>iPhone 11 Pro 256GB Gold</td>\n",
       "      <td>MWC92X/A</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/a/p/apple-iphone-pro-max-gold_2.jpg\" width=\"150\" ></td>\n",
       "      <td>1_51516</td>\n",
       "      <td>iPhone 11 Pro Max 64GB Gold</td>\n",
       "      <td>MWHG2X/A</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/a/p/apple-iphone-pro-max-gold.jpg\" width=\"150\" ></td>\n",
       "      <td>1_51501</td>\n",
       "      <td>iPhone 11 Pro Max 256GB Gold</td>\n",
       "      <td>MWHL2X/A</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "advanced_search_query = {\n",
    "    'text': {'vector': text_encoder.encode('iphone 11'), 'fields': {'name_vector_':0.9}},\n",
    "    'image_url': {'vector': image_vector, 'fields': {'image_url_vector_':0.5}}\n",
    "}\n",
    "\n",
    "results = vi_client.advanced_search(collection_name, advanced_search_query, page_size=3)\n",
    "\n",
    "vi_client.show_json(results, selected_fields=['_id', 'name', 'sku'], image_fields=['image_url'], image_width=150)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Vector based Recommendations (Search by Id)\n",
    "\n",
    "Vector-based recommendations is the same as search with one minor difference - we use the id associated with the vector of \"x\" document for search."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Single Item Recommendation (One -> Many)\n",
    "\n",
    "I liked product A, recommend me products similar to it, or products that users also bought\n",
    "\n",
    "What is happening here is that the vector of product A stored in VecDB is used as a search query:\n",
    "\n",
    "$Vector_{ProductA} = Search Query$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>image_url</th>\n",
       "      <th>_id</th>\n",
       "      <th>name</th>\n",
       "      <th>sku</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/c/t/ctoc2003y_01_med.jpg\" width=\"80\" ></td>\n",
       "      <td>1_50017</td>\n",
       "      <td>DeLonghi - CTOC 2003.Y - Icona Capitals 2 Slice Toaster - New York Yellow</td>\n",
       "      <td>CTOC2003Y</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/c/t/ctoc2003r_01_med.jpg\" width=\"80\" ></td>\n",
       "      <td>1_49987</td>\n",
       "      <td>DeLonghi - CTOC 2003.R - Icona Capitals 2 Slice Toaster - Tokyo Red</td>\n",
       "      <td>CTOC2003R</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/c/t/ctoc2003bl_01_med.jpg\" width=\"80\" ></td>\n",
       "      <td>1_50016</td>\n",
       "      <td>DeLonghi - CTOC 2003.BL - Icona Capitals 2 Slice Toaster - London Blue</td>\n",
       "      <td>CTOC2003BL</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/c/t/ctoc2003w_01_med.jpg\" width=\"80\" ></td>\n",
       "      <td>1_49988</td>\n",
       "      <td>DeLonghi - CTOC 2003.W - Icona Capitals 2 Slice Toaster - Sydney White</td>\n",
       "      <td>CTOC2003W</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/c/t/ctoc4003y_01_med.jpg\" width=\"80\" ></td>\n",
       "      <td>1_50018</td>\n",
       "      <td>DeLonghi - CTOC 4003.Y - Icona Capitals 4 Slice Toaster - New York Yellow</td>\n",
       "      <td>CTOC4003Y</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/k/b/kboc2001y_01_med.jpg\" width=\"80\" ></td>\n",
       "      <td>1_50021</td>\n",
       "      <td>DeLonghi - KBOC 2001.Y - Icona Capitals Kettle - New York Yellow</td>\n",
       "      <td>KBOC2001Y</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/c/t/ctoc4003bl_01_med.jpg\" width=\"80\" ></td>\n",
       "      <td>1_50032</td>\n",
       "      <td>DeLonghi - CTOC 4003.BL - Icona Capitals 4 Slice Toaster - London Blue</td>\n",
       "      <td>CTOC4003BL</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/c/t/ctoc4003r_01_med.jpg\" width=\"80\" ></td>\n",
       "      <td>1_49989</td>\n",
       "      <td>DeLonghi - CTOC 4003.R - Icona Capitals 4 Slice Toaster - Tokyo Red</td>\n",
       "      <td>CTOC4003R</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/c/t/ctoc4003o_01_med.jpg\" width=\"80\" ></td>\n",
       "      <td>1_52910</td>\n",
       "      <td>DeLonghi - CTOC 4003.O - Icona Capitals 4 Slice Toaster - Rome Orange</td>\n",
       "      <td>CTOC4003O</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/c/t/ctoc4003w_01_med.jpg\" width=\"80\" ></td>\n",
       "      <td>1_49990</td>\n",
       "      <td>DeLonghi - CTOC 4003.W - Icona Capitals 4 Slice Toaster - Sydney White</td>\n",
       "      <td>CTOC4003W</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "product_id = '1_50017'\n",
    "\n",
    "results = vi_client.search_by_id(collection_name, product_id, 'name_vector_', page_size=10)\n",
    "vi_client.show_json(results, selected_fields=['_id', 'name', 'sku'], image_fields=['image_url'], \n",
    "    nrows=10, image_width=80)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Advanced Recommendations With Multiple Vectors"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>image_url</th>\n",
       "      <th>_id</th>\n",
       "      <th>name</th>\n",
       "      <th>sku</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/c/t/ctoc2003y_01_med.jpg\" width=\"150\" ></td>\n",
       "      <td>1_50017</td>\n",
       "      <td>DeLonghi - CTOC 2003.Y - Icona Capitals 2 Slice Toaster - New York Yellow</td>\n",
       "      <td>CTOC2003Y</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/c/t/ctoc2003r_01_med.jpg\" width=\"150\" ></td>\n",
       "      <td>1_49987</td>\n",
       "      <td>DeLonghi - CTOC 2003.R - Icona Capitals 2 Slice Toaster - Tokyo Red</td>\n",
       "      <td>CTOC2003R</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/c/t/ctoc4003y_01_med.jpg\" width=\"150\" ></td>\n",
       "      <td>1_50018</td>\n",
       "      <td>DeLonghi - CTOC 4003.Y - Icona Capitals 4 Slice Toaster - New York Yellow</td>\n",
       "      <td>CTOC4003Y</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "results = vi_client.advanced_search_by_id(collection_name, product_id, \n",
    "                                          {'name_vector_':1, 'image_url_vector_':1}, page_size=3)['results']\n",
    "vi_client.show_json(results, selected_fields=['_id', 'name', 'sku'], image_fields=['image_url'], image_width=150)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Multi Item Recommendations (Many -> Many)\n",
    "e.g. I liked product A+B, recommend me products similar to it\n",
    "\n",
    "e.g. A like Product A only about 7/10, I like Product B 10/10\n",
    "\n",
    "$0.7\\times Vector_{ProductA} + 1\\times Vector_{ProductB} = Search Query$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Recommendations for multiple products."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>image_url</th>\n",
       "      <th>_id</th>\n",
       "      <th>name</th>\n",
       "      <th>sku</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/k/b/kboc2001y_01_med.jpg\" width=\"100\" ></td>\n",
       "      <td>1_50021</td>\n",
       "      <td>DeLonghi - KBOC 2001.Y - Icona Capitals Kettle - New York Yellow</td>\n",
       "      <td>KBOC2001Y</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/c/t/ctoc2003y_01_med.jpg\" width=\"100\" ></td>\n",
       "      <td>1_50017</td>\n",
       "      <td>DeLonghi - CTOC 2003.Y - Icona Capitals 2 Slice Toaster - New York Yellow</td>\n",
       "      <td>CTOC2003Y</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/c/t/ctoc4003y_01_med.jpg\" width=\"100\" ></td>\n",
       "      <td>1_50018</td>\n",
       "      <td>DeLonghi - CTOC 4003.Y - Icona Capitals 4 Slice Toaster - New York Yellow</td>\n",
       "      <td>CTOC4003Y</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/c/t/ctoc2003bl_01_med.jpg\" width=\"100\" ></td>\n",
       "      <td>1_50016</td>\n",
       "      <td>DeLonghi - CTOC 2003.BL - Icona Capitals 2 Slice Toaster - London Blue</td>\n",
       "      <td>CTOC2003BL</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/c/t/ctoc2003r_01_med.jpg\" width=\"100\" ></td>\n",
       "      <td>1_49987</td>\n",
       "      <td>DeLonghi - CTOC 2003.R - Icona Capitals 2 Slice Toaster - Tokyo Red</td>\n",
       "      <td>CTOC2003R</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "results = vi_client.search_by_ids(collection_name, ['1_50017', '1_50021'], 'name_vector_', page_size=5)\n",
    "vi_client.show_json(results, selected_fields=['_id', 'name', 'sku'], image_fields=['image_url'], image_width=100)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Advanced Recommendations With Multiple Vectors For Multiple Products"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>image_url</th>\n",
       "      <th>_id</th>\n",
       "      <th>name</th>\n",
       "      <th>sku</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/c/t/ctoc2003y_01_med.jpg\" width=\"100\" ></td>\n",
       "      <td>1_50017</td>\n",
       "      <td>DeLonghi - CTOC 2003.Y - Icona Capitals 2 Slice Toaster - New York Yellow</td>\n",
       "      <td>CTOC2003Y</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/k/b/kboc2001y_01_med.jpg\" width=\"100\" ></td>\n",
       "      <td>1_50021</td>\n",
       "      <td>DeLonghi - KBOC 2001.Y - Icona Capitals Kettle - New York Yellow</td>\n",
       "      <td>KBOC2001Y</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/c/t/ctoc4003y_01_med.jpg\" width=\"100\" ></td>\n",
       "      <td>1_50018</td>\n",
       "      <td>DeLonghi - CTOC 4003.Y - Icona Capitals 4 Slice Toaster - New York Yellow</td>\n",
       "      <td>CTOC4003Y</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/k/b/kboc2001o_01_med.jpg\" width=\"100\" ></td>\n",
       "      <td>1_52912</td>\n",
       "      <td>DeLonghi - KBOC 2001.O - Icona Capitals Kettle - Rome Orange</td>\n",
       "      <td>KBOC2001O</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/c/t/ctoc2003r_01_med.jpg\" width=\"100\" ></td>\n",
       "      <td>1_49987</td>\n",
       "      <td>DeLonghi - CTOC 2003.R - Icona Capitals 2 Slice Toaster - Tokyo Red</td>\n",
       "      <td>CTOC2003R</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "results = vi_client.advanced_search_by_ids(collection_name, {'1_50017':1, '1_50021':1}, \n",
    "                                           {'name_vector_':1, 'image_url_vector_':1}, \n",
    "                                           page_size=5, vector_operation='mean')\n",
    "vi_client.show_json(results, selected_fields=['_id', 'name', 'sku'], image_fields=['image_url'], image_width=100)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "I liked product A+B but not product C, recommend me products based off that"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$Vector_{ProductA} + Vector_{ProductB} - Vector_{ProductC} = Search Query$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Recommendations from multiple products/Search by IDs"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>image_url</th>\n",
       "      <th>_id</th>\n",
       "      <th>name</th>\n",
       "      <th>sku</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/c/t/ctoc4003y_01_med.jpg\" width=\"150\" ></td>\n",
       "      <td>1_50018</td>\n",
       "      <td>DeLonghi - CTOC 4003.Y - Icona Capitals 4 Slice Toaster - New York Yellow</td>\n",
       "      <td>CTOC4003Y</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/c/t/ctoc2003y_01_med.jpg\" width=\"150\" ></td>\n",
       "      <td>1_50017</td>\n",
       "      <td>DeLonghi - CTOC 2003.Y - Icona Capitals 2 Slice Toaster - New York Yellow</td>\n",
       "      <td>CTOC2003Y</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/c/t/ctoc4003r_01_med.jpg\" width=\"150\" ></td>\n",
       "      <td>1_49989</td>\n",
       "      <td>DeLonghi - CTOC 4003.R - Icona Capitals 4 Slice Toaster - Tokyo Red</td>\n",
       "      <td>CTOC4003R</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/c/t/ctoc4003o_01_med.jpg\" width=\"150\" ></td>\n",
       "      <td>1_52910</td>\n",
       "      <td>DeLonghi - CTOC 4003.O - Icona Capitals 4 Slice Toaster - Rome Orange</td>\n",
       "      <td>CTOC4003O</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/c/t/ctoc4003bl_01_med.jpg\" width=\"150\" ></td>\n",
       "      <td>1_50032</td>\n",
       "      <td>DeLonghi - CTOC 4003.BL - Icona Capitals 4 Slice Toaster - London Blue</td>\n",
       "      <td>CTOC4003BL</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "execution_count": 57,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "results = vi_client.advanced_search_by_positive_negative_ids(collection_name, \n",
    "    {'1_50017':1, '1_50018':1}, {'1_50021':1}, \n",
    "    {'name_vector_':1}, page_size=5,\n",
    "    vector_operation='sum')\n",
    "vi_client.show_json(results, selected_fields=['_id', 'name', 'sku'], image_fields=['image_url'], image_width=150)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Combining Query + Recommendation\n",
    "\n",
    "Recommendations/Users like and dislike history can be embedded in a search query\n",
    "\n",
    "$Serch Query + Vector_{ProductA} + Vector_{ProductB} - Vector_{ProductC} = New Search Query$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>image_url</th>\n",
       "      <th>_id</th>\n",
       "      <th>name</th>\n",
       "      <th>sku</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/c/t/ctoc4003y_01_med.jpg\" width=\"100\" ></td>\n",
       "      <td>1_50018</td>\n",
       "      <td>DeLonghi - CTOC 4003.Y - Icona Capitals 4 Slice Toaster - New York Yellow</td>\n",
       "      <td>CTOC4003Y</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/c/t/ctoc2003y_01_med.jpg\" width=\"100\" ></td>\n",
       "      <td>1_50017</td>\n",
       "      <td>DeLonghi - CTOC 2003.Y - Icona Capitals 2 Slice Toaster - New York Yellow</td>\n",
       "      <td>CTOC2003Y</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/c/t/ctoc4003bl_01_med.jpg\" width=\"100\" ></td>\n",
       "      <td>1_50032</td>\n",
       "      <td>DeLonghi - CTOC 4003.BL - Icona Capitals 4 Slice Toaster - London Blue</td>\n",
       "      <td>CTOC4003BL</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/c/t/ctoc2003r_01_med.jpg\" width=\"100\" ></td>\n",
       "      <td>1_49987</td>\n",
       "      <td>DeLonghi - CTOC 2003.R - Icona Capitals 2 Slice Toaster - Tokyo Red</td>\n",
       "      <td>CTOC2003R</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td><img src=\"https://media.binglee.com.au/media/catalog/product/cache/1/small_image/185x185/9df78eab33525d08d6e5fb8d27136e95/c/t/ctoc4003r_01_med.jpg\" width=\"100\" ></td>\n",
       "      <td>1_49989</td>\n",
       "      <td>DeLonghi - CTOC 4003.R - Icona Capitals 4 Slice Toaster - Tokyo Red</td>\n",
       "      <td>CTOC4003R</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "results = vi_client.advanced_search_with_positive_negative_ids_as_history(\n",
    "    collection_name, \n",
    "    text_encoder.encode('Delonghi'),\n",
    "    positive_document_ids={'1_50017':1, '1_50018':1}, \n",
    "    negative_document_ids={'1_50021':1}, \n",
    "    fields={'name_vector_':1}, \n",
    "    page_size=5,\n",
    "    vector_operation='sum')\n",
    "vi_client.show_json(results, selected_fields=['_id', 'name', 'sku'], image_fields=['image_url'], image_width=100)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Vector Analytics/Aggregation"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Traditional aggregation\n",
    "1. We randomly create an aggregation_query and use it to aggregate.\n",
    "2. This will be the basis for the more advance aggregation enabled by vectors"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'groupby': [{'name': 'memory_gb', 'field': 'memory_gb', 'agg': 'texts'}],\n",
       " 'metrics': [{'name': 'price', 'field': 'price', 'agg': 'avg'}]}"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "aggregation_query = vi_client.random_aggregation_query(collection_name, groupby=1, metrics=1)\n",
    "aggregation_query"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "View aggregated results."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[{'memory_gb': '4GB', 'frequency': 5, 'price': 137.0},\n",
       " {'memory_gb': '16GB', 'frequency': 3, 'price': 332.3333333333333},\n",
       " {'memory_gb': '8GB', 'frequency': 3, 'price': 272.3333333333333},\n",
       " {'memory_gb': '8 GB', 'frequency': 2, 'price': 1249.0},\n",
       " {'memory_gb': '32GB', 'frequency': 1, 'price': 49.0},\n",
       " {'memory_gb': '8GB microSD™ Class 10', 'frequency': 1, 'price': 649.0},\n",
       " {'memory_gb': 'Internal solid state', 'frequency': 1, 'price': 149.0},\n",
       " {'memory_gb': 'No', 'frequency': 1, 'price': 199.0},\n",
       " {'memory_gb': 'microSD', 'frequency': 1, 'price': 3099.0}]"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "vi_client.aggregate(collection_name, aggregation_query)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[{'manufacturer': 'Samsung', 'frequency': 356, 'price': 1216.1797752808989},\n",
       " {'manufacturer': 'Smeg', 'frequency': 286, 'price': 3285.076923076923},\n",
       " {'manufacturer': 'Westinghouse',\n",
       "  'frequency': 230,\n",
       "  'price': 1097.9782608695652},\n",
       " {'manufacturer': 'Miele', 'frequency': 225, 'price': 3856.133333333333},\n",
       " {'manufacturer': 'Cygnett', 'frequency': 180, 'price': 34.19444444444444},\n",
       " {'manufacturer': 'Apple', 'frequency': 154, 'price': 985.7922077922078},\n",
       " {'manufacturer': 'Philips', 'frequency': 144, 'price': 137.51388888888889},\n",
       " {'manufacturer': 'LG', 'frequency': 139, 'price': 1661.4244604316548},\n",
       " {'manufacturer': 'Breville', 'frequency': 131, 'price': 325.35114503816794},\n",
       " {'manufacturer': 'Panasonic', 'frequency': 129, 'price': 412.8992248062016}]"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "aggregation_query = {'groupby': [{'name': 'manufacturer',\n",
    "   'field': 'manufacturer',\n",
    "   'agg': 'texts'}],\n",
    " 'metrics': [{'name': 'price', 'field': 'price', 'agg': 'avg'}]}\n",
    "vi_client.aggregate(collection_name, aggregation_query)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Aggregations can also be published"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- Product -> Product Search\n",
    "- Product -> Brand Search\n",
    "- Brand -> Brand Search"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [],
   "source": [
    "aggregated_collection_name = 'aggregated_{}'.format(collection_name)\n",
    "aggregation_name = 'aggregation_{}'.format(collection_name)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': 'error',\n",
       " 'message': 'Something went wrong, please raise the error with maintainer.',\n",
       " 'error': 'Unknown Error'}"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "{'status': 'complete', 'message': 'aggregation_ecommerce started'}"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "vi_client.publish_aggregation(collection_name,\n",
    "                               aggregation_query, \n",
    "                               aggregation_name=aggregation_name, \n",
    "                               aggregated_collection_name=aggregated_collection_name,\n",
    "                               description='some aggregation for {}'.format(collection_name), \n",
    "                               refresh_time=2,\n",
    "                               start_immediately=False)\n",
    "vi_client.start_aggregation(aggregation_name)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Empty DataFrame\n",
       "Columns: []\n",
       "Index: []"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "vi_client.results_to_df(vi_client.retrieve_documents(aggregated_collection_name, 3))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Basic Vector Analytics\n",
    "\n",
    "Vector analytics provides an important way to understand how searches work. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [],
   "source": [
    "dr_job = vi_client.dimensionality_reduction_job(collection_name, vector_field='name_vector_', n_components=2)\n",
    "cluster_job = vi_client.advanced_clustering_job(\n",
    "    collection_name=collection_name, alias='default', vector_field='name_vector_',\n",
    "    n_clusters=50, n_init=5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can call the `wait_till_jobs_complete` method "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [],
   "source": [
    "vi_client.wait_till_jobs_complete(collection_name, dr_job['job_id'], dr_job['job_name'])\n",
    "vi_client.wait_till_jobs_complete(collection_name, cluster_job['job_id'], cluster_job['job_name'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Viewing the advanced cluster facets for only the first cluster:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'attribute_set': [{'attribute_set': 'Vacuum Accessories', 'frequency': 19},\n",
       "  {'attribute_set': 'Stick Vacuum', 'frequency': 15},\n",
       "  {'attribute_set': 'Undermount Rangehoods', 'frequency': 15},\n",
       "  {'attribute_set': 'Compact Combi Built-In Microwave', 'frequency': 13},\n",
       "  {'attribute_set': 'Induction Cooktops', 'frequency': 13},\n",
       "  {'attribute_set': 'Bagless Vacuum       ', 'frequency': 9},\n",
       "  {'attribute_set': 'Canopy Rangehoods', 'frequency': 9},\n",
       "  {'attribute_set': 'Compact Combi Steamers', 'frequency': 9},\n",
       "  {'attribute_set': 'Warming Draws', 'frequency': 8},\n",
       "  {'attribute_set': 'All Fridge', 'frequency': 6},\n",
       "  {'attribute_set': 'Ceramic Cooktop', 'frequency': 6},\n",
       "  {'attribute_set': 'Dryers', 'frequency': 6},\n",
       "  {'attribute_set': 'Fixed Rangehoods', 'frequency': 6},\n",
       "  {'attribute_set': 'Bag Vacuums', 'frequency': 5},\n",
       "  {'attribute_set': 'Hair Dryers', 'frequency': 5},\n",
       "  {'attribute_set': 'Upright Vacuum', 'frequency': 5},\n",
       "  {'attribute_set': '60cm Gas Cooktop', 'frequency': 4},\n",
       "  {'attribute_set': 'Built-in Coffee Machines', 'frequency': 4},\n",
       "  {'attribute_set': 'Evaporative Air Cooler', 'frequency': 3},\n",
       "  {'attribute_set': '60cm Slideout Rangehoods', 'frequency': 2},\n",
       "  {'attribute_set': '90cm Built-In Ovens', 'frequency': 2},\n",
       "  {'attribute_set': '90cm Gas Cooktop', 'frequency': 2},\n",
       "  {'attribute_set': 'Automatic Coffee Maker', 'frequency': 2},\n",
       "  {'attribute_set': 'Bottom Mount Fridge', 'frequency': 2},\n",
       "  {'attribute_set': 'Dehumidifiers', 'frequency': 2},\n",
       "  {'attribute_set': 'Hand Held Floor Cleaners', 'frequency': 2},\n",
       "  {'attribute_set': 'Shampoo Vacuums', 'frequency': 2},\n",
       "  {'attribute_set': '70cm Gas Cooktop', 'frequency': 1},\n",
       "  {'attribute_set': 'Fully Integrated Dishwasher', 'frequency': 1},\n",
       "  {'attribute_set': 'General Accessories', 'frequency': 1},\n",
       "  {'attribute_set': 'Hair Straighteners', 'frequency': 1},\n",
       "  {'attribute_set': 'Other Shelf Appliances', 'frequency': 1},\n",
       "  {'attribute_set': 'Outdoor Wine', 'frequency': 1},\n",
       "  {'attribute_set': 'Ovens Upright Duel Fuel 100cm', 'frequency': 1},\n",
       "  {'attribute_set': 'Rechargeable Vacuum Cleaner', 'frequency': 1},\n",
       "  {'attribute_set': 'Steam Irons', 'frequency': 1},\n",
       "  {'attribute_set': 'Vertical Freezers', 'frequency': 1},\n",
       "  {'attribute_set': 'Washer + Dryer Packages', 'frequency': 1},\n",
       "  {'attribute_set': 'Wet/Dry Vacuum', 'frequency': 1},\n",
       "  {'attribute_set': 'Wine Refrigerators', 'frequency': 1}],\n",
       " 'manufacturer': [{'manufacturer': 'Miele', 'frequency': 138},\n",
       "  {'manufacturer': 'Dyson', 'frequency': 21},\n",
       "  {'manufacturer': 'DeLonghi', 'frequency': 4},\n",
       "  {'manufacturer': 'LG', 'frequency': 4},\n",
       "  {'manufacturer': 'Shark', 'frequency': 4},\n",
       "  {'manufacturer': 'Honeywell', 'frequency': 3},\n",
       "  {'manufacturer': 'Samsung', 'frequency': 3},\n",
       "  {'manufacturer': 'Bissell', 'frequency': 2},\n",
       "  {'manufacturer': 'Numatic International', 'frequency': 2},\n",
       "  {'manufacturer': 'Remington', 'frequency': 2},\n",
       "  {'manufacturer': 'Vax', 'frequency': 2},\n",
       "  {'manufacturer': 'Black & Decker', 'frequency': 1},\n",
       "  {'manufacturer': 'Bosch', 'frequency': 1},\n",
       "  {'manufacturer': 'FoodSaver', 'frequency': 1},\n",
       "  {'manufacturer': 'Unilux', 'frequency': 1}]}"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "vi_client.advanced_cluster_facets(collection_name, vector_field='name_vector_', \n",
    "    facets_fields=['manufacturer', 'attribute_set'])['0']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Viewing the cluster aggregation statistics."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[{'manufacturer': 'Miele', 'frequency': 138, 'price': 3647.804347826087},\n",
       " {'manufacturer': 'Dyson', 'frequency': 21, 'price': 625.0},\n",
       " {'manufacturer': 'DeLonghi', 'frequency': 4, 'price': 1174.0},\n",
       " {'manufacturer': 'LG', 'frequency': 4, 'price': 896.0},\n",
       " {'manufacturer': 'Shark', 'frequency': 4, 'price': 399.0},\n",
       " {'manufacturer': 'Honeywell', 'frequency': 3, 'price': 449.0},\n",
       " {'manufacturer': 'Samsung', 'frequency': 3, 'price': 965.6666666666666},\n",
       " {'manufacturer': 'Bissell', 'frequency': 2, 'price': 349.0},\n",
       " {'manufacturer': 'Numatic International', 'frequency': 2, 'price': 849.0},\n",
       " {'manufacturer': 'Remington', 'frequency': 2, 'price': 184.0}]"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "vi_client.advanced_cluster_aggregate(\n",
    "    collection_name, \n",
    "    aggregation_query,\n",
    "    vector_field='name_vector_')['0']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[{'manufacturer': 'Targus', 'frequency': 22, 'price': 34.45454545454545},\n",
       " {'manufacturer': 'Blanco', 'frequency': 9, 'price': 636.7777777777778},\n",
       " {'manufacturer': 'STM', 'frequency': 7, 'price': 63.285714285714285},\n",
       " {'manufacturer': 'Tauris', 'frequency': 1, 'price': 599.0}]"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "vi_client.advanced_cluster_aggregate(\n",
    "    collection_name, \n",
    "    aggregation_query,\n",
    "    vector_field='name_vector_')['1']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "68ebce66987e4c1aad009c4cc49f85c6",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "HBox(children=(IntProgress(value=0, max=50), HTML(value='')))"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "        <script type=\"text/javascript\">\n",
       "        window.PlotlyConfig = {MathJaxConfig: 'local'};\n",
       "        if (window.MathJax) {MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}\n",
       "        if (typeof require !== 'undefined') {\n",
       "        require.undef(\"plotly\");\n",
       "        define('plotly', function(require, exports, module) {\n",
       "            /**\n",
       "* plotly.js v1.54.6\n",
       "* Copyright 2012-2020, Plotly, Inc.\n",
       "* All rights reserved.\n",
       "* Licensed under the MIT license\n",
       "*/\n",
       "!function(t){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=t();else if(\"function\"==typeof define&&define.amd)define([],t);else{(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this).Plotly=t()}}((function(){return function t(e,r,n){function a(o,s){if(!r[o]){if(!e[o]){var l=\"function\"==typeof require&&require;if(!s&&l)return l(o,!0);if(i)return i(o,!0);var c=new Error(\"Cannot find module '\"+o+\"'\");throw c.code=\"MODULE_NOT_FOUND\",c}var u=r[o]={exports:{}};e[o][0].call(u.exports,(function(t){return a(e[o][1][t]||t)}),u,u.exports,t,e,r,n)}return r[o].exports}for(var i=\"function\"==typeof require&&require,o=0;o<n.length;o++)a(n[o]);return a}({1:[function(t,e,r){\"use strict\";var n=t(\"../src/lib\"),a={\"X,X div\":\"direction:ltr;font-family:'Open Sans', verdana, arial, sans-serif;margin:0;padding:0;\",\"X input,X button\":\"font-family:'Open Sans', verdana, arial, sans-serif;\",\"X input:focus,X button:focus\":\"outline:none;\",\"X a\":\"text-decoration:none;\",\"X a:hover\":\"text-decoration:none;\",\"X .crisp\":\"shape-rendering:crispEdges;\",\"X .user-select-none\":\"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;\",\"X svg\":\"overflow:hidden;\",\"X svg a\":\"fill:#447adb;\",\"X svg a:hover\":\"fill:#3c6dc5;\",\"X .main-svg\":\"position:absolute;top:0;left:0;pointer-events:none;\",\"X .main-svg .draglayer\":\"pointer-events:all;\",\"X .cursor-default\":\"cursor:default;\",\"X .cursor-pointer\":\"cursor:pointer;\",\"X .cursor-crosshair\":\"cursor:crosshair;\",\"X .cursor-move\":\"cursor:move;\",\"X .cursor-col-resize\":\"cursor:col-resize;\",\"X .cursor-row-resize\":\"cursor:row-resize;\",\"X .cursor-ns-resize\":\"cursor:ns-resize;\",\"X .cursor-ew-resize\":\"cursor:ew-resize;\",\"X .cursor-sw-resize\":\"cursor:sw-resize;\",\"X .cursor-s-resize\":\"cursor:s-resize;\",\"X .cursor-se-resize\":\"cursor:se-resize;\",\"X .cursor-w-resize\":\"cursor:w-resize;\",\"X .cursor-e-resize\":\"cursor:e-resize;\",\"X .cursor-nw-resize\":\"cursor:nw-resize;\",\"X .cursor-n-resize\":\"cursor:n-resize;\",\"X .cursor-ne-resize\":\"cursor:ne-resize;\",\"X .cursor-grab\":\"cursor:-webkit-grab;cursor:grab;\",\"X .modebar\":\"position:absolute;top:2px;right:2px;\",\"X .ease-bg\":\"-webkit-transition:background-color 0.3s ease 0s;-moz-transition:background-color 0.3s ease 0s;-ms-transition:background-color 0.3s ease 0s;-o-transition:background-color 0.3s ease 0s;transition:background-color 0.3s ease 0s;\",\"X .modebar--hover>:not(.watermark)\":\"opacity:0;-webkit-transition:opacity 0.3s ease 0s;-moz-transition:opacity 0.3s ease 0s;-ms-transition:opacity 0.3s ease 0s;-o-transition:opacity 0.3s ease 0s;transition:opacity 0.3s ease 0s;\",\"X:hover .modebar--hover .modebar-group\":\"opacity:1;\",\"X .modebar-group\":\"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;\",\"X .modebar-btn\":\"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;\",\"X .modebar-btn svg\":\"position:relative;top:2px;\",\"X .modebar.vertical\":\"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;\",\"X .modebar.vertical svg\":\"top:-1px;\",\"X .modebar.vertical .modebar-group\":\"display:block;float:none;padding-left:0px;padding-bottom:8px;\",\"X .modebar.vertical .modebar-group .modebar-btn\":\"display:block;text-align:center;\",\"X [data-title]:before,X [data-title]:after\":\"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;\",\"X [data-title]:hover:before,X [data-title]:hover:after\":\"display:block;opacity:1;\",\"X [data-title]:before\":\"content:'';position:absolute;background:transparent;border:6px solid transparent;z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;\",\"X [data-title]:after\":\"content:attr(data-title);background:#69738a;color:white;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;\",\"X .vertical [data-title]:before,X .vertical [data-title]:after\":\"top:0%;right:200%;\",\"X .vertical [data-title]:before\":\"border:6px solid transparent;border-left-color:#69738a;margin-top:8px;margin-right:-30px;\",\"X .select-outline\":\"fill:none;stroke-width:1;shape-rendering:crispEdges;\",\"X .select-outline-1\":\"stroke:white;\",\"X .select-outline-2\":\"stroke:black;stroke-dasharray:2px 2px;\",Y:\"font-family:'Open Sans', verdana, arial, sans-serif;position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;\",\"Y p\":\"margin:0;\",\"Y .notifier-note\":\"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,0.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;\",\"Y .notifier-close\":\"color:#fff;opacity:0.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;\",\"Y .notifier-close:hover\":\"color:#444;text-decoration:none;cursor:pointer;\"};for(var i in a){var o=i.replace(/^,/,\" ,\").replace(/X/g,\".js-plotly-plot .plotly\").replace(/Y/g,\".plotly-notifier\");n.addStyleRule(o,a[i])}},{\"../src/lib\":728}],2:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/aggregate\")},{\"../src/transforms/aggregate\":1311}],3:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/bar\")},{\"../src/traces/bar\":877}],4:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/barpolar\")},{\"../src/traces/barpolar\":890}],5:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/box\")},{\"../src/traces/box\":900}],6:[function(t,e,r){\"use strict\";e.exports=t(\"../src/components/calendars\")},{\"../src/components/calendars\":593}],7:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/candlestick\")},{\"../src/traces/candlestick\":909}],8:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/carpet\")},{\"../src/traces/carpet\":928}],9:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/choropleth\")},{\"../src/traces/choropleth\":942}],10:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/choroplethmapbox\")},{\"../src/traces/choroplethmapbox\":949}],11:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/cone\")},{\"../src/traces/cone\":955}],12:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/contour\")},{\"../src/traces/contour\":970}],13:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/contourcarpet\")},{\"../src/traces/contourcarpet\":981}],14:[function(t,e,r){\"use strict\";e.exports=t(\"../src/core\")},{\"../src/core\":706}],15:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/densitymapbox\")},{\"../src/traces/densitymapbox\":989}],16:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/filter\")},{\"../src/transforms/filter\":1312}],17:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/funnel\")},{\"../src/traces/funnel\":999}],18:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/funnelarea\")},{\"../src/traces/funnelarea\":1008}],19:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/groupby\")},{\"../src/transforms/groupby\":1313}],20:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/heatmap\")},{\"../src/traces/heatmap\":1021}],21:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/heatmapgl\")},{\"../src/traces/heatmapgl\":1031}],22:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/histogram\")},{\"../src/traces/histogram\":1043}],23:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/histogram2d\")},{\"../src/traces/histogram2d\":1049}],24:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/histogram2dcontour\")},{\"../src/traces/histogram2dcontour\":1053}],25:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/image\")},{\"../src/traces/image\":1060}],26:[function(t,e,r){\"use strict\";var n=t(\"./core\");n.register([t(\"./bar\"),t(\"./box\"),t(\"./heatmap\"),t(\"./histogram\"),t(\"./histogram2d\"),t(\"./histogram2dcontour\"),t(\"./contour\"),t(\"./scatterternary\"),t(\"./violin\"),t(\"./funnel\"),t(\"./waterfall\"),t(\"./image\"),t(\"./pie\"),t(\"./sunburst\"),t(\"./treemap\"),t(\"./funnelarea\"),t(\"./scatter3d\"),t(\"./surface\"),t(\"./isosurface\"),t(\"./volume\"),t(\"./mesh3d\"),t(\"./cone\"),t(\"./streamtube\"),t(\"./scattergeo\"),t(\"./choropleth\"),t(\"./scattergl\"),t(\"./splom\"),t(\"./pointcloud\"),t(\"./heatmapgl\"),t(\"./parcoords\"),t(\"./parcats\"),t(\"./scattermapbox\"),t(\"./choroplethmapbox\"),t(\"./densitymapbox\"),t(\"./sankey\"),t(\"./indicator\"),t(\"./table\"),t(\"./carpet\"),t(\"./scattercarpet\"),t(\"./contourcarpet\"),t(\"./ohlc\"),t(\"./candlestick\"),t(\"./scatterpolar\"),t(\"./scatterpolargl\"),t(\"./barpolar\")]),n.register([t(\"./aggregate\"),t(\"./filter\"),t(\"./groupby\"),t(\"./sort\")]),n.register([t(\"./calendars\")]),e.exports=n},{\"./aggregate\":2,\"./bar\":3,\"./barpolar\":4,\"./box\":5,\"./calendars\":6,\"./candlestick\":7,\"./carpet\":8,\"./choropleth\":9,\"./choroplethmapbox\":10,\"./cone\":11,\"./contour\":12,\"./contourcarpet\":13,\"./core\":14,\"./densitymapbox\":15,\"./filter\":16,\"./funnel\":17,\"./funnelarea\":18,\"./groupby\":19,\"./heatmap\":20,\"./heatmapgl\":21,\"./histogram\":22,\"./histogram2d\":23,\"./histogram2dcontour\":24,\"./image\":25,\"./indicator\":27,\"./isosurface\":28,\"./mesh3d\":29,\"./ohlc\":30,\"./parcats\":31,\"./parcoords\":32,\"./pie\":33,\"./pointcloud\":34,\"./sankey\":35,\"./scatter3d\":36,\"./scattercarpet\":37,\"./scattergeo\":38,\"./scattergl\":39,\"./scattermapbox\":40,\"./scatterpolar\":41,\"./scatterpolargl\":42,\"./scatterternary\":43,\"./sort\":44,\"./splom\":45,\"./streamtube\":46,\"./sunburst\":47,\"./surface\":48,\"./table\":49,\"./treemap\":50,\"./violin\":51,\"./volume\":52,\"./waterfall\":53}],27:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/indicator\")},{\"../src/traces/indicator\":1068}],28:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/isosurface\")},{\"../src/traces/isosurface\":1074}],29:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/mesh3d\")},{\"../src/traces/mesh3d\":1079}],30:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/ohlc\")},{\"../src/traces/ohlc\":1084}],31:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/parcats\")},{\"../src/traces/parcats\":1093}],32:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/parcoords\")},{\"../src/traces/parcoords\":1103}],33:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/pie\")},{\"../src/traces/pie\":1114}],34:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/pointcloud\")},{\"../src/traces/pointcloud\":1123}],35:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/sankey\")},{\"../src/traces/sankey\":1129}],36:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatter3d\")},{\"../src/traces/scatter3d\":1166}],37:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattercarpet\")},{\"../src/traces/scattercarpet\":1173}],38:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattergeo\")},{\"../src/traces/scattergeo\":1181}],39:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattergl\")},{\"../src/traces/scattergl\":1194}],40:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattermapbox\")},{\"../src/traces/scattermapbox\":1204}],41:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatterpolar\")},{\"../src/traces/scatterpolar\":1212}],42:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatterpolargl\")},{\"../src/traces/scatterpolargl\":1219}],43:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatterternary\")},{\"../src/traces/scatterternary\":1227}],44:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/sort\")},{\"../src/transforms/sort\":1315}],45:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/splom\")},{\"../src/traces/splom\":1236}],46:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/streamtube\")},{\"../src/traces/streamtube\":1244}],47:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/sunburst\")},{\"../src/traces/sunburst\":1252}],48:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/surface\")},{\"../src/traces/surface\":1261}],49:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/table\")},{\"../src/traces/table\":1269}],50:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/treemap\")},{\"../src/traces/treemap\":1278}],51:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/violin\")},{\"../src/traces/violin\":1290}],52:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/volume\")},{\"../src/traces/volume\":1298}],53:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/waterfall\")},{\"../src/traces/waterfall\":1306}],54:[function(t,e,r){\"use strict\";e.exports=function(t){var e=(t=t||{}).eye||[0,0,1],r=t.center||[0,0,0],s=t.up||[0,1,0],l=t.distanceLimits||[0,1/0],c=t.mode||\"turntable\",u=n(),h=a(),f=i();return u.setDistanceLimits(l[0],l[1]),u.lookAt(0,e,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,s),new o({turntable:u,orbit:h,matrix:f},c)};var n=t(\"turntable-camera-controller\"),a=t(\"orbit-camera-controller\"),i=t(\"matrix-camera-controller\");function o(t,e){this._controllerNames=Object.keys(t),this._controllerList=this._controllerNames.map((function(e){return t[e]})),this._mode=e,this._active=t[e],this._active||(this._mode=\"turntable\",this._active=t.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}var s=o.prototype;[[\"flush\",1],[\"idle\",1],[\"lookAt\",4],[\"rotate\",4],[\"pan\",4],[\"translate\",4],[\"setMatrix\",2],[\"setDistanceLimits\",2],[\"setDistance\",2]].forEach((function(t){for(var e=t[0],r=[],n=0;n<t[1];++n)r.push(\"a\"+n);var a=\"var cc=this._controllerList;for(var i=0;i<cc.length;++i){cc[i].\"+t[0]+\"(\"+r.join()+\")}\";s[e]=Function.apply(null,r.concat(a))})),s.recalcMatrix=function(t){this._active.recalcMatrix(t)},s.getDistance=function(t){return this._active.getDistance(t)},s.getDistanceLimits=function(t){return this._active.getDistanceLimits(t)},s.lastT=function(){return this._active.lastT()},s.setMode=function(t){if(t!==this._mode){var e=this._controllerNames.indexOf(t);if(!(e<0)){var r=this._active,n=this._controllerList[e],a=Math.max(r.lastT(),n.lastT());r.recalcMatrix(a),n.setMatrix(a,r.computedMatrix),this._active=n,this._mode=t,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}}},s.getMode=function(){return this._mode}},{\"matrix-camera-controller\":433,\"orbit-camera-controller\":454,\"turntable-camera-controller\":533}],55:[function(t,e,r){!function(n,a){\"object\"==typeof r&&\"undefined\"!=typeof e?a(r,t(\"d3-array\"),t(\"d3-collection\"),t(\"d3-shape\"),t(\"elementary-circuits-directed-graph\")):a(n.d3=n.d3||{},n.d3,n.d3,n.d3,null)}(this,(function(t,e,r,n,a){\"use strict\";function i(t){return t.target.depth}function o(t,e){return t.sourceLinks.length?t.depth:e-1}function s(t){return function(){return t}}a=a&&a.hasOwnProperty(\"default\")?a.default:a;var l=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t};function c(t,e){return h(t.source,e.source)||t.index-e.index}function u(t,e){return h(t.target,e.target)||t.index-e.index}function h(t,e){return t.partOfCycle===e.partOfCycle?t.y0-e.y0:\"top\"===t.circularLinkType||\"bottom\"===e.circularLinkType?-1:1}function f(t){return t.value}function p(t){return(t.y0+t.y1)/2}function d(t){return p(t.source)}function g(t){return p(t.target)}function m(t){return t.index}function v(t){return t.nodes}function y(t){return t.links}function x(t,e){var r=t.get(e);if(!r)throw new Error(\"missing: \"+e);return r}function b(t,e){return e(t)}function _(t,e,r){var n=0;if(null===r){for(var i=[],o=0;o<t.links.length;o++){var s=t.links[o],l=s.source.index,c=s.target.index;i[l]||(i[l]=[]),i[c]||(i[c]=[]),-1===i[l].indexOf(c)&&i[l].push(c)}var u=a(i);u.sort((function(t,e){return t.length-e.length}));var h={};for(o=0;o<u.length;o++){var f=u[o].slice(-2);h[f[0]]||(h[f[0]]={}),h[f[0]][f[1]]=!0}t.links.forEach((function(t){var e=t.target.index,r=t.source.index;e===r||h[r]&&h[r][e]?(t.circular=!0,t.circularLinkID=n,n+=1):t.circular=!1}))}else t.links.forEach((function(t){t.source[r]<t.target[r]?t.circular=!1:(t.circular=!0,t.circularLinkID=n,n+=1)}))}function w(t,e){var r=0,n=0;t.links.forEach((function(a){a.circular&&(a.source.circularLinkType||a.target.circularLinkType?a.circularLinkType=a.source.circularLinkType?a.source.circularLinkType:a.target.circularLinkType:a.circularLinkType=r<n?\"top\":\"bottom\",\"top\"==a.circularLinkType?r+=1:n+=1,t.nodes.forEach((function(t){b(t,e)!=b(a.source,e)&&b(t,e)!=b(a.target,e)||(t.circularLinkType=a.circularLinkType)})))})),t.links.forEach((function(t){t.circular&&(t.source.circularLinkType==t.target.circularLinkType&&(t.circularLinkType=t.source.circularLinkType),H(t,e)&&(t.circularLinkType=t.source.circularLinkType))}))}function T(t){var e=Math.abs(t.y1-t.y0),r=Math.abs(t.target.x0-t.source.x1);return Math.atan(r/e)}function k(t,e){var r=0;t.sourceLinks.forEach((function(t){r=t.circular&&!H(t,e)?r+1:r}));var n=0;return t.targetLinks.forEach((function(t){n=t.circular&&!H(t,e)?n+1:n})),r+n}function A(t){var e=t.source.sourceLinks,r=0;e.forEach((function(t){r=t.circular?r+1:r}));var n=t.target.targetLinks,a=0;return n.forEach((function(t){a=t.circular?a+1:a})),!(r>1||a>1)}function M(t,e,r){return t.sort(E),t.forEach((function(n,a){var i,o,s=0;if(H(n,r)&&A(n))n.circularPathData.verticalBuffer=s+n.width/2;else{for(var l=0;l<a;l++)if(i=t[a],o=t[l],!(i.source.column<o.target.column||i.target.column>o.source.column)){var c=t[l].circularPathData.verticalBuffer+t[l].width/2+e;s=c>s?c:s}n.circularPathData.verticalBuffer=s+n.width/2}})),t}function S(t,r,a,i){var o=e.min(t.links,(function(t){return t.source.y0}));t.links.forEach((function(t){t.circular&&(t.circularPathData={})})),M(t.links.filter((function(t){return\"top\"==t.circularLinkType})),r,i),M(t.links.filter((function(t){return\"bottom\"==t.circularLinkType})),r,i),t.links.forEach((function(e){if(e.circular){if(e.circularPathData.arcRadius=e.width+10,e.circularPathData.leftNodeBuffer=5,e.circularPathData.rightNodeBuffer=5,e.circularPathData.sourceWidth=e.source.x1-e.source.x0,e.circularPathData.sourceX=e.source.x0+e.circularPathData.sourceWidth,e.circularPathData.targetX=e.target.x0,e.circularPathData.sourceY=e.y0,e.circularPathData.targetY=e.y1,H(e,i)&&A(e))e.circularPathData.leftSmallArcRadius=10+e.width/2,e.circularPathData.leftLargeArcRadius=10+e.width/2,e.circularPathData.rightSmallArcRadius=10+e.width/2,e.circularPathData.rightLargeArcRadius=10+e.width/2,\"bottom\"==e.circularLinkType?(e.circularPathData.verticalFullExtent=e.source.y1+25+e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.rightLargeArcRadius):(e.circularPathData.verticalFullExtent=e.source.y0-25-e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.rightLargeArcRadius);else{var s=e.source.column,l=e.circularLinkType,c=t.links.filter((function(t){return t.source.column==s&&t.circularLinkType==l}));\"bottom\"==e.circularLinkType?c.sort(L):c.sort(C);var u=0;c.forEach((function(t,n){t.circularLinkID==e.circularLinkID&&(e.circularPathData.leftSmallArcRadius=10+e.width/2+u,e.circularPathData.leftLargeArcRadius=10+e.width/2+n*r+u),u+=t.width})),s=e.target.column,c=t.links.filter((function(t){return t.target.column==s&&t.circularLinkType==l})),\"bottom\"==e.circularLinkType?c.sort(I):c.sort(P),u=0,c.forEach((function(t,n){t.circularLinkID==e.circularLinkID&&(e.circularPathData.rightSmallArcRadius=10+e.width/2+u,e.circularPathData.rightLargeArcRadius=10+e.width/2+n*r+u),u+=t.width})),\"bottom\"==e.circularLinkType?(e.circularPathData.verticalFullExtent=Math.max(a,e.source.y1,e.target.y1)+25+e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.rightLargeArcRadius):(e.circularPathData.verticalFullExtent=o-25-e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.rightLargeArcRadius)}e.circularPathData.leftInnerExtent=e.circularPathData.sourceX+e.circularPathData.leftNodeBuffer,e.circularPathData.rightInnerExtent=e.circularPathData.targetX-e.circularPathData.rightNodeBuffer,e.circularPathData.leftFullExtent=e.circularPathData.sourceX+e.circularPathData.leftLargeArcRadius+e.circularPathData.leftNodeBuffer,e.circularPathData.rightFullExtent=e.circularPathData.targetX-e.circularPathData.rightLargeArcRadius-e.circularPathData.rightNodeBuffer}if(e.circular)e.path=function(t){var e=\"\";e=\"top\"==t.circularLinkType?\"M\"+t.circularPathData.sourceX+\" \"+t.circularPathData.sourceY+\" L\"+t.circularPathData.leftInnerExtent+\" \"+t.circularPathData.sourceY+\" A\"+t.circularPathData.leftLargeArcRadius+\" \"+t.circularPathData.leftSmallArcRadius+\" 0 0 0 \"+t.circularPathData.leftFullExtent+\" \"+(t.circularPathData.sourceY-t.circularPathData.leftSmallArcRadius)+\" L\"+t.circularPathData.leftFullExtent+\" \"+t.circularPathData.verticalLeftInnerExtent+\" A\"+t.circularPathData.leftLargeArcRadius+\" \"+t.circularPathData.leftLargeArcRadius+\" 0 0 0 \"+t.circularPathData.leftInnerExtent+\" \"+t.circularPathData.verticalFullExtent+\" L\"+t.circularPathData.rightInnerExtent+\" \"+t.circularPathData.verticalFullExtent+\" A\"+t.circularPathData.rightLargeArcRadius+\" \"+t.circularPathData.rightLargeArcRadius+\" 0 0 0 \"+t.circularPathData.rightFullExtent+\" \"+t.circularPathData.verticalRightInnerExtent+\" L\"+t.circularPathData.rightFullExtent+\" \"+(t.circularPathData.targetY-t.circularPathData.rightSmallArcRadius)+\" A\"+t.circularPathData.rightLargeArcRadius+\" \"+t.circularPathData.rightSmallArcRadius+\" 0 0 0 \"+t.circularPathData.rightInnerExtent+\" \"+t.circularPathData.targetY+\" L\"+t.circularPathData.targetX+\" \"+t.circularPathData.targetY:\"M\"+t.circularPathData.sourceX+\" \"+t.circularPathData.sourceY+\" L\"+t.circularPathData.leftInnerExtent+\" \"+t.circularPathData.sourceY+\" A\"+t.circularPathData.leftLargeArcRadius+\" \"+t.circularPathData.leftSmallArcRadius+\" 0 0 1 \"+t.circularPathData.leftFullExtent+\" \"+(t.circularPathData.sourceY+t.circularPathData.leftSmallArcRadius)+\" L\"+t.circularPathData.leftFullExtent+\" \"+t.circularPathData.verticalLeftInnerExtent+\" A\"+t.circularPathData.leftLargeArcRadius+\" \"+t.circularPathData.leftLargeArcRadius+\" 0 0 1 \"+t.circularPathData.leftInnerExtent+\" \"+t.circularPathData.verticalFullExtent+\" L\"+t.circularPathData.rightInnerExtent+\" \"+t.circularPathData.verticalFullExtent+\" A\"+t.circularPathData.rightLargeArcRadius+\" \"+t.circularPathData.rightLargeArcRadius+\" 0 0 1 \"+t.circularPathData.rightFullExtent+\" \"+t.circularPathData.verticalRightInnerExtent+\" L\"+t.circularPathData.rightFullExtent+\" \"+(t.circularPathData.targetY+t.circularPathData.rightSmallArcRadius)+\" A\"+t.circularPathData.rightLargeArcRadius+\" \"+t.circularPathData.rightSmallArcRadius+\" 0 0 1 \"+t.circularPathData.rightInnerExtent+\" \"+t.circularPathData.targetY+\" L\"+t.circularPathData.targetX+\" \"+t.circularPathData.targetY;return e}(e);else{var h=n.linkHorizontal().source((function(t){return[t.source.x0+(t.source.x1-t.source.x0),t.y0]})).target((function(t){return[t.target.x0,t.y1]}));e.path=h(e)}}))}function E(t,e){return z(t)==z(e)?\"bottom\"==t.circularLinkType?L(t,e):C(t,e):z(e)-z(t)}function C(t,e){return t.y0-e.y0}function L(t,e){return e.y0-t.y0}function P(t,e){return t.y1-e.y1}function I(t,e){return e.y1-t.y1}function z(t){return t.target.column-t.source.column}function O(t){return t.target.x0-t.source.x1}function D(t,e){var r=T(t),n=O(e)/Math.tan(r);return\"up\"==q(t)?t.y1+n:t.y1-n}function R(t,e){var r=T(t),n=O(e)/Math.tan(r);return\"up\"==q(t)?t.y1-n:t.y1+n}function F(t,e,r,n){t.links.forEach((function(a){if(!a.circular&&a.target.column-a.source.column>1){var i=a.source.column+1,o=a.target.column-1,s=1,l=o-i+1;for(s=1;i<=o;i++,s++)t.nodes.forEach((function(o){if(o.column==i){var c,u=s/(l+1),h=Math.pow(1-u,3),f=3*u*Math.pow(1-u,2),p=3*Math.pow(u,2)*(1-u),d=Math.pow(u,3),g=h*a.y0+f*a.y0+p*a.y1+d*a.y1,m=g-a.width/2,v=g+a.width/2;m>o.y0&&m<o.y1?(c=o.y1-m+10,c=\"bottom\"==o.circularLinkType?c:-c,o=N(o,c,e,r),t.nodes.forEach((function(t){b(t,n)!=b(o,n)&&t.column==o.column&&B(o,t)&&N(t,c,e,r)}))):(v>o.y0&&v<o.y1||m<o.y0&&v>o.y1)&&(c=v-o.y0+10,o=N(o,c,e,r),t.nodes.forEach((function(t){b(t,n)!=b(o,n)&&t.column==o.column&&t.y0<o.y1&&t.y1>o.y1&&N(t,c,e,r)})))}}))}}))}function B(t,e){return t.y0>e.y0&&t.y0<e.y1||(t.y1>e.y0&&t.y1<e.y1||t.y0<e.y0&&t.y1>e.y1)}function N(t,e,r,n){return t.y0+e>=r&&t.y1+e<=n&&(t.y0=t.y0+e,t.y1=t.y1+e,t.targetLinks.forEach((function(t){t.y1=t.y1+e})),t.sourceLinks.forEach((function(t){t.y0=t.y0+e}))),t}function j(t,e,r,n){t.nodes.forEach((function(a){n&&a.y+(a.y1-a.y0)>e&&(a.y=a.y-(a.y+(a.y1-a.y0)-e));var i=t.links.filter((function(t){return b(t.source,r)==b(a,r)})),o=i.length;o>1&&i.sort((function(t,e){if(!t.circular&&!e.circular){if(t.target.column==e.target.column)return t.y1-e.y1;if(!U(t,e))return t.y1-e.y1;if(t.target.column>e.target.column){var r=R(e,t);return t.y1-r}if(e.target.column>t.target.column)return R(t,e)-e.y1}return t.circular&&!e.circular?\"top\"==t.circularLinkType?-1:1:e.circular&&!t.circular?\"top\"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&\"top\"==t.circularLinkType?t.target.column===e.target.column?t.target.y1-e.target.y1:e.target.column-t.target.column:t.circularLinkType===e.circularLinkType&&\"bottom\"==t.circularLinkType?t.target.column===e.target.column?e.target.y1-t.target.y1:t.target.column-e.target.column:\"top\"==t.circularLinkType?-1:1:void 0}));var s=a.y0;i.forEach((function(t){t.y0=s+t.width/2,s+=t.width})),i.forEach((function(t,e){if(\"bottom\"==t.circularLinkType){for(var r=e+1,n=0;r<o;r++)n+=i[r].width;t.y0=a.y1-n-t.width/2}}))}))}function V(t,e,r){t.nodes.forEach((function(e){var n=t.links.filter((function(t){return b(t.target,r)==b(e,r)})),a=n.length;a>1&&n.sort((function(t,e){if(!t.circular&&!e.circular){if(t.source.column==e.source.column)return t.y0-e.y0;if(!U(t,e))return t.y0-e.y0;if(e.source.column<t.source.column){var r=D(e,t);return t.y0-r}if(t.source.column<e.source.column)return D(t,e)-e.y0}return t.circular&&!e.circular?\"top\"==t.circularLinkType?-1:1:e.circular&&!t.circular?\"top\"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&\"top\"==t.circularLinkType?t.source.column===e.source.column?t.source.y1-e.source.y1:t.source.column-e.source.column:t.circularLinkType===e.circularLinkType&&\"bottom\"==t.circularLinkType?t.source.column===e.source.column?t.source.y1-e.source.y1:e.source.column-t.source.column:\"top\"==t.circularLinkType?-1:1:void 0}));var i=e.y0;n.forEach((function(t){t.y1=i+t.width/2,i+=t.width})),n.forEach((function(t,r){if(\"bottom\"==t.circularLinkType){for(var i=r+1,o=0;i<a;i++)o+=n[i].width;t.y1=e.y1-o-t.width/2}}))}))}function U(t,e){return q(t)==q(e)}function q(t){return t.y0-t.y1>0?\"up\":\"down\"}function H(t,e){return b(t.source,e)==b(t.target,e)}function G(t,r,n){var a=t.nodes,i=t.links,o=!1,s=!1;if(i.forEach((function(t){\"top\"==t.circularLinkType?o=!0:\"bottom\"==t.circularLinkType&&(s=!0)})),0==o||0==s){var l=e.min(a,(function(t){return t.y0})),c=(n-r)/(e.max(a,(function(t){return t.y1}))-l);a.forEach((function(t){var e=(t.y1-t.y0)*c;t.y0=(t.y0-l)*c,t.y1=t.y0+e})),i.forEach((function(t){t.y0=(t.y0-l)*c,t.y1=(t.y1-l)*c,t.width=t.width*c}))}}t.sankeyCircular=function(){var t,n,a=0,i=0,b=1,T=1,A=24,M=m,E=o,C=v,L=y,P=32,I=2,z=null;function O(){var t={nodes:C.apply(null,arguments),links:L.apply(null,arguments)};D(t),_(t,M,z),R(t),B(t),w(t,M),N(t,P,M),U(t);for(var e=4,r=0;r<e;r++)j(t,T,M),V(t,T,M),F(t,i,T,M),j(t,T,M),V(t,T,M);return G(t,i,T),S(t,I,T,M),t}function D(t){t.nodes.forEach((function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]}));var e=r.map(t.nodes,M);return t.links.forEach((function(t,r){t.index=r;var n=t.source,a=t.target;\"object\"!==(\"undefined\"==typeof n?\"undefined\":l(n))&&(n=t.source=x(e,n)),\"object\"!==(\"undefined\"==typeof a?\"undefined\":l(a))&&(a=t.target=x(e,a)),n.sourceLinks.push(t),a.targetLinks.push(t)})),t}function R(t){t.nodes.forEach((function(t){t.partOfCycle=!1,t.value=Math.max(e.sum(t.sourceLinks,f),e.sum(t.targetLinks,f)),t.sourceLinks.forEach((function(e){e.circular&&(t.partOfCycle=!0,t.circularLinkType=e.circularLinkType)})),t.targetLinks.forEach((function(e){e.circular&&(t.partOfCycle=!0,t.circularLinkType=e.circularLinkType)}))}))}function B(t){var e,r,n;for(e=t.nodes,r=[],n=0;e.length;++n,e=r,r=[])e.forEach((function(t){t.depth=n,t.sourceLinks.forEach((function(t){r.indexOf(t.target)<0&&!t.circular&&r.push(t.target)}))}));for(e=t.nodes,r=[],n=0;e.length;++n,e=r,r=[])e.forEach((function(t){t.height=n,t.targetLinks.forEach((function(t){r.indexOf(t.source)<0&&!t.circular&&r.push(t.source)}))}));t.nodes.forEach((function(t){t.column=Math.floor(E.call(null,t,n))}))}function N(o,s,l){var c=r.nest().key((function(t){return t.column})).sortKeys(e.ascending).entries(o.nodes).map((function(t){return t.values}));!function(r){if(n){var s=1/0;c.forEach((function(t){var e=T*n/(t.length+1);s=e<s?e:s})),t=s}var l=e.min(c,(function(r){return(T-i-(r.length-1)*t)/e.sum(r,f)}));l*=.3,o.links.forEach((function(t){t.width=t.value*l}));var u=function(t){var r=0,n=0,a=0,i=0,o=e.max(t.nodes,(function(t){return t.column}));return t.links.forEach((function(t){t.circular&&(\"top\"==t.circularLinkType?r+=t.width:n+=t.width,0==t.target.column&&(i+=t.width),t.source.column==o&&(a+=t.width))})),{top:r=r>0?r+25+10:r,bottom:n=n>0?n+25+10:n,left:i=i>0?i+25+10:i,right:a=a>0?a+25+10:a}}(o),h=function(t,r){var n=e.max(t.nodes,(function(t){return t.column})),o=b-a,s=T-i,l=o/(o+r.right+r.left),c=s/(s+r.top+r.bottom);return a=a*l+r.left,b=0==r.right?b:b*l,i=i*c+r.top,T*=c,t.nodes.forEach((function(t){t.x0=a+t.column*((b-a-A)/n),t.x1=t.x0+A})),c}(o,u);l*=h,o.links.forEach((function(t){t.width=t.value*l})),c.forEach((function(t){var e=t.length;t.forEach((function(t,n){t.depth==c.length-1&&1==e||0==t.depth&&1==e?(t.y0=T/2-t.value*l,t.y1=t.y0+t.value*l):t.partOfCycle?0==k(t,r)?(t.y0=T/2+n,t.y1=t.y0+t.value*l):\"top\"==t.circularLinkType?(t.y0=i+n,t.y1=t.y0+t.value*l):(t.y0=T-t.value*l-n,t.y1=t.y0+t.value*l):0==u.top||0==u.bottom?(t.y0=(T-i)/e*n,t.y1=t.y0+t.value*l):(t.y0=(T-i)/2-e/2+n,t.y1=t.y0+t.value*l)}))}))}(l),y();for(var u=1,m=s;m>0;--m)v(u*=.99,l),y();function v(t,r){var n=c.length;c.forEach((function(a){var i=a.length,o=a[0].depth;a.forEach((function(a){var s;if(a.sourceLinks.length||a.targetLinks.length)if(a.partOfCycle&&k(a,r)>0);else if(0==o&&1==i)s=a.y1-a.y0,a.y0=T/2-s/2,a.y1=T/2+s/2;else if(o==n-1&&1==i)s=a.y1-a.y0,a.y0=T/2-s/2,a.y1=T/2+s/2;else{var l=e.mean(a.sourceLinks,g),c=e.mean(a.targetLinks,d),u=((l&&c?(l+c)/2:l||c)-p(a))*t;a.y0+=u,a.y1+=u}}))}))}function y(){c.forEach((function(e){var r,n,a,o=i,s=e.length;for(e.sort(h),a=0;a<s;++a)(n=o-(r=e[a]).y0)>0&&(r.y0+=n,r.y1+=n),o=r.y1+t;if((n=o-t-T)>0)for(o=r.y0-=n,r.y1-=n,a=s-2;a>=0;--a)(n=(r=e[a]).y1+t-o)>0&&(r.y0-=n,r.y1-=n),o=r.y0}))}}function U(t){t.nodes.forEach((function(t){t.sourceLinks.sort(u),t.targetLinks.sort(c)})),t.nodes.forEach((function(t){var e=t.y0,r=e,n=t.y1,a=n;t.sourceLinks.forEach((function(t){t.circular?(t.y0=n-t.width/2,n-=t.width):(t.y0=e+t.width/2,e+=t.width)})),t.targetLinks.forEach((function(t){t.circular?(t.y1=a-t.width/2,a-=t.width):(t.y1=r+t.width/2,r+=t.width)}))}))}return O.nodeId=function(t){return arguments.length?(M=\"function\"==typeof t?t:s(t),O):M},O.nodeAlign=function(t){return arguments.length?(E=\"function\"==typeof t?t:s(t),O):E},O.nodeWidth=function(t){return arguments.length?(A=+t,O):A},O.nodePadding=function(e){return arguments.length?(t=+e,O):t},O.nodes=function(t){return arguments.length?(C=\"function\"==typeof t?t:s(t),O):C},O.links=function(t){return arguments.length?(L=\"function\"==typeof t?t:s(t),O):L},O.size=function(t){return arguments.length?(a=i=0,b=+t[0],T=+t[1],O):[b-a,T-i]},O.extent=function(t){return arguments.length?(a=+t[0][0],b=+t[1][0],i=+t[0][1],T=+t[1][1],O):[[a,i],[b,T]]},O.iterations=function(t){return arguments.length?(P=+t,O):P},O.circularLinkGap=function(t){return arguments.length?(I=+t,O):I},O.nodePaddingRatio=function(t){return arguments.length?(n=+t,O):n},O.sortNodes=function(t){return arguments.length?(z=t,O):z},O.update=function(t){return w(t,M),U(t),t.links.forEach((function(t){t.circular&&(t.circularLinkType=t.y0+t.y1<T?\"top\":\"bottom\",t.source.circularLinkType=t.circularLinkType,t.target.circularLinkType=t.circularLinkType)})),j(t,T,M,!1),V(t,T,M),S(t,I,T,M),t},O},t.sankeyCenter=function(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?e.min(t.sourceLinks,i)-1:0},t.sankeyLeft=function(t){return t.depth},t.sankeyRight=function(t,e){return e-1-t.height},t.sankeyJustify=o,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{\"d3-array\":153,\"d3-collection\":154,\"d3-shape\":162,\"elementary-circuits-directed-graph\":174}],56:[function(t,e,r){!function(n,a){\"object\"==typeof r&&\"undefined\"!=typeof e?a(r,t(\"d3-array\"),t(\"d3-collection\"),t(\"d3-shape\")):a(n.d3=n.d3||{},n.d3,n.d3,n.d3)}(this,(function(t,e,r,n){\"use strict\";function a(t){return t.target.depth}function i(t,e){return t.sourceLinks.length?t.depth:e-1}function o(t){return function(){return t}}function s(t,e){return c(t.source,e.source)||t.index-e.index}function l(t,e){return c(t.target,e.target)||t.index-e.index}function c(t,e){return t.y0-e.y0}function u(t){return t.value}function h(t){return(t.y0+t.y1)/2}function f(t){return h(t.source)*t.value}function p(t){return h(t.target)*t.value}function d(t){return t.index}function g(t){return t.nodes}function m(t){return t.links}function v(t,e){var r=t.get(e);if(!r)throw new Error(\"missing: \"+e);return r}function y(t){return[t.source.x1,t.y0]}function x(t){return[t.target.x0,t.y1]}t.sankey=function(){var t=0,n=0,a=1,y=1,x=24,b=8,_=d,w=i,T=g,k=m,A=32;function M(){var t={nodes:T.apply(null,arguments),links:k.apply(null,arguments)};return S(t),E(t),C(t),L(t),P(t),t}function S(t){t.nodes.forEach((function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]}));var e=r.map(t.nodes,_);t.links.forEach((function(t,r){t.index=r;var n=t.source,a=t.target;\"object\"!=typeof n&&(n=t.source=v(e,n)),\"object\"!=typeof a&&(a=t.target=v(e,a)),n.sourceLinks.push(t),a.targetLinks.push(t)}))}function E(t){t.nodes.forEach((function(t){t.value=Math.max(e.sum(t.sourceLinks,u),e.sum(t.targetLinks,u))}))}function C(e){var r,n,i;for(r=e.nodes,n=[],i=0;r.length;++i,r=n,n=[])r.forEach((function(t){t.depth=i,t.sourceLinks.forEach((function(t){n.indexOf(t.target)<0&&n.push(t.target)}))}));for(r=e.nodes,n=[],i=0;r.length;++i,r=n,n=[])r.forEach((function(t){t.height=i,t.targetLinks.forEach((function(t){n.indexOf(t.source)<0&&n.push(t.source)}))}));var o=(a-t-x)/(i-1);e.nodes.forEach((function(e){e.x1=(e.x0=t+Math.max(0,Math.min(i-1,Math.floor(w.call(null,e,i))))*o)+x}))}function L(t){var a=r.nest().key((function(t){return t.x0})).sortKeys(e.ascending).entries(t.nodes).map((function(t){return t.values}));!function(){var r=e.max(a,(function(t){return t.length})),i=2/3*(y-n)/(r-1);b>i&&(b=i);var o=e.min(a,(function(t){return(y-n-(t.length-1)*b)/e.sum(t,u)}));a.forEach((function(t){t.forEach((function(t,e){t.y1=(t.y0=e)+t.value*o}))})),t.links.forEach((function(t){t.width=t.value*o}))}(),d();for(var i=1,o=A;o>0;--o)l(i*=.99),d(),s(i),d();function s(t){a.forEach((function(r){r.forEach((function(r){if(r.targetLinks.length){var n=(e.sum(r.targetLinks,f)/e.sum(r.targetLinks,u)-h(r))*t;r.y0+=n,r.y1+=n}}))}))}function l(t){a.slice().reverse().forEach((function(r){r.forEach((function(r){if(r.sourceLinks.length){var n=(e.sum(r.sourceLinks,p)/e.sum(r.sourceLinks,u)-h(r))*t;r.y0+=n,r.y1+=n}}))}))}function d(){a.forEach((function(t){var e,r,a,i=n,o=t.length;for(t.sort(c),a=0;a<o;++a)(r=i-(e=t[a]).y0)>0&&(e.y0+=r,e.y1+=r),i=e.y1+b;if((r=i-b-y)>0)for(i=e.y0-=r,e.y1-=r,a=o-2;a>=0;--a)(r=(e=t[a]).y1+b-i)>0&&(e.y0-=r,e.y1-=r),i=e.y0}))}}function P(t){t.nodes.forEach((function(t){t.sourceLinks.sort(l),t.targetLinks.sort(s)})),t.nodes.forEach((function(t){var e=t.y0,r=e;t.sourceLinks.forEach((function(t){t.y0=e+t.width/2,e+=t.width})),t.targetLinks.forEach((function(t){t.y1=r+t.width/2,r+=t.width}))}))}return M.update=function(t){return P(t),t},M.nodeId=function(t){return arguments.length?(_=\"function\"==typeof t?t:o(t),M):_},M.nodeAlign=function(t){return arguments.length?(w=\"function\"==typeof t?t:o(t),M):w},M.nodeWidth=function(t){return arguments.length?(x=+t,M):x},M.nodePadding=function(t){return arguments.length?(b=+t,M):b},M.nodes=function(t){return arguments.length?(T=\"function\"==typeof t?t:o(t),M):T},M.links=function(t){return arguments.length?(k=\"function\"==typeof t?t:o(t),M):k},M.size=function(e){return arguments.length?(t=n=0,a=+e[0],y=+e[1],M):[a-t,y-n]},M.extent=function(e){return arguments.length?(t=+e[0][0],a=+e[1][0],n=+e[0][1],y=+e[1][1],M):[[t,n],[a,y]]},M.iterations=function(t){return arguments.length?(A=+t,M):A},M},t.sankeyCenter=function(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?e.min(t.sourceLinks,a)-1:0},t.sankeyLeft=function(t){return t.depth},t.sankeyRight=function(t,e){return e-1-t.height},t.sankeyJustify=i,t.sankeyLinkHorizontal=function(){return n.linkHorizontal().source(y).target(x)},Object.defineProperty(t,\"__esModule\",{value:!0})}))},{\"d3-array\":153,\"d3-collection\":154,\"d3-shape\":162}],57:[function(t,e,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0});var n=t(\"@turf/meta\");function a(t){var e=0;if(t&&t.length>0){e+=Math.abs(i(t[0]));for(var r=1;r<t.length;r++)e-=Math.abs(i(t[r]))}return e}function i(t){var e,r,n,a,i,s,l=0,c=t.length;if(c>2){for(s=0;s<c;s++)s===c-2?(n=c-2,a=c-1,i=0):s===c-1?(n=c-1,a=0,i=1):(n=s,a=s+1,i=s+2),e=t[n],r=t[a],l+=(o(t[i][0])-o(e[0]))*Math.sin(o(r[1]));l=6378137*l*6378137/2}return l}function o(t){return t*Math.PI/180}r.default=function(t){return n.geomReduce(t,(function(t,e){return t+function(t){var e,r=0;switch(t.type){case\"Polygon\":return a(t.coordinates);case\"MultiPolygon\":for(e=0;e<t.coordinates.length;e++)r+=a(t.coordinates[e]);return r;case\"Point\":case\"MultiPoint\":case\"LineString\":case\"MultiLineString\":return 0}return 0}(e)}),0)}},{\"@turf/meta\":61}],58:[function(t,e,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0});var n=t(\"@turf/meta\");r.default=function(t){var e=[1/0,1/0,-1/0,-1/0];return n.coordEach(t,(function(t){e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]<t[0]&&(e[2]=t[0]),e[3]<t[1]&&(e[3]=t[1])})),e}},{\"@turf/meta\":61}],59:[function(t,e,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0});var n=t(\"@turf/meta\"),a=t(\"@turf/helpers\");r.default=function(t,e){void 0===e&&(e={});var r=0,i=0,o=0;return n.coordEach(t,(function(t){r+=t[0],i+=t[1],o++})),a.point([r/o,i/o],e.properties)}},{\"@turf/helpers\":60,\"@turf/meta\":61}],60:[function(t,e,r){\"use strict\";function n(t,e,r){void 0===r&&(r={});var n={type:\"Feature\"};return(0===r.id||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=e||{},n.geometry=t,n}function a(t,e,r){return void 0===r&&(r={}),n({type:\"Point\",coordinates:t},e,r)}function i(t,e,r){void 0===r&&(r={});for(var a=0,i=t;a<i.length;a++){var o=i[a];if(o.length<4)throw new Error(\"Each LinearRing of a Polygon must have 4 or more Positions.\");for(var s=0;s<o[o.length-1].length;s++)if(o[o.length-1][s]!==o[0][s])throw new Error(\"First and last Position are not equivalent.\")}return n({type:\"Polygon\",coordinates:t},e,r)}function o(t,e,r){if(void 0===r&&(r={}),t.length<2)throw new Error(\"coordinates must be an array of two or more positions\");return n({type:\"LineString\",coordinates:t},e,r)}function s(t,e){void 0===e&&(e={});var r={type:\"FeatureCollection\"};return e.id&&(r.id=e.id),e.bbox&&(r.bbox=e.bbox),r.features=t,r}function l(t,e,r){return void 0===r&&(r={}),n({type:\"MultiLineString\",coordinates:t},e,r)}function c(t,e,r){return void 0===r&&(r={}),n({type:\"MultiPoint\",coordinates:t},e,r)}function u(t,e,r){return void 0===r&&(r={}),n({type:\"MultiPolygon\",coordinates:t},e,r)}function h(t,e){void 0===e&&(e=\"kilometers\");var n=r.factors[e];if(!n)throw new Error(e+\" units is invalid\");return t*n}function f(t,e){void 0===e&&(e=\"kilometers\");var n=r.factors[e];if(!n)throw new Error(e+\" units is invalid\");return t/n}function p(t){return 180*(t%(2*Math.PI))/Math.PI}function d(t){return!isNaN(t)&&null!==t&&!Array.isArray(t)&&!/^\\s*$/.test(t)}Object.defineProperty(r,\"__esModule\",{value:!0}),r.earthRadius=6371008.8,r.factors={centimeters:100*r.earthRadius,centimetres:100*r.earthRadius,degrees:r.earthRadius/111325,feet:3.28084*r.earthRadius,inches:39.37*r.earthRadius,kilometers:r.earthRadius/1e3,kilometres:r.earthRadius/1e3,meters:r.earthRadius,metres:r.earthRadius,miles:r.earthRadius/1609.344,millimeters:1e3*r.earthRadius,millimetres:1e3*r.earthRadius,nauticalmiles:r.earthRadius/1852,radians:1,yards:r.earthRadius/1.0936},r.unitsFactors={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:.001,kilometres:.001,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/r.earthRadius,yards:1/1.0936},r.areaFactors={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,millimeters:1e6,millimetres:1e6,yards:1.195990046},r.feature=n,r.geometry=function(t,e,r){switch(void 0===r&&(r={}),t){case\"Point\":return a(e).geometry;case\"LineString\":return o(e).geometry;case\"Polygon\":return i(e).geometry;case\"MultiPoint\":return c(e).geometry;case\"MultiLineString\":return l(e).geometry;case\"MultiPolygon\":return u(e).geometry;default:throw new Error(t+\" is invalid\")}},r.point=a,r.points=function(t,e,r){return void 0===r&&(r={}),s(t.map((function(t){return a(t,e)})),r)},r.polygon=i,r.polygons=function(t,e,r){return void 0===r&&(r={}),s(t.map((function(t){return i(t,e)})),r)},r.lineString=o,r.lineStrings=function(t,e,r){return void 0===r&&(r={}),s(t.map((function(t){return o(t,e)})),r)},r.featureCollection=s,r.multiLineString=l,r.multiPoint=c,r.multiPolygon=u,r.geometryCollection=function(t,e,r){return void 0===r&&(r={}),n({type:\"GeometryCollection\",geometries:t},e,r)},r.round=function(t,e){if(void 0===e&&(e=0),e&&!(e>=0))throw new Error(\"precision must be a positive number\");var r=Math.pow(10,e||0);return Math.round(t*r)/r},r.radiansToLength=h,r.lengthToRadians=f,r.lengthToDegrees=function(t,e){return p(f(t,e))},r.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},r.radiansToDegrees=p,r.degreesToRadians=function(t){return t%360*Math.PI/180},r.convertLength=function(t,e,r){if(void 0===e&&(e=\"kilometers\"),void 0===r&&(r=\"kilometers\"),!(t>=0))throw new Error(\"length must be a positive number\");return h(f(t,e),r)},r.convertArea=function(t,e,n){if(void 0===e&&(e=\"meters\"),void 0===n&&(n=\"kilometers\"),!(t>=0))throw new Error(\"area must be a positive number\");var a=r.areaFactors[e];if(!a)throw new Error(\"invalid original units\");var i=r.areaFactors[n];if(!i)throw new Error(\"invalid final units\");return t/a*i},r.isNumber=d,r.isObject=function(t){return!!t&&t.constructor===Object},r.validateBBox=function(t){if(!t)throw new Error(\"bbox is required\");if(!Array.isArray(t))throw new Error(\"bbox must be an Array\");if(4!==t.length&&6!==t.length)throw new Error(\"bbox must be an Array of 4 or 6 numbers\");t.forEach((function(t){if(!d(t))throw new Error(\"bbox must only contain numbers\")}))},r.validateId=function(t){if(!t)throw new Error(\"id is required\");if(-1===[\"string\",\"number\"].indexOf(typeof t))throw new Error(\"id must be a number or a string\")},r.radians2degrees=function(){throw new Error(\"method has been renamed to `radiansToDegrees`\")},r.degrees2radians=function(){throw new Error(\"method has been renamed to `degreesToRadians`\")},r.distanceToDegrees=function(){throw new Error(\"method has been renamed to `lengthToDegrees`\")},r.distanceToRadians=function(){throw new Error(\"method has been renamed to `lengthToRadians`\")},r.radiansToDistance=function(){throw new Error(\"method has been renamed to `radiansToLength`\")},r.bearingToAngle=function(){throw new Error(\"method has been renamed to `bearingToAzimuth`\")},r.convertDistance=function(){throw new Error(\"method has been renamed to `convertLength`\")}},{}],61:[function(t,e,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0});var n=t(\"@turf/helpers\");function a(t,e,r){if(null!==t)for(var n,i,o,s,l,c,u,h,f=0,p=0,d=t.type,g=\"FeatureCollection\"===d,m=\"Feature\"===d,v=g?t.features.length:1,y=0;y<v;y++){l=(h=!!(u=g?t.features[y].geometry:m?t.geometry:t)&&\"GeometryCollection\"===u.type)?u.geometries.length:1;for(var x=0;x<l;x++){var b=0,_=0;if(null!==(s=h?u.geometries[x]:u)){c=s.coordinates;var w=s.type;switch(f=!r||\"Polygon\"!==w&&\"MultiPolygon\"!==w?0:1,w){case null:break;case\"Point\":if(!1===e(c,p,y,b,_))return!1;p++,b++;break;case\"LineString\":case\"MultiPoint\":for(n=0;n<c.length;n++){if(!1===e(c[n],p,y,b,_))return!1;p++,\"MultiPoint\"===w&&b++}\"LineString\"===w&&b++;break;case\"Polygon\":case\"MultiLineString\":for(n=0;n<c.length;n++){for(i=0;i<c[n].length-f;i++){if(!1===e(c[n][i],p,y,b,_))return!1;p++}\"MultiLineString\"===w&&b++,\"Polygon\"===w&&_++}\"Polygon\"===w&&b++;break;case\"MultiPolygon\":for(n=0;n<c.length;n++){for(_=0,i=0;i<c[n].length;i++){for(o=0;o<c[n][i].length-f;o++){if(!1===e(c[n][i][o],p,y,b,_))return!1;p++}_++}b++}break;case\"GeometryCollection\":for(n=0;n<s.geometries.length;n++)if(!1===a(s.geometries[n],e,r))return!1;break;default:throw new Error(\"Unknown Geometry Type\")}}}}}function i(t,e){var r;switch(t.type){case\"FeatureCollection\":for(r=0;r<t.features.length&&!1!==e(t.features[r].properties,r);r++);break;case\"Feature\":e(t.properties,0)}}function o(t,e){if(\"Feature\"===t.type)e(t,0);else if(\"FeatureCollection\"===t.type)for(var r=0;r<t.features.length&&!1!==e(t.features[r],r);r++);}function s(t,e){var r,n,a,i,o,s,l,c,u,h,f=0,p=\"FeatureCollection\"===t.type,d=\"Feature\"===t.type,g=p?t.features.length:1;for(r=0;r<g;r++){for(s=p?t.features[r].geometry:d?t.geometry:t,c=p?t.features[r].properties:d?t.properties:{},u=p?t.features[r].bbox:d?t.bbox:void 0,h=p?t.features[r].id:d?t.id:void 0,o=(l=!!s&&\"GeometryCollection\"===s.type)?s.geometries.length:1,a=0;a<o;a++)if(null!==(i=l?s.geometries[a]:s))switch(i.type){case\"Point\":case\"LineString\":case\"MultiPoint\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":if(!1===e(i,f,c,u,h))return!1;break;case\"GeometryCollection\":for(n=0;n<i.geometries.length;n++)if(!1===e(i.geometries[n],f,c,u,h))return!1;break;default:throw new Error(\"Unknown Geometry Type\")}else if(!1===e(null,f,c,u,h))return!1;f++}}function l(t,e){s(t,(function(t,r,a,i,o){var s,l=null===t?null:t.type;switch(l){case null:case\"Point\":case\"LineString\":case\"Polygon\":return!1!==e(n.feature(t,a,{bbox:i,id:o}),r,0)&&void 0}switch(l){case\"MultiPoint\":s=\"Point\";break;case\"MultiLineString\":s=\"LineString\";break;case\"MultiPolygon\":s=\"Polygon\"}for(var c=0;c<t.coordinates.length;c++){var u={type:s,coordinates:t.coordinates[c]};if(!1===e(n.feature(u,a),r,c))return!1}}))}function c(t,e){l(t,(function(t,r,i){var o=0;if(t.geometry){var s=t.geometry.type;if(\"Point\"!==s&&\"MultiPoint\"!==s){var l,c=0,u=0,h=0;return!1!==a(t,(function(a,s,f,p,d){if(void 0===l||r>c||p>u||d>h)return l=a,c=r,u=p,h=d,void(o=0);var g=n.lineString([l,a],t.properties);if(!1===e(g,r,i,d,o))return!1;o++,l=a}))&&void 0}}}))}function u(t,e){if(!t)throw new Error(\"geojson is required\");l(t,(function(t,r,a){if(null!==t.geometry){var i=t.geometry.type,o=t.geometry.coordinates;switch(i){case\"LineString\":if(!1===e(t,r,a,0,0))return!1;break;case\"Polygon\":for(var s=0;s<o.length;s++)if(!1===e(n.lineString(o[s],t.properties),r,a,s))return!1}}}))}r.coordEach=a,r.coordReduce=function(t,e,r,n){var i=r;return a(t,(function(t,n,a,o,s){i=0===n&&void 0===r?t:e(i,t,n,a,o,s)}),n),i},r.propEach=i,r.propReduce=function(t,e,r){var n=r;return i(t,(function(t,a){n=0===a&&void 0===r?t:e(n,t,a)})),n},r.featureEach=o,r.featureReduce=function(t,e,r){var n=r;return o(t,(function(t,a){n=0===a&&void 0===r?t:e(n,t,a)})),n},r.coordAll=function(t){var e=[];return a(t,(function(t){e.push(t)})),e},r.geomEach=s,r.geomReduce=function(t,e,r){var n=r;return s(t,(function(t,a,i,o,s){n=0===a&&void 0===r?t:e(n,t,a,i,o,s)})),n},r.flattenEach=l,r.flattenReduce=function(t,e,r){var n=r;return l(t,(function(t,a,i){n=0===a&&0===i&&void 0===r?t:e(n,t,a,i)})),n},r.segmentEach=c,r.segmentReduce=function(t,e,r){var n=r,a=!1;return c(t,(function(t,i,o,s,l){n=!1===a&&void 0===r?t:e(n,t,i,o,s,l),a=!0})),n},r.lineEach=u,r.lineReduce=function(t,e,r){var n=r;return u(t,(function(t,a,i,o){n=0===a&&void 0===r?t:e(n,t,a,i,o)})),n},r.findSegment=function(t,e){if(e=e||{},!n.isObject(e))throw new Error(\"options is invalid\");var r,a=e.featureIndex||0,i=e.multiFeatureIndex||0,o=e.geometryIndex||0,s=e.segmentIndex||0,l=e.properties;switch(t.type){case\"FeatureCollection\":a<0&&(a=t.features.length+a),l=l||t.features[a].properties,r=t.features[a].geometry;break;case\"Feature\":l=l||t.properties,r=t.geometry;break;case\"Point\":case\"MultiPoint\":return null;case\"LineString\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":r=t;break;default:throw new Error(\"geojson is invalid\")}if(null===r)return null;var c=r.coordinates;switch(r.type){case\"Point\":case\"MultiPoint\":return null;case\"LineString\":return s<0&&(s=c.length+s-1),n.lineString([c[s],c[s+1]],l,e);case\"Polygon\":return o<0&&(o=c.length+o),s<0&&(s=c[o].length+s-1),n.lineString([c[o][s],c[o][s+1]],l,e);case\"MultiLineString\":return i<0&&(i=c.length+i),s<0&&(s=c[i].length+s-1),n.lineString([c[i][s],c[i][s+1]],l,e);case\"MultiPolygon\":return i<0&&(i=c.length+i),o<0&&(o=c[i].length+o),s<0&&(s=c[i][o].length-s-1),n.lineString([c[i][o][s],c[i][o][s+1]],l,e)}throw new Error(\"geojson is invalid\")},r.findPoint=function(t,e){if(e=e||{},!n.isObject(e))throw new Error(\"options is invalid\");var r,a=e.featureIndex||0,i=e.multiFeatureIndex||0,o=e.geometryIndex||0,s=e.coordIndex||0,l=e.properties;switch(t.type){case\"FeatureCollection\":a<0&&(a=t.features.length+a),l=l||t.features[a].properties,r=t.features[a].geometry;break;case\"Feature\":l=l||t.properties,r=t.geometry;break;case\"Point\":case\"MultiPoint\":return null;case\"LineString\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":r=t;break;default:throw new Error(\"geojson is invalid\")}if(null===r)return null;var c=r.coordinates;switch(r.type){case\"Point\":return n.point(c,l,e);case\"MultiPoint\":return i<0&&(i=c.length+i),n.point(c[i],l,e);case\"LineString\":return s<0&&(s=c.length+s),n.point(c[s],l,e);case\"Polygon\":return o<0&&(o=c.length+o),s<0&&(s=c[o].length+s),n.point(c[o][s],l,e);case\"MultiLineString\":return i<0&&(i=c.length+i),s<0&&(s=c[i].length+s),n.point(c[i][s],l,e);case\"MultiPolygon\":return i<0&&(i=c.length+i),o<0&&(o=c[i].length+o),s<0&&(s=c[i][o].length-s),n.point(c[i][o][s],l,e)}throw new Error(\"geojson is invalid\")}},{\"@turf/helpers\":60}],62:[function(t,e,r){\"use strict\";var n=\"undefined\"==typeof WeakMap?t(\"weak-map\"):WeakMap,a=t(\"gl-buffer\"),i=t(\"gl-vao\"),o=new n;e.exports=function(t){var e=o.get(t),r=e&&(e._triangleBuffer.handle||e._triangleBuffer.buffer);if(!r||!t.isBuffer(r)){var n=a(t,new Float32Array([-1,-1,-1,4,4,-1]));(e=i(t,[{buffer:n,type:t.FLOAT,size:2}]))._triangleBuffer=n,o.set(t,e)}e.bind(),t.drawArrays(t.TRIANGLES,0,3),e.unbind()}},{\"gl-buffer\":253,\"gl-vao\":327,\"weak-map\":554}],63:[function(t,e,r){e.exports=function(t){var e=0,r=0,n=0,a=0;return t.map((function(t){var i=(t=t.slice())[0],o=i.toUpperCase();if(i!=o)switch(t[0]=o,i){case\"a\":t[6]+=n,t[7]+=a;break;case\"v\":t[1]+=a;break;case\"h\":t[1]+=n;break;default:for(var s=1;s<t.length;)t[s++]+=n,t[s++]+=a}switch(o){case\"Z\":n=e,a=r;break;case\"H\":n=t[1];break;case\"V\":a=t[1];break;case\"M\":n=e=t[1],a=r=t[2];break;default:n=t[t.length-2],a=t[t.length-1]}return t}))}},{}],64:[function(t,e,r){var n=t(\"pad-left\");e.exports=function(t,e,r){e=\"number\"==typeof e?e:1,r=r||\": \";var a=t.split(/\\r?\\n/),i=String(a.length+e-1).length;return a.map((function(t,a){var o=a+e,s=String(o).length;return n(o,i-s)+r+t})).join(\"\\n\")}},{\"pad-left\":455}],65:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.length;if(0===e)return[];if(1===e)return[0];for(var r=t[0].length,n=[t[0]],i=[0],o=1;o<e;++o)if(n.push(t[o]),a(n,r)){if(i.push(o),i.length===r+1)return i}else n.pop();return i};var n=t(\"robust-orientation\");function a(t,e){for(var r=new Array(e+1),a=0;a<t.length;++a)r[a]=t[a];for(a=0;a<=t.length;++a){for(var i=t.length;i<=e;++i){for(var o=new Array(e),s=0;s<e;++s)o[s]=Math.pow(i+1-a,s);r[i]=o}if(n.apply(void 0,r))return!0}return!1}},{\"robust-orientation\":500}],66:[function(t,e,r){\"use strict\";e.exports=function(t,e){return n(e).filter((function(r){for(var n=new Array(r.length),i=0;i<r.length;++i)n[i]=e[r[i]];return a(n)*t<1}))};var n=t(\"delaunay-triangulate\"),a=t(\"circumradius\")},{circumradius:116,\"delaunay-triangulate\":166}],67:[function(t,e,r){e.exports=function(t,e){return a(n(t,e))};var n=t(\"alpha-complex\"),a=t(\"simplicial-complex-boundary\")},{\"alpha-complex\":66,\"simplicial-complex-boundary\":507}],68:[function(t,e,r){\"use strict\";e.exports=function(t,e){if(!t||null==t.length)throw Error(\"Argument should be an array\");e=null==e?1:Math.floor(e);for(var r=Array(2*e),n=0;n<e;n++){for(var a=-1/0,i=1/0,o=n,s=t.length;o<s;o+=e)t[o]>a&&(a=t[o]),t[o]<i&&(i=t[o]);r[n]=i,r[e+n]=a}return r}},{}],69:[function(t,e,r){\"use strict\";var n=t(\"array-bounds\");e.exports=function(t,e,r){if(!t||null==t.length)throw Error(\"Argument should be an array\");null==e&&(e=1);null==r&&(r=n(t,e));for(var a=0;a<e;a++){var i=r[e+a],o=r[a],s=a,l=t.length;if(i===1/0&&o===-1/0)for(s=a;s<l;s+=e)t[s]=t[s]===i?1:t[s]===o?0:.5;else if(i===1/0)for(s=a;s<l;s+=e)t[s]=t[s]===i?1:0;else if(o===-1/0)for(s=a;s<l;s+=e)t[s]=t[s]===o?0:1;else{var c=i-o;for(s=a;s<l;s+=e)isNaN(t[s])||(t[s]=0===c?.5:(t[s]-o)/c)}}return t}},{\"array-bounds\":68}],70:[function(t,e,r){e.exports=function(t,e){var r=\"number\"==typeof t,n=\"number\"==typeof e;r&&!n?(e=t,t=0):r||n||(t=0,e=0);var a=(e|=0)-(t|=0);if(a<0)throw new Error(\"array length must be positive\");for(var i=new Array(a),o=0,s=t;o<a;o++,s++)i[o]=s;return i}},{}],71:[function(t,e,r){(function(r){\"use strict\";var n=t(\"object-assign\");\n",
       "/*!\n",
       " * The buffer module from node.js, for the browser.\n",
       " *\n",
       " * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n",
       " * @license  MIT\n",
       " */function a(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,a=0,i=Math.min(r,n);a<i;++a)if(t[a]!==e[a]){r=t[a],n=e[a];break}return r<n?-1:n<r?1:0}function i(t){return r.Buffer&&\"function\"==typeof r.Buffer.isBuffer?r.Buffer.isBuffer(t):!(null==t||!t._isBuffer)}var o=t(\"util/\"),s=Object.prototype.hasOwnProperty,l=Array.prototype.slice,c=\"foo\"===function(){}.name;function u(t){return Object.prototype.toString.call(t)}function h(t){return!i(t)&&(\"function\"==typeof r.ArrayBuffer&&(\"function\"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):!!t&&(t instanceof DataView||!!(t.buffer&&t.buffer instanceof ArrayBuffer))))}var f=e.exports=y,p=/\\s*function\\s+([^\\(\\s]*)\\s*/;function d(t){if(o.isFunction(t)){if(c)return t.name;var e=t.toString().match(p);return e&&e[1]}}function g(t,e){return\"string\"==typeof t?t.length<e?t:t.slice(0,e):t}function m(t){if(c||!o.isFunction(t))return o.inspect(t);var e=d(t);return\"[Function\"+(e?\": \"+e:\"\")+\"]\"}function v(t,e,r,n,a){throw new f.AssertionError({message:r,actual:t,expected:e,operator:n,stackStartFunction:a})}function y(t,e){t||v(t,!0,e,\"==\",f.ok)}function x(t,e,r,n){if(t===e)return!0;if(i(t)&&i(e))return 0===a(t,e);if(o.isDate(t)&&o.isDate(e))return t.getTime()===e.getTime();if(o.isRegExp(t)&&o.isRegExp(e))return t.source===e.source&&t.global===e.global&&t.multiline===e.multiline&&t.lastIndex===e.lastIndex&&t.ignoreCase===e.ignoreCase;if(null!==t&&\"object\"==typeof t||null!==e&&\"object\"==typeof e){if(h(t)&&h(e)&&u(t)===u(e)&&!(t instanceof Float32Array||t instanceof Float64Array))return 0===a(new Uint8Array(t.buffer),new Uint8Array(e.buffer));if(i(t)!==i(e))return!1;var s=(n=n||{actual:[],expected:[]}).actual.indexOf(t);return-1!==s&&s===n.expected.indexOf(e)||(n.actual.push(t),n.expected.push(e),function(t,e,r,n){if(null==t||null==e)return!1;if(o.isPrimitive(t)||o.isPrimitive(e))return t===e;if(r&&Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1;var a=b(t),i=b(e);if(a&&!i||!a&&i)return!1;if(a)return t=l.call(t),e=l.call(e),x(t,e,r);var s,c,u=T(t),h=T(e);if(u.length!==h.length)return!1;for(u.sort(),h.sort(),c=u.length-1;c>=0;c--)if(u[c]!==h[c])return!1;for(c=u.length-1;c>=0;c--)if(s=u[c],!x(t[s],e[s],r,n))return!1;return!0}(t,e,r,n))}return r?t===e:t==e}function b(t){return\"[object Arguments]\"==Object.prototype.toString.call(t)}function _(t,e){if(!t||!e)return!1;if(\"[object RegExp]\"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function w(t,e,r,n){var a;if(\"function\"!=typeof e)throw new TypeError('\"block\" argument must be a function');\"string\"==typeof r&&(n=r,r=null),a=function(t){var e;try{t()}catch(t){e=t}return e}(e),n=(r&&r.name?\" (\"+r.name+\").\":\".\")+(n?\" \"+n:\".\"),t&&!a&&v(a,r,\"Missing expected exception\"+n);var i=\"string\"==typeof n,s=!t&&a&&!r;if((!t&&o.isError(a)&&i&&_(a,r)||s)&&v(a,r,\"Got unwanted exception\"+n),t&&a&&r&&!_(a,r)||!t&&a)throw a}f.AssertionError=function(t){this.name=\"AssertionError\",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=function(t){return g(m(t.actual),128)+\" \"+t.operator+\" \"+g(m(t.expected),128)}(this),this.generatedMessage=!0);var e=t.stackStartFunction||v;if(Error.captureStackTrace)Error.captureStackTrace(this,e);else{var r=new Error;if(r.stack){var n=r.stack,a=d(e),i=n.indexOf(\"\\n\"+a);if(i>=0){var o=n.indexOf(\"\\n\",i+1);n=n.substring(o+1)}this.stack=n}}},o.inherits(f.AssertionError,Error),f.fail=v,f.ok=y,f.equal=function(t,e,r){t!=e&&v(t,e,r,\"==\",f.equal)},f.notEqual=function(t,e,r){t==e&&v(t,e,r,\"!=\",f.notEqual)},f.deepEqual=function(t,e,r){x(t,e,!1)||v(t,e,r,\"deepEqual\",f.deepEqual)},f.deepStrictEqual=function(t,e,r){x(t,e,!0)||v(t,e,r,\"deepStrictEqual\",f.deepStrictEqual)},f.notDeepEqual=function(t,e,r){x(t,e,!1)&&v(t,e,r,\"notDeepEqual\",f.notDeepEqual)},f.notDeepStrictEqual=function t(e,r,n){x(e,r,!0)&&v(e,r,n,\"notDeepStrictEqual\",t)},f.strictEqual=function(t,e,r){t!==e&&v(t,e,r,\"===\",f.strictEqual)},f.notStrictEqual=function(t,e,r){t===e&&v(t,e,r,\"!==\",f.notStrictEqual)},f.throws=function(t,e,r){w(!0,t,e,r)},f.doesNotThrow=function(t,e,r){w(!1,t,e,r)},f.ifError=function(t){if(t)throw t},f.strict=n((function t(e,r){e||v(e,!0,r,\"==\",t)}),f,{equal:f.strictEqual,deepEqual:f.deepStrictEqual,notEqual:f.notStrictEqual,notDeepEqual:f.notDeepStrictEqual}),f.strict.strict=f.strict;var T=Object.keys||function(t){var e=[];for(var r in t)s.call(t,r)&&e.push(r);return e}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"object-assign\":452,\"util/\":74}],72:[function(t,e,r){\"function\"==typeof Object.create?e.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}},{}],73:[function(t,e,r){e.exports=function(t){return t&&\"object\"==typeof t&&\"function\"==typeof t.copy&&\"function\"==typeof t.fill&&\"function\"==typeof t.readUInt8}},{}],74:[function(t,e,r){(function(e,n){var a=/%[sdj%]/g;r.format=function(t){if(!v(t)){for(var e=[],r=0;r<arguments.length;r++)e.push(s(arguments[r]));return e.join(\" \")}r=1;for(var n=arguments,i=n.length,o=String(t).replace(a,(function(t){if(\"%%\"===t)return\"%\";if(r>=i)return t;switch(t){case\"%s\":return String(n[r++]);case\"%d\":return Number(n[r++]);case\"%j\":try{return JSON.stringify(n[r++])}catch(t){return\"[Circular]\"}default:return t}})),l=n[r];r<i;l=n[++r])g(l)||!b(l)?o+=\" \"+l:o+=\" \"+s(l);return o},r.deprecate=function(t,a){if(y(n.process))return function(){return r.deprecate(t,a).apply(this,arguments)};if(!0===e.noDeprecation)return t;var i=!1;return function(){if(!i){if(e.throwDeprecation)throw new Error(a);e.traceDeprecation?console.trace(a):console.error(a),i=!0}return t.apply(this,arguments)}};var i,o={};function s(t,e){var n={seen:[],stylize:c};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),d(e)?n.showHidden=e:e&&r._extend(n,e),y(n.showHidden)&&(n.showHidden=!1),y(n.depth)&&(n.depth=2),y(n.colors)&&(n.colors=!1),y(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=l),u(n,t,n.depth)}function l(t,e){var r=s.styles[e];return r?\"\\x1b[\"+s.colors[r][0]+\"m\"+t+\"\\x1b[\"+s.colors[r][1]+\"m\":t}function c(t,e){return t}function u(t,e,n){if(t.customInspect&&e&&T(e.inspect)&&e.inspect!==r.inspect&&(!e.constructor||e.constructor.prototype!==e)){var a=e.inspect(n,t);return v(a)||(a=u(t,a,n)),a}var i=function(t,e){if(y(e))return t.stylize(\"undefined\",\"undefined\");if(v(e)){var r=\"'\"+JSON.stringify(e).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return t.stylize(r,\"string\")}if(m(e))return t.stylize(\"\"+e,\"number\");if(d(e))return t.stylize(\"\"+e,\"boolean\");if(g(e))return t.stylize(\"null\",\"null\")}(t,e);if(i)return i;var o=Object.keys(e),s=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(e)),w(e)&&(o.indexOf(\"message\")>=0||o.indexOf(\"description\")>=0))return h(e);if(0===o.length){if(T(e)){var l=e.name?\": \"+e.name:\"\";return t.stylize(\"[Function\"+l+\"]\",\"special\")}if(x(e))return t.stylize(RegExp.prototype.toString.call(e),\"regexp\");if(_(e))return t.stylize(Date.prototype.toString.call(e),\"date\");if(w(e))return h(e)}var c,b=\"\",k=!1,A=[\"{\",\"}\"];(p(e)&&(k=!0,A=[\"[\",\"]\"]),T(e))&&(b=\" [Function\"+(e.name?\": \"+e.name:\"\")+\"]\");return x(e)&&(b=\" \"+RegExp.prototype.toString.call(e)),_(e)&&(b=\" \"+Date.prototype.toUTCString.call(e)),w(e)&&(b=\" \"+h(e)),0!==o.length||k&&0!=e.length?n<0?x(e)?t.stylize(RegExp.prototype.toString.call(e),\"regexp\"):t.stylize(\"[Object]\",\"special\"):(t.seen.push(e),c=k?function(t,e,r,n,a){for(var i=[],o=0,s=e.length;o<s;++o)E(e,String(o))?i.push(f(t,e,r,n,String(o),!0)):i.push(\"\");return a.forEach((function(a){a.match(/^\\d+$/)||i.push(f(t,e,r,n,a,!0))})),i}(t,e,n,s,o):o.map((function(r){return f(t,e,n,s,r,k)})),t.seen.pop(),function(t,e,r){if(t.reduce((function(t,e){return e.indexOf(\"\\n\")>=0&&0,t+e.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1}),0)>60)return r[0]+(\"\"===e?\"\":e+\"\\n \")+\" \"+t.join(\",\\n  \")+\" \"+r[1];return r[0]+e+\" \"+t.join(\", \")+\" \"+r[1]}(c,b,A)):A[0]+b+A[1]}function h(t){return\"[\"+Error.prototype.toString.call(t)+\"]\"}function f(t,e,r,n,a,i){var o,s,l;if((l=Object.getOwnPropertyDescriptor(e,a)||{value:e[a]}).get?s=l.set?t.stylize(\"[Getter/Setter]\",\"special\"):t.stylize(\"[Getter]\",\"special\"):l.set&&(s=t.stylize(\"[Setter]\",\"special\")),E(n,a)||(o=\"[\"+a+\"]\"),s||(t.seen.indexOf(l.value)<0?(s=g(r)?u(t,l.value,null):u(t,l.value,r-1)).indexOf(\"\\n\")>-1&&(s=i?s.split(\"\\n\").map((function(t){return\"  \"+t})).join(\"\\n\").substr(2):\"\\n\"+s.split(\"\\n\").map((function(t){return\"   \"+t})).join(\"\\n\")):s=t.stylize(\"[Circular]\",\"special\")),y(o)){if(i&&a.match(/^\\d+$/))return s;(o=JSON.stringify(\"\"+a)).match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,\"name\")):(o=o.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),o=t.stylize(o,\"string\"))}return o+\": \"+s}function p(t){return Array.isArray(t)}function d(t){return\"boolean\"==typeof t}function g(t){return null===t}function m(t){return\"number\"==typeof t}function v(t){return\"string\"==typeof t}function y(t){return void 0===t}function x(t){return b(t)&&\"[object RegExp]\"===k(t)}function b(t){return\"object\"==typeof t&&null!==t}function _(t){return b(t)&&\"[object Date]\"===k(t)}function w(t){return b(t)&&(\"[object Error]\"===k(t)||t instanceof Error)}function T(t){return\"function\"==typeof t}function k(t){return Object.prototype.toString.call(t)}function A(t){return t<10?\"0\"+t.toString(10):t.toString(10)}r.debuglog=function(t){if(y(i)&&(i=e.env.NODE_DEBUG||\"\"),t=t.toUpperCase(),!o[t])if(new RegExp(\"\\\\b\"+t+\"\\\\b\",\"i\").test(i)){var n=e.pid;o[t]=function(){var e=r.format.apply(r,arguments);console.error(\"%s %d: %s\",t,n,e)}}else o[t]=function(){};return o[t]},r.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"},r.isArray=p,r.isBoolean=d,r.isNull=g,r.isNullOrUndefined=function(t){return null==t},r.isNumber=m,r.isString=v,r.isSymbol=function(t){return\"symbol\"==typeof t},r.isUndefined=y,r.isRegExp=x,r.isObject=b,r.isDate=_,r.isError=w,r.isFunction=T,r.isPrimitive=function(t){return null===t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||\"symbol\"==typeof t||\"undefined\"==typeof t},r.isBuffer=t(\"./support/isBuffer\");var M=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function S(){var t=new Date,e=[A(t.getHours()),A(t.getMinutes()),A(t.getSeconds())].join(\":\");return[t.getDate(),M[t.getMonth()],e].join(\" \")}function E(t,e){return Object.prototype.hasOwnProperty.call(t,e)}r.log=function(){console.log(\"%s - %s\",S(),r.format.apply(r,arguments))},r.inherits=t(\"inherits\"),r._extend=function(t,e){if(!e||!b(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t}}).call(this,t(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"./support/isBuffer\":73,_process:480,inherits:72}],75:[function(t,e,r){e.exports=function(t){return atob(t)}},{}],76:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r=e.length,i=new Array(r+1),o=0;o<r;++o){for(var s=new Array(r+1),l=0;l<=r;++l)s[l]=t[l][o];i[o]=s}i[r]=new Array(r+1);for(o=0;o<=r;++o)i[r][o]=1;var c=new Array(r+1);for(o=0;o<r;++o)c[o]=e[o];c[r]=1;var u=n(i,c),h=a(u[r+1]);0===h&&(h=1);var f=new Array(r+1);for(o=0;o<=r;++o)f[o]=a(u[o])/h;return f};var n=t(\"robust-linear-solve\");function a(t){for(var e=0,r=0;r<t.length;++r)e+=t[r];return e}},{\"robust-linear-solve\":499}],77:[function(t,e,r){\"use strict\";r.byteLength=function(t){var e=c(t),r=e[0],n=e[1];return 3*(r+n)/4-n},r.toByteArray=function(t){var e,r,n=c(t),o=n[0],s=n[1],l=new i(function(t,e,r){return 3*(e+r)/4-r}(0,o,s)),u=0,h=s>0?o-4:o;for(r=0;r<h;r+=4)e=a[t.charCodeAt(r)]<<18|a[t.charCodeAt(r+1)]<<12|a[t.charCodeAt(r+2)]<<6|a[t.charCodeAt(r+3)],l[u++]=e>>16&255,l[u++]=e>>8&255,l[u++]=255&e;2===s&&(e=a[t.charCodeAt(r)]<<2|a[t.charCodeAt(r+1)]>>4,l[u++]=255&e);1===s&&(e=a[t.charCodeAt(r)]<<10|a[t.charCodeAt(r+1)]<<4|a[t.charCodeAt(r+2)]>>2,l[u++]=e>>8&255,l[u++]=255&e);return l},r.fromByteArray=function(t){for(var e,r=t.length,a=r%3,i=[],o=0,s=r-a;o<s;o+=16383)i.push(u(t,o,o+16383>s?s:o+16383));1===a?(e=t[r-1],i.push(n[e>>2]+n[e<<4&63]+\"==\")):2===a&&(e=(t[r-2]<<8)+t[r-1],i.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+\"=\"));return i.join(\"\")};for(var n=[],a=[],i=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",s=0,l=o.length;s<l;++s)n[s]=o[s],a[o.charCodeAt(s)]=s;function c(t){var e=t.length;if(e%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var r=t.indexOf(\"=\");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function u(t,e,r){for(var a,i,o=[],s=e;s<r;s+=3)a=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),o.push(n[(i=a)>>18&63]+n[i>>12&63]+n[i>>6&63]+n[63&i]);return o.join(\"\")}a[\"-\".charCodeAt(0)]=62,a[\"_\".charCodeAt(0)]=63},{}],78:[function(t,e,r){\"use strict\";var n=t(\"./lib/rationalize\");e.exports=function(t,e){return n(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}},{\"./lib/rationalize\":88}],79:[function(t,e,r){\"use strict\";e.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},{}],80:[function(t,e,r){\"use strict\";var n=t(\"./lib/rationalize\");e.exports=function(t,e){return n(t[0].mul(e[1]),t[1].mul(e[0]))}},{\"./lib/rationalize\":88}],81:[function(t,e,r){\"use strict\";var n=t(\"./is-rat\"),a=t(\"./lib/is-bn\"),i=t(\"./lib/num-to-bn\"),o=t(\"./lib/str-to-bn\"),s=t(\"./lib/rationalize\"),l=t(\"./div\");e.exports=function t(e,r){if(n(e))return r?l(e,t(r)):[e[0].clone(),e[1].clone()];var c,u,h=0;if(a(e))c=e.clone();else if(\"string\"==typeof e)c=o(e);else{if(0===e)return[i(0),i(1)];if(e===Math.floor(e))c=i(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),h-=256;c=i(e)}}if(n(r))c.mul(r[1]),u=r[0].clone();else if(a(r))u=r.clone();else if(\"string\"==typeof r)u=o(r);else if(r)if(r===Math.floor(r))u=i(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),h+=256;u=i(r)}else u=i(1);h>0?c=c.ushln(h):h<0&&(u=u.ushln(-h));return s(c,u)}},{\"./div\":80,\"./is-rat\":82,\"./lib/is-bn\":86,\"./lib/num-to-bn\":87,\"./lib/rationalize\":88,\"./lib/str-to-bn\":89}],82:[function(t,e,r){\"use strict\";var n=t(\"./lib/is-bn\");e.exports=function(t){return Array.isArray(t)&&2===t.length&&n(t[0])&&n(t[1])}},{\"./lib/is-bn\":86}],83:[function(t,e,r){\"use strict\";var n=t(\"bn.js\");e.exports=function(t){return t.cmp(new n(0))}},{\"bn.js\":97}],84:[function(t,e,r){\"use strict\";var n=t(\"./bn-sign\");e.exports=function(t){var e=t.length,r=t.words,a=0;if(1===e)a=r[0];else if(2===e)a=r[0]+67108864*r[1];else for(var i=0;i<e;i++){var o=r[i];a+=o*Math.pow(67108864,i)}return n(t)*a}},{\"./bn-sign\":83}],85:[function(t,e,r){\"use strict\";var n=t(\"double-bits\"),a=t(\"bit-twiddle\").countTrailingZeros;e.exports=function(t){var e=a(n.lo(t));if(e<32)return e;var r=a(n.hi(t));if(r>20)return 52;return r+32}},{\"bit-twiddle\":95,\"double-bits\":168}],86:[function(t,e,r){\"use strict\";t(\"bn.js\");e.exports=function(t){return t&&\"object\"==typeof t&&Boolean(t.words)}},{\"bn.js\":97}],87:[function(t,e,r){\"use strict\";var n=t(\"bn.js\"),a=t(\"double-bits\");e.exports=function(t){var e=a.exponent(t);return e<52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},{\"bn.js\":97,\"double-bits\":168}],88:[function(t,e,r){\"use strict\";var n=t(\"./num-to-bn\"),a=t(\"./bn-sign\");e.exports=function(t,e){var r=a(t),i=a(e);if(0===r)return[n(0),n(1)];if(0===i)return[n(0),n(0)];i<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);if(o.cmpn(1))return[t.div(o),e.div(o)];return[t,e]}},{\"./bn-sign\":83,\"./num-to-bn\":87}],89:[function(t,e,r){\"use strict\";var n=t(\"bn.js\");e.exports=function(t){return new n(t)}},{\"bn.js\":97}],90:[function(t,e,r){\"use strict\";var n=t(\"./lib/rationalize\");e.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},{\"./lib/rationalize\":88}],91:[function(t,e,r){\"use strict\";var n=t(\"./lib/bn-sign\");e.exports=function(t){return n(t[0])*n(t[1])}},{\"./lib/bn-sign\":83}],92:[function(t,e,r){\"use strict\";var n=t(\"./lib/rationalize\");e.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},{\"./lib/rationalize\":88}],93:[function(t,e,r){\"use strict\";var n=t(\"./lib/bn-to-num\"),a=t(\"./lib/ctz\");e.exports=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var i=e.abs().divmod(r.abs()),o=i.div,s=n(o),l=i.mod,c=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return c*s;if(s){var u=a(s)+4,h=n(l.ushln(u).divRound(r));return c*(s+h*Math.pow(2,-u))}var f=r.bitLength()-l.bitLength()+53;h=n(l.ushln(f).divRound(r));return f<1023?c*h*Math.pow(2,-f):(h*=Math.pow(2,-1023),c*h*Math.pow(2,1023-f))}},{\"./lib/bn-to-num\":84,\"./lib/ctz\":85}],94:[function(t,e,r){\"use strict\";function n(t,e,r,n,a){var i=[\"function \",t,\"(a,l,h,\",n.join(\",\"),\"){\",a?\"\":\"var i=\",r?\"l-1\":\"h+1\",\";while(l<=h){var m=(l+h)>>>1,x=a[m]\"];return a?e.indexOf(\"c\")<0?i.push(\";if(x===y){return m}else if(x<=y){\"):i.push(\";var p=c(x,y);if(p===0){return m}else if(p<=0){\"):i.push(\";if(\",e,\"){i=m;\"),r?i.push(\"l=m+1}else{h=m-1}\"):i.push(\"h=m-1}else{l=m+1}\"),i.push(\"}\"),a?i.push(\"return -1};\"):i.push(\"return i};\"),i.join(\"\")}function a(t,e,r,a){return new Function([n(\"A\",\"x\"+t+\"y\",e,[\"y\"],a),n(\"P\",\"c(x,y)\"+t+\"0\",e,[\"y\",\"c\"],a),\"function dispatchBsearch\",r,\"(a,y,c,l,h){if(typeof(c)==='function'){return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c)}else{return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y)}}return dispatchBsearch\",r].join(\"\"))()}e.exports={ge:a(\">=\",!1,\"GE\"),gt:a(\">\",!1,\"GT\"),lt:a(\"<\",!0,\"LT\"),le:a(\"<=\",!0,\"LE\"),eq:a(\"-\",!0,\"EQ\",!0)}},{}],95:[function(t,e,r){\"use strict\";function n(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}r.INT_BITS=32,r.INT_MAX=2147483647,r.INT_MIN=-1<<31,r.sign=function(t){return(t>0)-(t<0)},r.abs=function(t){var e=t>>31;return(t^e)-e},r.min=function(t,e){return e^(t^e)&-(t<e)},r.max=function(t,e){return t^(t^e)&-(t<e)},r.isPow2=function(t){return!(t&t-1||!t)},r.log2=function(t){var e,r;return e=(t>65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},r.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},r.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},r.countTrailingZeros=n,r.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},r.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},r.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var a=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,a=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--a;t[e]=n<<a&255}}(a),r.reverse=function(t){return a[255&t]<<24|a[t>>>8&255]<<16|a[t>>>16&255]<<8|a[t>>>24&255]},r.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},r.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},r.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},r.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},r.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>n(t)+1}},{}],96:[function(t,e,r){\"use strict\";var n=t(\"clamp\");e.exports=function(t,e){e||(e={});var r,o,s,l,c,u,h,f,p,d,g,m=null==e.cutoff?.25:e.cutoff,v=null==e.radius?8:e.radius,y=e.channel||0;if(ArrayBuffer.isView(t)||Array.isArray(t)){if(!e.width||!e.height)throw Error(\"For raw data width and height should be provided by options\");r=e.width,o=e.height,l=t,u=e.stride?e.stride:Math.floor(t.length/r/o)}else window.HTMLCanvasElement&&t instanceof window.HTMLCanvasElement?(h=(f=t).getContext(\"2d\"),r=f.width,o=f.height,p=h.getImageData(0,0,r,o),l=p.data,u=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(f=t.canvas,h=t,r=f.width,o=f.height,p=h.getImageData(0,0,r,o),l=p.data,u=4):window.ImageData&&t instanceof window.ImageData&&(p=t,r=t.width,o=t.height,l=p.data,u=4);if(s=Math.max(r,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(c=l,l=Array(r*o),d=0,g=c.length;d<g;d++)l[d]=c[d*u+y]/255;else if(1!==u)throw Error(\"Raw data can have only 1 value per pixel\");var x=Array(r*o),b=Array(r*o),_=Array(s),w=Array(s),T=Array(s+1),k=Array(s);for(d=0,g=r*o;d<g;d++){var A=l[d];x[d]=1===A?0:0===A?a:Math.pow(Math.max(0,.5-A),2),b[d]=1===A?a:0===A?0:Math.pow(Math.max(0,A-.5),2)}i(x,r,o,_,w,k,T),i(b,r,o,_,w,k,T);var M=window.Float32Array?new Float32Array(r*o):new Array(r*o);for(d=0,g=r*o;d<g;d++)M[d]=n(1-((x[d]-b[d])/v+m),0,1);return M};var a=1e20;function i(t,e,r,n,a,i,s){for(var l=0;l<e;l++){for(var c=0;c<r;c++)n[c]=t[c*e+l];for(o(n,a,i,s,r),c=0;c<r;c++)t[c*e+l]=a[c]}for(c=0;c<r;c++){for(l=0;l<e;l++)n[l]=t[c*e+l];for(o(n,a,i,s,e),l=0;l<e;l++)t[c*e+l]=Math.sqrt(a[l])}}function o(t,e,r,n,i){r[0]=0,n[0]=-a,n[1]=+a;for(var o=1,s=0;o<i;o++){for(var l=(t[o]+o*o-(t[r[s]]+r[s]*r[s]))/(2*o-2*r[s]);l<=n[s];)s--,l=(t[o]+o*o-(t[r[s]]+r[s]*r[s]))/(2*o-2*r[s]);r[++s]=o,n[s]=l,n[s+1]=+a}for(o=0,s=0;o<i;o++){for(;n[s+1]<o;)s++;e[o]=(o-r[s])*(o-r[s])+t[r[s]]}}},{clamp:117}],97:[function(t,e,r){!function(e,r){\"use strict\";function n(t,e){if(!t)throw new Error(e||\"Assertion failed\")}function a(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function i(t,e,r){if(i.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&(\"le\"!==e&&\"be\"!==e||(r=e,e=10),this._init(t||0,e||10,r||\"be\"))}var o;\"object\"==typeof e?e.exports=i:r.BN=i,i.BN=i,i.wordSize=26;try{o=t(\"buffer\").Buffer}catch(t){}function s(t,e,r){for(var n=0,a=Math.min(t.length,r),i=e;i<a;i++){var o=t.charCodeAt(i)-48;n<<=4,n|=o>=49&&o<=54?o-49+10:o>=17&&o<=22?o-17+10:15&o}return n}function l(t,e,r,n){for(var a=0,i=Math.min(t.length,r),o=e;o<i;o++){var s=t.charCodeAt(o)-48;a*=n,a+=s>=49?s-49+10:s>=17?s-17+10:s}return a}i.isBN=function(t){return t instanceof i||null!==t&&\"object\"==typeof t&&t.constructor.wordSize===i.wordSize&&Array.isArray(t.words)},i.max=function(t,e){return t.cmp(e)>0?t:e},i.min=function(t,e){return t.cmp(e)<0?t:e},i.prototype._init=function(t,e,r){if(\"number\"==typeof t)return this._initNumber(t,e,r);if(\"object\"==typeof t)return this._initArray(t,e,r);\"hex\"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var a=0;\"-\"===(t=t.toString().replace(/\\s+/g,\"\"))[0]&&a++,16===e?this._parseHex(t,a):this._parseBase(t,e,a),\"-\"===t[0]&&(this.negative=1),this.strip(),\"le\"===r&&this._initArray(this.toArray(),e,r)},i.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(n(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),\"le\"===r&&this._initArray(this.toArray(),e,r)},i.prototype._initArray=function(t,e,r){if(n(\"number\"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var a=0;a<this.length;a++)this.words[a]=0;var i,o,s=0;if(\"be\"===r)for(a=t.length-1,i=0;a>=0;a-=3)o=t[a]|t[a-1]<<8|t[a-2]<<16,this.words[i]|=o<<s&67108863,this.words[i+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);else if(\"le\"===r)for(a=0,i=0;a<t.length;a+=3)o=t[a]|t[a+1]<<8|t[a+2]<<16,this.words[i]|=o<<s&67108863,this.words[i+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);return this.strip()},i.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;var n,a,i=0;for(r=t.length-6,n=0;r>=e;r-=6)a=s(t,r,r+6),this.words[n]|=a<<i&67108863,this.words[n+1]|=a>>>26-i&4194303,(i+=24)>=26&&(i-=26,n++);r+6!==e&&(a=s(t,e,r+6),this.words[n]|=a<<i&67108863,this.words[n+1]|=a>>>26-i&4194303),this.strip()},i.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,a=1;a<=67108863;a*=e)n++;n--,a=a/e|0;for(var i=t.length-r,o=i%n,s=Math.min(i,i-o)+r,c=0,u=r;u<s;u+=n)c=l(t,u,u+n,e),this.imuln(a),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c);if(0!==o){var h=1;for(c=l(t,u,t.length,e),u=0;u<o;u++)h*=e;this.imuln(h),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c)}},i.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},i.prototype.clone=function(){var t=new i(null);return this.copy(t),t},i.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},i.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},i.prototype.inspect=function(){return(this.red?\"<BN-R: \":\"<BN: \")+this.toString(16)+\">\"};var c=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var a=0|t.words[0],i=0|e.words[0],o=a*i,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var c=1;c<n;c++){for(var u=l>>>26,h=67108863&l,f=Math.min(c,e.length-1),p=Math.max(0,c-t.length+1);p<=f;p++){var d=c-p|0;u+=(o=(a=0|t.words[d])*(i=0|e.words[p])+h)/67108864|0,h=67108863&o}r.words[c]=0|h,l=0|u}return 0!==l?r.words[c]=0|l:r.length--,r.strip()}i.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||\"hex\"===t){r=\"\";for(var a=0,i=0,o=0;o<this.length;o++){var s=this.words[o],l=(16777215&(s<<a|i)).toString(16);r=0!==(i=s>>>24-a&16777215)||o!==this.length-1?c[6-l.length]+l+r:l+r,(a+=2)>=26&&(a-=26,o--)}for(0!==i&&(r=i.toString(16)+r);r.length%e!=0;)r=\"0\"+r;return 0!==this.negative&&(r=\"-\"+r),r}if(t===(0|t)&&t>=2&&t<=36){var f=u[t],p=h[t];r=\"\";var d=this.clone();for(d.negative=0;!d.isZero();){var g=d.modn(p).toString(t);r=(d=d.idivn(p)).isZero()?g+r:c[f-g.length]+g+r}for(this.isZero()&&(r=\"0\"+r);r.length%e!=0;)r=\"0\"+r;return 0!==this.negative&&(r=\"-\"+r),r}n(!1,\"Base should be between 2 and 36\")},i.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,\"Number can only safely store up to 53 bits\"),0!==this.negative?-t:t},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(t,e){return n(\"undefined\"!=typeof o),this.toArrayLike(o,t,e)},i.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},i.prototype.toArrayLike=function(t,e,r){var a=this.byteLength(),i=r||Math.max(1,a);n(a<=i,\"byte array longer than desired length\"),n(i>0,\"Requested array length <= 0\"),this.strip();var o,s,l=\"le\"===e,c=new t(i),u=this.clone();if(l){for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[s]=o;for(;s<i;s++)c[s]=0}else{for(s=0;s<i-a;s++)c[s]=0;for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[i-s-1]=o}return c},Math.clz32?i.prototype._countBits=function(t){return 32-Math.clz32(t)}:i.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},i.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},i.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},i.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},i.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},i.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},i.prototype.isNeg=function(){return 0!==this.negative},i.prototype.neg=function(){return this.clone().ineg()},i.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},i.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},i.prototype.ior=function(t){return n(0==(this.negative|t.negative)),this.iuor(t)},i.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},i.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},i.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},i.prototype.iand=function(t){return n(0==(this.negative|t.negative)),this.iuand(t)},i.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},i.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},i.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;n<r.length;n++)this.words[n]=e.words[n]^r.words[n];if(this!==e)for(;n<e.length;n++)this.words[n]=e.words[n];return this.length=e.length,this.strip()},i.prototype.ixor=function(t){return n(0==(this.negative|t.negative)),this.iuxor(t)},i.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},i.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},i.prototype.inotn=function(t){n(\"number\"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var a=0;a<e;a++)this.words[a]=67108863&~this.words[a];return r>0&&(this.words[a]=~this.words[a]&67108863>>26-r),this.strip()},i.prototype.notn=function(t){return this.clone().inotn(t)},i.prototype.setn=function(t,e){n(\"number\"==typeof t&&t>=0);var r=t/26|0,a=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<<a:this.words[r]&~(1<<a),this.strip()},i.prototype.iadd=function(t){var e,r,n;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,n=t):(r=t,n=this);for(var a=0,i=0;i<n.length;i++)e=(0|r.words[i])+(0|n.words[i])+a,this.words[i]=67108863&e,a=e>>>26;for(;0!==a&&i<r.length;i++)e=(0|r.words[i])+a,this.words[i]=67108863&e,a=e>>>26;if(this.length=r.length,0!==a)this.words[this.length]=a,this.length++;else if(r!==this)for(;i<r.length;i++)this.words[i]=r.words[i];return this},i.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},i.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,a=this.cmp(t);if(0===a)return this.negative=0,this.length=1,this.words[0]=0,this;a>0?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o<n.length;o++)i=(e=(0|r.words[o])-(0|n.words[o])+i)>>26,this.words[o]=67108863&e;for(;0!==i&&o<r.length;o++)i=(e=(0|r.words[o])+i)>>26,this.words[o]=67108863&e;if(0===i&&o<r.length&&r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this.length=Math.max(this.length,o),r!==this&&(this.negative=1),this.strip()},i.prototype.sub=function(t){return this.clone().isub(t)};var p=function(t,e,r){var n,a,i,o=t.words,s=e.words,l=r.words,c=0,u=0|o[0],h=8191&u,f=u>>>13,p=0|o[1],d=8191&p,g=p>>>13,m=0|o[2],v=8191&m,y=m>>>13,x=0|o[3],b=8191&x,_=x>>>13,w=0|o[4],T=8191&w,k=w>>>13,A=0|o[5],M=8191&A,S=A>>>13,E=0|o[6],C=8191&E,L=E>>>13,P=0|o[7],I=8191&P,z=P>>>13,O=0|o[8],D=8191&O,R=O>>>13,F=0|o[9],B=8191&F,N=F>>>13,j=0|s[0],V=8191&j,U=j>>>13,q=0|s[1],H=8191&q,G=q>>>13,Y=0|s[2],W=8191&Y,Z=Y>>>13,X=0|s[3],J=8191&X,K=X>>>13,Q=0|s[4],$=8191&Q,tt=Q>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,at=0|s[6],it=8191&at,ot=at>>>13,st=0|s[7],lt=8191&st,ct=st>>>13,ut=0|s[8],ht=8191&ut,ft=ut>>>13,pt=0|s[9],dt=8191&pt,gt=pt>>>13;r.negative=t.negative^e.negative,r.length=19;var mt=(c+(n=Math.imul(h,V))|0)+((8191&(a=(a=Math.imul(h,U))+Math.imul(f,V)|0))<<13)|0;c=((i=Math.imul(f,U))+(a>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(d,V),a=(a=Math.imul(d,U))+Math.imul(g,V)|0,i=Math.imul(g,U);var vt=(c+(n=n+Math.imul(h,H)|0)|0)+((8191&(a=(a=a+Math.imul(h,G)|0)+Math.imul(f,H)|0))<<13)|0;c=((i=i+Math.imul(f,G)|0)+(a>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,V),a=(a=Math.imul(v,U))+Math.imul(y,V)|0,i=Math.imul(y,U),n=n+Math.imul(d,H)|0,a=(a=a+Math.imul(d,G)|0)+Math.imul(g,H)|0,i=i+Math.imul(g,G)|0;var yt=(c+(n=n+Math.imul(h,W)|0)|0)+((8191&(a=(a=a+Math.imul(h,Z)|0)+Math.imul(f,W)|0))<<13)|0;c=((i=i+Math.imul(f,Z)|0)+(a>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(b,V),a=(a=Math.imul(b,U))+Math.imul(_,V)|0,i=Math.imul(_,U),n=n+Math.imul(v,H)|0,a=(a=a+Math.imul(v,G)|0)+Math.imul(y,H)|0,i=i+Math.imul(y,G)|0,n=n+Math.imul(d,W)|0,a=(a=a+Math.imul(d,Z)|0)+Math.imul(g,W)|0,i=i+Math.imul(g,Z)|0;var xt=(c+(n=n+Math.imul(h,J)|0)|0)+((8191&(a=(a=a+Math.imul(h,K)|0)+Math.imul(f,J)|0))<<13)|0;c=((i=i+Math.imul(f,K)|0)+(a>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(T,V),a=(a=Math.imul(T,U))+Math.imul(k,V)|0,i=Math.imul(k,U),n=n+Math.imul(b,H)|0,a=(a=a+Math.imul(b,G)|0)+Math.imul(_,H)|0,i=i+Math.imul(_,G)|0,n=n+Math.imul(v,W)|0,a=(a=a+Math.imul(v,Z)|0)+Math.imul(y,W)|0,i=i+Math.imul(y,Z)|0,n=n+Math.imul(d,J)|0,a=(a=a+Math.imul(d,K)|0)+Math.imul(g,J)|0,i=i+Math.imul(g,K)|0;var bt=(c+(n=n+Math.imul(h,$)|0)|0)+((8191&(a=(a=a+Math.imul(h,tt)|0)+Math.imul(f,$)|0))<<13)|0;c=((i=i+Math.imul(f,tt)|0)+(a>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(M,V),a=(a=Math.imul(M,U))+Math.imul(S,V)|0,i=Math.imul(S,U),n=n+Math.imul(T,H)|0,a=(a=a+Math.imul(T,G)|0)+Math.imul(k,H)|0,i=i+Math.imul(k,G)|0,n=n+Math.imul(b,W)|0,a=(a=a+Math.imul(b,Z)|0)+Math.imul(_,W)|0,i=i+Math.imul(_,Z)|0,n=n+Math.imul(v,J)|0,a=(a=a+Math.imul(v,K)|0)+Math.imul(y,J)|0,i=i+Math.imul(y,K)|0,n=n+Math.imul(d,$)|0,a=(a=a+Math.imul(d,tt)|0)+Math.imul(g,$)|0,i=i+Math.imul(g,tt)|0;var _t=(c+(n=n+Math.imul(h,rt)|0)|0)+((8191&(a=(a=a+Math.imul(h,nt)|0)+Math.imul(f,rt)|0))<<13)|0;c=((i=i+Math.imul(f,nt)|0)+(a>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(C,V),a=(a=Math.imul(C,U))+Math.imul(L,V)|0,i=Math.imul(L,U),n=n+Math.imul(M,H)|0,a=(a=a+Math.imul(M,G)|0)+Math.imul(S,H)|0,i=i+Math.imul(S,G)|0,n=n+Math.imul(T,W)|0,a=(a=a+Math.imul(T,Z)|0)+Math.imul(k,W)|0,i=i+Math.imul(k,Z)|0,n=n+Math.imul(b,J)|0,a=(a=a+Math.imul(b,K)|0)+Math.imul(_,J)|0,i=i+Math.imul(_,K)|0,n=n+Math.imul(v,$)|0,a=(a=a+Math.imul(v,tt)|0)+Math.imul(y,$)|0,i=i+Math.imul(y,tt)|0,n=n+Math.imul(d,rt)|0,a=(a=a+Math.imul(d,nt)|0)+Math.imul(g,rt)|0,i=i+Math.imul(g,nt)|0;var wt=(c+(n=n+Math.imul(h,it)|0)|0)+((8191&(a=(a=a+Math.imul(h,ot)|0)+Math.imul(f,it)|0))<<13)|0;c=((i=i+Math.imul(f,ot)|0)+(a>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(I,V),a=(a=Math.imul(I,U))+Math.imul(z,V)|0,i=Math.imul(z,U),n=n+Math.imul(C,H)|0,a=(a=a+Math.imul(C,G)|0)+Math.imul(L,H)|0,i=i+Math.imul(L,G)|0,n=n+Math.imul(M,W)|0,a=(a=a+Math.imul(M,Z)|0)+Math.imul(S,W)|0,i=i+Math.imul(S,Z)|0,n=n+Math.imul(T,J)|0,a=(a=a+Math.imul(T,K)|0)+Math.imul(k,J)|0,i=i+Math.imul(k,K)|0,n=n+Math.imul(b,$)|0,a=(a=a+Math.imul(b,tt)|0)+Math.imul(_,$)|0,i=i+Math.imul(_,tt)|0,n=n+Math.imul(v,rt)|0,a=(a=a+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,i=i+Math.imul(y,nt)|0,n=n+Math.imul(d,it)|0,a=(a=a+Math.imul(d,ot)|0)+Math.imul(g,it)|0,i=i+Math.imul(g,ot)|0;var Tt=(c+(n=n+Math.imul(h,lt)|0)|0)+((8191&(a=(a=a+Math.imul(h,ct)|0)+Math.imul(f,lt)|0))<<13)|0;c=((i=i+Math.imul(f,ct)|0)+(a>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(D,V),a=(a=Math.imul(D,U))+Math.imul(R,V)|0,i=Math.imul(R,U),n=n+Math.imul(I,H)|0,a=(a=a+Math.imul(I,G)|0)+Math.imul(z,H)|0,i=i+Math.imul(z,G)|0,n=n+Math.imul(C,W)|0,a=(a=a+Math.imul(C,Z)|0)+Math.imul(L,W)|0,i=i+Math.imul(L,Z)|0,n=n+Math.imul(M,J)|0,a=(a=a+Math.imul(M,K)|0)+Math.imul(S,J)|0,i=i+Math.imul(S,K)|0,n=n+Math.imul(T,$)|0,a=(a=a+Math.imul(T,tt)|0)+Math.imul(k,$)|0,i=i+Math.imul(k,tt)|0,n=n+Math.imul(b,rt)|0,a=(a=a+Math.imul(b,nt)|0)+Math.imul(_,rt)|0,i=i+Math.imul(_,nt)|0,n=n+Math.imul(v,it)|0,a=(a=a+Math.imul(v,ot)|0)+Math.imul(y,it)|0,i=i+Math.imul(y,ot)|0,n=n+Math.imul(d,lt)|0,a=(a=a+Math.imul(d,ct)|0)+Math.imul(g,lt)|0,i=i+Math.imul(g,ct)|0;var kt=(c+(n=n+Math.imul(h,ht)|0)|0)+((8191&(a=(a=a+Math.imul(h,ft)|0)+Math.imul(f,ht)|0))<<13)|0;c=((i=i+Math.imul(f,ft)|0)+(a>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(B,V),a=(a=Math.imul(B,U))+Math.imul(N,V)|0,i=Math.imul(N,U),n=n+Math.imul(D,H)|0,a=(a=a+Math.imul(D,G)|0)+Math.imul(R,H)|0,i=i+Math.imul(R,G)|0,n=n+Math.imul(I,W)|0,a=(a=a+Math.imul(I,Z)|0)+Math.imul(z,W)|0,i=i+Math.imul(z,Z)|0,n=n+Math.imul(C,J)|0,a=(a=a+Math.imul(C,K)|0)+Math.imul(L,J)|0,i=i+Math.imul(L,K)|0,n=n+Math.imul(M,$)|0,a=(a=a+Math.imul(M,tt)|0)+Math.imul(S,$)|0,i=i+Math.imul(S,tt)|0,n=n+Math.imul(T,rt)|0,a=(a=a+Math.imul(T,nt)|0)+Math.imul(k,rt)|0,i=i+Math.imul(k,nt)|0,n=n+Math.imul(b,it)|0,a=(a=a+Math.imul(b,ot)|0)+Math.imul(_,it)|0,i=i+Math.imul(_,ot)|0,n=n+Math.imul(v,lt)|0,a=(a=a+Math.imul(v,ct)|0)+Math.imul(y,lt)|0,i=i+Math.imul(y,ct)|0,n=n+Math.imul(d,ht)|0,a=(a=a+Math.imul(d,ft)|0)+Math.imul(g,ht)|0,i=i+Math.imul(g,ft)|0;var At=(c+(n=n+Math.imul(h,dt)|0)|0)+((8191&(a=(a=a+Math.imul(h,gt)|0)+Math.imul(f,dt)|0))<<13)|0;c=((i=i+Math.imul(f,gt)|0)+(a>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(B,H),a=(a=Math.imul(B,G))+Math.imul(N,H)|0,i=Math.imul(N,G),n=n+Math.imul(D,W)|0,a=(a=a+Math.imul(D,Z)|0)+Math.imul(R,W)|0,i=i+Math.imul(R,Z)|0,n=n+Math.imul(I,J)|0,a=(a=a+Math.imul(I,K)|0)+Math.imul(z,J)|0,i=i+Math.imul(z,K)|0,n=n+Math.imul(C,$)|0,a=(a=a+Math.imul(C,tt)|0)+Math.imul(L,$)|0,i=i+Math.imul(L,tt)|0,n=n+Math.imul(M,rt)|0,a=(a=a+Math.imul(M,nt)|0)+Math.imul(S,rt)|0,i=i+Math.imul(S,nt)|0,n=n+Math.imul(T,it)|0,a=(a=a+Math.imul(T,ot)|0)+Math.imul(k,it)|0,i=i+Math.imul(k,ot)|0,n=n+Math.imul(b,lt)|0,a=(a=a+Math.imul(b,ct)|0)+Math.imul(_,lt)|0,i=i+Math.imul(_,ct)|0,n=n+Math.imul(v,ht)|0,a=(a=a+Math.imul(v,ft)|0)+Math.imul(y,ht)|0,i=i+Math.imul(y,ft)|0;var Mt=(c+(n=n+Math.imul(d,dt)|0)|0)+((8191&(a=(a=a+Math.imul(d,gt)|0)+Math.imul(g,dt)|0))<<13)|0;c=((i=i+Math.imul(g,gt)|0)+(a>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(B,W),a=(a=Math.imul(B,Z))+Math.imul(N,W)|0,i=Math.imul(N,Z),n=n+Math.imul(D,J)|0,a=(a=a+Math.imul(D,K)|0)+Math.imul(R,J)|0,i=i+Math.imul(R,K)|0,n=n+Math.imul(I,$)|0,a=(a=a+Math.imul(I,tt)|0)+Math.imul(z,$)|0,i=i+Math.imul(z,tt)|0,n=n+Math.imul(C,rt)|0,a=(a=a+Math.imul(C,nt)|0)+Math.imul(L,rt)|0,i=i+Math.imul(L,nt)|0,n=n+Math.imul(M,it)|0,a=(a=a+Math.imul(M,ot)|0)+Math.imul(S,it)|0,i=i+Math.imul(S,ot)|0,n=n+Math.imul(T,lt)|0,a=(a=a+Math.imul(T,ct)|0)+Math.imul(k,lt)|0,i=i+Math.imul(k,ct)|0,n=n+Math.imul(b,ht)|0,a=(a=a+Math.imul(b,ft)|0)+Math.imul(_,ht)|0,i=i+Math.imul(_,ft)|0;var St=(c+(n=n+Math.imul(v,dt)|0)|0)+((8191&(a=(a=a+Math.imul(v,gt)|0)+Math.imul(y,dt)|0))<<13)|0;c=((i=i+Math.imul(y,gt)|0)+(a>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(B,J),a=(a=Math.imul(B,K))+Math.imul(N,J)|0,i=Math.imul(N,K),n=n+Math.imul(D,$)|0,a=(a=a+Math.imul(D,tt)|0)+Math.imul(R,$)|0,i=i+Math.imul(R,tt)|0,n=n+Math.imul(I,rt)|0,a=(a=a+Math.imul(I,nt)|0)+Math.imul(z,rt)|0,i=i+Math.imul(z,nt)|0,n=n+Math.imul(C,it)|0,a=(a=a+Math.imul(C,ot)|0)+Math.imul(L,it)|0,i=i+Math.imul(L,ot)|0,n=n+Math.imul(M,lt)|0,a=(a=a+Math.imul(M,ct)|0)+Math.imul(S,lt)|0,i=i+Math.imul(S,ct)|0,n=n+Math.imul(T,ht)|0,a=(a=a+Math.imul(T,ft)|0)+Math.imul(k,ht)|0,i=i+Math.imul(k,ft)|0;var Et=(c+(n=n+Math.imul(b,dt)|0)|0)+((8191&(a=(a=a+Math.imul(b,gt)|0)+Math.imul(_,dt)|0))<<13)|0;c=((i=i+Math.imul(_,gt)|0)+(a>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(B,$),a=(a=Math.imul(B,tt))+Math.imul(N,$)|0,i=Math.imul(N,tt),n=n+Math.imul(D,rt)|0,a=(a=a+Math.imul(D,nt)|0)+Math.imul(R,rt)|0,i=i+Math.imul(R,nt)|0,n=n+Math.imul(I,it)|0,a=(a=a+Math.imul(I,ot)|0)+Math.imul(z,it)|0,i=i+Math.imul(z,ot)|0,n=n+Math.imul(C,lt)|0,a=(a=a+Math.imul(C,ct)|0)+Math.imul(L,lt)|0,i=i+Math.imul(L,ct)|0,n=n+Math.imul(M,ht)|0,a=(a=a+Math.imul(M,ft)|0)+Math.imul(S,ht)|0,i=i+Math.imul(S,ft)|0;var Ct=(c+(n=n+Math.imul(T,dt)|0)|0)+((8191&(a=(a=a+Math.imul(T,gt)|0)+Math.imul(k,dt)|0))<<13)|0;c=((i=i+Math.imul(k,gt)|0)+(a>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(B,rt),a=(a=Math.imul(B,nt))+Math.imul(N,rt)|0,i=Math.imul(N,nt),n=n+Math.imul(D,it)|0,a=(a=a+Math.imul(D,ot)|0)+Math.imul(R,it)|0,i=i+Math.imul(R,ot)|0,n=n+Math.imul(I,lt)|0,a=(a=a+Math.imul(I,ct)|0)+Math.imul(z,lt)|0,i=i+Math.imul(z,ct)|0,n=n+Math.imul(C,ht)|0,a=(a=a+Math.imul(C,ft)|0)+Math.imul(L,ht)|0,i=i+Math.imul(L,ft)|0;var Lt=(c+(n=n+Math.imul(M,dt)|0)|0)+((8191&(a=(a=a+Math.imul(M,gt)|0)+Math.imul(S,dt)|0))<<13)|0;c=((i=i+Math.imul(S,gt)|0)+(a>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(B,it),a=(a=Math.imul(B,ot))+Math.imul(N,it)|0,i=Math.imul(N,ot),n=n+Math.imul(D,lt)|0,a=(a=a+Math.imul(D,ct)|0)+Math.imul(R,lt)|0,i=i+Math.imul(R,ct)|0,n=n+Math.imul(I,ht)|0,a=(a=a+Math.imul(I,ft)|0)+Math.imul(z,ht)|0,i=i+Math.imul(z,ft)|0;var Pt=(c+(n=n+Math.imul(C,dt)|0)|0)+((8191&(a=(a=a+Math.imul(C,gt)|0)+Math.imul(L,dt)|0))<<13)|0;c=((i=i+Math.imul(L,gt)|0)+(a>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(B,lt),a=(a=Math.imul(B,ct))+Math.imul(N,lt)|0,i=Math.imul(N,ct),n=n+Math.imul(D,ht)|0,a=(a=a+Math.imul(D,ft)|0)+Math.imul(R,ht)|0,i=i+Math.imul(R,ft)|0;var It=(c+(n=n+Math.imul(I,dt)|0)|0)+((8191&(a=(a=a+Math.imul(I,gt)|0)+Math.imul(z,dt)|0))<<13)|0;c=((i=i+Math.imul(z,gt)|0)+(a>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(B,ht),a=(a=Math.imul(B,ft))+Math.imul(N,ht)|0,i=Math.imul(N,ft);var zt=(c+(n=n+Math.imul(D,dt)|0)|0)+((8191&(a=(a=a+Math.imul(D,gt)|0)+Math.imul(R,dt)|0))<<13)|0;c=((i=i+Math.imul(R,gt)|0)+(a>>>13)|0)+(zt>>>26)|0,zt&=67108863;var Ot=(c+(n=Math.imul(B,dt))|0)+((8191&(a=(a=Math.imul(B,gt))+Math.imul(N,dt)|0))<<13)|0;return c=((i=Math.imul(N,gt))+(a>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,l[0]=mt,l[1]=vt,l[2]=yt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=Tt,l[8]=kt,l[9]=At,l[10]=Mt,l[11]=St,l[12]=Et,l[13]=Ct,l[14]=Lt,l[15]=Pt,l[16]=It,l[17]=zt,l[18]=Ot,0!==c&&(l[19]=c,r.length++),r};function d(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(p=f),i.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,e):r<63?f(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,a=0,i=0;i<r.length-1;i++){var o=a;a=0;for(var s=67108863&n,l=Math.min(i,e.length-1),c=Math.max(0,i-t.length+1);c<=l;c++){var u=i-c,h=(0|t.words[u])*(0|e.words[c]),f=67108863&h;s=67108863&(f=f+s|0),a+=(o=(o=o+(h/67108864|0)|0)+(f>>>26)|0)>>>26,o&=67108863}r.words[i]=s,n=o,o=a}return 0!==n?r.words[i]=n:r.length--,r.strip()}(this,t,e):d(this,t,e)},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=i.prototype._countBits(t)-1,n=0;n<t;n++)e[n]=this.revBin(n,r,t);return e},g.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var n=0,a=0;a<e;a++)n|=(1&t)<<e-a-1,t>>=1;return n},g.prototype.permute=function(t,e,r,n,a,i){for(var o=0;o<i;o++)n[o]=e[t[o]],a[o]=r[t[o]]},g.prototype.transform=function(t,e,r,n,a,i){this.permute(i,t,e,r,n,a);for(var o=1;o<a;o<<=1)for(var s=o<<1,l=Math.cos(2*Math.PI/s),c=Math.sin(2*Math.PI/s),u=0;u<a;u+=s)for(var h=l,f=c,p=0;p<o;p++){var d=r[u+p],g=n[u+p],m=r[u+p+o],v=n[u+p+o],y=h*m-f*v;v=h*v+f*m,m=y,r[u+p]=d+m,n[u+p]=g+v,r[u+p+o]=d-m,n[u+p+o]=g-v,p!==s&&(y=l*h-c*f,f=l*f+c*h,h=y)}},g.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&r,a=0;for(r=r/2|0;r;r>>>=1)a++;return 1<<a+1+n},g.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var n=0;n<r/2;n++){var a=t[n];t[n]=t[r-n-1],t[r-n-1]=a,a=e[n],e[n]=-e[r-n-1],e[r-n-1]=-a}},g.prototype.normalize13b=function(t,e){for(var r=0,n=0;n<e/2;n++){var a=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&a,r=a<67108864?0:a/67108864|0}return t},g.prototype.convert13b=function(t,e,r,a){for(var i=0,o=0;o<e;o++)i+=0|t[o],r[2*o]=8191&i,i>>>=13,r[2*o+1]=8191&i,i>>>=13;for(o=2*e;o<a;++o)r[o]=0;n(0===i),n(0==(-8192&i))},g.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},g.prototype.mulp=function(t,e,r){var n=2*this.guessLen13b(t.length,e.length),a=this.makeRBT(n),i=this.stub(n),o=new Array(n),s=new Array(n),l=new Array(n),c=new Array(n),u=new Array(n),h=new Array(n),f=r.words;f.length=n,this.convert13b(t.words,t.length,o,n),this.convert13b(e.words,e.length,c,n),this.transform(o,i,s,l,n,a),this.transform(c,i,u,h,n,a);for(var p=0;p<n;p++){var d=s[p]*u[p]-l[p]*h[p];l[p]=s[p]*h[p]+l[p]*u[p],s[p]=d}return this.conjugate(s,l,n),this.transform(s,l,f,i,n,a),this.conjugate(f,i,n),this.normalize13b(f,n),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},i.prototype.mul=function(t){var e=new i(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},i.prototype.mulf=function(t){var e=new i(null);return e.words=new Array(this.length+t.length),d(this,t,e)},i.prototype.imul=function(t){return this.clone().mulTo(t,this)},i.prototype.imuln=function(t){n(\"number\"==typeof t),n(t<67108864);for(var e=0,r=0;r<this.length;r++){var a=(0|this.words[r])*t,i=(67108863&a)+(67108863&e);e>>=26,e+=a/67108864|0,e+=i>>>26,this.words[r]=67108863&i}return 0!==e&&(this.words[r]=e,this.length++),this},i.prototype.muln=function(t){return this.clone().imuln(t)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var n=r/26|0,a=r%26;e[r]=(t.words[n]&1<<a)>>>a}return e}(t);if(0===e.length)return new i(1);for(var r=this,n=0;n<e.length&&0===e[n];n++,r=r.sqr());if(++n<e.length)for(var a=r.sqr();n<e.length;n++,a=a.sqr())0!==e[n]&&(r=r.mul(a));return r},i.prototype.iushln=function(t){n(\"number\"==typeof t&&t>=0);var e,r=t%26,a=(t-r)/26,i=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e<this.length;e++){var s=this.words[e]&i,l=(0|this.words[e])-s<<r;this.words[e]=l|o,o=s>>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==a){for(e=this.length-1;e>=0;e--)this.words[e+a]=this.words[e];for(e=0;e<a;e++)this.words[e]=0;this.length+=a}return this.strip()},i.prototype.ishln=function(t){return n(0===this.negative),this.iushln(t)},i.prototype.iushrn=function(t,e,r){var a;n(\"number\"==typeof t&&t>=0),a=e?(e-e%26)/26:0;var i=t%26,o=Math.min((t-i)/26,this.length),s=67108863^67108863>>>i<<i,l=r;if(a-=o,a=Math.max(0,a),l){for(var c=0;c<o;c++)l.words[c]=this.words[c];l.length=o}if(0===o);else if(this.length>o)for(this.length-=o,c=0;c<this.length;c++)this.words[c]=this.words[c+o];else this.words[0]=0,this.length=1;var u=0;for(c=this.length-1;c>=0&&(0!==u||c>=a);c--){var h=0|this.words[c];this.words[c]=u<<26-i|h>>>i,u=h&s}return l&&0!==u&&(l.words[l.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},i.prototype.shln=function(t){return this.clone().ishln(t)},i.prototype.ushln=function(t){return this.clone().iushln(t)},i.prototype.shrn=function(t){return this.clone().ishrn(t)},i.prototype.ushrn=function(t){return this.clone().iushrn(t)},i.prototype.testn=function(t){n(\"number\"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,a=1<<e;return!(this.length<=r)&&!!(this.words[r]&a)},i.prototype.imaskn=function(t){n(\"number\"==typeof t&&t>=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,\"imaskn works only with positive numbers\"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var a=67108863^67108863>>>e<<e;this.words[this.length-1]&=a}return this.strip()},i.prototype.maskn=function(t){return this.clone().imaskn(t)},i.prototype.iaddn=function(t){return n(\"number\"==typeof t),n(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},i.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},i.prototype.isubn=function(t){if(n(\"number\"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},i.prototype.addn=function(t){return this.clone().iaddn(t)},i.prototype.subn=function(t){return this.clone().isubn(t)},i.prototype.iabs=function(){return this.negative=0,this},i.prototype.abs=function(){return this.clone().iabs()},i.prototype._ishlnsubmul=function(t,e,r){var a,i,o=t.length+r;this._expand(o);var s=0;for(a=0;a<t.length;a++){i=(0|this.words[a+r])+s;var l=(0|t.words[a])*e;s=((i-=67108863&l)>>26)-(l/67108864|0),this.words[a+r]=67108863&i}for(;a<this.length-r;a++)s=(i=(0|this.words[a+r])+s)>>26,this.words[a+r]=67108863&i;if(0===s)return this.strip();for(n(-1===s),s=0,a=0;a<this.length;a++)s=(i=-(0|this.words[a])+s)>>26,this.words[a]=67108863&i;return this.negative=1,this.strip()},i.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),a=t,o=0|a.words[a.length-1];0!==(r=26-this._countBits(o))&&(a=a.ushln(r),n.iushln(r),o=0|a.words[a.length-1]);var s,l=n.length-a.length;if(\"mod\"!==e){(s=new i(null)).length=l+1,s.words=new Array(s.length);for(var c=0;c<s.length;c++)s.words[c]=0}var u=n.clone()._ishlnsubmul(a,1,l);0===u.negative&&(n=u,s&&(s.words[l]=1));for(var h=l-1;h>=0;h--){var f=67108864*(0|n.words[a.length+h])+(0|n.words[a.length+h-1]);for(f=Math.min(f/o|0,67108863),n._ishlnsubmul(a,f,h);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(a,1,h),n.isZero()||(n.negative^=1);s&&(s.words[h]=f)}return s&&s.strip(),n.strip(),\"div\"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},i.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),\"mod\"!==e&&(a=s.div.neg()),\"div\"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:a,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),\"mod\"!==e&&(a=s.div.neg()),{div:a,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),\"div\"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new i(0),mod:this}:1===t.length?\"div\"===e?{div:this.divn(t.words[0]),mod:null}:\"mod\"===e?{div:null,mod:new i(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new i(this.modn(t.words[0]))}:this._wordDiv(t,e);var a,o,s},i.prototype.div=function(t){return this.divmod(t,\"div\",!1).div},i.prototype.mod=function(t){return this.divmod(t,\"mod\",!1).mod},i.prototype.umod=function(t){return this.divmod(t,\"mod\",!0).mod},i.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),a=t.andln(1),i=r.cmp(n);return i<0||1===a&&0===i?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},i.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,a=this.length-1;a>=0;a--)r=(e*r+(0|this.words[a]))%t;return r},i.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var a=(0|this.words[r])+67108864*e;this.words[r]=a/t|0,e=a%t}return this.strip()},i.prototype.divn=function(t){return this.clone().idivn(t)},i.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var a=new i(1),o=new i(0),s=new i(0),l=new i(1),c=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++c;for(var u=r.clone(),h=e.clone();!e.isZero();){for(var f=0,p=1;0==(e.words[0]&p)&&f<26;++f,p<<=1);if(f>0)for(e.iushrn(f);f-- >0;)(a.isOdd()||o.isOdd())&&(a.iadd(u),o.isub(h)),a.iushrn(1),o.iushrn(1);for(var d=0,g=1;0==(r.words[0]&g)&&d<26;++d,g<<=1);if(d>0)for(r.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(u),l.isub(h)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),a.isub(s),o.isub(l)):(r.isub(e),s.isub(a),l.isub(o))}return{a:s,b:l,gcd:r.iushln(c)}},i.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var a,o=new i(1),s=new i(0),l=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,u=1;0==(e.words[0]&u)&&c<26;++c,u<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var h=0,f=1;0==(r.words[0]&f)&&h<26;++h,f<<=1);if(h>0)for(r.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(a=0===e.cmpn(1)?o:s).cmpn(0)<0&&a.iadd(t),a},i.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var a=e.cmp(r);if(a<0){var i=e;e=r,r=i}else if(0===a||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},i.prototype.invm=function(t){return this.egcd(t).a.umod(t)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(t){return this.words[0]&t},i.prototype.bincn=function(t){n(\"number\"==typeof t);var e=t%26,r=(t-e)/26,a=1<<e;if(this.length<=r)return this._expand(r+1),this.words[r]|=a,this;for(var i=a,o=r;0!==i&&o<this.length;o++){var s=0|this.words[o];i=(s+=i)>>>26,s&=67108863,this.words[o]=s}return 0!==i&&(this.words[o]=i,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,\"Number is too big\");var a=0|this.words[0];e=a===t?0:a<t?-1:1}return 0!==this.negative?0|-e:e},i.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},i.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],a=0|t.words[r];if(n!==a){n<a?e=-1:n>a&&(e=1);break}}return e},i.prototype.gtn=function(t){return 1===this.cmpn(t)},i.prototype.gt=function(t){return 1===this.cmp(t)},i.prototype.gten=function(t){return this.cmpn(t)>=0},i.prototype.gte=function(t){return this.cmp(t)>=0},i.prototype.ltn=function(t){return-1===this.cmpn(t)},i.prototype.lt=function(t){return-1===this.cmp(t)},i.prototype.lten=function(t){return this.cmpn(t)<=0},i.prototype.lte=function(t){return this.cmp(t)<=0},i.prototype.eqn=function(t){return 0===this.cmpn(t)},i.prototype.eq=function(t){return 0===this.cmp(t)},i.red=function(t){return new w(t)},i.prototype.toRed=function(t){return n(!this.red,\"Already a number in reduction context\"),n(0===this.negative,\"red works only with positives\"),t.convertTo(this)._forceRed(t)},i.prototype.fromRed=function(){return n(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},i.prototype._forceRed=function(t){return this.red=t,this},i.prototype.forceRed=function(t){return n(!this.red,\"Already a number in reduction context\"),this._forceRed(t)},i.prototype.redAdd=function(t){return n(this.red,\"redAdd works only with red numbers\"),this.red.add(this,t)},i.prototype.redIAdd=function(t){return n(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,t)},i.prototype.redSub=function(t){return n(this.red,\"redSub works only with red numbers\"),this.red.sub(this,t)},i.prototype.redISub=function(t){return n(this.red,\"redISub works only with red numbers\"),this.red.isub(this,t)},i.prototype.redShl=function(t){return n(this.red,\"redShl works only with red numbers\"),this.red.shl(this,t)},i.prototype.redMul=function(t){return n(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,t),this.red.mul(this,t)},i.prototype.redIMul=function(t){return n(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,t),this.red.imul(this,t)},i.prototype.redSqr=function(){return n(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return n(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return n(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return n(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return n(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(t){return n(this.red&&!t.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,t)};var m={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new i(e,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){v.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}function x(){v.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}function b(){v.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}function _(){v.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}function w(t){if(\"string\"==typeof t){var e=i._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),\"modulus must be greater than 1\"),this.m=t,this.prime=null}function T(t){w.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new i(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):r.strip(),r},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},a(y,v),y.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n<r;n++)e.words[n]=t.words[n];if(e.length=r,t.length<=9)return t.words[0]=0,void(t.length=1);var a=t.words[9];for(e.words[e.length++]=4194303&a,n=10;n<t.length;n++){var i=0|t.words[n];t.words[n-10]=(4194303&i)<<4|a>>>22,a=i}a>>>=22,t.words[n-10]=a,0===a&&t.length>10?t.length-=10:t.length-=9},y.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var n=0|t.words[r];e+=977*n,t.words[r]=67108863&e,e=64*n+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},a(x,v),a(b,v),a(_,v),_.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+e,a=67108863&n;n>>>=26,t.words[r]=a,e=n}return 0!==e&&(t.words[t.length++]=e),t},i._prime=function(t){if(m[t])return m[t];var e;if(\"k256\"===t)e=new y;else if(\"p224\"===t)e=new x;else if(\"p192\"===t)e=new b;else{if(\"p25519\"!==t)throw new Error(\"Unknown prime \"+t);e=new _}return m[t]=e,e},w.prototype._verify1=function(t){n(0===t.negative,\"red works only with positives\"),n(t.red,\"red works only with red numbers\")},w.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),\"red works only with positives\"),n(t.red&&t.red===e.red,\"red works only with red numbers\")},w.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},w.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},w.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},w.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},w.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},w.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},w.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},w.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},w.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},w.prototype.isqr=function(t){return this.imul(t,t.clone())},w.prototype.sqr=function(t){return this.mul(t,t)},w.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new i(1)).iushrn(2);return this.pow(t,r)}for(var a=this.m.subn(1),o=0;!a.isZero()&&0===a.andln(1);)o++,a.iushrn(1);n(!a.isZero());var s=new i(1).toRed(this),l=s.redNeg(),c=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new i(2*u*u).toRed(this);0!==this.pow(u,c).cmp(l);)u.redIAdd(l);for(var h=this.pow(u,a),f=this.pow(t,a.addn(1).iushrn(1)),p=this.pow(t,a),d=o;0!==p.cmp(s);){for(var g=p,m=0;0!==g.cmp(s);m++)g=g.redSqr();n(m<d);var v=this.pow(h,new i(1).iushln(d-m-1));f=f.redMul(v),h=v.redSqr(),p=p.redMul(h),d=m}return f},w.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},w.prototype.pow=function(t,e){if(e.isZero())return new i(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new i(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var a=r[0],o=0,s=0,l=e.bitLength()%26;for(0===l&&(l=26),n=e.length-1;n>=0;n--){for(var c=e.words[n],u=l-1;u>=0;u--){var h=c>>u&1;a!==r[0]&&(a=this.sqr(a)),0!==h||0!==o?(o<<=1,o|=h,(4===++s||0===n&&0===u)&&(a=this.mul(a,r[o]),s=0,o=0)):s=0}l=26}return a},w.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},w.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},i.mont=function(t){return new T(t)},a(T,w),T.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},T.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},T.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),a=r.isub(n).iushrn(this.shift),i=a;return a.cmp(this.m)>=0?i=a.isub(this.m):a.cmpn(0)<0&&(i=a.iadd(this.m)),i._forceRed(this)},T.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new i(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),a=r.isub(n).iushrn(this.shift),o=a;return a.cmp(this.m)>=0?o=a.isub(this.m):a.cmpn(0)<0&&(o=a.iadd(this.m)),o._forceRed(this)},T.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(\"undefined\"==typeof e||e,this)},{buffer:106}],98:[function(t,e,r){\"use strict\";e.exports=function(t){var e,r,n,a=t.length,i=0;for(e=0;e<a;++e)i+=t[e].length;var o=new Array(i),s=0;for(e=0;e<a;++e){var l=t[e],c=l.length;for(r=0;r<c;++r){var u=o[s++]=new Array(c-1),h=0;for(n=0;n<c;++n)n!==r&&(u[h++]=l[n]);if(1&r){var f=u[1];u[1]=u[0],u[0]=f}}}return o}},{}],99:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){switch(arguments.length){case 1:return h(t);case 2:return\"function\"==typeof e?c(t,t,e,!0):f(t,e);case 3:return c(t,e,r,!1);default:throw new Error(\"box-intersect: Invalid arguments\")}};var n,a=t(\"typedarray-pool\"),i=t(\"./lib/sweep\"),o=t(\"./lib/intersect\");function s(t,e){for(var r=0;r<t;++r)if(!(e[r]<=e[r+t]))return!0;return!1}function l(t,e,r,n){for(var a=0,i=0,o=0,l=t.length;o<l;++o){var c=t[o];if(!s(e,c)){for(var u=0;u<2*e;++u)r[a++]=c[u];n[i++]=o}}return i}function c(t,e,r,n){var s=t.length,c=e.length;if(!(s<=0||c<=0)){var u=t[0].length>>>1;if(!(u<=0)){var h,f=a.mallocDouble(2*u*s),p=a.mallocInt32(s);if((s=l(t,u,f,p))>0){if(1===u&&n)i.init(s),h=i.sweepComplete(u,r,0,s,f,p,0,s,f,p);else{var d=a.mallocDouble(2*u*c),g=a.mallocInt32(c);(c=l(e,u,d,g))>0&&(i.init(s+c),h=1===u?i.sweepBipartite(u,r,0,s,f,p,0,c,d,g):o(u,r,n,s,f,p,c,d,g),a.free(d),a.free(g))}a.free(f),a.free(p)}return h}}}function u(t,e){n.push([t,e])}function h(t){return n=[],c(t,t,u,!0),n}function f(t,e){return n=[],c(t,e,u,!1),n}},{\"./lib/intersect\":101,\"./lib/sweep\":105,\"typedarray-pool\":547}],100:[function(t,e,r){\"use strict\";var n=[\"d\",\"ax\",\"vv\",\"rs\",\"re\",\"rb\",\"ri\",\"bs\",\"be\",\"bb\",\"bi\"];function a(t){var e=\"bruteForce\"+(t?\"Full\":\"Partial\"),r=[],a=n.slice();t||a.splice(3,0,\"fp\");var i=[\"function \"+e+\"(\"+a.join()+\"){\"];function o(e,a){var o=function(t,e,r){var a=\"bruteForce\"+(t?\"Red\":\"Blue\")+(e?\"Flip\":\"\")+(r?\"Full\":\"\"),i=[\"function \",a,\"(\",n.join(),\"){\",\"var \",\"es\",\"=2*\",\"d\",\";\"],o=\"for(var i=rs,rp=es*rs;i<re;++i,rp+=es){var x0=rb[ax+rp],x1=rb[ax+rp+d],xi=ri[i];\",s=\"for(var j=bs,bp=es*bs;j<be;++j,bp+=es){var y0=bb[ax+bp],\"+(r?\"y1=bb[ax+bp+d],\":\"\")+\"yi=bi[j];\";return t?i.push(o,\"Q\",\":\",s):i.push(s,\"Q\",\":\",o),r?i.push(\"if(y1<x0||x1<y0)continue;\"):e?i.push(\"if(y0<=x0||x1<y0)continue;\"):i.push(\"if(y0<x0||x1<y0)continue;\"),i.push(\"for(var k=ax+1;k<d;++k){var r0=rb[k+rp],r1=rb[k+d+rp],b0=bb[k+bp],b1=bb[k+d+bp];if(r1<b0||b1<r0)continue Q;}var rv=vv(\"),e?i.push(\"yi,xi\"):i.push(\"xi,yi\"),i.push(\");if(rv!==void 0)return rv;}}}\"),{name:a,code:i.join(\"\")}}(e,a,t);r.push(o.code),i.push(\"return \"+o.name+\"(\"+n.join()+\");\")}i.push(\"if(re-rs>be-bs){\"),t?(o(!0,!1),i.push(\"}else{\"),o(!1,!1)):(i.push(\"if(fp){\"),o(!0,!0),i.push(\"}else{\"),o(!0,!1),i.push(\"}}else{if(fp){\"),o(!1,!0),i.push(\"}else{\"),o(!1,!1),i.push(\"}\")),i.push(\"}}return \"+e);var s=r.join(\"\")+i.join(\"\");return new Function(s)()}r.partial=a(!1),r.full=a(!0)},{}],101:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,i,u,w,T,k,A){!function(t,e){var r=8*a.log2(e+1)*(t+1)|0,i=a.nextPow2(6*r);v.length<i&&(n.free(v),v=n.mallocInt32(i));var o=a.nextPow2(2*r);y.length<o&&(n.free(y),y=n.mallocDouble(o))}(t,i+T);var M,S=0,E=2*t;x(S++,0,0,i,0,T,r?16:0,-1/0,1/0),r||x(S++,0,0,T,0,i,1,-1/0,1/0);for(;S>0;){var C=6*(S-=1),L=v[C],P=v[C+1],I=v[C+2],z=v[C+3],O=v[C+4],D=v[C+5],R=2*S,F=y[R],B=y[R+1],N=1&D,j=!!(16&D),V=u,U=w,q=k,H=A;if(N&&(V=k,U=A,q=u,H=w),!(2&D&&(I=p(t,L,P,I,V,U,B),P>=I)||4&D&&(P=d(t,L,P,I,V,U,F))>=I)){var G=I-P,Y=O-z;if(j){if(t*G*(G+Y)<1<<22){if(void 0!==(M=l.scanComplete(t,L,e,P,I,V,U,z,O,q,H)))return M;continue}}else{if(t*Math.min(G,Y)<128){if(void 0!==(M=o(t,L,e,N,P,I,V,U,z,O,q,H)))return M;continue}if(t*G*Y<1<<22){if(void 0!==(M=l.scanBipartite(t,L,e,N,P,I,V,U,z,O,q,H)))return M;continue}}var W=h(t,L,P,I,V,U,F,B);if(P<W)if(t*(W-P)<128){if(void 0!==(M=s(t,L+1,e,P,W,V,U,z,O,q,H)))return M}else if(L===t-2){if(void 0!==(M=N?l.sweepBipartite(t,e,z,O,q,H,P,W,V,U):l.sweepBipartite(t,e,P,W,V,U,z,O,q,H)))return M}else x(S++,L+1,P,W,z,O,N,-1/0,1/0),x(S++,L+1,z,O,P,W,1^N,-1/0,1/0);if(W<I){var Z=c(t,L,z,O,q,H),X=q[E*Z+L],J=f(t,L,Z,O,q,H,X);if(J<O&&x(S++,L,W,I,J,O,(4|N)+(j?16:0),X,B),z<Z&&x(S++,L,W,I,z,Z,(2|N)+(j?16:0),F,X),Z+1===J){if(void 0!==(M=j?_(t,L,e,W,I,V,U,Z,q,H[Z]):b(t,L,e,N,W,I,V,U,Z,q,H[Z])))return M}else if(Z<J){var K;if(j){if(K=g(t,L,W,I,V,U,X),W<K){var Q=f(t,L,W,K,V,U,X);if(L===t-2){if(W<Q&&void 0!==(M=l.sweepComplete(t,e,W,Q,V,U,Z,J,q,H)))return M;if(Q<K&&void 0!==(M=l.sweepBipartite(t,e,Q,K,V,U,Z,J,q,H)))return M}else W<Q&&x(S++,L+1,W,Q,Z,J,16,-1/0,1/0),Q<K&&(x(S++,L+1,Q,K,Z,J,0,-1/0,1/0),x(S++,L+1,Z,J,Q,K,1,-1/0,1/0))}}else K=N?m(t,L,W,I,V,U,X):g(t,L,W,I,V,U,X),W<K&&(L===t-2?M=N?l.sweepBipartite(t,e,Z,J,q,H,W,K,V,U):l.sweepBipartite(t,e,W,K,V,U,Z,J,q,H):(x(S++,L+1,W,K,Z,J,N,-1/0,1/0),x(S++,L+1,Z,J,W,K,1^N,-1/0,1/0)))}}}}};var n=t(\"typedarray-pool\"),a=t(\"bit-twiddle\"),i=t(\"./brute\"),o=i.partial,s=i.full,l=t(\"./sweep\"),c=t(\"./median\"),u=t(\"./partition\"),h=u(\"!(lo>=p0)&&!(p1>=hi)\",[\"p0\",\"p1\"]),f=u(\"lo===p0\",[\"p0\"]),p=u(\"lo<p0\",[\"p0\"]),d=u(\"hi<=p0\",[\"p0\"]),g=u(\"lo<=p0&&p0<=hi\",[\"p0\"]),m=u(\"lo<p0&&p0<=hi\",[\"p0\"]),v=n.mallocInt32(1024),y=n.mallocDouble(1024);function x(t,e,r,n,a,i,o,s,l){var c=6*t;v[c]=e,v[c+1]=r,v[c+2]=n,v[c+3]=a,v[c+4]=i,v[c+5]=o;var u=2*t;y[u]=s,y[u+1]=l}function b(t,e,r,n,a,i,o,s,l,c,u){var h=2*t,f=l*h,p=c[f+e];t:for(var d=a,g=a*h;d<i;++d,g+=h){var m=o[g+e],v=o[g+e+t];if(!(p<m||v<p)&&(!n||p!==m)){for(var y,x=s[d],b=e+1;b<t;++b){m=o[g+b],v=o[g+b+t];var _=c[f+b],w=c[f+b+t];if(v<_||w<m)continue t}if(void 0!==(y=n?r(u,x):r(x,u)))return y}}}function _(t,e,r,n,a,i,o,s,l,c){var u=2*t,h=s*u,f=l[h+e];t:for(var p=n,d=n*u;p<a;++p,d+=u){var g=o[p];if(g!==c){var m=i[d+e],v=i[d+e+t];if(!(f<m||v<f)){for(var y=e+1;y<t;++y){m=i[d+y],v=i[d+y+t];var x=l[h+y],b=l[h+y+t];if(v<x||b<m)continue t}var _=r(g,c);if(void 0!==_)return _}}}}},{\"./brute\":100,\"./median\":102,\"./partition\":103,\"./sweep\":105,\"bit-twiddle\":95,\"typedarray-pool\":547}],102:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,i,o,s){if(i<=r+1)return r;var l=r,c=i,u=i+r>>>1,h=2*t,f=u,p=o[h*u+e];for(;l<c;){if(c-l<8){a(t,e,l,c,o,s),p=o[h*u+e];break}var d=c-l,g=Math.random()*d+l|0,m=o[h*g+e],v=Math.random()*d+l|0,y=o[h*v+e],x=Math.random()*d+l|0,b=o[h*x+e];m<=y?b>=y?(f=v,p=y):m>=b?(f=g,p=m):(f=x,p=b):y>=b?(f=v,p=y):b>=m?(f=g,p=m):(f=x,p=b);for(var _=h*(c-1),w=h*f,T=0;T<h;++T,++_,++w){var k=o[_];o[_]=o[w],o[w]=k}var A=s[c-1];s[c-1]=s[f],s[f]=A,f=n(t,e,l,c-1,o,s,p);for(_=h*(c-1),w=h*f,T=0;T<h;++T,++_,++w){k=o[_];o[_]=o[w],o[w]=k}A=s[c-1];if(s[c-1]=s[f],s[f]=A,u<f){for(c=f-1;l<c&&o[h*(c-1)+e]===p;)c-=1;c+=1}else{if(!(f<u))break;for(l=f+1;l<c&&o[h*l+e]===p;)l+=1}}return n(t,e,r,u,o,s,o[h*u+e])};var n=t(\"./partition\")(\"lo<p0\",[\"p0\"]);function a(t,e,r,n,a,i){for(var o=2*t,s=o*(r+1)+e,l=r+1;l<n;++l,s+=o)for(var c=a[s],u=l,h=o*(l-1);u>r&&a[h+e]>c;--u,h-=o){for(var f=h,p=h+o,d=0;d<o;++d,++f,++p){var g=a[f];a[f]=a[p],a[p]=g}var m=i[u];i[u]=i[u-1],i[u-1]=m}}},{\"./partition\":103}],103:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=\"abcdef\".split(\"\").concat(e),n=[];t.indexOf(\"lo\")>=0&&n.push(\"lo=e[k+n]\");t.indexOf(\"hi\")>=0&&n.push(\"hi=e[k+o]\");return r.push(\"for(var j=2*a,k=j*c,l=k,m=c,n=b,o=a+b,p=c;d>p;++p,k+=j){var _;if($)if(m===p)m+=1,l+=j;else{for(var s=0;j>s;++s){var t=e[k+s];e[k+s]=e[l],e[l++]=t}var u=f[p];f[p]=f[m],f[m++]=u}}return m\".replace(\"_\",n.join()).replace(\"$\",t)),Function.apply(void 0,r)}},{}],104:[function(t,e,r){\"use strict\";e.exports=function(t,e){e<=128?n(0,e-1,t):function t(e,r,u){var h=(r-e+1)/6|0,f=e+h,p=r-h,d=e+r>>1,g=d-h,m=d+h,v=f,y=g,x=d,b=m,_=p,w=e+1,T=r-1,k=0;l(v,y,u)&&(k=v,v=y,y=k);l(b,_,u)&&(k=b,b=_,_=k);l(v,x,u)&&(k=v,v=x,x=k);l(y,x,u)&&(k=y,y=x,x=k);l(v,b,u)&&(k=v,v=b,b=k);l(x,b,u)&&(k=x,x=b,b=k);l(y,_,u)&&(k=y,y=_,_=k);l(y,x,u)&&(k=y,y=x,x=k);l(b,_,u)&&(k=b,b=_,_=k);for(var A=u[2*y],M=u[2*y+1],S=u[2*b],E=u[2*b+1],C=2*v,L=2*x,P=2*_,I=2*f,z=2*d,O=2*p,D=0;D<2;++D){var R=u[C+D],F=u[L+D],B=u[P+D];u[I+D]=R,u[z+D]=F,u[O+D]=B}i(g,e,u),i(m,r,u);for(var N=w;N<=T;++N)if(c(N,A,M,u))N!==w&&a(N,w,u),++w;else if(!c(N,S,E,u))for(;;){if(c(T,S,E,u)){c(T,A,M,u)?(o(N,w,T,u),++w,--T):(a(N,T,u),--T);break}if(--T<N)break}s(e,w-1,A,M,u),s(r,T+1,S,E,u),w-2-e<=32?n(e,w-2,u):t(e,w-2,u);r-(T+2)<=32?n(T+2,r,u):t(T+2,r,u);T-w<=32?n(w,T,u):t(w,T,u)}(0,e-1,t)};function n(t,e,r){for(var n=2*(t+1),a=t+1;a<=e;++a){for(var i=r[n++],o=r[n++],s=a,l=n-2;s-- >t;){var c=r[l-2],u=r[l-1];if(c<i)break;if(c===i&&u<o)break;r[l]=c,r[l+1]=u,l-=2}r[l]=i,r[l+1]=o}}function a(t,e,r){e*=2;var n=r[t*=2],a=r[t+1];r[t]=r[e],r[t+1]=r[e+1],r[e]=n,r[e+1]=a}function i(t,e,r){e*=2,r[t*=2]=r[e],r[t+1]=r[e+1]}function o(t,e,r,n){e*=2,r*=2;var a=n[t*=2],i=n[t+1];n[t]=n[e],n[t+1]=n[e+1],n[e]=n[r],n[e+1]=n[r+1],n[r]=a,n[r+1]=i}function s(t,e,r,n,a){e*=2,a[t*=2]=a[e],a[e]=r,a[t+1]=a[e+1],a[e+1]=n}function l(t,e,r){e*=2;var n=r[t*=2],a=r[e];return!(n<a)&&(n!==a||r[t+1]>r[e+1])}function c(t,e,r,n){var a=n[t*=2];return a<e||a===e&&n[t+1]<r}},{}],105:[function(t,e,r){\"use strict\";e.exports={init:function(t){var e=a.nextPow2(t);o.length<e&&(n.free(o),o=n.mallocInt32(e));s.length<e&&(n.free(s),s=n.mallocInt32(e));l.length<e&&(n.free(l),l=n.mallocInt32(e));c.length<e&&(n.free(c),c=n.mallocInt32(e));u.length<e&&(n.free(u),u=n.mallocInt32(e));h.length<e&&(n.free(h),h=n.mallocInt32(e));var r=8*e;f.length<r&&(n.free(f),f=n.mallocDouble(r))},sweepBipartite:function(t,e,r,n,a,u,h,g,m,v){for(var y=0,x=2*t,b=t-1,_=x-1,w=r;w<n;++w){var T=u[w],k=x*w;f[y++]=a[k+b],f[y++]=-(T+1),f[y++]=a[k+_],f[y++]=T}for(w=h;w<g;++w){T=v[w]+(1<<28);var A=x*w;f[y++]=m[A+b],f[y++]=-T,f[y++]=m[A+_],f[y++]=T}var M=y>>>1;i(f,M);var S=0,E=0;for(w=0;w<M;++w){var C=0|f[2*w+1];if(C>=1<<28)p(l,c,E--,C=C-(1<<28)|0);else if(C>=0)p(o,s,S--,C);else if(C<=-(1<<28)){C=-C-(1<<28)|0;for(var L=0;L<S;++L){if(void 0!==(P=e(o[L],C)))return P}d(l,c,E++,C)}else{C=-C-1|0;for(L=0;L<E;++L){var P;if(void 0!==(P=e(C,l[L])))return P}d(o,s,S++,C)}}},sweepComplete:function(t,e,r,n,a,g,m,v,y,x){for(var b=0,_=2*t,w=t-1,T=_-1,k=r;k<n;++k){var A=g[k]+1<<1,M=_*k;f[b++]=a[M+w],f[b++]=-A,f[b++]=a[M+T],f[b++]=A}for(k=m;k<v;++k){A=x[k]+1<<1;var S=_*k;f[b++]=y[S+w],f[b++]=1|-A,f[b++]=y[S+T],f[b++]=1|A}var E=b>>>1;i(f,E);var C=0,L=0,P=0;for(k=0;k<E;++k){var I=0|f[2*k+1],z=1&I;if(k<E-1&&I>>1==f[2*k+3]>>1&&(z=2,k+=1),I<0){for(var O=-(I>>1)-1,D=0;D<P;++D){if(void 0!==(R=e(u[D],O)))return R}if(0!==z)for(D=0;D<C;++D){if(void 0!==(R=e(o[D],O)))return R}if(1!==z)for(D=0;D<L;++D){var R;if(void 0!==(R=e(l[D],O)))return R}0===z?d(o,s,C++,O):1===z?d(l,c,L++,O):2===z&&d(u,h,P++,O)}else{O=(I>>1)-1;0===z?p(o,s,C--,O):1===z?p(l,c,L--,O):2===z&&p(u,h,P--,O)}}},scanBipartite:function(t,e,r,n,a,l,c,u,h,g,m,v){var y=0,x=2*t,b=e,_=e+t,w=1,T=1;n?T=1<<28:w=1<<28;for(var k=a;k<l;++k){var A=k+w,M=x*k;f[y++]=c[M+b],f[y++]=-A,f[y++]=c[M+_],f[y++]=A}for(k=h;k<g;++k){A=k+T;var S=x*k;f[y++]=m[S+b],f[y++]=-A}var E=y>>>1;i(f,E);var C=0;for(k=0;k<E;++k){var L=0|f[2*k+1];if(L<0){var P=!1;if((A=-L)>=1<<28?(P=!n,A-=1<<28):(P=!!n,A-=1),P)d(o,s,C++,A);else{var I=v[A],z=x*A,O=m[z+e+1],D=m[z+e+1+t];t:for(var R=0;R<C;++R){var F=o[R],B=x*F;if(!(D<c[B+e+1]||c[B+e+1+t]<O)){for(var N=e+2;N<t;++N)if(m[z+N+t]<c[B+N]||c[B+N+t]<m[z+N])continue t;var j,V=u[F];if(void 0!==(j=n?r(I,V):r(V,I)))return j}}}}else p(o,s,C--,L-w)}},scanComplete:function(t,e,r,n,a,s,l,c,u,h,p){for(var d=0,g=2*t,m=e,v=e+t,y=n;y<a;++y){var x=y+(1<<28),b=g*y;f[d++]=s[b+m],f[d++]=-x,f[d++]=s[b+v],f[d++]=x}for(y=c;y<u;++y){x=y+1;var _=g*y;f[d++]=h[_+m],f[d++]=-x}var w=d>>>1;i(f,w);var T=0;for(y=0;y<w;++y){var k=0|f[2*y+1];if(k<0){if((x=-k)>=1<<28)o[T++]=x-(1<<28);else{var A=p[x-=1],M=g*x,S=h[M+e+1],E=h[M+e+1+t];t:for(var C=0;C<T;++C){var L=o[C],P=l[L];if(P===A)break;var I=g*L;if(!(E<s[I+e+1]||s[I+e+1+t]<S)){for(var z=e+2;z<t;++z)if(h[M+z+t]<s[I+z]||s[I+z+t]<h[M+z])continue t;var O=r(P,A);if(void 0!==O)return O}}}}else{for(x=k-(1<<28),C=T-1;C>=0;--C)if(o[C]===x){for(z=C+1;z<T;++z)o[z-1]=o[z];break}--T}}}};var n=t(\"typedarray-pool\"),a=t(\"bit-twiddle\"),i=t(\"./sort\"),o=n.mallocInt32(1024),s=n.mallocInt32(1024),l=n.mallocInt32(1024),c=n.mallocInt32(1024),u=n.mallocInt32(1024),h=n.mallocInt32(1024),f=n.mallocDouble(8192);function p(t,e,r,n){var a=e[n],i=t[r-1];t[a]=i,e[i]=a}function d(t,e,r,n){t[r]=n,e[n]=r}},{\"./sort\":104,\"bit-twiddle\":95,\"typedarray-pool\":547}],106:[function(t,e,r){},{}],107:[function(t,e,r){var n=Object.create||function(t){var e=function(){};return e.prototype=t,new e},a=Object.keys||function(t){var e=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.push(r);return r},i=Function.prototype.bind||function(t){var e=this;return function(){return e.apply(t,arguments)}};function o(){this._events&&Object.prototype.hasOwnProperty.call(this,\"_events\")||(this._events=n(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0}e.exports=o,o.EventEmitter=o,o.prototype._events=void 0,o.prototype._maxListeners=void 0;var s,l=10;try{var c={};Object.defineProperty&&Object.defineProperty(c,\"x\",{value:0}),s=0===c.x}catch(t){s=!1}function u(t){return void 0===t._maxListeners?o.defaultMaxListeners:t._maxListeners}function h(t,e,r){if(e)t.call(r);else for(var n=t.length,a=_(t,n),i=0;i<n;++i)a[i].call(r)}function f(t,e,r,n){if(e)t.call(r,n);else for(var a=t.length,i=_(t,a),o=0;o<a;++o)i[o].call(r,n)}function p(t,e,r,n,a){if(e)t.call(r,n,a);else for(var i=t.length,o=_(t,i),s=0;s<i;++s)o[s].call(r,n,a)}function d(t,e,r,n,a,i){if(e)t.call(r,n,a,i);else for(var o=t.length,s=_(t,o),l=0;l<o;++l)s[l].call(r,n,a,i)}function g(t,e,r,n){if(e)t.apply(r,n);else for(var a=t.length,i=_(t,a),o=0;o<a;++o)i[o].apply(r,n)}function m(t,e,r,a){var i,o,s;if(\"function\"!=typeof r)throw new TypeError('\"listener\" argument must be a function');if((o=t._events)?(o.newListener&&(t.emit(\"newListener\",e,r.listener?r.listener:r),o=t._events),s=o[e]):(o=t._events=n(null),t._eventsCount=0),s){if(\"function\"==typeof s?s=o[e]=a?[r,s]:[s,r]:a?s.unshift(r):s.push(r),!s.warned&&(i=u(t))&&i>0&&s.length>i){s.warned=!0;var l=new Error(\"Possible EventEmitter memory leak detected. \"+s.length+' \"'+String(e)+'\" listeners added. Use emitter.setMaxListeners() to increase limit.');l.name=\"MaxListenersExceededWarning\",l.emitter=t,l.type=e,l.count=s.length,\"object\"==typeof console&&console.warn&&console.warn(\"%s: %s\",l.name,l.message)}}else s=o[e]=r,++t._eventsCount;return t}function v(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var t=new Array(arguments.length),e=0;e<t.length;++e)t[e]=arguments[e];this.listener.apply(this.target,t)}}function y(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},a=i.call(v,n);return a.listener=r,n.wrapFn=a,a}function x(t,e,r){var n=t._events;if(!n)return[];var a=n[e];return a?\"function\"==typeof a?r?[a.listener||a]:[a]:r?function(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}(a):_(a,a.length):[]}function b(t){var e=this._events;if(e){var r=e[t];if(\"function\"==typeof r)return 1;if(r)return r.length}return 0}function _(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}s?Object.defineProperty(o,\"defaultMaxListeners\",{enumerable:!0,get:function(){return l},set:function(t){if(\"number\"!=typeof t||t<0||t!=t)throw new TypeError('\"defaultMaxListeners\" must be a positive number');l=t}}):o.defaultMaxListeners=l,o.prototype.setMaxListeners=function(t){if(\"number\"!=typeof t||t<0||isNaN(t))throw new TypeError('\"n\" argument must be a positive number');return this._maxListeners=t,this},o.prototype.getMaxListeners=function(){return u(this)},o.prototype.emit=function(t){var e,r,n,a,i,o,s=\"error\"===t;if(o=this._events)s=s&&null==o.error;else if(!s)return!1;if(s){if(arguments.length>1&&(e=arguments[1]),e instanceof Error)throw e;var l=new Error('Unhandled \"error\" event. ('+e+\")\");throw l.context=e,l}if(!(r=o[t]))return!1;var c=\"function\"==typeof r;switch(n=arguments.length){case 1:h(r,c,this);break;case 2:f(r,c,this,arguments[1]);break;case 3:p(r,c,this,arguments[1],arguments[2]);break;case 4:d(r,c,this,arguments[1],arguments[2],arguments[3]);break;default:for(a=new Array(n-1),i=1;i<n;i++)a[i-1]=arguments[i];g(r,c,this,a)}return!0},o.prototype.addListener=function(t,e){return m(this,t,e,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(t,e){return m(this,t,e,!0)},o.prototype.once=function(t,e){if(\"function\"!=typeof e)throw new TypeError('\"listener\" argument must be a function');return this.on(t,y(this,t,e)),this},o.prototype.prependOnceListener=function(t,e){if(\"function\"!=typeof e)throw new TypeError('\"listener\" argument must be a function');return this.prependListener(t,y(this,t,e)),this},o.prototype.removeListener=function(t,e){var r,a,i,o,s;if(\"function\"!=typeof e)throw new TypeError('\"listener\" argument must be a function');if(!(a=this._events))return this;if(!(r=a[t]))return this;if(r===e||r.listener===e)0==--this._eventsCount?this._events=n(null):(delete a[t],a.removeListener&&this.emit(\"removeListener\",t,r.listener||e));else if(\"function\"!=typeof r){for(i=-1,o=r.length-1;o>=0;o--)if(r[o]===e||r[o].listener===e){s=r[o].listener,i=o;break}if(i<0)return this;0===i?r.shift():function(t,e){for(var r=e,n=r+1,a=t.length;n<a;r+=1,n+=1)t[r]=t[n];t.pop()}(r,i),1===r.length&&(a[t]=r[0]),a.removeListener&&this.emit(\"removeListener\",t,s||e)}return this},o.prototype.removeAllListeners=function(t){var e,r,i;if(!(r=this._events))return this;if(!r.removeListener)return 0===arguments.length?(this._events=n(null),this._eventsCount=0):r[t]&&(0==--this._eventsCount?this._events=n(null):delete r[t]),this;if(0===arguments.length){var o,s=a(r);for(i=0;i<s.length;++i)\"removeListener\"!==(o=s[i])&&this.removeAllListeners(o);return this.removeAllListeners(\"removeListener\"),this._events=n(null),this._eventsCount=0,this}if(\"function\"==typeof(e=r[t]))this.removeListener(t,e);else if(e)for(i=e.length-1;i>=0;i--)this.removeListener(t,e[i]);return this},o.prototype.listeners=function(t){return x(this,t,!0)},o.prototype.rawListeners=function(t){return x(this,t,!1)},o.listenerCount=function(t,e){return\"function\"==typeof t.listenerCount?t.listenerCount(e):b.call(t,e)},o.prototype.listenerCount=b,o.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]}},{}],108:[function(t,e,r){(function(e){\n",
       "/*!\n",
       " * The buffer module from node.js, for the browser.\n",
       " *\n",
       " * @author   Feross Aboukhadijeh <https://feross.org>\n",
       " * @license  MIT\n",
       " */\n",
       "\"use strict\";var n=t(\"base64-js\"),a=t(\"ieee754\");r.Buffer=e,r.SlowBuffer=function(t){+t!=t&&(t=0);return e.alloc(+t)},r.INSPECT_MAX_BYTES=50;function i(t){if(t>2147483647)throw new RangeError('The value \"'+t+'\" is invalid for option \"size\"');var r=new Uint8Array(t);return r.__proto__=e.prototype,r}function e(t,e,r){if(\"number\"==typeof t){if(\"string\"==typeof e)throw new TypeError('The \"string\" argument must be of type string. Received type number');return l(t)}return o(t,e,r)}function o(t,r,n){if(\"string\"==typeof t)return function(t,r){\"string\"==typeof r&&\"\"!==r||(r=\"utf8\");if(!e.isEncoding(r))throw new TypeError(\"Unknown encoding: \"+r);var n=0|h(t,r),a=i(n),o=a.write(t,r);o!==n&&(a=a.slice(0,o));return a}(t,r);if(ArrayBuffer.isView(t))return c(t);if(null==t)throw TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof t);if(B(t,ArrayBuffer)||t&&B(t.buffer,ArrayBuffer))return function(t,r,n){if(r<0||t.byteLength<r)throw new RangeError('\"offset\" is outside of buffer bounds');if(t.byteLength<r+(n||0))throw new RangeError('\"length\" is outside of buffer bounds');var a;a=void 0===r&&void 0===n?new Uint8Array(t):void 0===n?new Uint8Array(t,r):new Uint8Array(t,r,n);return a.__proto__=e.prototype,a}(t,r,n);if(\"number\"==typeof t)throw new TypeError('The \"value\" argument must not be of type number. Received type number');var a=t.valueOf&&t.valueOf();if(null!=a&&a!==t)return e.from(a,r,n);var o=function(t){if(e.isBuffer(t)){var r=0|u(t.length),n=i(r);return 0===n.length||t.copy(n,0,0,r),n}if(void 0!==t.length)return\"number\"!=typeof t.length||N(t.length)?i(0):c(t);if(\"Buffer\"===t.type&&Array.isArray(t.data))return c(t.data)}(t);if(o)return o;if(\"undefined\"!=typeof Symbol&&null!=Symbol.toPrimitive&&\"function\"==typeof t[Symbol.toPrimitive])return e.from(t[Symbol.toPrimitive](\"string\"),r,n);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof t)}function s(t){if(\"number\"!=typeof t)throw new TypeError('\"size\" argument must be of type number');if(t<0)throw new RangeError('The value \"'+t+'\" is invalid for option \"size\"')}function l(t){return s(t),i(t<0?0:0|u(t))}function c(t){for(var e=t.length<0?0:0|u(t.length),r=i(e),n=0;n<e;n+=1)r[n]=255&t[n];return r}function u(t){if(t>=2147483647)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+2147483647..toString(16)+\" bytes\");return 0|t}function h(t,r){if(e.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||B(t,ArrayBuffer))return t.byteLength;if(\"string\"!=typeof t)throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var n=t.length,a=arguments.length>2&&!0===arguments[2];if(!a&&0===n)return 0;for(var i=!1;;)switch(r){case\"ascii\":case\"latin1\":case\"binary\":return n;case\"utf8\":case\"utf-8\":return D(t).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*n;case\"hex\":return n>>>1;case\"base64\":return R(t).length;default:if(i)return a?-1:D(t).length;r=(\"\"+r).toLowerCase(),i=!0}}function f(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return\"\";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return\"\";if((r>>>=0)<=(e>>>=0))return\"\";for(t||(t=\"utf8\");;)switch(t){case\"hex\":return M(this,e,r);case\"utf8\":case\"utf-8\":return T(this,e,r);case\"ascii\":return k(this,e,r);case\"latin1\":case\"binary\":return A(this,e,r);case\"base64\":return w(this,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return S(this,e,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+t);t=(t+\"\").toLowerCase(),n=!0}}function p(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function d(t,r,n,a,i){if(0===t.length)return-1;if(\"string\"==typeof n?(a=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),N(n=+n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return-1;n=t.length-1}else if(n<0){if(!i)return-1;n=0}if(\"string\"==typeof r&&(r=e.from(r,a)),e.isBuffer(r))return 0===r.length?-1:g(t,r,n,a,i);if(\"number\"==typeof r)return r&=255,\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,r,n):Uint8Array.prototype.lastIndexOf.call(t,r,n):g(t,[r],n,a,i);throw new TypeError(\"val must be string, number or Buffer\")}function g(t,e,r,n,a){var i,o=1,s=t.length,l=e.length;if(void 0!==n&&(\"ucs2\"===(n=String(n).toLowerCase())||\"ucs-2\"===n||\"utf16le\"===n||\"utf-16le\"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function c(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(a){var u=-1;for(i=r;i<s;i++)if(c(t,i)===c(e,-1===u?0:i-u)){if(-1===u&&(u=i),i-u+1===l)return u*o}else-1!==u&&(i-=i-u),u=-1}else for(r+l>s&&(r=s-l),i=r;i>=0;i--){for(var h=!0,f=0;f<l;f++)if(c(t,i+f)!==c(e,f)){h=!1;break}if(h)return i}return-1}function m(t,e,r,n){r=Number(r)||0;var a=t.length-r;n?(n=Number(n))>a&&(n=a):n=a;var i=e.length;n>i/2&&(n=i/2);for(var o=0;o<n;++o){var s=parseInt(e.substr(2*o,2),16);if(N(s))return o;t[r+o]=s}return o}function v(t,e,r,n){return F(D(e,t.length-r),t,r,n)}function y(t,e,r,n){return F(function(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,n)}function x(t,e,r,n){return y(t,e,r,n)}function b(t,e,r,n){return F(R(e),t,r,n)}function _(t,e,r,n){return F(function(t,e){for(var r,n,a,i=[],o=0;o<t.length&&!((e-=2)<0);++o)r=t.charCodeAt(o),n=r>>8,a=r%256,i.push(a),i.push(n);return i}(e,t.length-r),t,r,n)}function w(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function T(t,e,r){r=Math.min(t.length,r);for(var n=[],a=e;a<r;){var i,o,s,l,c=t[a],u=null,h=c>239?4:c>223?3:c>191?2:1;if(a+h<=r)switch(h){case 1:c<128&&(u=c);break;case 2:128==(192&(i=t[a+1]))&&(l=(31&c)<<6|63&i)>127&&(u=l);break;case 3:i=t[a+1],o=t[a+2],128==(192&i)&&128==(192&o)&&(l=(15&c)<<12|(63&i)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:i=t[a+1],o=t[a+2],s=t[a+3],128==(192&i)&&128==(192&o)&&128==(192&s)&&(l=(15&c)<<18|(63&i)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,h=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),a+=h}return function(t){var e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);var r=\"\",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=4096));return r}(n)}r.kMaxLength=2147483647,e.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()}catch(t){return!1}}(),e.TYPED_ARRAY_SUPPORT||\"undefined\"==typeof console||\"function\"!=typeof console.error||console.error(\"This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.\"),Object.defineProperty(e.prototype,\"parent\",{enumerable:!0,get:function(){if(e.isBuffer(this))return this.buffer}}),Object.defineProperty(e.prototype,\"offset\",{enumerable:!0,get:function(){if(e.isBuffer(this))return this.byteOffset}}),\"undefined\"!=typeof Symbol&&null!=Symbol.species&&e[Symbol.species]===e&&Object.defineProperty(e,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),e.poolSize=8192,e.from=function(t,e,r){return o(t,e,r)},e.prototype.__proto__=Uint8Array.prototype,e.__proto__=Uint8Array,e.alloc=function(t,e,r){return function(t,e,r){return s(t),t<=0?i(t):void 0!==e?\"string\"==typeof r?i(t).fill(e,r):i(t).fill(e):i(t)}(t,e,r)},e.allocUnsafe=function(t){return l(t)},e.allocUnsafeSlow=function(t){return l(t)},e.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==e.prototype},e.compare=function(t,r){if(B(t,Uint8Array)&&(t=e.from(t,t.offset,t.byteLength)),B(r,Uint8Array)&&(r=e.from(r,r.offset,r.byteLength)),!e.isBuffer(t)||!e.isBuffer(r))throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');if(t===r)return 0;for(var n=t.length,a=r.length,i=0,o=Math.min(n,a);i<o;++i)if(t[i]!==r[i]){n=t[i],a=r[i];break}return n<a?-1:a<n?1:0},e.isEncoding=function(t){switch(String(t).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},e.concat=function(t,r){if(!Array.isArray(t))throw new TypeError('\"list\" argument must be an Array of Buffers');if(0===t.length)return e.alloc(0);var n;if(void 0===r)for(r=0,n=0;n<t.length;++n)r+=t[n].length;var a=e.allocUnsafe(r),i=0;for(n=0;n<t.length;++n){var o=t[n];if(B(o,Uint8Array)&&(o=e.from(o)),!e.isBuffer(o))throw new TypeError('\"list\" argument must be an Array of Buffers');o.copy(a,i),i+=o.length}return a},e.byteLength=h,e.prototype._isBuffer=!0,e.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var e=0;e<t;e+=2)p(this,e,e+1);return this},e.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(var e=0;e<t;e+=4)p(this,e,e+3),p(this,e+1,e+2);return this},e.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(var e=0;e<t;e+=8)p(this,e,e+7),p(this,e+1,e+6),p(this,e+2,e+5),p(this,e+3,e+4);return this},e.prototype.toString=function(){var t=this.length;return 0===t?\"\":0===arguments.length?T(this,0,t):f.apply(this,arguments)},e.prototype.toLocaleString=e.prototype.toString,e.prototype.equals=function(t){if(!e.isBuffer(t))throw new TypeError(\"Argument must be a Buffer\");return this===t||0===e.compare(this,t)},e.prototype.inspect=function(){var t=\"\",e=r.INSPECT_MAX_BYTES;return t=this.toString(\"hex\",0,e).replace(/(.{2})/g,\"$1 \").trim(),this.length>e&&(t+=\" ... \"),\"<Buffer \"+t+\">\"},e.prototype.compare=function(t,r,n,a,i){if(B(t,Uint8Array)&&(t=e.from(t,t.offset,t.byteLength)),!e.isBuffer(t))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===r&&(r=0),void 0===n&&(n=t?t.length:0),void 0===a&&(a=0),void 0===i&&(i=this.length),r<0||n>t.length||a<0||i>this.length)throw new RangeError(\"out of range index\");if(a>=i&&r>=n)return 0;if(a>=i)return-1;if(r>=n)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(a>>>=0),s=(n>>>=0)-(r>>>=0),l=Math.min(o,s),c=this.slice(a,i),u=t.slice(r,n),h=0;h<l;++h)if(c[h]!==u[h]){o=c[h],s=u[h];break}return o<s?-1:s<o?1:0},e.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},e.prototype.indexOf=function(t,e,r){return d(this,t,e,r,!0)},e.prototype.lastIndexOf=function(t,e,r){return d(this,t,e,r,!1)},e.prototype.write=function(t,e,r,n){if(void 0===e)n=\"utf8\",r=this.length,e=0;else if(void 0===r&&\"string\"==typeof e)n=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");e>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n=\"utf8\")):(n=r,r=void 0)}var a=this.length-e;if((void 0===r||r>a)&&(r=a),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");n||(n=\"utf8\");for(var i=!1;;)switch(n){case\"hex\":return m(this,t,e,r);case\"utf8\":case\"utf-8\":return v(this,t,e,r);case\"ascii\":return y(this,t,e,r);case\"latin1\":case\"binary\":return x(this,t,e,r);case\"base64\":return b(this,t,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return _(this,t,e,r);default:if(i)throw new TypeError(\"Unknown encoding: \"+n);n=(\"\"+n).toLowerCase(),i=!0}},e.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};function k(t,e,r){var n=\"\";r=Math.min(t.length,r);for(var a=e;a<r;++a)n+=String.fromCharCode(127&t[a]);return n}function A(t,e,r){var n=\"\";r=Math.min(t.length,r);for(var a=e;a<r;++a)n+=String.fromCharCode(t[a]);return n}function M(t,e,r){var n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);for(var a=\"\",i=e;i<r;++i)a+=O(t[i]);return a}function S(t,e,r){for(var n=t.slice(e,r),a=\"\",i=0;i<n.length;i+=2)a+=String.fromCharCode(n[i]+256*n[i+1]);return a}function E(t,e,r){if(t%1!=0||t<0)throw new RangeError(\"offset is not uint\");if(t+e>r)throw new RangeError(\"Trying to access beyond buffer length\")}function C(t,r,n,a,i,o){if(!e.isBuffer(t))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(r>i||r<o)throw new RangeError('\"value\" argument is out of bounds');if(n+a>t.length)throw new RangeError(\"Index out of range\")}function L(t,e,r,n,a,i){if(r+n>t.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"Index out of range\")}function P(t,e,r,n,i){return e=+e,r>>>=0,i||L(t,0,r,4),a.write(t,e,r,n,23,4),r+4}function I(t,e,r,n,i){return e=+e,r>>>=0,i||L(t,0,r,8),a.write(t,e,r,n,52,8),r+8}e.prototype.slice=function(t,r){var n=this.length;(t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(r=void 0===r?n:~~r)<0?(r+=n)<0&&(r=0):r>n&&(r=n),r<t&&(r=t);var a=this.subarray(t,r);return a.__proto__=e.prototype,a},e.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);for(var n=this[t],a=1,i=0;++i<e&&(a*=256);)n+=this[t+i]*a;return n},e.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);for(var n=this[t+--e],a=1;e>0&&(a*=256);)n+=this[t+--e]*a;return n},e.prototype.readUInt8=function(t,e){return t>>>=0,e||E(t,1,this.length),this[t]},e.prototype.readUInt16LE=function(t,e){return t>>>=0,e||E(t,2,this.length),this[t]|this[t+1]<<8},e.prototype.readUInt16BE=function(t,e){return t>>>=0,e||E(t,2,this.length),this[t]<<8|this[t+1]},e.prototype.readUInt32LE=function(t,e){return t>>>=0,e||E(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},e.prototype.readUInt32BE=function(t,e){return t>>>=0,e||E(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},e.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);for(var n=this[t],a=1,i=0;++i<e&&(a*=256);)n+=this[t+i]*a;return n>=(a*=128)&&(n-=Math.pow(2,8*e)),n},e.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);for(var n=e,a=1,i=this[t+--n];n>0&&(a*=256);)i+=this[t+--n]*a;return i>=(a*=128)&&(i-=Math.pow(2,8*e)),i},e.prototype.readInt8=function(t,e){return t>>>=0,e||E(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},e.prototype.readInt16LE=function(t,e){t>>>=0,e||E(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},e.prototype.readInt16BE=function(t,e){t>>>=0,e||E(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},e.prototype.readInt32LE=function(t,e){return t>>>=0,e||E(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},e.prototype.readInt32BE=function(t,e){return t>>>=0,e||E(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},e.prototype.readFloatLE=function(t,e){return t>>>=0,e||E(t,4,this.length),a.read(this,t,!0,23,4)},e.prototype.readFloatBE=function(t,e){return t>>>=0,e||E(t,4,this.length),a.read(this,t,!1,23,4)},e.prototype.readDoubleLE=function(t,e){return t>>>=0,e||E(t,8,this.length),a.read(this,t,!0,52,8)},e.prototype.readDoubleBE=function(t,e){return t>>>=0,e||E(t,8,this.length),a.read(this,t,!1,52,8)},e.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||C(this,t,e,r,Math.pow(2,8*r)-1,0);var a=1,i=0;for(this[e]=255&t;++i<r&&(a*=256);)this[e+i]=t/a&255;return e+r},e.prototype.writeUIntBE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||C(this,t,e,r,Math.pow(2,8*r)-1,0);var a=r-1,i=1;for(this[e+a]=255&t;--a>=0&&(i*=256);)this[e+a]=t/i&255;return e+r},e.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,1,255,0),this[e]=255&t,e+1},e.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},e.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},e.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},e.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},e.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var a=Math.pow(2,8*r-1);C(this,t,e,r,a-1,-a)}var i=0,o=1,s=0;for(this[e]=255&t;++i<r&&(o*=256);)t<0&&0===s&&0!==this[e+i-1]&&(s=1),this[e+i]=(t/o>>0)-s&255;return e+r},e.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var a=Math.pow(2,8*r-1);C(this,t,e,r,a-1,-a)}var i=r-1,o=1,s=0;for(this[e+i]=255&t;--i>=0&&(o*=256);)t<0&&0===s&&0!==this[e+i+1]&&(s=1),this[e+i]=(t/o>>0)-s&255;return e+r},e.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},e.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},e.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},e.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},e.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},e.prototype.writeFloatLE=function(t,e,r){return P(this,t,e,!0,r)},e.prototype.writeFloatBE=function(t,e,r){return P(this,t,e,!1,r)},e.prototype.writeDoubleLE=function(t,e,r){return I(this,t,e,!0,r)},e.prototype.writeDoubleBE=function(t,e,r){return I(this,t,e,!1,r)},e.prototype.copy=function(t,r,n,a){if(!e.isBuffer(t))throw new TypeError(\"argument should be a Buffer\");if(n||(n=0),a||0===a||(a=this.length),r>=t.length&&(r=t.length),r||(r=0),a>0&&a<n&&(a=n),a===n)return 0;if(0===t.length||0===this.length)return 0;if(r<0)throw new RangeError(\"targetStart out of bounds\");if(n<0||n>=this.length)throw new RangeError(\"Index out of range\");if(a<0)throw new RangeError(\"sourceEnd out of bounds\");a>this.length&&(a=this.length),t.length-r<a-n&&(a=t.length-r+n);var i=a-n;if(this===t&&\"function\"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(r,n,a);else if(this===t&&n<r&&r<a)for(var o=i-1;o>=0;--o)t[o+r]=this[o+n];else Uint8Array.prototype.set.call(t,this.subarray(n,a),r);return i},e.prototype.fill=function(t,r,n,a){if(\"string\"==typeof t){if(\"string\"==typeof r?(a=r,r=0,n=this.length):\"string\"==typeof n&&(a=n,n=this.length),void 0!==a&&\"string\"!=typeof a)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof a&&!e.isEncoding(a))throw new TypeError(\"Unknown encoding: \"+a);if(1===t.length){var i=t.charCodeAt(0);(\"utf8\"===a&&i<128||\"latin1\"===a)&&(t=i)}}else\"number\"==typeof t&&(t&=255);if(r<0||this.length<r||this.length<n)throw new RangeError(\"Out of range index\");if(n<=r)return this;var o;if(r>>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),\"number\"==typeof t)for(o=r;o<n;++o)this[o]=t;else{var s=e.isBuffer(t)?t:e.from(t,a),l=s.length;if(0===l)throw new TypeError('The value \"'+t+'\" is invalid for argument \"value\"');for(o=0;o<n-r;++o)this[o+r]=s[o%l]}return this};var z=/[^+/0-9A-Za-z-_]/g;function O(t){return t<16?\"0\"+t.toString(16):t.toString(16)}function D(t,e){var r;e=e||1/0;for(var n=t.length,a=null,i=[],o=0;o<n;++o){if((r=t.charCodeAt(o))>55295&&r<57344){if(!a){if(r>56319){(e-=3)>-1&&i.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&i.push(239,191,189);continue}a=r;continue}if(r<56320){(e-=3)>-1&&i.push(239,191,189),a=r;continue}r=65536+(a-55296<<10|r-56320)}else a&&(e-=3)>-1&&i.push(239,191,189);if(a=null,r<128){if((e-=1)<0)break;i.push(r)}else if(r<2048){if((e-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error(\"Invalid code point\");if((e-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function R(t){return n.toByteArray(function(t){if((t=(t=t.split(\"=\")[0]).trim().replace(z,\"\")).length<2)return\"\";for(;t.length%4!=0;)t+=\"=\";return t}(t))}function F(t,e,r,n){for(var a=0;a<n&&!(a+r>=e.length||a>=t.length);++a)e[a+r]=t[a];return a}function B(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function N(t){return t!=t}}).call(this,t(\"buffer\").Buffer)},{\"base64-js\":77,buffer:108,ieee754:411}],109:[function(t,e,r){\"use strict\";var n=t(\"./lib/monotone\"),a=t(\"./lib/triangulation\"),i=t(\"./lib/delaunay\"),o=t(\"./lib/filter\");function s(t){return[Math.min(t[0],t[1]),Math.max(t[0],t[1])]}function l(t,e){return t[0]-e[0]||t[1]-e[1]}function c(t,e,r){return e in t?t[e]:r}e.exports=function(t,e,r){Array.isArray(e)?(r=r||{},e=e||[]):(r=e||{},e=[]);var u=!!c(r,\"delaunay\",!0),h=!!c(r,\"interior\",!0),f=!!c(r,\"exterior\",!0),p=!!c(r,\"infinity\",!1);if(!h&&!f||0===t.length)return[];var d=n(t,e);if(u||h!==f||p){for(var g=a(t.length,function(t){return t.map(s).sort(l)}(e)),m=0;m<d.length;++m){var v=d[m];g.addTriangle(v[0],v[1],v[2])}return u&&i(t,g),f?h?p?o(g,0,p):g.cells():o(g,1,p):o(g,-1)}return d}},{\"./lib/delaunay\":110,\"./lib/filter\":111,\"./lib/monotone\":112,\"./lib/triangulation\":113}],110:[function(t,e,r){\"use strict\";var n=t(\"robust-in-sphere\")[4];t(\"binary-search-bounds\");function a(t,e,r,a,i,o){var s=e.opposite(a,i);if(!(s<0)){if(i<a){var l=a;a=i,i=l,l=o,o=s,s=l}e.isConstraint(a,i)||n(t[a],t[i],t[o],t[s])<0&&r.push(a,i)}}e.exports=function(t,e){for(var r=[],i=t.length,o=e.stars,s=0;s<i;++s)for(var l=o[s],c=1;c<l.length;c+=2){if(!((p=l[c])<s)&&!e.isConstraint(s,p)){for(var u=l[c-1],h=-1,f=1;f<l.length;f+=2)if(l[f-1]===p){h=l[f];break}h<0||n(t[s],t[p],t[u],t[h])<0&&r.push(s,p)}}for(;r.length>0;){for(var p=r.pop(),d=(s=r.pop(),u=-1,h=-1,l=o[s],1);d<l.length;d+=2){var g=l[d-1],m=l[d];g===p?h=m:m===p&&(u=g)}u<0||h<0||(n(t[s],t[p],t[u],t[h])>=0||(e.flip(s,p),a(t,e,r,u,s,h),a(t,e,r,s,h,u),a(t,e,r,h,p,u),a(t,e,r,p,u,h)))}}},{\"binary-search-bounds\":94,\"robust-in-sphere\":498}],111:[function(t,e,r){\"use strict\";var n,a=t(\"binary-search-bounds\");function i(t,e,r,n,a,i,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=a,this.next=i,this.boundary=o}function o(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}e.exports=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,a=0;a<n;++a){var s=(v=r[a])[0],l=v[1],c=v[2];l<c?l<s&&(v[0]=l,v[1]=c,v[2]=s):c<s&&(v[0]=c,v[1]=s,v[2]=l)}r.sort(o);var u=new Array(n);for(a=0;a<u.length;++a)u[a]=0;var h=[],f=[],p=new Array(3*n),d=new Array(3*n),g=null;e&&(g=[]);var m=new i(r,p,d,u,h,f,g);for(a=0;a<n;++a)for(var v=r[a],y=0;y<3;++y){s=v[y],l=v[(y+1)%3];var x=p[3*a+y]=m.locate(l,s,t.opposite(l,s)),b=d[3*a+y]=t.isConstraint(s,l);x<0&&(b?f.push(a):(h.push(a),u[a]=1),e&&g.push([l,s,-1]))}return m}(t,r);if(0===e)return r?n.cells.concat(n.boundary):n.cells;var a=1,s=n.active,l=n.next,c=n.flags,u=n.cells,h=n.constraint,f=n.neighbor;for(;s.length>0||l.length>0;){for(;s.length>0;){var p=s.pop();if(c[p]!==-a){c[p]=a;u[p];for(var d=0;d<3;++d){var g=f[3*p+d];g>=0&&0===c[g]&&(h[3*p+d]?l.push(g):(s.push(g),c[g]=a))}}}var m=l;l=s,s=m,l.length=0,a=-a}var v=function(t,e,r){for(var n=0,a=0;a<t.length;++a)e[a]===r&&(t[n++]=t[a]);return t.length=n,t}(u,c,e);if(r)return v.concat(n.boundary);return v},i.prototype.locate=(n=[0,0,0],function(t,e,r){var i=t,s=e,l=r;return e<r?e<t&&(i=e,s=r,l=t):r<t&&(i=r,s=t,l=e),i<0?-1:(n[0]=i,n[1]=s,n[2]=l,a.eq(this.cells,n,o))})},{\"binary-search-bounds\":94}],112:[function(t,e,r){\"use strict\";var n=t(\"binary-search-bounds\"),a=t(\"robust-orientation\")[3];function i(t,e,r,n,a){this.a=t,this.b=e,this.idx=r,this.lowerIds=n,this.upperIds=a}function o(t,e,r,n){this.a=t,this.b=e,this.type=r,this.idx=n}function s(t,e){var r=t.a[0]-e.a[0]||t.a[1]-e.a[1]||t.type-e.type;return r||(0!==t.type&&(r=a(t.a,t.b,e.b))?r:t.idx-e.idx)}function l(t,e){return a(t.a,t.b,e)}function c(t,e,r,i,o){for(var s=n.lt(e,i,l),c=n.gt(e,i,l),u=s;u<c;++u){for(var h=e[u],f=h.lowerIds,p=f.length;p>1&&a(r[f[p-2]],r[f[p-1]],i)>0;)t.push([f[p-1],f[p-2],o]),p-=1;f.length=p,f.push(o);var d=h.upperIds;for(p=d.length;p>1&&a(r[d[p-2]],r[d[p-1]],i)<0;)t.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}function u(t,e){var r;return(r=t.a[0]<e.a[0]?a(t.a,t.b,e.a):a(e.b,e.a,t.a))?r:(r=e.b[0]<t.b[0]?a(t.a,t.b,e.b):a(e.b,e.a,t.b))||t.idx-e.idx}function h(t,e,r){var a=n.le(t,r,u),o=t[a],s=o.upperIds,l=s[s.length-1];o.upperIds=[l],t.splice(a+1,0,new i(r.a,r.b,r.idx,[l],s))}function f(t,e,r){var a=r.a;r.a=r.b,r.b=a;var i=n.eq(t,r,u),o=t[i];t[i-1].upperIds=o.upperIds,t.splice(i,1)}e.exports=function(t,e){for(var r=t.length,n=e.length,a=[],l=0;l<r;++l)a.push(new o(t[l],null,0,l));for(l=0;l<n;++l){var u=e[l],p=t[u[0]],d=t[u[1]];p[0]<d[0]?a.push(new o(p,d,2,l),new o(d,p,1,l)):p[0]>d[0]&&a.push(new o(d,p,2,l),new o(p,d,1,l))}a.sort(s);for(var g=a[0].a[0]-(1+Math.abs(a[0].a[0]))*Math.pow(2,-52),m=[new i([g,1],[g,0],-1,[],[],[],[])],v=[],y=(l=0,a.length);l<y;++l){var x=a[l],b=x.type;0===b?c(v,m,t,x.a,x.idx):2===b?h(m,t,x):f(m,t,x)}return v}},{\"binary-search-bounds\":94,\"robust-orientation\":500}],113:[function(t,e,r){\"use strict\";var n=t(\"binary-search-bounds\");function a(t,e){this.stars=t,this.edges=e}e.exports=function(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=[];return new a(r,e)};var i=a.prototype;function o(t,e,r){for(var n=1,a=t.length;n<a;n+=2)if(t[n-1]===e&&t[n]===r)return t[n-1]=t[a-2],t[n]=t[a-1],void(t.length=a-2)}i.isConstraint=function(){var t=[0,0];function e(t,e){return t[0]-e[0]||t[1]-e[1]}return function(r,a){return t[0]=Math.min(r,a),t[1]=Math.max(r,a),n.eq(this.edges,t,e)>=0}}(),i.removeTriangle=function(t,e,r){var n=this.stars;o(n[t],e,r),o(n[e],r,t),o(n[r],t,e)},i.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},i.opposite=function(t,e){for(var r=this.stars[e],n=1,a=r.length;n<a;n+=2)if(r[n]===t)return r[n-1];return-1},i.flip=function(t,e){var r=this.opposite(t,e),n=this.opposite(e,t);this.removeTriangle(t,e,r),this.removeTriangle(e,t,n),this.addTriangle(t,n,r),this.addTriangle(e,r,n)},i.edges=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var a=t[r],i=0,o=a.length;i<o;i+=2)e.push([a[i],a[i+1]]);return e},i.cells=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var a=t[r],i=0,o=a.length;i<o;i+=2){var s=a[i],l=a[i+1];r<Math.min(s,l)&&e.push([r,s,l])}return e}},{\"binary-search-bounds\":94}],114:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=1,r=1;r<t.length;++r)for(var n=0;n<r;++n)if(t[r]<t[n])e=-e;else if(t[n]===t[r])return 0;return e}},{}],115:[function(t,e,r){\"use strict\";var n=t(\"dup\"),a=t(\"robust-linear-solve\");function i(t,e){for(var r=0,n=t.length,a=0;a<n;++a)r+=t[a]*e[a];return r}function o(t){var e=t.length;if(0===e)return[];t[0].length;var r=n([t.length+1,t.length+1],1),o=n([t.length+1],1);r[e][e]=0;for(var s=0;s<e;++s){for(var l=0;l<=s;++l)r[l][s]=r[s][l]=2*i(t[s],t[l]);o[s]=i(t[s],t[s])}var c=a(r,o),u=0,h=c[e+1];for(s=0;s<h.length;++s)u+=h[s];var f=new Array(e);for(s=0;s<e;++s){h=c[s];var p=0;for(l=0;l<h.length;++l)p+=h[l];f[s]=p/u}return f}function s(t){if(0===t.length)return[];for(var e=t[0].length,r=n([e]),a=o(t),i=0;i<t.length;++i)for(var s=0;s<e;++s)r[s]+=t[i][s]*a[i];return r}s.barycenetric=o,e.exports=s},{dup:171,\"robust-linear-solve\":499}],116:[function(t,e,r){e.exports=function(t){for(var e=n(t),r=0,a=0;a<t.length;++a)for(var i=t[a],o=0;o<e.length;++o)r+=Math.pow(i[o]-e[o],2);return Math.sqrt(r/t.length)};var n=t(\"circumcenter\")},{circumcenter:115}],117:[function(t,e,r){e.exports=function(t,e,r){return e<r?t<e?e:t>r?r:t:t<r?r:t>e?e:t}},{}],118:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){var n;if(r){n=e;for(var a=new Array(e.length),i=0;i<e.length;++i){var o=e[i];a[i]=[o[0],o[1],r[i]]}e=a}var s=function(t,e,r){var n=d(t,[],p(t));return v(e,n,r),!!n}(t,e,!!r);for(;y(t,e,!!r);)s=!0;if(r&&s){n.length=0,r.length=0;for(i=0;i<e.length;++i){o=e[i];n.push([o[0],o[1]]),r.push(o[2])}}return s};var n=t(\"union-find\"),a=t(\"box-intersect\"),i=t(\"robust-segment-intersect\"),o=t(\"big-rat\"),s=t(\"big-rat/cmp\"),l=t(\"big-rat/to-float\"),c=t(\"rat-vec\"),u=t(\"nextafter\"),h=t(\"./lib/rat-seg-intersect\");function f(t){var e=l(t);return[u(e,-1/0),u(e,1/0)]}function p(t){for(var e=new Array(t.length),r=0;r<t.length;++r){var n=t[r];e[r]=[u(n[0],-1/0),u(n[1],-1/0),u(n[0],1/0),u(n[1],1/0)]}return e}function d(t,e,r){for(var i=e.length,o=new n(i),s=[],l=0;l<e.length;++l){var c=e[l],h=f(c[0]),p=f(c[1]);s.push([u(h[0],-1/0),u(p[0],-1/0),u(h[1],1/0),u(p[1],1/0)])}a(s,(function(t,e){o.link(t,e)}));var d=!0,g=new Array(i);for(l=0;l<i;++l){(v=o.find(l))!==l&&(d=!1,t[v]=[Math.min(t[l][0],t[v][0]),Math.min(t[l][1],t[v][1])])}if(d)return null;var m=0;for(l=0;l<i;++l){var v;(v=o.find(l))===l?(g[l]=m,t[m++]=t[l]):g[l]=-1}t.length=m;for(l=0;l<i;++l)g[l]<0&&(g[l]=g[o.find(l)]);return g}function g(t,e){return t[0]-e[0]||t[1]-e[1]}function m(t,e){var r=t[0]-e[0]||t[1]-e[1];return r||(t[2]<e[2]?-1:t[2]>e[2]?1:0)}function v(t,e,r){if(0!==t.length){if(e)for(var n=0;n<t.length;++n){var a=e[(o=t[n])[0]],i=e[o[1]];o[0]=Math.min(a,i),o[1]=Math.max(a,i)}else for(n=0;n<t.length;++n){var o;a=(o=t[n])[0],i=o[1];o[0]=Math.min(a,i),o[1]=Math.max(a,i)}r?t.sort(m):t.sort(g);var s=1;for(n=1;n<t.length;++n){var l=t[n-1],c=t[n];(c[0]!==l[0]||c[1]!==l[1]||r&&c[2]!==l[2])&&(t[s++]=c)}t.length=s}}function y(t,e,r){var n=function(t,e){for(var r=new Array(e.length),n=0;n<e.length;++n){var a=e[n],i=t[a[0]],o=t[a[1]];r[n]=[u(Math.min(i[0],o[0]),-1/0),u(Math.min(i[1],o[1]),-1/0),u(Math.max(i[0],o[0]),1/0),u(Math.max(i[1],o[1]),1/0)]}return r}(t,e),f=function(t,e,r){var n=[];return a(r,(function(r,a){var o=e[r],s=e[a];if(o[0]!==s[0]&&o[0]!==s[1]&&o[1]!==s[0]&&o[1]!==s[1]){var l=t[o[0]],c=t[o[1]],u=t[s[0]],h=t[s[1]];i(l,c,u,h)&&n.push([r,a])}})),n}(t,e,n),g=p(t),m=function(t,e,r,n){var o=[];return a(r,n,(function(r,n){var a=e[r];if(a[0]!==n&&a[1]!==n){var s=t[n],l=t[a[0]],c=t[a[1]];i(l,c,s,s)&&o.push([r,n])}})),o}(t,e,n,g),y=d(t,function(t,e,r,n,a){var i,u,f=t.map((function(t){return[o(t[0]),o(t[1])]}));for(i=0;i<r.length;++i){var p=r[i];u=p[0];var d=p[1],g=e[u],m=e[d],v=h(c(t[g[0]]),c(t[g[1]]),c(t[m[0]]),c(t[m[1]]));if(v){var y=t.length;t.push([l(v[0]),l(v[1])]),f.push(v),n.push([u,y],[d,y])}}for(n.sort((function(t,e){if(t[0]!==e[0])return t[0]-e[0];var r=f[t[1]],n=f[e[1]];return s(r[0],n[0])||s(r[1],n[1])})),i=n.length-1;i>=0;--i){var x=e[u=(S=n[i])[0]],b=x[0],_=x[1],w=t[b],T=t[_];if((w[0]-T[0]||w[1]-T[1])<0){var k=b;b=_,_=k}x[0]=b;var A,M=x[1]=S[1];for(a&&(A=x[2]);i>0&&n[i-1][0]===u;){var S,E=(S=n[--i])[1];a?e.push([M,E,A]):e.push([M,E]),M=E}a?e.push([M,_,A]):e.push([M,_])}return f}(t,e,f,m,r));return v(e,y,r),!!y||(f.length>0||m.length>0)}},{\"./lib/rat-seg-intersect\":119,\"big-rat\":81,\"big-rat/cmp\":79,\"big-rat/to-float\":93,\"box-intersect\":99,nextafter:449,\"rat-vec\":484,\"robust-segment-intersect\":503,\"union-find\":548}],119:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){var i=s(e,t),h=s(n,r),f=u(i,h);if(0===o(f))return null;var p=s(t,r),d=u(h,p),g=a(d,f),m=c(i,g);return l(t,m)};var n=t(\"big-rat/mul\"),a=t(\"big-rat/div\"),i=t(\"big-rat/sub\"),o=t(\"big-rat/sign\"),s=t(\"rat-vec/sub\"),l=t(\"rat-vec/add\"),c=t(\"rat-vec/muls\");function u(t,e){return i(n(t[0],e[1]),n(t[1],e[0]))}},{\"big-rat/div\":80,\"big-rat/mul\":90,\"big-rat/sign\":91,\"big-rat/sub\":92,\"rat-vec/add\":483,\"rat-vec/muls\":485,\"rat-vec/sub\":486}],120:[function(t,e,r){\"use strict\";var n=t(\"clamp\");function a(t,e){null==e&&(e=!0);var r=t[0],a=t[1],i=t[2],o=t[3];return null==o&&(o=e?1:255),e&&(r*=255,a*=255,i*=255,o*=255),16777216*(r=255&n(r,0,255))+((a=255&n(a,0,255))<<16)+((i=255&n(i,0,255))<<8)+(o=255&n(o,0,255))}e.exports=a,e.exports.to=a,e.exports.from=function(t,e){var r=(t=+t)>>>24,n=(16711680&t)>>>16,a=(65280&t)>>>8,i=255&t;return!1===e?[r,n,a,i]:[r/255,n/255,a/255,i/255]}},{clamp:117}],121:[function(t,e,r){\"use strict\";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},{}],122:[function(t,e,r){\"use strict\";var n=t(\"color-rgba\"),a=t(\"clamp\"),i=t(\"dtype\");e.exports=function(t,e){\"float\"!==e&&e||(e=\"array\"),\"uint\"===e&&(e=\"uint8\"),\"uint_clamped\"===e&&(e=\"uint8_clamped\");var r=new(i(e))(4),o=\"uint8\"!==e&&\"uint8_clamped\"!==e;return t.length&&\"string\"!=typeof t||((t=n(t))[0]/=255,t[1]/=255,t[2]/=255),function(t){return t instanceof Uint8Array||t instanceof Uint8ClampedArray||!!(Array.isArray(t)&&(t[0]>1||0===t[0])&&(t[1]>1||0===t[1])&&(t[2]>1||0===t[2])&&(!t[3]||t[3]>1))}(t)?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:255,o&&(r[0]/=255,r[1]/=255,r[2]/=255,r[3]/=255),r):(o?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:1):(r[0]=a(Math.floor(255*t[0]),0,255),r[1]=a(Math.floor(255*t[1]),0,255),r[2]=a(Math.floor(255*t[2]),0,255),r[3]=null==t[3]?255:a(Math.floor(255*t[3]),0,255)),r)}},{clamp:117,\"color-rgba\":124,dtype:170}],123:[function(t,e,r){(function(r){\"use strict\";var n=t(\"color-name\"),a=t(\"is-plain-obj\"),i=t(\"defined\");e.exports=function(t){var e,s,l=[],c=1;if(\"string\"==typeof t)if(n[t])l=n[t].slice(),s=\"rgb\";else if(\"transparent\"===t)c=0,s=\"rgb\",l=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var u=(p=t.slice(1)).length;c=1,u<=4?(l=[parseInt(p[0]+p[0],16),parseInt(p[1]+p[1],16),parseInt(p[2]+p[2],16)],4===u&&(c=parseInt(p[3]+p[3],16)/255)):(l=[parseInt(p[0]+p[1],16),parseInt(p[2]+p[3],16),parseInt(p[4]+p[5],16)],8===u&&(c=parseInt(p[6]+p[7],16)/255)),l[0]||(l[0]=0),l[1]||(l[1]=0),l[2]||(l[2]=0),s=\"rgb\"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\\s*\\(([^\\)]*)\\)/.exec(t)){var h=e[1],f=\"rgb\"===h,p=h.replace(/a$/,\"\");s=p;u=\"cmyk\"===p?4:\"gray\"===p?1:3;l=e[2].trim().split(/\\s*,\\s*/).map((function(t,e){if(/%$/.test(t))return e===u?parseFloat(t)/100:\"rgb\"===p?255*parseFloat(t)/100:parseFloat(t);if(\"h\"===p[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==o[t])return o[t]}return parseFloat(t)})),h===p&&l.push(1),c=f||void 0===l[u]?1:l[u],l=l.slice(0,u)}else t.length>10&&/[0-9](?:\\s|\\/)/.test(t)&&(l=t.match(/([0-9]+)/g).map((function(t){return parseFloat(t)})),s=t.match(/([a-z])/gi).join(\"\").toLowerCase());else if(isNaN(t))if(a(t)){var d=i(t.r,t.red,t.R,null);null!==d?(s=\"rgb\",l=[d,i(t.g,t.green,t.G),i(t.b,t.blue,t.B)]):(s=\"hsl\",l=[i(t.h,t.hue,t.H),i(t.s,t.saturation,t.S),i(t.l,t.lightness,t.L,t.b,t.brightness)]),c=i(t.a,t.alpha,t.opacity,1),null!=t.opacity&&(c/=100)}else(Array.isArray(t)||r.ArrayBuffer&&ArrayBuffer.isView&&ArrayBuffer.isView(t))&&(l=[t[0],t[1],t[2]],s=\"rgb\",c=4===t.length?t[3]:1);else s=\"rgb\",l=[t>>>16,(65280&t)>>>8,255&t];return{space:s,values:l,alpha:c}};var o={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"color-name\":121,defined:165,\"is-plain-obj\":422}],124:[function(t,e,r){\"use strict\";var n=t(\"color-parse\"),a=t(\"color-space/hsl\"),i=t(\"clamp\");e.exports=function(t){var e,r=n(t);return r.space?((e=Array(3))[0]=i(r.values[0],0,255),e[1]=i(r.values[1],0,255),e[2]=i(r.values[2],0,255),\"h\"===r.space[0]&&(e=a.rgb(e)),e.push(i(r.alpha,0,1)),e):[]}},{clamp:117,\"color-parse\":123,\"color-space/hsl\":125}],125:[function(t,e,r){\"use strict\";var n=t(\"./rgb\");e.exports={name:\"hsl\",min:[0,0,0],max:[360,100,100],channel:[\"hue\",\"saturation\",\"lightness\"],alias:[\"HSL\"],rgb:function(t){var e,r,n,a,i,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[i=255*l,i,i];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),a=[0,0,0];for(var c=0;c<3;c++)(n=o+1/3*-(c-1))<0?n++:n>1&&n--,i=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,a[c]=255*i;return a}},n.hsl=function(t){var e,r,n=t[0]/255,a=t[1]/255,i=t[2]/255,o=Math.min(n,a,i),s=Math.max(n,a,i),l=s-o;return s===o?e=0:n===s?e=(a-i)/l:a===s?e=2+(i-n)/l:i===s&&(e=4+(n-a)/l),(e=Math.min(60*e,360))<0&&(e+=360),r=(o+s)/2,[e,100*(s===o?0:r<=.5?l/(s+o):l/(2-s-o)),100*r]}},{\"./rgb\":126}],126:[function(t,e,r){\"use strict\";e.exports={name:\"rgb\",min:[0,0,0],max:[255,255,255],channel:[\"red\",\"green\",\"blue\"],alias:[\"RGB\"]}},{}],127:[function(t,e,r){e.exports={jet:[{index:0,rgb:[0,0,131]},{index:.125,rgb:[0,60,170]},{index:.375,rgb:[5,255,255]},{index:.625,rgb:[255,255,0]},{index:.875,rgb:[250,0,0]},{index:1,rgb:[128,0,0]}],hsv:[{index:0,rgb:[255,0,0]},{index:.169,rgb:[253,255,2]},{index:.173,rgb:[247,255,2]},{index:.337,rgb:[0,252,4]},{index:.341,rgb:[0,252,10]},{index:.506,rgb:[1,249,255]},{index:.671,rgb:[2,0,253]},{index:.675,rgb:[8,0,253]},{index:.839,rgb:[255,0,251]},{index:.843,rgb:[255,0,245]},{index:1,rgb:[255,0,6]}],hot:[{index:0,rgb:[0,0,0]},{index:.3,rgb:[230,0,0]},{index:.6,rgb:[255,210,0]},{index:1,rgb:[255,255,255]}],cool:[{index:0,rgb:[0,255,255]},{index:1,rgb:[255,0,255]}],spring:[{index:0,rgb:[255,0,255]},{index:1,rgb:[255,255,0]}],summer:[{index:0,rgb:[0,128,102]},{index:1,rgb:[255,255,102]}],autumn:[{index:0,rgb:[255,0,0]},{index:1,rgb:[255,255,0]}],winter:[{index:0,rgb:[0,0,255]},{index:1,rgb:[0,255,128]}],bone:[{index:0,rgb:[0,0,0]},{index:.376,rgb:[84,84,116]},{index:.753,rgb:[169,200,200]},{index:1,rgb:[255,255,255]}],copper:[{index:0,rgb:[0,0,0]},{index:.804,rgb:[255,160,102]},{index:1,rgb:[255,199,127]}],greys:[{index:0,rgb:[0,0,0]},{index:1,rgb:[255,255,255]}],yignbu:[{index:0,rgb:[8,29,88]},{index:.125,rgb:[37,52,148]},{index:.25,rgb:[34,94,168]},{index:.375,rgb:[29,145,192]},{index:.5,rgb:[65,182,196]},{index:.625,rgb:[127,205,187]},{index:.75,rgb:[199,233,180]},{index:.875,rgb:[237,248,217]},{index:1,rgb:[255,255,217]}],greens:[{index:0,rgb:[0,68,27]},{index:.125,rgb:[0,109,44]},{index:.25,rgb:[35,139,69]},{index:.375,rgb:[65,171,93]},{index:.5,rgb:[116,196,118]},{index:.625,rgb:[161,217,155]},{index:.75,rgb:[199,233,192]},{index:.875,rgb:[229,245,224]},{index:1,rgb:[247,252,245]}],yiorrd:[{index:0,rgb:[128,0,38]},{index:.125,rgb:[189,0,38]},{index:.25,rgb:[227,26,28]},{index:.375,rgb:[252,78,42]},{index:.5,rgb:[253,141,60]},{index:.625,rgb:[254,178,76]},{index:.75,rgb:[254,217,118]},{index:.875,rgb:[255,237,160]},{index:1,rgb:[255,255,204]}],bluered:[{index:0,rgb:[0,0,255]},{index:1,rgb:[255,0,0]}],rdbu:[{index:0,rgb:[5,10,172]},{index:.35,rgb:[106,137,247]},{index:.5,rgb:[190,190,190]},{index:.6,rgb:[220,170,132]},{index:.7,rgb:[230,145,90]},{index:1,rgb:[178,10,28]}],picnic:[{index:0,rgb:[0,0,255]},{index:.1,rgb:[51,153,255]},{index:.2,rgb:[102,204,255]},{index:.3,rgb:[153,204,255]},{index:.4,rgb:[204,204,255]},{index:.5,rgb:[255,255,255]},{index:.6,rgb:[255,204,255]},{index:.7,rgb:[255,153,255]},{index:.8,rgb:[255,102,204]},{index:.9,rgb:[255,102,102]},{index:1,rgb:[255,0,0]}],rainbow:[{index:0,rgb:[150,0,90]},{index:.125,rgb:[0,0,200]},{index:.25,rgb:[0,25,255]},{index:.375,rgb:[0,152,255]},{index:.5,rgb:[44,255,150]},{index:.625,rgb:[151,255,0]},{index:.75,rgb:[255,234,0]},{index:.875,rgb:[255,111,0]},{index:1,rgb:[255,0,0]}],portland:[{index:0,rgb:[12,51,131]},{index:.25,rgb:[10,136,186]},{index:.5,rgb:[242,211,56]},{index:.75,rgb:[242,143,56]},{index:1,rgb:[217,30,30]}],blackbody:[{index:0,rgb:[0,0,0]},{index:.2,rgb:[230,0,0]},{index:.4,rgb:[230,210,0]},{index:.7,rgb:[255,255,255]},{index:1,rgb:[160,200,255]}],earth:[{index:0,rgb:[0,0,130]},{index:.1,rgb:[0,180,180]},{index:.2,rgb:[40,210,40]},{index:.4,rgb:[230,230,50]},{index:.6,rgb:[120,70,20]},{index:1,rgb:[255,255,255]}],electric:[{index:0,rgb:[0,0,0]},{index:.15,rgb:[30,0,100]},{index:.4,rgb:[120,0,100]},{index:.6,rgb:[160,90,0]},{index:.8,rgb:[230,200,0]},{index:1,rgb:[255,250,220]}],alpha:[{index:0,rgb:[255,255,255,0]},{index:1,rgb:[255,255,255,1]}],viridis:[{index:0,rgb:[68,1,84]},{index:.13,rgb:[71,44,122]},{index:.25,rgb:[59,81,139]},{index:.38,rgb:[44,113,142]},{index:.5,rgb:[33,144,141]},{index:.63,rgb:[39,173,129]},{index:.75,rgb:[92,200,99]},{index:.88,rgb:[170,220,50]},{index:1,rgb:[253,231,37]}],inferno:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[31,12,72]},{index:.25,rgb:[85,15,109]},{index:.38,rgb:[136,34,106]},{index:.5,rgb:[186,54,85]},{index:.63,rgb:[227,89,51]},{index:.75,rgb:[249,140,10]},{index:.88,rgb:[249,201,50]},{index:1,rgb:[252,255,164]}],magma:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[28,16,68]},{index:.25,rgb:[79,18,123]},{index:.38,rgb:[129,37,129]},{index:.5,rgb:[181,54,122]},{index:.63,rgb:[229,80,100]},{index:.75,rgb:[251,135,97]},{index:.88,rgb:[254,194,135]},{index:1,rgb:[252,253,191]}],plasma:[{index:0,rgb:[13,8,135]},{index:.13,rgb:[75,3,161]},{index:.25,rgb:[125,3,168]},{index:.38,rgb:[168,34,150]},{index:.5,rgb:[203,70,121]},{index:.63,rgb:[229,107,93]},{index:.75,rgb:[248,148,65]},{index:.88,rgb:[253,195,40]},{index:1,rgb:[240,249,33]}],warm:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[172,0,187]},{index:.25,rgb:[219,0,170]},{index:.38,rgb:[255,0,130]},{index:.5,rgb:[255,63,74]},{index:.63,rgb:[255,123,0]},{index:.75,rgb:[234,176,0]},{index:.88,rgb:[190,228,0]},{index:1,rgb:[147,255,0]}],cool:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[116,0,218]},{index:.25,rgb:[98,74,237]},{index:.38,rgb:[68,146,231]},{index:.5,rgb:[0,204,197]},{index:.63,rgb:[0,247,146]},{index:.75,rgb:[0,255,88]},{index:.88,rgb:[40,255,8]},{index:1,rgb:[147,255,0]}],\"rainbow-soft\":[{index:0,rgb:[125,0,179]},{index:.1,rgb:[199,0,180]},{index:.2,rgb:[255,0,121]},{index:.3,rgb:[255,108,0]},{index:.4,rgb:[222,194,0]},{index:.5,rgb:[150,255,0]},{index:.6,rgb:[0,255,55]},{index:.7,rgb:[0,246,150]},{index:.8,rgb:[50,167,222]},{index:.9,rgb:[103,51,235]},{index:1,rgb:[124,0,186]}],bathymetry:[{index:0,rgb:[40,26,44]},{index:.13,rgb:[59,49,90]},{index:.25,rgb:[64,76,139]},{index:.38,rgb:[63,110,151]},{index:.5,rgb:[72,142,158]},{index:.63,rgb:[85,174,163]},{index:.75,rgb:[120,206,163]},{index:.88,rgb:[187,230,172]},{index:1,rgb:[253,254,204]}],cdom:[{index:0,rgb:[47,15,62]},{index:.13,rgb:[87,23,86]},{index:.25,rgb:[130,28,99]},{index:.38,rgb:[171,41,96]},{index:.5,rgb:[206,67,86]},{index:.63,rgb:[230,106,84]},{index:.75,rgb:[242,149,103]},{index:.88,rgb:[249,193,135]},{index:1,rgb:[254,237,176]}],chlorophyll:[{index:0,rgb:[18,36,20]},{index:.13,rgb:[25,63,41]},{index:.25,rgb:[24,91,59]},{index:.38,rgb:[13,119,72]},{index:.5,rgb:[18,148,80]},{index:.63,rgb:[80,173,89]},{index:.75,rgb:[132,196,122]},{index:.88,rgb:[175,221,162]},{index:1,rgb:[215,249,208]}],density:[{index:0,rgb:[54,14,36]},{index:.13,rgb:[89,23,80]},{index:.25,rgb:[110,45,132]},{index:.38,rgb:[120,77,178]},{index:.5,rgb:[120,113,213]},{index:.63,rgb:[115,151,228]},{index:.75,rgb:[134,185,227]},{index:.88,rgb:[177,214,227]},{index:1,rgb:[230,241,241]}],\"freesurface-blue\":[{index:0,rgb:[30,4,110]},{index:.13,rgb:[47,14,176]},{index:.25,rgb:[41,45,236]},{index:.38,rgb:[25,99,212]},{index:.5,rgb:[68,131,200]},{index:.63,rgb:[114,156,197]},{index:.75,rgb:[157,181,203]},{index:.88,rgb:[200,208,216]},{index:1,rgb:[241,237,236]}],\"freesurface-red\":[{index:0,rgb:[60,9,18]},{index:.13,rgb:[100,17,27]},{index:.25,rgb:[142,20,29]},{index:.38,rgb:[177,43,27]},{index:.5,rgb:[192,87,63]},{index:.63,rgb:[205,125,105]},{index:.75,rgb:[216,162,148]},{index:.88,rgb:[227,199,193]},{index:1,rgb:[241,237,236]}],oxygen:[{index:0,rgb:[64,5,5]},{index:.13,rgb:[106,6,15]},{index:.25,rgb:[144,26,7]},{index:.38,rgb:[168,64,3]},{index:.5,rgb:[188,100,4]},{index:.63,rgb:[206,136,11]},{index:.75,rgb:[220,174,25]},{index:.88,rgb:[231,215,44]},{index:1,rgb:[248,254,105]}],par:[{index:0,rgb:[51,20,24]},{index:.13,rgb:[90,32,35]},{index:.25,rgb:[129,44,34]},{index:.38,rgb:[159,68,25]},{index:.5,rgb:[182,99,19]},{index:.63,rgb:[199,134,22]},{index:.75,rgb:[212,171,35]},{index:.88,rgb:[221,210,54]},{index:1,rgb:[225,253,75]}],phase:[{index:0,rgb:[145,105,18]},{index:.13,rgb:[184,71,38]},{index:.25,rgb:[186,58,115]},{index:.38,rgb:[160,71,185]},{index:.5,rgb:[110,97,218]},{index:.63,rgb:[50,123,164]},{index:.75,rgb:[31,131,110]},{index:.88,rgb:[77,129,34]},{index:1,rgb:[145,105,18]}],salinity:[{index:0,rgb:[42,24,108]},{index:.13,rgb:[33,50,162]},{index:.25,rgb:[15,90,145]},{index:.38,rgb:[40,118,137]},{index:.5,rgb:[59,146,135]},{index:.63,rgb:[79,175,126]},{index:.75,rgb:[120,203,104]},{index:.88,rgb:[193,221,100]},{index:1,rgb:[253,239,154]}],temperature:[{index:0,rgb:[4,35,51]},{index:.13,rgb:[23,51,122]},{index:.25,rgb:[85,59,157]},{index:.38,rgb:[129,79,143]},{index:.5,rgb:[175,95,130]},{index:.63,rgb:[222,112,101]},{index:.75,rgb:[249,146,66]},{index:.88,rgb:[249,196,65]},{index:1,rgb:[232,250,91]}],turbidity:[{index:0,rgb:[34,31,27]},{index:.13,rgb:[65,50,41]},{index:.25,rgb:[98,69,52]},{index:.38,rgb:[131,89,57]},{index:.5,rgb:[161,112,59]},{index:.63,rgb:[185,140,66]},{index:.75,rgb:[202,174,88]},{index:.88,rgb:[216,209,126]},{index:1,rgb:[233,246,171]}],\"velocity-blue\":[{index:0,rgb:[17,32,64]},{index:.13,rgb:[35,52,116]},{index:.25,rgb:[29,81,156]},{index:.38,rgb:[31,113,162]},{index:.5,rgb:[50,144,169]},{index:.63,rgb:[87,173,176]},{index:.75,rgb:[149,196,189]},{index:.88,rgb:[203,221,211]},{index:1,rgb:[254,251,230]}],\"velocity-green\":[{index:0,rgb:[23,35,19]},{index:.13,rgb:[24,64,38]},{index:.25,rgb:[11,95,45]},{index:.38,rgb:[39,123,35]},{index:.5,rgb:[95,146,12]},{index:.63,rgb:[152,165,18]},{index:.75,rgb:[201,186,69]},{index:.88,rgb:[233,216,137]},{index:1,rgb:[255,253,205]}],cubehelix:[{index:0,rgb:[0,0,0]},{index:.07,rgb:[22,5,59]},{index:.13,rgb:[60,4,105]},{index:.2,rgb:[109,1,135]},{index:.27,rgb:[161,0,147]},{index:.33,rgb:[210,2,142]},{index:.4,rgb:[251,11,123]},{index:.47,rgb:[255,29,97]},{index:.53,rgb:[255,54,69]},{index:.6,rgb:[255,85,46]},{index:.67,rgb:[255,120,34]},{index:.73,rgb:[255,157,37]},{index:.8,rgb:[241,191,57]},{index:.87,rgb:[224,220,93]},{index:.93,rgb:[218,241,142]},{index:1,rgb:[227,253,198]}]}},{}],128:[function(t,e,r){\"use strict\";var n=t(\"./colorScale\"),a=t(\"lerp\");function i(t){return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function o(t){for(var e,r=\"#\",n=0;n<3;++n)r+=(\"00\"+(e=(e=t[n]).toString(16))).substr(e.length);return r}function s(t){return\"rgba(\"+t.join(\",\")+\")\"}e.exports=function(t){var e,r,l,c,u,h,f,p,d,g;t||(t={});p=(t.nshades||72)-1,f=t.format||\"hex\",(h=t.colormap)||(h=\"jet\");if(\"string\"==typeof h){if(h=h.toLowerCase(),!n[h])throw Error(h+\" not a supported colorscale\");u=n[h]}else{if(!Array.isArray(h))throw Error(\"unsupported colormap option\",h);u=h.slice()}if(u.length>p+1)throw new Error(h+\" map requires nshades to be at least size \"+u.length);d=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:t.alpha.slice():\"number\"==typeof t.alpha?[t.alpha,t.alpha]:[1,1];e=u.map((function(t){return Math.round(t.index*p)})),d[0]=Math.min(Math.max(d[0],0),1),d[1]=Math.min(Math.max(d[1],0),1);var m=u.map((function(t,e){var r=u[e].index,n=u[e].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1||(n[3]=d[0]+(d[1]-d[0])*r),n})),v=[];for(g=0;g<e.length-1;++g){c=e[g+1]-e[g],r=m[g],l=m[g+1];for(var y=0;y<c;y++){var x=y/c;v.push([Math.round(a(r[0],l[0],x)),Math.round(a(r[1],l[1],x)),Math.round(a(r[2],l[2],x)),a(r[3],l[3],x)])}}v.push(u[u.length-1].rgb.concat(d[1])),\"hex\"===f?v=v.map(o):\"rgbaString\"===f?v=v.map(s):\"float\"===f&&(v=v.map(i));return v}},{\"./colorScale\":127,lerp:425}],129:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,i){var o=n(e,r,i);if(0===o){var s=a(n(t,e,r)),c=a(n(t,e,i));if(s===c){if(0===s){var u=l(t,e,r),h=l(t,e,i);return u===h?0:u?1:-1}return 0}return 0===c?s>0||l(t,e,i)?-1:1:0===s?c>0||l(t,e,r)?1:-1:a(c-s)}var f=n(t,e,r);return f>0?o>0&&n(t,e,i)>0?1:-1:f<0?o>0||n(t,e,i)>0?1:-1:n(t,e,i)>0||l(t,e,r)?1:-1};var n=t(\"robust-orientation\"),a=t(\"signum\"),i=t(\"two-sum\"),o=t(\"robust-product\"),s=t(\"robust-sum\");function l(t,e,r){var n=i(t[0],-e[0]),a=i(t[1],-e[1]),l=i(r[0],-e[0]),c=i(r[1],-e[1]),u=s(o(n,l),o(a,c));return u[u.length-1]>=0}},{\"robust-orientation\":500,\"robust-product\":501,\"robust-sum\":505,signum:506,\"two-sum\":535}],130:[function(t,e,r){e.exports=function(t,e){var r=t.length,i=t.length-e.length;if(i)return i;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return t[0]+t[1]-e[0]-e[1]||n(t[0],t[1])-n(e[0],e[1]);case 3:var o=t[0]+t[1],s=e[0]+e[1];if(i=o+t[2]-(s+e[2]))return i;var l=n(t[0],t[1]),c=n(e[0],e[1]);return n(l,t[2])-n(c,e[2])||n(l+t[2],o)-n(c+e[2],s);case 4:var u=t[0],h=t[1],f=t[2],p=t[3],d=e[0],g=e[1],m=e[2],v=e[3];return u+h+f+p-(d+g+m+v)||n(u,h,f,p)-n(d,g,m,v,d)||n(u+h,u+f,u+p,h+f,h+p,f+p)-n(d+g,d+m,d+v,g+m,g+v,m+v)||n(u+h+f,u+h+p,u+f+p,h+f+p)-n(d+g+m,d+g+v,d+m+v,g+m+v);default:for(var y=t.slice().sort(a),x=e.slice().sort(a),b=0;b<r;++b)if(i=y[b]-x[b])return i;return 0}};var n=Math.min;function a(t,e){return t-e}},{}],131:[function(t,e,r){\"use strict\";var n=t(\"compare-cell\"),a=t(\"cell-orientation\");e.exports=function(t,e){return n(t,e)||a(t)-a(e)}},{\"cell-orientation\":114,\"compare-cell\":130}],132:[function(t,e,r){\"use strict\";var n=t(\"./lib/ch1d\"),a=t(\"./lib/ch2d\"),i=t(\"./lib/chnd\");e.exports=function(t){var e=t.length;if(0===e)return[];if(1===e)return[[0]];var r=t[0].length;if(0===r)return[];if(1===r)return n(t);if(2===r)return a(t);return i(t,r)}},{\"./lib/ch1d\":133,\"./lib/ch2d\":134,\"./lib/chnd\":135}],133:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=0,r=0,n=1;n<t.length;++n)t[n][0]<t[e][0]&&(e=n),t[n][0]>t[r][0]&&(r=n);return e<r?[[e],[r]]:e>r?[[r],[e]]:[[e]]}},{}],134:[function(t,e,r){\"use strict\";e.exports=function(t){var e=n(t),r=e.length;if(r<=2)return[];for(var a=new Array(r),i=e[r-1],o=0;o<r;++o){var s=e[o];a[o]=[i,s],i=s}return a};var n=t(\"monotone-convex-hull-2d\")},{\"monotone-convex-hull-2d\":435}],135:[function(t,e,r){\"use strict\";e.exports=function(t,e){try{return n(t,!0)}catch(o){var r=a(t);if(r.length<=e)return[];var i=function(t,e){for(var r=t.length,n=new Array(r),a=0;a<e.length;++a)n[a]=t[e[a]];var i=e.length;for(a=0;a<r;++a)e.indexOf(a)<0&&(n[i++]=t[a]);return n}(t,r);return function(t,e){for(var r=t.length,n=e.length,a=0;a<r;++a)for(var i=t[a],o=0;o<i.length;++o){var s=i[o];if(s<n)i[o]=e[s];else{s-=n;for(var l=0;l<n;++l)s>=e[l]&&(s+=1);i[o]=s}}return t}(n(i,!0),r)}};var n=t(\"incremental-convex-hull\"),a=t(\"affine-hull\")},{\"affine-hull\":65,\"incremental-convex-hull\":412}],136:[function(t,e,r){e.exports={AFG:\"afghan\",ALA:\"\\\\b\\\\wland\",ALB:\"albania\",DZA:\"algeria\",ASM:\"^(?=.*americ).*samoa\",AND:\"andorra\",AGO:\"angola\",AIA:\"anguill?a\",ATA:\"antarctica\",ATG:\"antigua\",ARG:\"argentin\",ARM:\"armenia\",ABW:\"^(?!.*bonaire).*\\\\baruba\",AUS:\"australia\",AUT:\"^(?!.*hungary).*austria|\\\\baustri.*\\\\bemp\",AZE:\"azerbaijan\",BHS:\"bahamas\",BHR:\"bahrain\",BGD:\"bangladesh|^(?=.*east).*paki?stan\",BRB:\"barbados\",BLR:\"belarus|byelo\",BEL:\"^(?!.*luxem).*belgium\",BLZ:\"belize|^(?=.*british).*honduras\",BEN:\"benin|dahome\",BMU:\"bermuda\",BTN:\"bhutan\",BOL:\"bolivia\",BES:\"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\\\bbes.?islands\",BIH:\"herzegovina|bosnia\",BWA:\"botswana|bechuana\",BVT:\"bouvet\",BRA:\"brazil\",IOT:\"british.?indian.?ocean\",BRN:\"brunei\",BGR:\"bulgaria\",BFA:\"burkina|\\\\bfaso|upper.?volta\",BDI:\"burundi\",CPV:\"verde\",KHM:\"cambodia|kampuchea|khmer\",CMR:\"cameroon\",CAN:\"canada\",CYM:\"cayman\",CAF:\"\\\\bcentral.african.republic\",TCD:\"\\\\bchad\",CHL:\"\\\\bchile\",CHN:\"^(?!.*\\\\bmac)(?!.*\\\\bhong)(?!.*\\\\btai)(?!.*\\\\brep).*china|^(?=.*peo)(?=.*rep).*china\",CXR:\"christmas\",CCK:\"\\\\bcocos|keeling\",COL:\"colombia\",COM:\"comoro\",COG:\"^(?!.*\\\\bdem)(?!.*\\\\bd[\\\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\\\bcongo\",COK:\"\\\\bcook\",CRI:\"costa.?rica\",CIV:\"ivoire|ivory\",HRV:\"croatia\",CUB:\"\\\\bcuba\",CUW:\"^(?!.*bonaire).*\\\\bcura(c|\\xe7)ao\",CYP:\"cyprus\",CSK:\"czechoslovakia\",CZE:\"^(?=.*rep).*czech|czechia|bohemia\",COD:\"\\\\bdem.*congo|congo.*\\\\bdem|congo.*\\\\bd[\\\\.]?r|\\\\bd[\\\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc\",DNK:\"denmark\",DJI:\"djibouti\",DMA:\"dominica(?!n)\",DOM:\"dominican.rep\",ECU:\"ecuador\",EGY:\"egypt\",SLV:\"el.?salvador\",GNQ:\"guine.*eq|eq.*guine|^(?=.*span).*guinea\",ERI:\"eritrea\",EST:\"estonia\",ETH:\"ethiopia|abyssinia\",FLK:\"falkland|malvinas\",FRO:\"faroe|faeroe\",FJI:\"fiji\",FIN:\"finland\",FRA:\"^(?!.*\\\\bdep)(?!.*martinique).*france|french.?republic|\\\\bgaul\",GUF:\"^(?=.*french).*guiana\",PYF:\"french.?polynesia|tahiti\",ATF:\"french.?southern\",GAB:\"gabon\",GMB:\"gambia\",GEO:\"^(?!.*south).*georgia\",DDR:\"german.?democratic.?republic|democratic.?republic.*germany|east.germany\",DEU:\"^(?!.*east).*germany|^(?=.*\\\\bfed.*\\\\brep).*german\",GHA:\"ghana|gold.?coast\",GIB:\"gibraltar\",GRC:\"greece|hellenic|hellas\",GRL:\"greenland\",GRD:\"grenada\",GLP:\"guadeloupe\",GUM:\"\\\\bguam\",GTM:\"guatemala\",GGY:\"guernsey\",GIN:\"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea\",GNB:\"bissau|^(?=.*portu).*guinea\",GUY:\"guyana|british.?guiana\",HTI:\"haiti\",HMD:\"heard.*mcdonald\",VAT:\"holy.?see|vatican|papal.?st\",HND:\"^(?!.*brit).*honduras\",HKG:\"hong.?kong\",HUN:\"^(?!.*austr).*hungary\",ISL:\"iceland\",IND:\"india(?!.*ocea)\",IDN:\"indonesia\",IRN:\"\\\\biran|persia\",IRQ:\"\\\\biraq|mesopotamia\",IRL:\"(^ireland)|(^republic.*ireland)\",IMN:\"^(?=.*isle).*\\\\bman\",ISR:\"israel\",ITA:\"italy\",JAM:\"jamaica\",JPN:\"japan\",JEY:\"jersey\",JOR:\"jordan\",KAZ:\"kazak\",KEN:\"kenya|british.?east.?africa|east.?africa.?prot\",KIR:\"kiribati\",PRK:\"^(?=.*democrat|people|north|d.*p.*.r).*\\\\bkorea|dprk|korea.*(d.*p.*r)\",KWT:\"kuwait\",KGZ:\"kyrgyz|kirghiz\",LAO:\"\\\\blaos?\\\\b\",LVA:\"latvia\",LBN:\"lebanon\",LSO:\"lesotho|basuto\",LBR:\"liberia\",LBY:\"libya\",LIE:\"liechtenstein\",LTU:\"lithuania\",LUX:\"^(?!.*belg).*luxem\",MAC:\"maca(o|u)\",MDG:\"madagascar|malagasy\",MWI:\"malawi|nyasa\",MYS:\"malaysia\",MDV:\"maldive\",MLI:\"\\\\bmali\\\\b\",MLT:\"\\\\bmalta\",MHL:\"marshall\",MTQ:\"martinique\",MRT:\"mauritania\",MUS:\"mauritius\",MYT:\"\\\\bmayotte\",MEX:\"\\\\bmexic\",FSM:\"fed.*micronesia|micronesia.*fed\",MCO:\"monaco\",MNG:\"mongolia\",MNE:\"^(?!.*serbia).*montenegro\",MSR:\"montserrat\",MAR:\"morocco|\\\\bmaroc\",MOZ:\"mozambique\",MMR:\"myanmar|burma\",NAM:\"namibia\",NRU:\"nauru\",NPL:\"nepal\",NLD:\"^(?!.*\\\\bant)(?!.*\\\\bcarib).*netherlands\",ANT:\"^(?=.*\\\\bant).*(nether|dutch)\",NCL:\"new.?caledonia\",NZL:\"new.?zealand\",NIC:\"nicaragua\",NER:\"\\\\bniger(?!ia)\",NGA:\"nigeria\",NIU:\"niue\",NFK:\"norfolk\",MNP:\"mariana\",NOR:\"norway\",OMN:\"\\\\boman|trucial\",PAK:\"^(?!.*east).*paki?stan\",PLW:\"palau\",PSE:\"palestin|\\\\bgaza|west.?bank\",PAN:\"panama\",PNG:\"papua|new.?guinea\",PRY:\"paraguay\",PER:\"peru\",PHL:\"philippines\",PCN:\"pitcairn\",POL:\"poland\",PRT:\"portugal\",PRI:\"puerto.?rico\",QAT:\"qatar\",KOR:\"^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\\\bkorea(?!.*d.*p.*r)\",MDA:\"moldov|b(a|e)ssarabia\",REU:\"r(e|\\xe9)union\",ROU:\"r(o|u|ou)mania\",RUS:\"\\\\brussia|soviet.?union|u\\\\.?s\\\\.?s\\\\.?r|socialist.?republics\",RWA:\"rwanda\",BLM:\"barth(e|\\xe9)lemy\",SHN:\"helena\",KNA:\"kitts|\\\\bnevis\",LCA:\"\\\\blucia\",MAF:\"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)\",SPM:\"miquelon\",VCT:\"vincent\",WSM:\"^(?!.*amer).*samoa\",SMR:\"san.?marino\",STP:\"\\\\bs(a|\\xe3)o.?tom(e|\\xe9)\",SAU:\"\\\\bsa\\\\w*.?arabia\",SEN:\"senegal\",SRB:\"^(?!.*monte).*serbia\",SYC:\"seychell\",SLE:\"sierra\",SGP:\"singapore\",SXM:\"^(?!.*martin)(?!.*saba).*maarten\",SVK:\"^(?!.*cze).*slovak\",SVN:\"slovenia\",SLB:\"solomon\",SOM:\"somali\",ZAF:\"south.africa|s\\\\\\\\..?africa\",SGS:\"south.?georgia|sandwich\",SSD:\"\\\\bs\\\\w*.?sudan\",ESP:\"spain\",LKA:\"sri.?lanka|ceylon\",SDN:\"^(?!.*\\\\bs(?!u)).*sudan\",SUR:\"surinam|dutch.?guiana\",SJM:\"svalbard\",SWZ:\"swaziland\",SWE:\"sweden\",CHE:\"switz|swiss\",SYR:\"syria\",TWN:\"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china\",TJK:\"tajik\",THA:\"thailand|\\\\bsiam\",MKD:\"macedonia|fyrom\",TLS:\"^(?=.*leste).*timor|^(?=.*east).*timor\",TGO:\"togo\",TKL:\"tokelau\",TON:\"tonga\",TTO:\"trinidad|tobago\",TUN:\"tunisia\",TUR:\"turkey\",TKM:\"turkmen\",TCA:\"turks\",TUV:\"tuvalu\",UGA:\"uganda\",UKR:\"ukrain\",ARE:\"emirates|^u\\\\.?a\\\\.?e\\\\.?$|united.?arab.?em\",GBR:\"united.?kingdom|britain|^u\\\\.?k\\\\.?$\",TZA:\"tanzania\",USA:\"united.?states\\\\b(?!.*islands)|\\\\bu\\\\.?s\\\\.?a\\\\.?\\\\b|^\\\\s*u\\\\.?s\\\\.?\\\\b(?!.*islands)\",UMI:\"minor.?outlying.?is\",URY:\"uruguay\",UZB:\"uzbek\",VUT:\"vanuatu|new.?hebrides\",VEN:\"venezuela\",VNM:\"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam\",VGB:\"^(?=.*\\\\bu\\\\.?\\\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin\",VIR:\"^(?=.*\\\\bu\\\\.?\\\\s?s).*virgin|^(?=.*states).*virgin\",WLF:\"futuna|wallis\",ESH:\"western.sahara\",YEM:\"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\\\bp\\\\.?d\\\\.?r).*yemen\",YMD:\"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\\\bp\\\\.?d\\\\.?r).*yemen\",YUG:\"yugoslavia\",ZMB:\"zambia|northern.?rhodesia\",EAZ:\"zanzibar\",ZWE:\"zimbabwe|^(?!.*northern).*rhodesia\"}},{}],137:[function(t,e,r){e.exports=[\"xx-small\",\"x-small\",\"small\",\"medium\",\"large\",\"x-large\",\"xx-large\",\"larger\",\"smaller\"]},{}],138:[function(t,e,r){e.exports=[\"normal\",\"condensed\",\"semi-condensed\",\"extra-condensed\",\"ultra-condensed\",\"expanded\",\"semi-expanded\",\"extra-expanded\",\"ultra-expanded\"]},{}],139:[function(t,e,r){e.exports=[\"normal\",\"italic\",\"oblique\"]},{}],140:[function(t,e,r){e.exports=[\"normal\",\"bold\",\"bolder\",\"lighter\",\"100\",\"200\",\"300\",\"400\",\"500\",\"600\",\"700\",\"800\",\"900\"]},{}],141:[function(t,e,r){\"use strict\";e.exports={parse:t(\"./parse\"),stringify:t(\"./stringify\")}},{\"./parse\":143,\"./stringify\":144}],142:[function(t,e,r){\"use strict\";var n=t(\"css-font-size-keywords\");e.exports={isSize:function(t){return/^[\\d\\.]/.test(t)||-1!==t.indexOf(\"/\")||-1!==n.indexOf(t)}}},{\"css-font-size-keywords\":137}],143:[function(t,e,r){\"use strict\";var n=t(\"unquote\"),a=t(\"css-global-keywords\"),i=t(\"css-system-font-keywords\"),o=t(\"css-font-weight-keywords\"),s=t(\"css-font-style-keywords\"),l=t(\"css-font-stretch-keywords\"),c=t(\"string-split-by\"),u=t(\"./lib/util\").isSize;e.exports=f;var h=f.cache={};function f(t){if(\"string\"!=typeof t)throw new Error(\"Font argument must be a string.\");if(h[t])return h[t];if(\"\"===t)throw new Error(\"Cannot parse an empty string.\");if(-1!==i.indexOf(t))return h[t]={system:t};for(var e,r={style:\"normal\",variant:\"normal\",weight:\"normal\",stretch:\"normal\",lineHeight:\"normal\",size:\"1rem\",family:[\"serif\"]},f=c(t,/\\s+/);e=f.shift();){if(-1!==a.indexOf(e))return[\"style\",\"variant\",\"weight\",\"stretch\"].forEach((function(t){r[t]=e})),h[t]=r;if(-1===s.indexOf(e))if(\"normal\"!==e&&\"small-caps\"!==e)if(-1===l.indexOf(e)){if(-1===o.indexOf(e)){if(u(e)){var d=c(e,\"/\");if(r.size=d[0],null!=d[1]?r.lineHeight=p(d[1]):\"/\"===f[0]&&(f.shift(),r.lineHeight=p(f.shift())),!f.length)throw new Error(\"Missing required font-family.\");return r.family=c(f.join(\" \"),/\\s*,\\s*/).map(n),h[t]=r}throw new Error(\"Unknown or unsupported font token: \"+e)}r.weight=e}else r.stretch=e;else r.variant=e;else r.style=e}throw new Error(\"Missing required font-size.\")}function p(t){var e=parseFloat(t);return e.toString()===t?e:t}},{\"./lib/util\":142,\"css-font-stretch-keywords\":138,\"css-font-style-keywords\":139,\"css-font-weight-keywords\":140,\"css-global-keywords\":145,\"css-system-font-keywords\":146,\"string-split-by\":520,unquote:550}],144:[function(t,e,r){\"use strict\";var n=t(\"pick-by-alias\"),a=t(\"./lib/util\").isSize,i=g(t(\"css-global-keywords\")),o=g(t(\"css-system-font-keywords\")),s=g(t(\"css-font-weight-keywords\")),l=g(t(\"css-font-style-keywords\")),c=g(t(\"css-font-stretch-keywords\")),u={normal:1,\"small-caps\":1},h={serif:1,\"sans-serif\":1,monospace:1,cursive:1,fantasy:1,\"system-ui\":1},f=\"1rem\",p=\"serif\";function d(t,e){if(t&&!e[t]&&!i[t])throw Error(\"Unknown keyword `\"+t+\"`\");return t}function g(t){for(var e={},r=0;r<t.length;r++)e[t[r]]=1;return e}e.exports=function(t){if((t=n(t,{style:\"style fontstyle fontStyle font-style slope distinction\",variant:\"variant font-variant fontVariant fontvariant var capitalization\",weight:\"weight w font-weight fontWeight fontweight\",stretch:\"stretch font-stretch fontStretch fontstretch width\",size:\"size s font-size fontSize fontsize height em emSize\",lineHeight:\"lh line-height lineHeight lineheight leading\",family:\"font family fontFamily font-family fontfamily type typeface face\",system:\"system reserved default global\"})).system)return t.system&&d(t.system,o),t.system;if(d(t.style,l),d(t.variant,u),d(t.weight,s),d(t.stretch,c),null==t.size&&(t.size=f),\"number\"==typeof t.size&&(t.size+=\"px\"),!a)throw Error(\"Bad size value `\"+t.size+\"`\");t.family||(t.family=p),Array.isArray(t.family)&&(t.family.length||(t.family=[p]),t.family=t.family.map((function(t){return h[t]?t:'\"'+t+'\"'})).join(\", \"));var e=[];return e.push(t.style),t.variant!==t.style&&e.push(t.variant),t.weight!==t.variant&&t.weight!==t.style&&e.push(t.weight),t.stretch!==t.weight&&t.stretch!==t.variant&&t.stretch!==t.style&&e.push(t.stretch),e.push(t.size+(null==t.lineHeight||\"normal\"===t.lineHeight||t.lineHeight+\"\"==\"1\"?\"\":\"/\"+t.lineHeight)),e.push(t.family),e.filter(Boolean).join(\" \")}},{\"./lib/util\":142,\"css-font-stretch-keywords\":138,\"css-font-style-keywords\":139,\"css-font-weight-keywords\":140,\"css-global-keywords\":145,\"css-system-font-keywords\":146,\"pick-by-alias\":463}],145:[function(t,e,r){e.exports=[\"inherit\",\"initial\",\"unset\"]},{}],146:[function(t,e,r){e.exports=[\"caption\",\"icon\",\"menu\",\"message-box\",\"small-caption\",\"status-bar\"]},{}],147:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,a,i){var o=a-1,s=a*a,l=o*o,c=(1+2*a)*l,u=a*l,h=s*(3-2*a),f=s*o;if(t.length){i||(i=new Array(t.length));for(var p=t.length-1;p>=0;--p)i[p]=c*t[p]+u*e[p]+h*r[p]+f*n[p];return i}return c*t+u*e+h*r+f*n},e.exports.derivative=function(t,e,r,n,a,i){var o=6*a*a-6*a,s=3*a*a-4*a+1,l=-6*a*a+6*a,c=3*a*a-2*a;if(t.length){i||(i=new Array(t.length));for(var u=t.length-1;u>=0;--u)i[u]=o*t[u]+s*e[u]+l*r[u]+c*n[u];return i}return o*t+s*e+l*r[u]+c*n}},{}],148:[function(t,e,r){\"use strict\";var n=t(\"./lib/thunk.js\");function a(){this.argTypes=[],this.shimArgs=[],this.arrayArgs=[],this.arrayBlockIndices=[],this.scalarArgs=[],this.offsetArgs=[],this.offsetArgIndex=[],this.indexArgs=[],this.shapeArgs=[],this.funcName=\"\",this.pre=null,this.body=null,this.post=null,this.debug=!1}e.exports=function(t){var e=new a;e.pre=t.pre,e.body=t.body,e.post=t.post;var r=t.args.slice(0);e.argTypes=r;for(var i=0;i<r.length;++i){var o=r[i];if(\"array\"===o||\"object\"==typeof o&&o.blockIndices){if(e.argTypes[i]=\"array\",e.arrayArgs.push(i),e.arrayBlockIndices.push(o.blockIndices?o.blockIndices:0),e.shimArgs.push(\"array\"+i),i<e.pre.args.length&&e.pre.args[i].count>0)throw new Error(\"cwise: pre() block may not reference array args\");if(i<e.post.args.length&&e.post.args[i].count>0)throw new Error(\"cwise: post() block may not reference array args\")}else if(\"scalar\"===o)e.scalarArgs.push(i),e.shimArgs.push(\"scalar\"+i);else if(\"index\"===o){if(e.indexArgs.push(i),i<e.pre.args.length&&e.pre.args[i].count>0)throw new Error(\"cwise: pre() block may not reference array index\");if(i<e.body.args.length&&e.body.args[i].lvalue)throw new Error(\"cwise: body() block may not write to array index\");if(i<e.post.args.length&&e.post.args[i].count>0)throw new Error(\"cwise: post() block may not reference array index\")}else if(\"shape\"===o){if(e.shapeArgs.push(i),i<e.pre.args.length&&e.pre.args[i].lvalue)throw new Error(\"cwise: pre() block may not write to array shape\");if(i<e.body.args.length&&e.body.args[i].lvalue)throw new Error(\"cwise: body() block may not write to array shape\");if(i<e.post.args.length&&e.post.args[i].lvalue)throw new Error(\"cwise: post() block may not write to array shape\")}else{if(\"object\"!=typeof o||!o.offset)throw new Error(\"cwise: Unknown argument type \"+r[i]);e.argTypes[i]=\"offset\",e.offsetArgs.push({array:o.array,offset:o.offset}),e.offsetArgIndex.push(i)}}if(e.arrayArgs.length<=0)throw new Error(\"cwise: No array arguments specified\");if(e.pre.args.length>r.length)throw new Error(\"cwise: Too many arguments in pre() block\");if(e.body.args.length>r.length)throw new Error(\"cwise: Too many arguments in body() block\");if(e.post.args.length>r.length)throw new Error(\"cwise: Too many arguments in post() block\");return e.debug=!!t.printCode||!!t.debug,e.funcName=t.funcName||\"cwise\",e.blockSize=t.blockSize||64,n(e)}},{\"./lib/thunk.js\":150}],149:[function(t,e,r){\"use strict\";var n=t(\"uniq\");function a(t,e,r){var n,a,i=t.length,o=e.arrayArgs.length,s=e.indexArgs.length>0,l=[],c=[],u=0,h=0;for(n=0;n<i;++n)c.push([\"i\",n,\"=0\"].join(\"\"));for(a=0;a<o;++a)for(n=0;n<i;++n)h=u,u=t[n],0===n?c.push([\"d\",a,\"s\",n,\"=t\",a,\"p\",u].join(\"\")):c.push([\"d\",a,\"s\",n,\"=(t\",a,\"p\",u,\"-s\",h,\"*t\",a,\"p\",h,\")\"].join(\"\"));for(c.length>0&&l.push(\"var \"+c.join(\",\")),n=i-1;n>=0;--n)u=t[n],l.push([\"for(i\",n,\"=0;i\",n,\"<s\",u,\";++i\",n,\"){\"].join(\"\"));for(l.push(r),n=0;n<i;++n){for(h=u,u=t[n],a=0;a<o;++a)l.push([\"p\",a,\"+=d\",a,\"s\",n].join(\"\"));s&&(n>0&&l.push([\"index[\",h,\"]-=s\",h].join(\"\")),l.push([\"++index[\",u,\"]\"].join(\"\"))),l.push(\"}\")}return l.join(\"\\n\")}function i(t,e,r){for(var n=t.body,a=[],i=[],o=0;o<t.args.length;++o){var s=t.args[o];if(!(s.count<=0)){var l=new RegExp(s.name,\"g\"),c=\"\",u=e.arrayArgs.indexOf(o);switch(e.argTypes[o]){case\"offset\":var h=e.offsetArgIndex.indexOf(o);u=e.offsetArgs[h].array,c=\"+q\"+h;case\"array\":c=\"p\"+u+c;var f=\"l\"+o,p=\"a\"+u;if(0===e.arrayBlockIndices[u])1===s.count?\"generic\"===r[u]?s.lvalue?(a.push([\"var \",f,\"=\",p,\".get(\",c,\")\"].join(\"\")),n=n.replace(l,f),i.push([p,\".set(\",c,\",\",f,\")\"].join(\"\"))):n=n.replace(l,[p,\".get(\",c,\")\"].join(\"\")):n=n.replace(l,[p,\"[\",c,\"]\"].join(\"\")):\"generic\"===r[u]?(a.push([\"var \",f,\"=\",p,\".get(\",c,\")\"].join(\"\")),n=n.replace(l,f),s.lvalue&&i.push([p,\".set(\",c,\",\",f,\")\"].join(\"\"))):(a.push([\"var \",f,\"=\",p,\"[\",c,\"]\"].join(\"\")),n=n.replace(l,f),s.lvalue&&i.push([p,\"[\",c,\"]=\",f].join(\"\")));else{for(var d=[s.name],g=[c],m=0;m<Math.abs(e.arrayBlockIndices[u]);m++)d.push(\"\\\\s*\\\\[([^\\\\]]+)\\\\]\"),g.push(\"$\"+(m+1)+\"*t\"+u+\"b\"+m);if(l=new RegExp(d.join(\"\"),\"g\"),c=g.join(\"+\"),\"generic\"===r[u])throw new Error(\"cwise: Generic arrays not supported in combination with blocks!\");n=n.replace(l,[p,\"[\",c,\"]\"].join(\"\"))}break;case\"scalar\":n=n.replace(l,\"Y\"+e.scalarArgs.indexOf(o));break;case\"index\":n=n.replace(l,\"index\");break;case\"shape\":n=n.replace(l,\"shape\")}}}return[a.join(\"\\n\"),n,i.join(\"\\n\")].join(\"\\n\").trim()}function o(t){for(var e=new Array(t.length),r=!0,n=0;n<t.length;++n){var a=t[n],i=a.match(/\\d+/);i=i?i[0]:\"\",0===a.charAt(0)?e[n]=\"u\"+a.charAt(1)+i:e[n]=a.charAt(0)+i,n>0&&(r=r&&e[n]===e[n-1])}return r?e[0]:e.join(\"\")}e.exports=function(t,e){for(var r=e[1].length-Math.abs(t.arrayBlockIndices[0])|0,s=new Array(t.arrayArgs.length),l=new Array(t.arrayArgs.length),c=0;c<t.arrayArgs.length;++c)l[c]=e[2*c],s[c]=e[2*c+1];var u=[],h=[],f=[],p=[],d=[];for(c=0;c<t.arrayArgs.length;++c){t.arrayBlockIndices[c]<0?(f.push(0),p.push(r),u.push(r),h.push(r+t.arrayBlockIndices[c])):(f.push(t.arrayBlockIndices[c]),p.push(t.arrayBlockIndices[c]+r),u.push(0),h.push(t.arrayBlockIndices[c]));for(var g=[],m=0;m<s[c].length;m++)f[c]<=s[c][m]&&s[c][m]<p[c]&&g.push(s[c][m]-f[c]);d.push(g)}var v=[\"SS\"],y=[\"'use strict'\"],x=[];for(m=0;m<r;++m)x.push([\"s\",m,\"=SS[\",m,\"]\"].join(\"\"));for(c=0;c<t.arrayArgs.length;++c){v.push(\"a\"+c),v.push(\"t\"+c),v.push(\"p\"+c);for(m=0;m<r;++m)x.push([\"t\",c,\"p\",m,\"=t\",c,\"[\",f[c]+m,\"]\"].join(\"\"));for(m=0;m<Math.abs(t.arrayBlockIndices[c]);++m)x.push([\"t\",c,\"b\",m,\"=t\",c,\"[\",u[c]+m,\"]\"].join(\"\"))}for(c=0;c<t.scalarArgs.length;++c)v.push(\"Y\"+c);if(t.shapeArgs.length>0&&x.push(\"shape=SS.slice(0)\"),t.indexArgs.length>0){var b=new Array(r);for(c=0;c<r;++c)b[c]=\"0\";x.push([\"index=[\",b.join(\",\"),\"]\"].join(\"\"))}for(c=0;c<t.offsetArgs.length;++c){var _=t.offsetArgs[c],w=[];for(m=0;m<_.offset.length;++m)0!==_.offset[m]&&(1===_.offset[m]?w.push([\"t\",_.array,\"p\",m].join(\"\")):w.push([_.offset[m],\"*t\",_.array,\"p\",m].join(\"\")));0===w.length?x.push(\"q\"+c+\"=0\"):x.push([\"q\",c,\"=\",w.join(\"+\")].join(\"\"))}var T=n([].concat(t.pre.thisVars).concat(t.body.thisVars).concat(t.post.thisVars));for((x=x.concat(T)).length>0&&y.push(\"var \"+x.join(\",\")),c=0;c<t.arrayArgs.length;++c)y.push(\"p\"+c+\"|=0\");t.pre.body.length>3&&y.push(i(t.pre,t,l));var k=i(t.body,t,l),A=function(t){for(var e=0,r=t[0].length;e<r;){for(var n=1;n<t.length;++n)if(t[n][e]!==t[0][e])return e;++e}return e}(d);A<r?y.push(function(t,e,r,n){for(var i=e.length,o=r.arrayArgs.length,s=r.blockSize,l=r.indexArgs.length>0,c=[],u=0;u<o;++u)c.push([\"var offset\",u,\"=p\",u].join(\"\"));for(u=t;u<i;++u)c.push([\"for(var j\"+u+\"=SS[\",e[u],\"]|0;j\",u,\">0;){\"].join(\"\")),c.push([\"if(j\",u,\"<\",s,\"){\"].join(\"\")),c.push([\"s\",e[u],\"=j\",u].join(\"\")),c.push([\"j\",u,\"=0\"].join(\"\")),c.push([\"}else{s\",e[u],\"=\",s].join(\"\")),c.push([\"j\",u,\"-=\",s,\"}\"].join(\"\")),l&&c.push([\"index[\",e[u],\"]=j\",u].join(\"\"));for(u=0;u<o;++u){for(var h=[\"offset\"+u],f=t;f<i;++f)h.push([\"j\",f,\"*t\",u,\"p\",e[f]].join(\"\"));c.push([\"p\",u,\"=(\",h.join(\"+\"),\")\"].join(\"\"))}for(c.push(a(e,r,n)),u=t;u<i;++u)c.push(\"}\");return c.join(\"\\n\")}(A,d[0],t,k)):y.push(a(d[0],t,k)),t.post.body.length>3&&y.push(i(t.post,t,l)),t.debug&&console.log(\"-----Generated cwise routine for \",e,\":\\n\"+y.join(\"\\n\")+\"\\n----------\");var M=[t.funcName||\"unnamed\",\"_cwise_loop_\",s[0].join(\"s\"),\"m\",A,o(l)].join(\"\");return new Function([\"function \",M,\"(\",v.join(\",\"),\"){\",y.join(\"\\n\"),\"} return \",M].join(\"\"))()}},{uniq:549}],150:[function(t,e,r){\"use strict\";var n=t(\"./compile.js\");e.exports=function(t){var e=[\"'use strict'\",\"var CACHED={}\"],r=[],a=t.funcName+\"_cwise_thunk\";e.push([\"return function \",a,\"(\",t.shimArgs.join(\",\"),\"){\"].join(\"\"));for(var i=[],o=[],s=[[\"array\",t.arrayArgs[0],\".shape.slice(\",Math.max(0,t.arrayBlockIndices[0]),t.arrayBlockIndices[0]<0?\",\"+t.arrayBlockIndices[0]+\")\":\")\"].join(\"\")],l=[],c=[],u=0;u<t.arrayArgs.length;++u){var h=t.arrayArgs[u];r.push([\"t\",h,\"=array\",h,\".dtype,\",\"r\",h,\"=array\",h,\".order\"].join(\"\")),i.push(\"t\"+h),i.push(\"r\"+h),o.push(\"t\"+h),o.push(\"r\"+h+\".join()\"),s.push(\"array\"+h+\".data\"),s.push(\"array\"+h+\".stride\"),s.push(\"array\"+h+\".offset|0\"),u>0&&(l.push(\"array\"+t.arrayArgs[0]+\".shape.length===array\"+h+\".shape.length+\"+(Math.abs(t.arrayBlockIndices[0])-Math.abs(t.arrayBlockIndices[u]))),c.push(\"array\"+t.arrayArgs[0]+\".shape[shapeIndex+\"+Math.max(0,t.arrayBlockIndices[0])+\"]===array\"+h+\".shape[shapeIndex+\"+Math.max(0,t.arrayBlockIndices[u])+\"]\"))}for(t.arrayArgs.length>1&&(e.push(\"if (!(\"+l.join(\" && \")+\")) throw new Error('cwise: Arrays do not all have the same dimensionality!')\"),e.push(\"for(var shapeIndex=array\"+t.arrayArgs[0]+\".shape.length-\"+Math.abs(t.arrayBlockIndices[0])+\"; shapeIndex--\\x3e0;) {\"),e.push(\"if (!(\"+c.join(\" && \")+\")) throw new Error('cwise: Arrays do not all have the same shape!')\"),e.push(\"}\")),u=0;u<t.scalarArgs.length;++u)s.push(\"scalar\"+t.scalarArgs[u]);return r.push([\"type=[\",o.join(\",\"),\"].join()\"].join(\"\")),r.push(\"proc=CACHED[type]\"),e.push(\"var \"+r.join(\",\")),e.push([\"if(!proc){\",\"CACHED[type]=proc=compile([\",i.join(\",\"),\"])}\",\"return proc(\",s.join(\",\"),\")}\"].join(\"\")),t.debug&&console.log(\"-----Generated thunk:\\n\"+e.join(\"\\n\")+\"\\n----------\"),new Function(\"compile\",e.join(\"\\n\"))(n.bind(void 0,t))}},{\"./compile.js\":149}],151:[function(t,e,r){\"use strict\";var n,a=t(\"type/value/is\"),i=t(\"type/value/ensure\"),o=t(\"type/plain-function/ensure\"),s=t(\"es5-ext/object/copy\"),l=t(\"es5-ext/object/normalize-options\"),c=t(\"es5-ext/object/map\"),u=Function.prototype.bind,h=Object.defineProperty,f=Object.prototype.hasOwnProperty;n=function(t,e,r){var n,a=i(e)&&o(e.value);return delete(n=s(e)).writable,delete n.value,n.get=function(){return!r.overwriteDefinition&&f.call(this,t)?a:(e.value=u.call(a,r.resolveContext?r.resolveContext(this):this),h(this,t,e),this[t])},n},e.exports=function(t){var e=l(arguments[1]);return a(e.resolveContext)&&o(e.resolveContext),c(t,(function(t,r){return n(r,t,e)}))}},{\"es5-ext/object/copy\":191,\"es5-ext/object/map\":199,\"es5-ext/object/normalize-options\":200,\"type/plain-function/ensure\":541,\"type/value/ensure\":545,\"type/value/is\":546}],152:[function(t,e,r){\"use strict\";var n=t(\"type/value/is\"),a=t(\"type/plain-function/is\"),i=t(\"es5-ext/object/assign\"),o=t(\"es5-ext/object/normalize-options\"),s=t(\"es5-ext/string/#/contains\");(e.exports=function(t,e){var r,a,l,c,u;return arguments.length<2||\"string\"!=typeof t?(c=e,e=t,t=null):c=arguments[2],n(t)?(r=s.call(t,\"c\"),a=s.call(t,\"e\"),l=s.call(t,\"w\")):(r=l=!0,a=!1),u={value:e,configurable:r,enumerable:a,writable:l},c?i(o(c),u):u}).gs=function(t,e,r){var l,c,u,h;return\"string\"!=typeof t?(u=r,r=e,e=t,t=null):u=arguments[3],n(e)?a(e)?n(r)?a(r)||(u=r,r=void 0):r=void 0:(u=e,e=r=void 0):e=void 0,n(t)?(l=s.call(t,\"c\"),c=s.call(t,\"e\")):(l=!0,c=!1),h={get:e,set:r,configurable:l,enumerable:c},u?i(o(u),h):h}},{\"es5-ext/object/assign\":188,\"es5-ext/object/normalize-options\":200,\"es5-ext/string/#/contains\":207,\"type/plain-function/is\":542,\"type/value/is\":546}],153:[function(t,e,r){!function(t,n){n(\"object\"==typeof r&&\"undefined\"!=typeof e?r:t.d3=t.d3||{})}(this,(function(t){\"use strict\";function e(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function r(t){var r;return 1===t.length&&(r=t,t=function(t,n){return e(r(t),n)}),{left:function(e,r,n,a){for(null==n&&(n=0),null==a&&(a=e.length);n<a;){var i=n+a>>>1;t(e[i],r)<0?n=i+1:a=i}return n},right:function(e,r,n,a){for(null==n&&(n=0),null==a&&(a=e.length);n<a;){var i=n+a>>>1;t(e[i],r)>0?a=i:n=i+1}return n}}}var n=r(e),a=n.right,i=n.left;function o(t,e){return[t,e]}function s(t){return null===t?NaN:+t}function l(t,e){var r,n,a=t.length,i=0,o=-1,l=0,c=0;if(null==e)for(;++o<a;)isNaN(r=s(t[o]))||(c+=(n=r-l)*(r-(l+=n/++i)));else for(;++o<a;)isNaN(r=s(e(t[o],o,t)))||(c+=(n=r-l)*(r-(l+=n/++i)));if(i>1)return c/(i-1)}function c(t,e){var r=l(t,e);return r?Math.sqrt(r):r}function u(t,e){var r,n,a,i=t.length,o=-1;if(null==e){for(;++o<i;)if(null!=(r=t[o])&&r>=r)for(n=a=r;++o<i;)null!=(r=t[o])&&(n>r&&(n=r),a<r&&(a=r))}else for(;++o<i;)if(null!=(r=e(t[o],o,t))&&r>=r)for(n=a=r;++o<i;)null!=(r=e(t[o],o,t))&&(n>r&&(n=r),a<r&&(a=r));return[n,a]}var h=Array.prototype,f=h.slice,p=h.map;function d(t){return function(){return t}}function g(t){return t}function m(t,e,r){t=+t,e=+e,r=(a=arguments.length)<2?(e=t,t=0,1):a<3?1:+r;for(var n=-1,a=0|Math.max(0,Math.ceil((e-t)/r)),i=new Array(a);++n<a;)i[n]=t+n*r;return i}var v=Math.sqrt(50),y=Math.sqrt(10),x=Math.sqrt(2);function b(t,e,r){var n=(e-t)/Math.max(0,r),a=Math.floor(Math.log(n)/Math.LN10),i=n/Math.pow(10,a);return a>=0?(i>=v?10:i>=y?5:i>=x?2:1)*Math.pow(10,a):-Math.pow(10,-a)/(i>=v?10:i>=y?5:i>=x?2:1)}function _(t,e,r){var n=Math.abs(e-t)/Math.max(0,r),a=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),i=n/a;return i>=v?a*=10:i>=y?a*=5:i>=x&&(a*=2),e<t?-a:a}function w(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1}function T(t,e,r){if(null==r&&(r=s),n=t.length){if((e=+e)<=0||n<2)return+r(t[0],0,t);if(e>=1)return+r(t[n-1],n-1,t);var n,a=(n-1)*e,i=Math.floor(a),o=+r(t[i],i,t);return o+(+r(t[i+1],i+1,t)-o)*(a-i)}}function k(t,e){var r,n,a=t.length,i=-1;if(null==e){for(;++i<a;)if(null!=(r=t[i])&&r>=r)for(n=r;++i<a;)null!=(r=t[i])&&n>r&&(n=r)}else for(;++i<a;)if(null!=(r=e(t[i],i,t))&&r>=r)for(n=r;++i<a;)null!=(r=e(t[i],i,t))&&n>r&&(n=r);return n}function A(t){if(!(a=t.length))return[];for(var e=-1,r=k(t,M),n=new Array(r);++e<r;)for(var a,i=-1,o=n[e]=new Array(a);++i<a;)o[i]=t[i][e];return n}function M(t){return t.length}t.bisect=a,t.bisectRight=a,t.bisectLeft=i,t.ascending=e,t.bisector=r,t.cross=function(t,e,r){var n,a,i,s,l=t.length,c=e.length,u=new Array(l*c);for(null==r&&(r=o),n=i=0;n<l;++n)for(s=t[n],a=0;a<c;++a,++i)u[i]=r(s,e[a]);return u},t.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},t.deviation=c,t.extent=u,t.histogram=function(){var t=g,e=u,r=w;function n(n){var i,o,s=n.length,l=new Array(s);for(i=0;i<s;++i)l[i]=t(n[i],i,n);var c=e(l),u=c[0],h=c[1],f=r(l,u,h);Array.isArray(f)||(f=_(u,h,f),f=m(Math.ceil(u/f)*f,h,f));for(var p=f.length;f[0]<=u;)f.shift(),--p;for(;f[p-1]>h;)f.pop(),--p;var d,g=new Array(p+1);for(i=0;i<=p;++i)(d=g[i]=[]).x0=i>0?f[i-1]:u,d.x1=i<p?f[i]:h;for(i=0;i<s;++i)u<=(o=l[i])&&o<=h&&g[a(f,o,0,p)].push(n[i]);return g}return n.value=function(e){return arguments.length?(t=\"function\"==typeof e?e:d(e),n):t},n.domain=function(t){return arguments.length?(e=\"function\"==typeof t?t:d([t[0],t[1]]),n):e},n.thresholds=function(t){return arguments.length?(r=\"function\"==typeof t?t:Array.isArray(t)?d(f.call(t)):d(t),n):r},n},t.thresholdFreedmanDiaconis=function(t,r,n){return t=p.call(t,s).sort(e),Math.ceil((n-r)/(2*(T(t,.75)-T(t,.25))*Math.pow(t.length,-1/3)))},t.thresholdScott=function(t,e,r){return Math.ceil((r-e)/(3.5*c(t)*Math.pow(t.length,-1/3)))},t.thresholdSturges=w,t.max=function(t,e){var r,n,a=t.length,i=-1;if(null==e){for(;++i<a;)if(null!=(r=t[i])&&r>=r)for(n=r;++i<a;)null!=(r=t[i])&&r>n&&(n=r)}else for(;++i<a;)if(null!=(r=e(t[i],i,t))&&r>=r)for(n=r;++i<a;)null!=(r=e(t[i],i,t))&&r>n&&(n=r);return n},t.mean=function(t,e){var r,n=t.length,a=n,i=-1,o=0;if(null==e)for(;++i<n;)isNaN(r=s(t[i]))?--a:o+=r;else for(;++i<n;)isNaN(r=s(e(t[i],i,t)))?--a:o+=r;if(a)return o/a},t.median=function(t,r){var n,a=t.length,i=-1,o=[];if(null==r)for(;++i<a;)isNaN(n=s(t[i]))||o.push(n);else for(;++i<a;)isNaN(n=s(r(t[i],i,t)))||o.push(n);return T(o.sort(e),.5)},t.merge=function(t){for(var e,r,n,a=t.length,i=-1,o=0;++i<a;)o+=t[i].length;for(r=new Array(o);--a>=0;)for(e=(n=t[a]).length;--e>=0;)r[--o]=n[e];return r},t.min=k,t.pairs=function(t,e){null==e&&(e=o);for(var r=0,n=t.length-1,a=t[0],i=new Array(n<0?0:n);r<n;)i[r]=e(a,a=t[++r]);return i},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.quantile=T,t.range=m,t.scan=function(t,r){if(n=t.length){var n,a,i=0,o=0,s=t[o];for(null==r&&(r=e);++i<n;)(r(a=t[i],s)<0||0!==r(s,s))&&(s=a,o=i);return 0===r(s,s)?o:void 0}},t.shuffle=function(t,e,r){for(var n,a,i=(null==r?t.length:r)-(e=null==e?0:+e);i;)a=Math.random()*i--|0,n=t[i+e],t[i+e]=t[a+e],t[a+e]=n;return t},t.sum=function(t,e){var r,n=t.length,a=-1,i=0;if(null==e)for(;++a<n;)(r=+t[a])&&(i+=r);else for(;++a<n;)(r=+e(t[a],a,t))&&(i+=r);return i},t.ticks=function(t,e,r){var n,a,i,o,s=-1;if(r=+r,(t=+t)===(e=+e)&&r>0)return[t];if((n=e<t)&&(a=t,t=e,e=a),0===(o=b(t,e,r))||!isFinite(o))return[];if(o>0)for(t=Math.ceil(t/o),e=Math.floor(e/o),i=new Array(a=Math.ceil(e-t+1));++s<a;)i[s]=(t+s)*o;else for(t=Math.floor(t*o),e=Math.ceil(e*o),i=new Array(a=Math.ceil(t-e+1));++s<a;)i[s]=(t-s)/o;return n&&i.reverse(),i},t.tickIncrement=b,t.tickStep=_,t.transpose=A,t.variance=l,t.zip=function(){return A(arguments)},Object.defineProperty(t,\"__esModule\",{value:!0})}))},{}],154:[function(t,e,r){!function(t,n){n(\"object\"==typeof r&&\"undefined\"!=typeof e?r:t.d3=t.d3||{})}(this,(function(t){\"use strict\";function e(){}function r(t,r){var n=new e;if(t instanceof e)t.each((function(t,e){n.set(e,t)}));else if(Array.isArray(t)){var a,i=-1,o=t.length;if(null==r)for(;++i<o;)n.set(i,t[i]);else for(;++i<o;)n.set(r(a=t[i],i,t),a)}else if(t)for(var s in t)n.set(s,t[s]);return n}function n(){return{}}function a(t,e,r){t[e]=r}function i(){return r()}function o(t,e,r){t.set(e,r)}function s(){}e.prototype=r.prototype={constructor:e,has:function(t){return\"$\"+t in this},get:function(t){return this[\"$\"+t]},set:function(t,e){return this[\"$\"+t]=e,this},remove:function(t){var e=\"$\"+t;return e in this&&delete this[e]},clear:function(){for(var t in this)\"$\"===t[0]&&delete this[t]},keys:function(){var t=[];for(var e in this)\"$\"===e[0]&&t.push(e.slice(1));return t},values:function(){var t=[];for(var e in this)\"$\"===e[0]&&t.push(this[e]);return t},entries:function(){var t=[];for(var e in this)\"$\"===e[0]&&t.push({key:e.slice(1),value:this[e]});return t},size:function(){var t=0;for(var e in this)\"$\"===e[0]&&++t;return t},empty:function(){for(var t in this)if(\"$\"===t[0])return!1;return!0},each:function(t){for(var e in this)\"$\"===e[0]&&t(this[e],e.slice(1),this)}};var l=r.prototype;function c(t,e){var r=new s;if(t instanceof s)t.each((function(t){r.add(t)}));else if(t){var n=-1,a=t.length;if(null==e)for(;++n<a;)r.add(t[n]);else for(;++n<a;)r.add(e(t[n],n,t))}return r}s.prototype=c.prototype={constructor:s,has:l.has,add:function(t){return this[\"$\"+(t+=\"\")]=t,this},remove:l.remove,clear:l.clear,values:l.keys,size:l.size,empty:l.empty,each:l.each},t.nest=function(){var t,e,s,l=[],c=[];function u(n,a,i,o){if(a>=l.length)return null!=t&&n.sort(t),null!=e?e(n):n;for(var s,c,h,f=-1,p=n.length,d=l[a++],g=r(),m=i();++f<p;)(h=g.get(s=d(c=n[f])+\"\"))?h.push(c):g.set(s,[c]);return g.each((function(t,e){o(m,e,u(t,a,i,o))})),m}return s={object:function(t){return u(t,0,n,a)},map:function(t){return u(t,0,i,o)},entries:function(t){return function t(r,n){if(++n>l.length)return r;var a,i=c[n-1];return null!=e&&n>=l.length?a=r.entries():(a=[],r.each((function(e,r){a.push({key:r,values:t(e,n)})}))),null!=i?a.sort((function(t,e){return i(t.key,e.key)})):a}(u(t,0,i,o),0)},key:function(t){return l.push(t),s},sortKeys:function(t){return c[l.length-1]=t,s},sortValues:function(e){return t=e,s},rollup:function(t){return e=t,s}}},t.set=c,t.map=r,t.keys=function(t){var e=[];for(var r in t)e.push(r);return e},t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},Object.defineProperty(t,\"__esModule\",{value:!0})}))},{}],155:[function(t,e,r){!function(t,n){\"object\"==typeof r&&\"undefined\"!=typeof e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){\"use strict\";function e(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function r(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function n(){}var a=\"\\\\s*([+-]?\\\\d+)\\\\s*\",i=\"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",o=\"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",s=/^#([0-9a-f]{3,8})$/,l=new RegExp(\"^rgb\\\\(\"+[a,a,a]+\"\\\\)$\"),c=new RegExp(\"^rgb\\\\(\"+[o,o,o]+\"\\\\)$\"),u=new RegExp(\"^rgba\\\\(\"+[a,a,a,i]+\"\\\\)$\"),h=new RegExp(\"^rgba\\\\(\"+[o,o,o,i]+\"\\\\)$\"),f=new RegExp(\"^hsl\\\\(\"+[i,o,o]+\"\\\\)$\"),p=new RegExp(\"^hsla\\\\(\"+[i,o,o,i]+\"\\\\)$\"),d={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function g(){return this.rgb().formatHex()}function m(){return this.rgb().formatRgb()}function v(t){var e,r;return t=(t+\"\").trim().toLowerCase(),(e=s.exec(t))?(r=e[1].length,e=parseInt(e[1],16),6===r?y(e):3===r?new w(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===r?x(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===r?x(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=l.exec(t))?new w(e[1],e[2],e[3],1):(e=c.exec(t))?new w(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=u.exec(t))?x(e[1],e[2],e[3],e[4]):(e=h.exec(t))?x(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=f.exec(t))?M(e[1],e[2]/100,e[3]/100,1):(e=p.exec(t))?M(e[1],e[2]/100,e[3]/100,e[4]):d.hasOwnProperty(t)?y(d[t]):\"transparent\"===t?new w(NaN,NaN,NaN,0):null}function y(t){return new w(t>>16&255,t>>8&255,255&t,1)}function x(t,e,r,n){return n<=0&&(t=e=r=NaN),new w(t,e,r,n)}function b(t){return t instanceof n||(t=v(t)),t?new w((t=t.rgb()).r,t.g,t.b,t.opacity):new w}function _(t,e,r,n){return 1===arguments.length?b(t):new w(t,e,r,null==n?1:n)}function w(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function T(){return\"#\"+A(this.r)+A(this.g)+A(this.b)}function k(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?\"rgb(\":\"rgba(\")+Math.max(0,Math.min(255,Math.round(this.r)||0))+\", \"+Math.max(0,Math.min(255,Math.round(this.g)||0))+\", \"+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?\")\":\", \"+t+\")\")}function A(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?\"0\":\"\")+t.toString(16)}function M(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new C(t,e,r,n)}function S(t){if(t instanceof C)return new C(t.h,t.s,t.l,t.opacity);if(t instanceof n||(t=v(t)),!t)return new C;if(t instanceof C)return t;var e=(t=t.rgb()).r/255,r=t.g/255,a=t.b/255,i=Math.min(e,r,a),o=Math.max(e,r,a),s=NaN,l=o-i,c=(o+i)/2;return l?(s=e===o?(r-a)/l+6*(r<a):r===o?(a-e)/l+2:(e-r)/l+4,l/=c<.5?o+i:2-o-i,s*=60):l=c>0&&c<1?0:s,new C(s,l,c,t.opacity)}function E(t,e,r,n){return 1===arguments.length?S(t):new C(t,e,r,null==n?1:n)}function C(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function L(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}e(n,v,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:g,formatHex:g,formatHsl:function(){return S(this).formatHsl()},formatRgb:m,toString:m}),e(w,_,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new w(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new w(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:T,formatHex:T,formatRgb:k,toString:k})),e(C,E,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new C(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new C(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,a=2*r-n;return new w(L(t>=240?t-240:t+120,a,n),L(t,a,n),L(t<120?t+240:t-120,a,n),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?\"hsl(\":\"hsla(\")+(this.h||0)+\", \"+100*(this.s||0)+\"%, \"+100*(this.l||0)+\"%\"+(1===t?\")\":\", \"+t+\")\")}}));var P=Math.PI/180,I=180/Math.PI,z=6/29,O=3*z*z;function D(t){if(t instanceof F)return new F(t.l,t.a,t.b,t.opacity);if(t instanceof H)return G(t);t instanceof w||(t=b(t));var e,r,n=V(t.r),a=V(t.g),i=V(t.b),o=B((.2225045*n+.7168786*a+.0606169*i)/1);return n===a&&a===i?e=r=o:(e=B((.4360747*n+.3850649*a+.1430804*i)/.96422),r=B((.0139322*n+.0971045*a+.7141733*i)/.82521)),new F(116*o-16,500*(e-o),200*(o-r),t.opacity)}function R(t,e,r,n){return 1===arguments.length?D(t):new F(t,e,r,null==n?1:n)}function F(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function B(t){return t>.008856451679035631?Math.pow(t,1/3):t/O+4/29}function N(t){return t>z?t*t*t:O*(t-4/29)}function j(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function V(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function U(t){if(t instanceof H)return new H(t.h,t.c,t.l,t.opacity);if(t instanceof F||(t=D(t)),0===t.a&&0===t.b)return new H(NaN,0<t.l&&t.l<100?0:NaN,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*I;return new H(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function q(t,e,r,n){return 1===arguments.length?U(t):new H(t,e,r,null==n?1:n)}function H(t,e,r,n){this.h=+t,this.c=+e,this.l=+r,this.opacity=+n}function G(t){if(isNaN(t.h))return new F(t.l,0,0,t.opacity);var e=t.h*P;return new F(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}e(F,R,r(n,{brighter:function(t){return new F(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new F(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return new w(j(3.1338561*(e=.96422*N(e))-1.6168667*(t=1*N(t))-.4906146*(r=.82521*N(r))),j(-.9787684*e+1.9161415*t+.033454*r),j(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}})),e(H,q,r(n,{brighter:function(t){return new H(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new H(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return G(this).rgb()}}));var Y=-.14861,W=1.78277,Z=-.29227,X=-.90649,J=1.97294,K=J*X,Q=J*W,$=W*Z-X*Y;function tt(t){if(t instanceof rt)return new rt(t.h,t.s,t.l,t.opacity);t instanceof w||(t=b(t));var e=t.r/255,r=t.g/255,n=t.b/255,a=($*n+K*e-Q*r)/($+K-Q),i=n-a,o=(J*(r-a)-Z*i)/X,s=Math.sqrt(o*o+i*i)/(J*a*(1-a)),l=s?Math.atan2(o,i)*I-120:NaN;return new rt(l<0?l+360:l,s,a,t.opacity)}function et(t,e,r,n){return 1===arguments.length?tt(t):new rt(t,e,r,null==n?1:n)}function rt(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}e(rt,et,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new rt(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new rt(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*P,e=+this.l,r=isNaN(this.s)?0:this.s*e*(1-e),n=Math.cos(t),a=Math.sin(t);return new w(255*(e+r*(Y*n+W*a)),255*(e+r*(Z*n+X*a)),255*(e+r*(J*n)),this.opacity)}})),t.color=v,t.cubehelix=et,t.gray=function(t,e){return new F(t,0,0,null==e?1:e)},t.hcl=q,t.hsl=E,t.lab=R,t.lch=function(t,e,r,n){return 1===arguments.length?U(t):new H(r,e,t,null==n?1:n)},t.rgb=_,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{}],156:[function(t,e,r){!function(t,n){\"object\"==typeof r&&\"undefined\"!=typeof e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){\"use strict\";var e={value:function(){}};function r(){for(var t,e=0,r=arguments.length,a={};e<r;++e){if(!(t=arguments[e]+\"\")||t in a||/[\\s.]/.test(t))throw new Error(\"illegal type: \"+t);a[t]=[]}return new n(a)}function n(t){this._=t}function a(t,e){return t.trim().split(/^|\\s+/).map((function(t){var r=\"\",n=t.indexOf(\".\");if(n>=0&&(r=t.slice(n+1),t=t.slice(0,n)),t&&!e.hasOwnProperty(t))throw new Error(\"unknown type: \"+t);return{type:t,name:r}}))}function i(t,e){for(var r,n=0,a=t.length;n<a;++n)if((r=t[n]).name===e)return r.value}function o(t,r,n){for(var a=0,i=t.length;a<i;++a)if(t[a].name===r){t[a]=e,t=t.slice(0,a).concat(t.slice(a+1));break}return null!=n&&t.push({name:r,value:n}),t}n.prototype=r.prototype={constructor:n,on:function(t,e){var r,n=this._,s=a(t+\"\",n),l=-1,c=s.length;if(!(arguments.length<2)){if(null!=e&&\"function\"!=typeof e)throw new Error(\"invalid callback: \"+e);for(;++l<c;)if(r=(t=s[l]).type)n[r]=o(n[r],t.name,e);else if(null==e)for(r in n)n[r]=o(n[r],t.name,null);return this}for(;++l<c;)if((r=(t=s[l]).type)&&(r=i(n[r],t.name)))return r},copy:function(){var t={},e=this._;for(var r in e)t[r]=e[r].slice();return new n(t)},call:function(t,e){if((r=arguments.length-2)>0)for(var r,n,a=new Array(r),i=0;i<r;++i)a[i]=arguments[i+2];if(!this._.hasOwnProperty(t))throw new Error(\"unknown type: \"+t);for(i=0,r=(n=this._[t]).length;i<r;++i)n[i].value.apply(e,a)},apply:function(t,e,r){if(!this._.hasOwnProperty(t))throw new Error(\"unknown type: \"+t);for(var n=this._[t],a=0,i=n.length;a<i;++a)n[a].value.apply(e,r)}},t.dispatch=r,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{}],157:[function(t,e,r){!function(n,a){\"object\"==typeof r&&\"undefined\"!=typeof e?a(r,t(\"d3-quadtree\"),t(\"d3-collection\"),t(\"d3-dispatch\"),t(\"d3-timer\")):a(n.d3=n.d3||{},n.d3,n.d3,n.d3,n.d3)}(this,(function(t,e,r,n,a){\"use strict\";function i(t){return function(){return t}}function o(){return 1e-6*(Math.random()-.5)}function s(t){return t.x+t.vx}function l(t){return t.y+t.vy}function c(t){return t.index}function u(t,e){var r=t.get(e);if(!r)throw new Error(\"missing: \"+e);return r}function h(t){return t.x}function f(t){return t.y}var p=Math.PI*(3-Math.sqrt(5));t.forceCenter=function(t,e){var r;function n(){var n,a,i=r.length,o=0,s=0;for(n=0;n<i;++n)o+=(a=r[n]).x,s+=a.y;for(o=o/i-t,s=s/i-e,n=0;n<i;++n)(a=r[n]).x-=o,a.y-=s}return null==t&&(t=0),null==e&&(e=0),n.initialize=function(t){r=t},n.x=function(e){return arguments.length?(t=+e,n):t},n.y=function(t){return arguments.length?(e=+t,n):e},n},t.forceCollide=function(t){var r,n,a=1,c=1;function u(){for(var t,i,u,f,p,d,g,m=r.length,v=0;v<c;++v)for(i=e.quadtree(r,s,l).visitAfter(h),t=0;t<m;++t)u=r[t],d=n[u.index],g=d*d,f=u.x+u.vx,p=u.y+u.vy,i.visit(y);function y(t,e,r,n,i){var s=t.data,l=t.r,c=d+l;if(!s)return e>f+c||n<f-c||r>p+c||i<p-c;if(s.index>u.index){var h=f-s.x-s.vx,m=p-s.y-s.vy,v=h*h+m*m;v<c*c&&(0===h&&(v+=(h=o())*h),0===m&&(v+=(m=o())*m),v=(c-(v=Math.sqrt(v)))/v*a,u.vx+=(h*=v)*(c=(l*=l)/(g+l)),u.vy+=(m*=v)*c,s.vx-=h*(c=1-c),s.vy-=m*c)}}}function h(t){if(t.data)return t.r=n[t.data.index];for(var e=t.r=0;e<4;++e)t[e]&&t[e].r>t.r&&(t.r=t[e].r)}function f(){if(r){var e,a,i=r.length;for(n=new Array(i),e=0;e<i;++e)a=r[e],n[a.index]=+t(a,e,r)}}return\"function\"!=typeof t&&(t=i(null==t?1:+t)),u.initialize=function(t){r=t,f()},u.iterations=function(t){return arguments.length?(c=+t,u):c},u.strength=function(t){return arguments.length?(a=+t,u):a},u.radius=function(e){return arguments.length?(t=\"function\"==typeof e?e:i(+e),f(),u):t},u},t.forceLink=function(t){var e,n,a,s,l,h=c,f=function(t){return 1/Math.min(s[t.source.index],s[t.target.index])},p=i(30),d=1;function g(r){for(var a=0,i=t.length;a<d;++a)for(var s,c,u,h,f,p,g,m=0;m<i;++m)c=(s=t[m]).source,h=(u=s.target).x+u.vx-c.x-c.vx||o(),f=u.y+u.vy-c.y-c.vy||o(),h*=p=((p=Math.sqrt(h*h+f*f))-n[m])/p*r*e[m],f*=p,u.vx-=h*(g=l[m]),u.vy-=f*g,c.vx+=h*(g=1-g),c.vy+=f*g}function m(){if(a){var i,o,c=a.length,f=t.length,p=r.map(a,h);for(i=0,s=new Array(c);i<f;++i)(o=t[i]).index=i,\"object\"!=typeof o.source&&(o.source=u(p,o.source)),\"object\"!=typeof o.target&&(o.target=u(p,o.target)),s[o.source.index]=(s[o.source.index]||0)+1,s[o.target.index]=(s[o.target.index]||0)+1;for(i=0,l=new Array(f);i<f;++i)o=t[i],l[i]=s[o.source.index]/(s[o.source.index]+s[o.target.index]);e=new Array(f),v(),n=new Array(f),y()}}function v(){if(a)for(var r=0,n=t.length;r<n;++r)e[r]=+f(t[r],r,t)}function y(){if(a)for(var e=0,r=t.length;e<r;++e)n[e]=+p(t[e],e,t)}return null==t&&(t=[]),g.initialize=function(t){a=t,m()},g.links=function(e){return arguments.length?(t=e,m(),g):t},g.id=function(t){return arguments.length?(h=t,g):h},g.iterations=function(t){return arguments.length?(d=+t,g):d},g.strength=function(t){return arguments.length?(f=\"function\"==typeof t?t:i(+t),v(),g):f},g.distance=function(t){return arguments.length?(p=\"function\"==typeof t?t:i(+t),y(),g):p},g},t.forceManyBody=function(){var t,r,n,a,s=i(-30),l=1,c=1/0,u=.81;function p(a){var i,o=t.length,s=e.quadtree(t,h,f).visitAfter(g);for(n=a,i=0;i<o;++i)r=t[i],s.visit(m)}function d(){if(t){var e,r,n=t.length;for(a=new Array(n),e=0;e<n;++e)r=t[e],a[r.index]=+s(r,e,t)}}function g(t){var e,r,n,i,o,s=0,l=0;if(t.length){for(n=i=o=0;o<4;++o)(e=t[o])&&(r=Math.abs(e.value))&&(s+=e.value,l+=r,n+=r*e.x,i+=r*e.y);t.x=n/l,t.y=i/l}else{(e=t).x=e.data.x,e.y=e.data.y;do{s+=a[e.data.index]}while(e=e.next)}t.value=s}function m(t,e,i,s){if(!t.value)return!0;var h=t.x-r.x,f=t.y-r.y,p=s-e,d=h*h+f*f;if(p*p/u<d)return d<c&&(0===h&&(d+=(h=o())*h),0===f&&(d+=(f=o())*f),d<l&&(d=Math.sqrt(l*d)),r.vx+=h*t.value*n/d,r.vy+=f*t.value*n/d),!0;if(!(t.length||d>=c)){(t.data!==r||t.next)&&(0===h&&(d+=(h=o())*h),0===f&&(d+=(f=o())*f),d<l&&(d=Math.sqrt(l*d)));do{t.data!==r&&(p=a[t.data.index]*n/d,r.vx+=h*p,r.vy+=f*p)}while(t=t.next)}}return p.initialize=function(e){t=e,d()},p.strength=function(t){return arguments.length?(s=\"function\"==typeof t?t:i(+t),d(),p):s},p.distanceMin=function(t){return arguments.length?(l=t*t,p):Math.sqrt(l)},p.distanceMax=function(t){return arguments.length?(c=t*t,p):Math.sqrt(c)},p.theta=function(t){return arguments.length?(u=t*t,p):Math.sqrt(u)},p},t.forceRadial=function(t,e,r){var n,a,o,s=i(.1);function l(t){for(var i=0,s=n.length;i<s;++i){var l=n[i],c=l.x-e||1e-6,u=l.y-r||1e-6,h=Math.sqrt(c*c+u*u),f=(o[i]-h)*a[i]*t/h;l.vx+=c*f,l.vy+=u*f}}function c(){if(n){var e,r=n.length;for(a=new Array(r),o=new Array(r),e=0;e<r;++e)o[e]=+t(n[e],e,n),a[e]=isNaN(o[e])?0:+s(n[e],e,n)}}return\"function\"!=typeof t&&(t=i(+t)),null==e&&(e=0),null==r&&(r=0),l.initialize=function(t){n=t,c()},l.strength=function(t){return arguments.length?(s=\"function\"==typeof t?t:i(+t),c(),l):s},l.radius=function(e){return arguments.length?(t=\"function\"==typeof e?e:i(+e),c(),l):t},l.x=function(t){return arguments.length?(e=+t,l):e},l.y=function(t){return arguments.length?(r=+t,l):r},l},t.forceSimulation=function(t){var e,i=1,o=.001,s=1-Math.pow(o,1/300),l=0,c=.6,u=r.map(),h=a.timer(d),f=n.dispatch(\"tick\",\"end\");function d(){g(),f.call(\"tick\",e),i<o&&(h.stop(),f.call(\"end\",e))}function g(r){var n,a,o=t.length;void 0===r&&(r=1);for(var h=0;h<r;++h)for(i+=(l-i)*s,u.each((function(t){t(i)})),n=0;n<o;++n)null==(a=t[n]).fx?a.x+=a.vx*=c:(a.x=a.fx,a.vx=0),null==a.fy?a.y+=a.vy*=c:(a.y=a.fy,a.vy=0);return e}function m(){for(var e,r=0,n=t.length;r<n;++r){if((e=t[r]).index=r,null!=e.fx&&(e.x=e.fx),null!=e.fy&&(e.y=e.fy),isNaN(e.x)||isNaN(e.y)){var a=10*Math.sqrt(r),i=r*p;e.x=a*Math.cos(i),e.y=a*Math.sin(i)}(isNaN(e.vx)||isNaN(e.vy))&&(e.vx=e.vy=0)}}function v(e){return e.initialize&&e.initialize(t),e}return null==t&&(t=[]),m(),e={tick:g,restart:function(){return h.restart(d),e},stop:function(){return h.stop(),e},nodes:function(r){return arguments.length?(t=r,m(),u.each(v),e):t},alpha:function(t){return arguments.length?(i=+t,e):i},alphaMin:function(t){return arguments.length?(o=+t,e):o},alphaDecay:function(t){return arguments.length?(s=+t,e):+s},alphaTarget:function(t){return arguments.length?(l=+t,e):l},velocityDecay:function(t){return arguments.length?(c=1-t,e):1-c},force:function(t,r){return arguments.length>1?(null==r?u.remove(t):u.set(t,v(r)),e):u.get(t)},find:function(e,r,n){var a,i,o,s,l,c=0,u=t.length;for(null==n?n=1/0:n*=n,c=0;c<u;++c)(o=(a=e-(s=t[c]).x)*a+(i=r-s.y)*i)<n&&(l=s,n=o);return l},on:function(t,r){return arguments.length>1?(f.on(t,r),e):f.on(t)}}},t.forceX=function(t){var e,r,n,a=i(.1);function o(t){for(var a,i=0,o=e.length;i<o;++i)(a=e[i]).vx+=(n[i]-a.x)*r[i]*t}function s(){if(e){var i,o=e.length;for(r=new Array(o),n=new Array(o),i=0;i<o;++i)r[i]=isNaN(n[i]=+t(e[i],i,e))?0:+a(e[i],i,e)}}return\"function\"!=typeof t&&(t=i(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(a=\"function\"==typeof t?t:i(+t),s(),o):a},o.x=function(e){return arguments.length?(t=\"function\"==typeof e?e:i(+e),s(),o):t},o},t.forceY=function(t){var e,r,n,a=i(.1);function o(t){for(var a,i=0,o=e.length;i<o;++i)(a=e[i]).vy+=(n[i]-a.y)*r[i]*t}function s(){if(e){var i,o=e.length;for(r=new Array(o),n=new Array(o),i=0;i<o;++i)r[i]=isNaN(n[i]=+t(e[i],i,e))?0:+a(e[i],i,e)}}return\"function\"!=typeof t&&(t=i(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(a=\"function\"==typeof t?t:i(+t),s(),o):a},o.y=function(e){return arguments.length?(t=\"function\"==typeof e?e:i(+e),s(),o):t},o},Object.defineProperty(t,\"__esModule\",{value:!0})}))},{\"d3-collection\":154,\"d3-dispatch\":156,\"d3-quadtree\":161,\"d3-timer\":163}],158:[function(t,e,r){!function(t,n){\"object\"==typeof r&&\"undefined\"!=typeof e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){\"use strict\";function e(t,e){return t.parent===e.parent?1:2}function r(t,e){return t+e.x}function n(t,e){return Math.max(t,e.y)}function a(t){var e=0,r=t.children,n=r&&r.length;if(n)for(;--n>=0;)e+=r[n].value;else e=1;t.value=e}function i(t,e){var r,n,a,i,s,u=new c(t),h=+t.value&&(u.value=t.value),f=[u];for(null==e&&(e=o);r=f.pop();)if(h&&(r.value=+r.data.value),(a=e(r.data))&&(s=a.length))for(r.children=new Array(s),i=s-1;i>=0;--i)f.push(n=r.children[i]=new c(a[i])),n.parent=r,n.depth=r.depth+1;return u.eachBefore(l)}function o(t){return t.children}function s(t){t.data=t.data.data}function l(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function c(t){this.data=t,this.depth=this.height=0,this.parent=null}c.prototype=i.prototype={constructor:c,count:function(){return this.eachAfter(a)},each:function(t){var e,r,n,a,i=this,o=[i];do{for(e=o.reverse(),o=[];i=e.pop();)if(t(i),r=i.children)for(n=0,a=r.length;n<a;++n)o.push(r[n])}while(o.length);return this},eachAfter:function(t){for(var e,r,n,a=this,i=[a],o=[];a=i.pop();)if(o.push(a),e=a.children)for(r=0,n=e.length;r<n;++r)i.push(e[r]);for(;a=o.pop();)t(a);return this},eachBefore:function(t){for(var e,r,n=this,a=[n];n=a.pop();)if(t(n),e=n.children)for(r=e.length-1;r>=0;--r)a.push(e[r]);return this},sum:function(t){return this.eachAfter((function(e){for(var r=+t(e.data)||0,n=e.children,a=n&&n.length;--a>=0;)r+=n[a].value;e.value=r}))},sort:function(t){return this.eachBefore((function(e){e.children&&e.children.sort(t)}))},path:function(t){for(var e=this,r=function(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),a=null;t=r.pop(),e=n.pop();for(;t===e;)a=t,t=r.pop(),e=n.pop();return a}(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var a=n.length;t!==r;)n.splice(a,0,t),t=t.parent;return n},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each((function(e){t.push(e)})),t},leaves:function(){var t=[];return this.eachBefore((function(e){e.children||t.push(e)})),t},links:function(){var t=this,e=[];return t.each((function(r){r!==t&&e.push({source:r.parent,target:r})})),e},copy:function(){return i(this).eachBefore(s)}};var u=Array.prototype.slice;function h(t){for(var e,r,n=0,a=(t=function(t){for(var e,r,n=t.length;n;)r=Math.random()*n--|0,e=t[n],t[n]=t[r],t[r]=e;return t}(u.call(t))).length,i=[];n<a;)e=t[n],r&&d(r,e)?++n:(r=m(i=f(i,e)),n=0);return r}function f(t,e){var r,n;if(g(e,t))return[e];for(r=0;r<t.length;++r)if(p(e,t[r])&&g(v(t[r],e),t))return[t[r],e];for(r=0;r<t.length-1;++r)for(n=r+1;n<t.length;++n)if(p(v(t[r],t[n]),e)&&p(v(t[r],e),t[n])&&p(v(t[n],e),t[r])&&g(y(t[r],t[n],e),t))return[t[r],t[n],e];throw new Error}function p(t,e){var r=t.r-e.r,n=e.x-t.x,a=e.y-t.y;return r<0||r*r<n*n+a*a}function d(t,e){var r=t.r-e.r+1e-6,n=e.x-t.x,a=e.y-t.y;return r>0&&r*r>n*n+a*a}function g(t,e){for(var r=0;r<e.length;++r)if(!d(t,e[r]))return!1;return!0}function m(t){switch(t.length){case 1:return{x:(e=t[0]).x,y:e.y,r:e.r};case 2:return v(t[0],t[1]);case 3:return y(t[0],t[1],t[2])}var e}function v(t,e){var r=t.x,n=t.y,a=t.r,i=e.x,o=e.y,s=e.r,l=i-r,c=o-n,u=s-a,h=Math.sqrt(l*l+c*c);return{x:(r+i+l/h*u)/2,y:(n+o+c/h*u)/2,r:(h+a+s)/2}}function y(t,e,r){var n=t.x,a=t.y,i=t.r,o=e.x,s=e.y,l=e.r,c=r.x,u=r.y,h=r.r,f=n-o,p=n-c,d=a-s,g=a-u,m=l-i,v=h-i,y=n*n+a*a-i*i,x=y-o*o-s*s+l*l,b=y-c*c-u*u+h*h,_=p*d-f*g,w=(d*b-g*x)/(2*_)-n,T=(g*m-d*v)/_,k=(p*x-f*b)/(2*_)-a,A=(f*v-p*m)/_,M=T*T+A*A-1,S=2*(i+w*T+k*A),E=w*w+k*k-i*i,C=-(M?(S+Math.sqrt(S*S-4*M*E))/(2*M):E/S);return{x:n+w+T*C,y:a+k+A*C,r:C}}function x(t,e,r){var n,a,i,o,s=t.x-e.x,l=t.y-e.y,c=s*s+l*l;c?(a=e.r+r.r,a*=a,o=t.r+r.r,a>(o*=o)?(n=(c+o-a)/(2*c),i=Math.sqrt(Math.max(0,o/c-n*n)),r.x=t.x-n*s-i*l,r.y=t.y-n*l+i*s):(n=(c+a-o)/(2*c),i=Math.sqrt(Math.max(0,a/c-n*n)),r.x=e.x+n*s-i*l,r.y=e.y+n*l+i*s)):(r.x=e.x+r.r,r.y=e.y)}function b(t,e){var r=t.r+e.r-1e-6,n=e.x-t.x,a=e.y-t.y;return r>0&&r*r>n*n+a*a}function _(t){var e=t._,r=t.next._,n=e.r+r.r,a=(e.x*r.r+r.x*e.r)/n,i=(e.y*r.r+r.y*e.r)/n;return a*a+i*i}function w(t){this._=t,this.next=null,this.previous=null}function T(t){if(!(a=t.length))return 0;var e,r,n,a,i,o,s,l,c,u,f;if((e=t[0]).x=0,e.y=0,!(a>1))return e.r;if(r=t[1],e.x=-r.r,r.x=e.r,r.y=0,!(a>2))return e.r+r.r;x(r,e,n=t[2]),e=new w(e),r=new w(r),n=new w(n),e.next=n.previous=r,r.next=e.previous=n,n.next=r.previous=e;t:for(s=3;s<a;++s){x(e._,r._,n=t[s]),n=new w(n),l=r.next,c=e.previous,u=r._.r,f=e._.r;do{if(u<=f){if(b(l._,n._)){r=l,e.next=r,r.previous=e,--s;continue t}u+=l._.r,l=l.next}else{if(b(c._,n._)){(e=c).next=r,r.previous=e,--s;continue t}f+=c._.r,c=c.previous}}while(l!==c.next);for(n.previous=e,n.next=r,e.next=r.previous=r=n,i=_(e);(n=n.next)!==r;)(o=_(n))<i&&(e=n,i=o);r=e.next}for(e=[r._],n=r;(n=n.next)!==r;)e.push(n._);for(n=h(e),s=0;s<a;++s)(e=t[s]).x-=n.x,e.y-=n.y;return n.r}function k(t){return null==t?null:A(t)}function A(t){if(\"function\"!=typeof t)throw new Error;return t}function M(){return 0}function S(t){return function(){return t}}function E(t){return Math.sqrt(t.value)}function C(t){return function(e){e.children||(e.r=Math.max(0,+t(e)||0))}}function L(t,e){return function(r){if(n=r.children){var n,a,i,o=n.length,s=t(r)*e||0;if(s)for(a=0;a<o;++a)n[a].r+=s;if(i=T(n),s)for(a=0;a<o;++a)n[a].r-=s;r.r=i+s}}}function P(t){return function(e){var r=e.parent;e.r*=t,r&&(e.x=r.x+t*e.x,e.y=r.y+t*e.y)}}function I(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function z(t,e,r,n,a){for(var i,o=t.children,s=-1,l=o.length,c=t.value&&(n-e)/t.value;++s<l;)(i=o[s]).y0=r,i.y1=a,i.x0=e,i.x1=e+=i.value*c}var O={depth:-1},D={};function R(t){return t.id}function F(t){return t.parentId}function B(t,e){return t.parent===e.parent?1:2}function N(t){var e=t.children;return e?e[0]:t.t}function j(t){var e=t.children;return e?e[e.length-1]:t.t}function V(t,e,r){var n=r/(e.i-t.i);e.c-=n,e.s+=r,t.c+=n,e.z+=r,e.m+=r}function U(t,e,r){return t.a.parent===e.parent?t.a:r}function q(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}function H(t,e,r,n,a){for(var i,o=t.children,s=-1,l=o.length,c=t.value&&(a-r)/t.value;++s<l;)(i=o[s]).x0=e,i.x1=n,i.y0=r,i.y1=r+=i.value*c}q.prototype=Object.create(c.prototype);var G=(1+Math.sqrt(5))/2;function Y(t,e,r,n,a,i){for(var o,s,l,c,u,h,f,p,d,g,m,v=[],y=e.children,x=0,b=0,_=y.length,w=e.value;x<_;){l=a-r,c=i-n;do{u=y[b++].value}while(!u&&b<_);for(h=f=u,m=u*u*(g=Math.max(c/l,l/c)/(w*t)),d=Math.max(f/m,m/h);b<_;++b){if(u+=s=y[b].value,s<h&&(h=s),s>f&&(f=s),m=u*u*g,(p=Math.max(f/m,m/h))>d){u-=s;break}d=p}v.push(o={value:u,dice:l<c,children:y.slice(x,b)}),o.dice?z(o,r,n,a,w?n+=c*u/w:i):H(o,r,n,w?r+=l*u/w:a,i),w-=u,x=b}return v}var W=function t(e){function r(t,r,n,a,i){Y(e,t,r,n,a,i)}return r.ratio=function(e){return t((e=+e)>1?e:1)},r}(G);var Z=function t(e){function r(t,r,n,a,i){if((o=t._squarify)&&o.ratio===e)for(var o,s,l,c,u,h=-1,f=o.length,p=t.value;++h<f;){for(l=(s=o[h]).children,c=s.value=0,u=l.length;c<u;++c)s.value+=l[c].value;s.dice?z(s,r,n,a,n+=(i-n)*s.value/p):H(s,r,n,r+=(a-r)*s.value/p,i),p-=s.value}else t._squarify=o=Y(e,t,r,n,a,i),o.ratio=e}return r.ratio=function(e){return t((e=+e)>1?e:1)},r}(G);t.cluster=function(){var t=e,a=1,i=1,o=!1;function s(e){var s,l=0;e.eachAfter((function(e){var a=e.children;a?(e.x=function(t){return t.reduce(r,0)/t.length}(a),e.y=function(t){return 1+t.reduce(n,0)}(a)):(e.x=s?l+=t(e,s):0,e.y=0,s=e)}));var c=function(t){for(var e;e=t.children;)t=e[0];return t}(e),u=function(t){for(var e;e=t.children;)t=e[e.length-1];return t}(e),h=c.x-t(c,u)/2,f=u.x+t(u,c)/2;return e.eachAfter(o?function(t){t.x=(t.x-e.x)*a,t.y=(e.y-t.y)*i}:function(t){t.x=(t.x-h)/(f-h)*a,t.y=(1-(e.y?t.y/e.y:1))*i})}return s.separation=function(e){return arguments.length?(t=e,s):t},s.size=function(t){return arguments.length?(o=!1,a=+t[0],i=+t[1],s):o?null:[a,i]},s.nodeSize=function(t){return arguments.length?(o=!0,a=+t[0],i=+t[1],s):o?[a,i]:null},s},t.hierarchy=i,t.pack=function(){var t=null,e=1,r=1,n=M;function a(a){return a.x=e/2,a.y=r/2,t?a.eachBefore(C(t)).eachAfter(L(n,.5)).eachBefore(P(1)):a.eachBefore(C(E)).eachAfter(L(M,1)).eachAfter(L(n,a.r/Math.min(e,r))).eachBefore(P(Math.min(e,r)/(2*a.r))),a}return a.radius=function(e){return arguments.length?(t=k(e),a):t},a.size=function(t){return arguments.length?(e=+t[0],r=+t[1],a):[e,r]},a.padding=function(t){return arguments.length?(n=\"function\"==typeof t?t:S(+t),a):n},a},t.packEnclose=h,t.packSiblings=function(t){return T(t),t},t.partition=function(){var t=1,e=1,r=0,n=!1;function a(a){var i=a.height+1;return a.x0=a.y0=r,a.x1=t,a.y1=e/i,a.eachBefore(function(t,e){return function(n){n.children&&z(n,n.x0,t*(n.depth+1)/e,n.x1,t*(n.depth+2)/e);var a=n.x0,i=n.y0,o=n.x1-r,s=n.y1-r;o<a&&(a=o=(a+o)/2),s<i&&(i=s=(i+s)/2),n.x0=a,n.y0=i,n.x1=o,n.y1=s}}(e,i)),n&&a.eachBefore(I),a}return a.round=function(t){return arguments.length?(n=!!t,a):n},a.size=function(r){return arguments.length?(t=+r[0],e=+r[1],a):[t,e]},a.padding=function(t){return arguments.length?(r=+t,a):r},a},t.stratify=function(){var t=R,e=F;function r(r){var n,a,i,o,s,u,h,f=r.length,p=new Array(f),d={};for(a=0;a<f;++a)n=r[a],s=p[a]=new c(n),null!=(u=t(n,a,r))&&(u+=\"\")&&(d[h=\"$\"+(s.id=u)]=h in d?D:s);for(a=0;a<f;++a)if(s=p[a],null!=(u=e(r[a],a,r))&&(u+=\"\")){if(!(o=d[\"$\"+u]))throw new Error(\"missing: \"+u);if(o===D)throw new Error(\"ambiguous: \"+u);o.children?o.children.push(s):o.children=[s],s.parent=o}else{if(i)throw new Error(\"multiple roots\");i=s}if(!i)throw new Error(\"no root\");if(i.parent=O,i.eachBefore((function(t){t.depth=t.parent.depth+1,--f})).eachBefore(l),i.parent=null,f>0)throw new Error(\"cycle\");return i}return r.id=function(e){return arguments.length?(t=A(e),r):t},r.parentId=function(t){return arguments.length?(e=A(t),r):e},r},t.tree=function(){var t=B,e=1,r=1,n=null;function a(a){var l=function(t){for(var e,r,n,a,i,o=new q(t,0),s=[o];e=s.pop();)if(n=e._.children)for(e.children=new Array(i=n.length),a=i-1;a>=0;--a)s.push(r=e.children[a]=new q(n[a],a)),r.parent=e;return(o.parent=new q(null,0)).children=[o],o}(a);if(l.eachAfter(i),l.parent.m=-l.z,l.eachBefore(o),n)a.eachBefore(s);else{var c=a,u=a,h=a;a.eachBefore((function(t){t.x<c.x&&(c=t),t.x>u.x&&(u=t),t.depth>h.depth&&(h=t)}));var f=c===u?1:t(c,u)/2,p=f-c.x,d=e/(u.x+f+p),g=r/(h.depth||1);a.eachBefore((function(t){t.x=(t.x+p)*d,t.y=t.depth*g}))}return a}function i(e){var r=e.children,n=e.parent.children,a=e.i?n[e.i-1]:null;if(r){!function(t){for(var e,r=0,n=0,a=t.children,i=a.length;--i>=0;)(e=a[i]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(e);var i=(r[0].z+r[r.length-1].z)/2;a?(e.z=a.z+t(e._,a._),e.m=e.z-i):e.z=i}else a&&(e.z=a.z+t(e._,a._));e.parent.A=function(e,r,n){if(r){for(var a,i=e,o=e,s=r,l=i.parent.children[0],c=i.m,u=o.m,h=s.m,f=l.m;s=j(s),i=N(i),s&&i;)l=N(l),(o=j(o)).a=e,(a=s.z+h-i.z-c+t(s._,i._))>0&&(V(U(s,e,n),e,a),c+=a,u+=a),h+=s.m,c+=i.m,f+=l.m,u+=o.m;s&&!j(o)&&(o.t=s,o.m+=h-u),i&&!N(l)&&(l.t=i,l.m+=c-f,n=e)}return n}(e,a,e.parent.A||n[0])}function o(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t){t.x*=e,t.y=t.depth*r}return a.separation=function(e){return arguments.length?(t=e,a):t},a.size=function(t){return arguments.length?(n=!1,e=+t[0],r=+t[1],a):n?null:[e,r]},a.nodeSize=function(t){return arguments.length?(n=!0,e=+t[0],r=+t[1],a):n?[e,r]:null},a},t.treemap=function(){var t=W,e=!1,r=1,n=1,a=[0],i=M,o=M,s=M,l=M,c=M;function u(t){return t.x0=t.y0=0,t.x1=r,t.y1=n,t.eachBefore(h),a=[0],e&&t.eachBefore(I),t}function h(e){var r=a[e.depth],n=e.x0+r,u=e.y0+r,h=e.x1-r,f=e.y1-r;h<n&&(n=h=(n+h)/2),f<u&&(u=f=(u+f)/2),e.x0=n,e.y0=u,e.x1=h,e.y1=f,e.children&&(r=a[e.depth+1]=i(e)/2,n+=c(e)-r,u+=o(e)-r,(h-=s(e)-r)<n&&(n=h=(n+h)/2),(f-=l(e)-r)<u&&(u=f=(u+f)/2),t(e,n,u,h,f))}return u.round=function(t){return arguments.length?(e=!!t,u):e},u.size=function(t){return arguments.length?(r=+t[0],n=+t[1],u):[r,n]},u.tile=function(e){return arguments.length?(t=A(e),u):t},u.padding=function(t){return arguments.length?u.paddingInner(t).paddingOuter(t):u.paddingInner()},u.paddingInner=function(t){return arguments.length?(i=\"function\"==typeof t?t:S(+t),u):i},u.paddingOuter=function(t){return arguments.length?u.paddingTop(t).paddingRight(t).paddingBottom(t).paddingLeft(t):u.paddingTop()},u.paddingTop=function(t){return arguments.length?(o=\"function\"==typeof t?t:S(+t),u):o},u.paddingRight=function(t){return arguments.length?(s=\"function\"==typeof t?t:S(+t),u):s},u.paddingBottom=function(t){return arguments.length?(l=\"function\"==typeof t?t:S(+t),u):l},u.paddingLeft=function(t){return arguments.length?(c=\"function\"==typeof t?t:S(+t),u):c},u},t.treemapBinary=function(t,e,r,n,a){var i,o,s=t.children,l=s.length,c=new Array(l+1);for(c[0]=o=i=0;i<l;++i)c[i+1]=o+=s[i].value;!function t(e,r,n,a,i,o,l){if(e>=r-1){var u=s[e];return u.x0=a,u.y0=i,u.x1=o,void(u.y1=l)}var h=c[e],f=n/2+h,p=e+1,d=r-1;for(;p<d;){var g=p+d>>>1;c[g]<f?p=g+1:d=g}f-c[p-1]<c[p]-f&&e+1<p&&--p;var m=c[p]-h,v=n-m;if(o-a>l-i){var y=(a*v+o*m)/n;t(e,p,m,a,i,y,l),t(p,r,v,y,i,o,l)}else{var x=(i*v+l*m)/n;t(e,p,m,a,i,o,x),t(p,r,v,a,x,o,l)}}(0,l,t.value,e,r,n,a)},t.treemapDice=z,t.treemapResquarify=Z,t.treemapSlice=H,t.treemapSliceDice=function(t,e,r,n,a){(1&t.depth?H:z)(t,e,r,n,a)},t.treemapSquarify=W,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{}],159:[function(t,e,r){!function(n,a){\"object\"==typeof r&&\"undefined\"!=typeof e?a(r,t(\"d3-color\")):a((n=n||self).d3=n.d3||{},n.d3)}(this,(function(t,e){\"use strict\";function r(t,e,r,n,a){var i=t*t,o=i*t;return((1-3*t+3*i-o)*e+(4-6*i+3*o)*r+(1+3*t+3*i-3*o)*n+o*a)/6}function n(t){var e=t.length-1;return function(n){var a=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),i=t[a],o=t[a+1],s=a>0?t[a-1]:2*i-o,l=a<e-1?t[a+2]:2*o-i;return r((n-a/e)*e,s,i,o,l)}}function a(t){var e=t.length;return function(n){var a=Math.floor(((n%=1)<0?++n:n)*e),i=t[(a+e-1)%e],o=t[a%e],s=t[(a+1)%e],l=t[(a+2)%e];return r((n-a/e)*e,i,o,s,l)}}function i(t){return function(){return t}}function o(t,e){return function(r){return t+r*e}}function s(t,e){var r=e-t;return r?o(t,r>180||r<-180?r-360*Math.round(r/360):r):i(isNaN(t)?e:t)}function l(t){return 1==(t=+t)?c:function(e,r){return r-e?function(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}(e,r,t):i(isNaN(e)?r:e)}}function c(t,e){var r=e-t;return r?o(t,r):i(isNaN(t)?e:t)}var u=function t(r){var n=l(r);function a(t,r){var a=n((t=e.rgb(t)).r,(r=e.rgb(r)).r),i=n(t.g,r.g),o=n(t.b,r.b),s=c(t.opacity,r.opacity);return function(e){return t.r=a(e),t.g=i(e),t.b=o(e),t.opacity=s(e),t+\"\"}}return a.gamma=t,a}(1);function h(t){return function(r){var n,a,i=r.length,o=new Array(i),s=new Array(i),l=new Array(i);for(n=0;n<i;++n)a=e.rgb(r[n]),o[n]=a.r||0,s[n]=a.g||0,l[n]=a.b||0;return o=t(o),s=t(s),l=t(l),a.opacity=1,function(t){return a.r=o(t),a.g=s(t),a.b=l(t),a+\"\"}}}var f=h(n),p=h(a);function d(t,e){e||(e=[]);var r,n=t?Math.min(e.length,t.length):0,a=e.slice();return function(i){for(r=0;r<n;++r)a[r]=t[r]*(1-i)+e[r]*i;return a}}function g(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function m(t,e){var r,n=e?e.length:0,a=t?Math.min(n,t.length):0,i=new Array(a),o=new Array(n);for(r=0;r<a;++r)i[r]=T(t[r],e[r]);for(;r<n;++r)o[r]=e[r];return function(t){for(r=0;r<a;++r)o[r]=i[r](t);return o}}function v(t,e){var r=new Date;return t=+t,e=+e,function(n){return r.setTime(t*(1-n)+e*n),r}}function y(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function x(t,e){var r,n={},a={};for(r in null!==t&&\"object\"==typeof t||(t={}),null!==e&&\"object\"==typeof e||(e={}),e)r in t?n[r]=T(t[r],e[r]):a[r]=e[r];return function(t){for(r in n)a[r]=n[r](t);return a}}var b=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,_=new RegExp(b.source,\"g\");function w(t,e){var r,n,a,i=b.lastIndex=_.lastIndex=0,o=-1,s=[],l=[];for(t+=\"\",e+=\"\";(r=b.exec(t))&&(n=_.exec(e));)(a=n.index)>i&&(a=e.slice(i,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:y(r,n)})),i=_.lastIndex;return i<e.length&&(a=e.slice(i),s[o]?s[o]+=a:s[++o]=a),s.length<2?l[0]?function(t){return function(e){return t(e)+\"\"}}(l[0].x):function(t){return function(){return t}}(e):(e=l.length,function(t){for(var r,n=0;n<e;++n)s[(r=l[n]).i]=r.x(t);return s.join(\"\")})}function T(t,r){var n,a=typeof r;return null==r||\"boolean\"===a?i(r):(\"number\"===a?y:\"string\"===a?(n=e.color(r))?(r=n,u):w:r instanceof e.color?u:r instanceof Date?v:g(r)?d:Array.isArray(r)?m:\"function\"!=typeof r.valueOf&&\"function\"!=typeof r.toString||isNaN(r)?x:y)(t,r)}var k,A,M,S,E=180/Math.PI,C={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function L(t,e,r,n,a,i){var o,s,l;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(l=t*r+e*n)&&(r-=t*l,n-=e*l),(s=Math.sqrt(r*r+n*n))&&(r/=s,n/=s,l/=s),t*n<e*r&&(t=-t,e=-e,l=-l,o=-o),{translateX:a,translateY:i,rotate:Math.atan2(e,t)*E,skewX:Math.atan(l)*E,scaleX:o,scaleY:s}}function P(t,e,r,n){function a(t){return t.length?t.pop()+\" \":\"\"}return function(i,o){var s=[],l=[];return i=t(i),o=t(o),function(t,n,a,i,o,s){if(t!==a||n!==i){var l=o.push(\"translate(\",null,e,null,r);s.push({i:l-4,x:y(t,a)},{i:l-2,x:y(n,i)})}else(a||i)&&o.push(\"translate(\"+a+e+i+r)}(i.translateX,i.translateY,o.translateX,o.translateY,s,l),function(t,e,r,i){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),i.push({i:r.push(a(r)+\"rotate(\",null,n)-2,x:y(t,e)})):e&&r.push(a(r)+\"rotate(\"+e+n)}(i.rotate,o.rotate,s,l),function(t,e,r,i){t!==e?i.push({i:r.push(a(r)+\"skewX(\",null,n)-2,x:y(t,e)}):e&&r.push(a(r)+\"skewX(\"+e+n)}(i.skewX,o.skewX,s,l),function(t,e,r,n,i,o){if(t!==r||e!==n){var s=i.push(a(i)+\"scale(\",null,\",\",null,\")\");o.push({i:s-4,x:y(t,r)},{i:s-2,x:y(e,n)})}else 1===r&&1===n||i.push(a(i)+\"scale(\"+r+\",\"+n+\")\")}(i.scaleX,i.scaleY,o.scaleX,o.scaleY,s,l),i=o=null,function(t){for(var e,r=-1,n=l.length;++r<n;)s[(e=l[r]).i]=e.x(t);return s.join(\"\")}}}var I=P((function(t){return\"none\"===t?C:(k||(k=document.createElement(\"DIV\"),A=document.documentElement,M=document.defaultView),k.style.transform=t,t=M.getComputedStyle(A.appendChild(k),null).getPropertyValue(\"transform\"),A.removeChild(k),L(+(t=t.slice(7,-1).split(\",\"))[0],+t[1],+t[2],+t[3],+t[4],+t[5]))}),\"px, \",\"px)\",\"deg)\"),z=P((function(t){return null==t?C:(S||(S=document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\")),S.setAttribute(\"transform\",t),(t=S.transform.baseVal.consolidate())?L((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):C)}),\", \",\")\",\")\"),O=Math.SQRT2;function D(t){return((t=Math.exp(t))+1/t)/2}function R(t){return function(r,n){var a=t((r=e.hsl(r)).h,(n=e.hsl(n)).h),i=c(r.s,n.s),o=c(r.l,n.l),s=c(r.opacity,n.opacity);return function(t){return r.h=a(t),r.s=i(t),r.l=o(t),r.opacity=s(t),r+\"\"}}}var F=R(s),B=R(c);function N(t){return function(r,n){var a=t((r=e.hcl(r)).h,(n=e.hcl(n)).h),i=c(r.c,n.c),o=c(r.l,n.l),s=c(r.opacity,n.opacity);return function(t){return r.h=a(t),r.c=i(t),r.l=o(t),r.opacity=s(t),r+\"\"}}}var j=N(s),V=N(c);function U(t){return function r(n){function a(r,a){var i=t((r=e.cubehelix(r)).h,(a=e.cubehelix(a)).h),o=c(r.s,a.s),s=c(r.l,a.l),l=c(r.opacity,a.opacity);return function(t){return r.h=i(t),r.s=o(t),r.l=s(Math.pow(t,n)),r.opacity=l(t),r+\"\"}}return n=+n,a.gamma=r,a}(1)}var q=U(s),H=U(c);t.interpolate=T,t.interpolateArray=function(t,e){return(g(e)?d:m)(t,e)},t.interpolateBasis=n,t.interpolateBasisClosed=a,t.interpolateCubehelix=q,t.interpolateCubehelixLong=H,t.interpolateDate=v,t.interpolateDiscrete=function(t){var e=t.length;return function(r){return t[Math.max(0,Math.min(e-1,Math.floor(r*e)))]}},t.interpolateHcl=j,t.interpolateHclLong=V,t.interpolateHsl=F,t.interpolateHslLong=B,t.interpolateHue=function(t,e){var r=s(+t,+e);return function(t){var e=r(t);return e-360*Math.floor(e/360)}},t.interpolateLab=function(t,r){var n=c((t=e.lab(t)).l,(r=e.lab(r)).l),a=c(t.a,r.a),i=c(t.b,r.b),o=c(t.opacity,r.opacity);return function(e){return t.l=n(e),t.a=a(e),t.b=i(e),t.opacity=o(e),t+\"\"}},t.interpolateNumber=y,t.interpolateNumberArray=d,t.interpolateObject=x,t.interpolateRgb=u,t.interpolateRgbBasis=f,t.interpolateRgbBasisClosed=p,t.interpolateRound=function(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}},t.interpolateString=w,t.interpolateTransformCss=I,t.interpolateTransformSvg=z,t.interpolateZoom=function(t,e){var r,n,a=t[0],i=t[1],o=t[2],s=e[0],l=e[1],c=e[2],u=s-a,h=l-i,f=u*u+h*h;if(f<1e-12)n=Math.log(c/o)/O,r=function(t){return[a+t*u,i+t*h,o*Math.exp(O*t*n)]};else{var p=Math.sqrt(f),d=(c*c-o*o+4*f)/(2*o*2*p),g=(c*c-o*o-4*f)/(2*c*2*p),m=Math.log(Math.sqrt(d*d+1)-d),v=Math.log(Math.sqrt(g*g+1)-g);n=(v-m)/O,r=function(t){var e,r=t*n,s=D(m),l=o/(2*p)*(s*(e=O*r+m,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(m));return[a+l*u,i+l*h,o*s/D(O*r+m)]}}return r.duration=1e3*n,r},t.piecewise=function(t,e){for(var r=0,n=e.length-1,a=e[0],i=new Array(n<0?0:n);r<n;)i[r]=t(a,a=e[++r]);return function(t){var e=Math.max(0,Math.min(n-1,Math.floor(t*=n)));return i[e](t-e)}},t.quantize=function(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t(n/(e-1));return r},Object.defineProperty(t,\"__esModule\",{value:!0})}))},{\"d3-color\":155}],160:[function(t,e,r){!function(t,n){\"object\"==typeof r&&\"undefined\"!=typeof e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){\"use strict\";var e=Math.PI,r=2*e,n=r-1e-6;function a(){this._x0=this._y0=this._x1=this._y1=null,this._=\"\"}function i(){return new a}a.prototype=i.prototype={constructor:a,moveTo:function(t,e){this._+=\"M\"+(this._x0=this._x1=+t)+\",\"+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+=\"Z\")},lineTo:function(t,e){this._+=\"L\"+(this._x1=+t)+\",\"+(this._y1=+e)},quadraticCurveTo:function(t,e,r,n){this._+=\"Q\"+ +t+\",\"+ +e+\",\"+(this._x1=+r)+\",\"+(this._y1=+n)},bezierCurveTo:function(t,e,r,n,a,i){this._+=\"C\"+ +t+\",\"+ +e+\",\"+ +r+\",\"+ +n+\",\"+(this._x1=+a)+\",\"+(this._y1=+i)},arcTo:function(t,r,n,a,i){t=+t,r=+r,n=+n,a=+a,i=+i;var o=this._x1,s=this._y1,l=n-t,c=a-r,u=o-t,h=s-r,f=u*u+h*h;if(i<0)throw new Error(\"negative radius: \"+i);if(null===this._x1)this._+=\"M\"+(this._x1=t)+\",\"+(this._y1=r);else if(f>1e-6)if(Math.abs(h*l-c*u)>1e-6&&i){var p=n-o,d=a-s,g=l*l+c*c,m=p*p+d*d,v=Math.sqrt(g),y=Math.sqrt(f),x=i*Math.tan((e-Math.acos((g+f-m)/(2*v*y)))/2),b=x/y,_=x/v;Math.abs(b-1)>1e-6&&(this._+=\"L\"+(t+b*u)+\",\"+(r+b*h)),this._+=\"A\"+i+\",\"+i+\",0,0,\"+ +(h*p>u*d)+\",\"+(this._x1=t+_*l)+\",\"+(this._y1=r+_*c)}else this._+=\"L\"+(this._x1=t)+\",\"+(this._y1=r);else;},arc:function(t,a,i,o,s,l){t=+t,a=+a,l=!!l;var c=(i=+i)*Math.cos(o),u=i*Math.sin(o),h=t+c,f=a+u,p=1^l,d=l?o-s:s-o;if(i<0)throw new Error(\"negative radius: \"+i);null===this._x1?this._+=\"M\"+h+\",\"+f:(Math.abs(this._x1-h)>1e-6||Math.abs(this._y1-f)>1e-6)&&(this._+=\"L\"+h+\",\"+f),i&&(d<0&&(d=d%r+r),d>n?this._+=\"A\"+i+\",\"+i+\",0,1,\"+p+\",\"+(t-c)+\",\"+(a-u)+\"A\"+i+\",\"+i+\",0,1,\"+p+\",\"+(this._x1=h)+\",\"+(this._y1=f):d>1e-6&&(this._+=\"A\"+i+\",\"+i+\",0,\"+ +(d>=e)+\",\"+p+\",\"+(this._x1=t+i*Math.cos(s))+\",\"+(this._y1=a+i*Math.sin(s))))},rect:function(t,e,r,n){this._+=\"M\"+(this._x0=this._x1=+t)+\",\"+(this._y0=this._y1=+e)+\"h\"+ +r+\"v\"+ +n+\"h\"+-r+\"Z\"},toString:function(){return this._}},t.path=i,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{}],161:[function(t,e,r){!function(t,n){\"object\"==typeof r&&\"undefined\"!=typeof e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){\"use strict\";function e(t,e,r,n){if(isNaN(e)||isNaN(r))return t;var a,i,o,s,l,c,u,h,f,p=t._root,d={data:n},g=t._x0,m=t._y0,v=t._x1,y=t._y1;if(!p)return t._root=d,t;for(;p.length;)if((c=e>=(i=(g+v)/2))?g=i:v=i,(u=r>=(o=(m+y)/2))?m=o:y=o,a=p,!(p=p[h=u<<1|c]))return a[h]=d,t;if(s=+t._x.call(null,p.data),l=+t._y.call(null,p.data),e===s&&r===l)return d.next=p,a?a[h]=d:t._root=d,t;do{a=a?a[h]=new Array(4):t._root=new Array(4),(c=e>=(i=(g+v)/2))?g=i:v=i,(u=r>=(o=(m+y)/2))?m=o:y=o}while((h=u<<1|c)==(f=(l>=o)<<1|s>=i));return a[f]=p,a[h]=d,t}function r(t,e,r,n,a){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=a}function n(t){return t[0]}function a(t){return t[1]}function i(t,e,r){var i=new o(null==e?n:e,null==r?a:r,NaN,NaN,NaN,NaN);return null==t?i:i.addAll(t)}function o(t,e,r,n,a,i){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=a,this._y1=i,this._root=void 0}function s(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}var l=i.prototype=o.prototype;l.copy=function(){var t,e,r=new o(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root;if(!n)return r;if(!n.length)return r._root=s(n),r;for(t=[{source:n,target:r._root=new Array(4)}];n=t.pop();)for(var a=0;a<4;++a)(e=n.source[a])&&(e.length?t.push({source:e,target:n.target[a]=new Array(4)}):n.target[a]=s(e));return r},l.add=function(t){var r=+this._x.call(null,t),n=+this._y.call(null,t);return e(this.cover(r,n),r,n,t)},l.addAll=function(t){var r,n,a,i,o=t.length,s=new Array(o),l=new Array(o),c=1/0,u=1/0,h=-1/0,f=-1/0;for(n=0;n<o;++n)isNaN(a=+this._x.call(null,r=t[n]))||isNaN(i=+this._y.call(null,r))||(s[n]=a,l[n]=i,a<c&&(c=a),a>h&&(h=a),i<u&&(u=i),i>f&&(f=i));if(c>h||u>f)return this;for(this.cover(c,u).cover(h,f),n=0;n<o;++n)e(this,s[n],l[n],t[n]);return this},l.cover=function(t,e){if(isNaN(t=+t)||isNaN(e=+e))return this;var r=this._x0,n=this._y0,a=this._x1,i=this._y1;if(isNaN(r))a=(r=Math.floor(t))+1,i=(n=Math.floor(e))+1;else{for(var o,s,l=a-r,c=this._root;r>t||t>=a||n>e||e>=i;)switch(s=(e<n)<<1|t<r,(o=new Array(4))[s]=c,c=o,l*=2,s){case 0:a=r+l,i=n+l;break;case 1:r=a-l,i=n+l;break;case 2:a=r+l,n=i-l;break;case 3:r=a-l,n=i-l}this._root&&this._root.length&&(this._root=c)}return this._x0=r,this._y0=n,this._x1=a,this._y1=i,this},l.data=function(){var t=[];return this.visit((function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)})),t},l.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},l.find=function(t,e,n){var a,i,o,s,l,c,u,h=this._x0,f=this._y0,p=this._x1,d=this._y1,g=[],m=this._root;for(m&&g.push(new r(m,h,f,p,d)),null==n?n=1/0:(h=t-n,f=e-n,p=t+n,d=e+n,n*=n);c=g.pop();)if(!(!(m=c.node)||(i=c.x0)>p||(o=c.y0)>d||(s=c.x1)<h||(l=c.y1)<f))if(m.length){var v=(i+s)/2,y=(o+l)/2;g.push(new r(m[3],v,y,s,l),new r(m[2],i,y,v,l),new r(m[1],v,o,s,y),new r(m[0],i,o,v,y)),(u=(e>=y)<<1|t>=v)&&(c=g[g.length-1],g[g.length-1]=g[g.length-1-u],g[g.length-1-u]=c)}else{var x=t-+this._x.call(null,m.data),b=e-+this._y.call(null,m.data),_=x*x+b*b;if(_<n){var w=Math.sqrt(n=_);h=t-w,f=e-w,p=t+w,d=e+w,a=m.data}}return a},l.remove=function(t){if(isNaN(i=+this._x.call(null,t))||isNaN(o=+this._y.call(null,t)))return this;var e,r,n,a,i,o,s,l,c,u,h,f,p=this._root,d=this._x0,g=this._y0,m=this._x1,v=this._y1;if(!p)return this;if(p.length)for(;;){if((c=i>=(s=(d+m)/2))?d=s:m=s,(u=o>=(l=(g+v)/2))?g=l:v=l,e=p,!(p=p[h=u<<1|c]))return this;if(!p.length)break;(e[h+1&3]||e[h+2&3]||e[h+3&3])&&(r=e,f=h)}for(;p.data!==t;)if(n=p,!(p=p.next))return this;return(a=p.next)&&delete p.next,n?(a?n.next=a:delete n.next,this):e?(a?e[h]=a:delete e[h],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(r?r[f]=p:this._root=p),this):(this._root=a,this)},l.removeAll=function(t){for(var e=0,r=t.length;e<r;++e)this.remove(t[e]);return this},l.root=function(){return this._root},l.size=function(){var t=0;return this.visit((function(e){if(!e.length)do{++t}while(e=e.next)})),t},l.visit=function(t){var e,n,a,i,o,s,l=[],c=this._root;for(c&&l.push(new r(c,this._x0,this._y0,this._x1,this._y1));e=l.pop();)if(!t(c=e.node,a=e.x0,i=e.y0,o=e.x1,s=e.y1)&&c.length){var u=(a+o)/2,h=(i+s)/2;(n=c[3])&&l.push(new r(n,u,h,o,s)),(n=c[2])&&l.push(new r(n,a,h,u,s)),(n=c[1])&&l.push(new r(n,u,i,o,h)),(n=c[0])&&l.push(new r(n,a,i,u,h))}return this},l.visitAfter=function(t){var e,n=[],a=[];for(this._root&&n.push(new r(this._root,this._x0,this._y0,this._x1,this._y1));e=n.pop();){var i=e.node;if(i.length){var o,s=e.x0,l=e.y0,c=e.x1,u=e.y1,h=(s+c)/2,f=(l+u)/2;(o=i[0])&&n.push(new r(o,s,l,h,f)),(o=i[1])&&n.push(new r(o,h,l,c,f)),(o=i[2])&&n.push(new r(o,s,f,h,u)),(o=i[3])&&n.push(new r(o,h,f,c,u))}a.push(e)}for(;e=a.pop();)t(e.node,e.x0,e.y0,e.x1,e.y1);return this},l.x=function(t){return arguments.length?(this._x=t,this):this._x},l.y=function(t){return arguments.length?(this._y=t,this):this._y},t.quadtree=i,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{}],162:[function(t,e,r){!function(n,a){\"object\"==typeof r&&\"undefined\"!=typeof e?a(r,t(\"d3-path\")):a((n=n||self).d3=n.d3||{},n.d3)}(this,(function(t,e){\"use strict\";function r(t){return function(){return t}}var n=Math.abs,a=Math.atan2,i=Math.cos,o=Math.max,s=Math.min,l=Math.sin,c=Math.sqrt,u=Math.PI,h=u/2,f=2*u;function p(t){return t>1?0:t<-1?u:Math.acos(t)}function d(t){return t>=1?h:t<=-1?-h:Math.asin(t)}function g(t){return t.innerRadius}function m(t){return t.outerRadius}function v(t){return t.startAngle}function y(t){return t.endAngle}function x(t){return t&&t.padAngle}function b(t,e,r,n,a,i,o,s){var l=r-t,c=n-e,u=o-a,h=s-i,f=h*l-u*c;if(!(f*f<1e-12))return[t+(f=(u*(e-i)-h*(t-a))/f)*l,e+f*c]}function _(t,e,r,n,a,i,s){var l=t-r,u=e-n,h=(s?i:-i)/c(l*l+u*u),f=h*u,p=-h*l,d=t+f,g=e+p,m=r+f,v=n+p,y=(d+m)/2,x=(g+v)/2,b=m-d,_=v-g,w=b*b+_*_,T=a-i,k=d*v-m*g,A=(_<0?-1:1)*c(o(0,T*T*w-k*k)),M=(k*_-b*A)/w,S=(-k*b-_*A)/w,E=(k*_+b*A)/w,C=(-k*b+_*A)/w,L=M-y,P=S-x,I=E-y,z=C-x;return L*L+P*P>I*I+z*z&&(M=E,S=C),{cx:M,cy:S,x01:-f,y01:-p,x11:M*(a/T-1),y11:S*(a/T-1)}}function w(t){this._context=t}function T(t){return new w(t)}function k(t){return t[0]}function A(t){return t[1]}function M(){var t=k,n=A,a=r(!0),i=null,o=T,s=null;function l(r){var l,c,u,h=r.length,f=!1;for(null==i&&(s=o(u=e.path())),l=0;l<=h;++l)!(l<h&&a(c=r[l],l,r))===f&&((f=!f)?s.lineStart():s.lineEnd()),f&&s.point(+t(c,l,r),+n(c,l,r));if(u)return s=null,u+\"\"||null}return l.x=function(e){return arguments.length?(t=\"function\"==typeof e?e:r(+e),l):t},l.y=function(t){return arguments.length?(n=\"function\"==typeof t?t:r(+t),l):n},l.defined=function(t){return arguments.length?(a=\"function\"==typeof t?t:r(!!t),l):a},l.curve=function(t){return arguments.length?(o=t,null!=i&&(s=o(i)),l):o},l.context=function(t){return arguments.length?(null==t?i=s=null:s=o(i=t),l):i},l}function S(){var t=k,n=null,a=r(0),i=A,o=r(!0),s=null,l=T,c=null;function u(r){var u,h,f,p,d,g=r.length,m=!1,v=new Array(g),y=new Array(g);for(null==s&&(c=l(d=e.path())),u=0;u<=g;++u){if(!(u<g&&o(p=r[u],u,r))===m)if(m=!m)h=u,c.areaStart(),c.lineStart();else{for(c.lineEnd(),c.lineStart(),f=u-1;f>=h;--f)c.point(v[f],y[f]);c.lineEnd(),c.areaEnd()}m&&(v[u]=+t(p,u,r),y[u]=+a(p,u,r),c.point(n?+n(p,u,r):v[u],i?+i(p,u,r):y[u]))}if(d)return c=null,d+\"\"||null}function h(){return M().defined(o).curve(l).context(s)}return u.x=function(e){return arguments.length?(t=\"function\"==typeof e?e:r(+e),n=null,u):t},u.x0=function(e){return arguments.length?(t=\"function\"==typeof e?e:r(+e),u):t},u.x1=function(t){return arguments.length?(n=null==t?null:\"function\"==typeof t?t:r(+t),u):n},u.y=function(t){return arguments.length?(a=\"function\"==typeof t?t:r(+t),i=null,u):a},u.y0=function(t){return arguments.length?(a=\"function\"==typeof t?t:r(+t),u):a},u.y1=function(t){return arguments.length?(i=null==t?null:\"function\"==typeof t?t:r(+t),u):i},u.lineX0=u.lineY0=function(){return h().x(t).y(a)},u.lineY1=function(){return h().x(t).y(i)},u.lineX1=function(){return h().x(n).y(a)},u.defined=function(t){return arguments.length?(o=\"function\"==typeof t?t:r(!!t),u):o},u.curve=function(t){return arguments.length?(l=t,null!=s&&(c=l(s)),u):l},u.context=function(t){return arguments.length?(null==t?s=c=null:c=l(s=t),u):s},u}function E(t,e){return e<t?-1:e>t?1:e>=t?0:NaN}function C(t){return t}w.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e)}}};var L=I(T);function P(t){this._curve=t}function I(t){function e(e){return new P(t(e))}return e._curve=t,e}function z(t){var e=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?e(I(t)):e()._curve},t}function O(){return z(M().curve(L))}function D(){var t=S().curve(L),e=t.curve,r=t.lineX0,n=t.lineX1,a=t.lineY0,i=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return z(r())},delete t.lineX0,t.lineEndAngle=function(){return z(n())},delete t.lineX1,t.lineInnerRadius=function(){return z(a())},delete t.lineY0,t.lineOuterRadius=function(){return z(i())},delete t.lineY1,t.curve=function(t){return arguments.length?e(I(t)):e()._curve},t}function R(t,e){return[(e=+e)*Math.cos(t-=Math.PI/2),e*Math.sin(t)]}P.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,e){this._curve.point(e*Math.sin(t),e*-Math.cos(t))}};var F=Array.prototype.slice;function B(t){return t.source}function N(t){return t.target}function j(t){var n=B,a=N,i=k,o=A,s=null;function l(){var r,l=F.call(arguments),c=n.apply(this,l),u=a.apply(this,l);if(s||(s=r=e.path()),t(s,+i.apply(this,(l[0]=c,l)),+o.apply(this,l),+i.apply(this,(l[0]=u,l)),+o.apply(this,l)),r)return s=null,r+\"\"||null}return l.source=function(t){return arguments.length?(n=t,l):n},l.target=function(t){return arguments.length?(a=t,l):a},l.x=function(t){return arguments.length?(i=\"function\"==typeof t?t:r(+t),l):i},l.y=function(t){return arguments.length?(o=\"function\"==typeof t?t:r(+t),l):o},l.context=function(t){return arguments.length?(s=null==t?null:t,l):s},l}function V(t,e,r,n,a){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,a,n,a)}function U(t,e,r,n,a){t.moveTo(e,r),t.bezierCurveTo(e,r=(r+a)/2,n,r,n,a)}function q(t,e,r,n,a){var i=R(e,r),o=R(e,r=(r+a)/2),s=R(n,r),l=R(n,a);t.moveTo(i[0],i[1]),t.bezierCurveTo(o[0],o[1],s[0],s[1],l[0],l[1])}var H={draw:function(t,e){var r=Math.sqrt(e/u);t.moveTo(r,0),t.arc(0,0,r,0,f)}},G={draw:function(t,e){var r=Math.sqrt(e/5)/2;t.moveTo(-3*r,-r),t.lineTo(-r,-r),t.lineTo(-r,-3*r),t.lineTo(r,-3*r),t.lineTo(r,-r),t.lineTo(3*r,-r),t.lineTo(3*r,r),t.lineTo(r,r),t.lineTo(r,3*r),t.lineTo(-r,3*r),t.lineTo(-r,r),t.lineTo(-3*r,r),t.closePath()}},Y=Math.sqrt(1/3),W=2*Y,Z={draw:function(t,e){var r=Math.sqrt(e/W),n=r*Y;t.moveTo(0,-r),t.lineTo(n,0),t.lineTo(0,r),t.lineTo(-n,0),t.closePath()}},X=Math.sin(u/10)/Math.sin(7*u/10),J=Math.sin(f/10)*X,K=-Math.cos(f/10)*X,Q={draw:function(t,e){var r=Math.sqrt(.8908130915292852*e),n=J*r,a=K*r;t.moveTo(0,-r),t.lineTo(n,a);for(var i=1;i<5;++i){var o=f*i/5,s=Math.cos(o),l=Math.sin(o);t.lineTo(l*r,-s*r),t.lineTo(s*n-l*a,l*n+s*a)}t.closePath()}},$={draw:function(t,e){var r=Math.sqrt(e),n=-r/2;t.rect(n,n,r,r)}},tt=Math.sqrt(3),et={draw:function(t,e){var r=-Math.sqrt(e/(3*tt));t.moveTo(0,2*r),t.lineTo(-tt*r,-r),t.lineTo(tt*r,-r),t.closePath()}},rt=-.5,nt=Math.sqrt(3)/2,at=1/Math.sqrt(12),it=3*(at/2+1),ot={draw:function(t,e){var r=Math.sqrt(e/it),n=r/2,a=r*at,i=n,o=r*at+r,s=-i,l=o;t.moveTo(n,a),t.lineTo(i,o),t.lineTo(s,l),t.lineTo(rt*n-nt*a,nt*n+rt*a),t.lineTo(rt*i-nt*o,nt*i+rt*o),t.lineTo(rt*s-nt*l,nt*s+rt*l),t.lineTo(rt*n+nt*a,rt*a-nt*n),t.lineTo(rt*i+nt*o,rt*o-nt*i),t.lineTo(rt*s+nt*l,rt*l-nt*s),t.closePath()}},st=[H,G,Z,$,Q,et,ot];function lt(){}function ct(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function ut(t){this._context=t}function ht(t){this._context=t}function ft(t){this._context=t}function pt(t,e){this._basis=new ut(t),this._beta=e}ut.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:ct(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:ct(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},ht.prototype={areaStart:lt,areaEnd:lt,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:ct(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},ft.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,n=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:ct(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},pt.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var n,a=t[0],i=e[0],o=t[r]-a,s=e[r]-i,l=-1;++l<=r;)n=l/r,this._basis.point(this._beta*t[l]+(1-this._beta)*(a+n*o),this._beta*e[l]+(1-this._beta)*(i+n*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var dt=function t(e){function r(t){return 1===e?new ut(t):new pt(t,e)}return r.beta=function(e){return t(+e)},r}(.85);function gt(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function mt(t,e){this._context=t,this._k=(1-e)/6}mt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:gt(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:gt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var vt=function t(e){function r(t){return new mt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function yt(t,e){this._context=t,this._k=(1-e)/6}yt.prototype={areaStart:lt,areaEnd:lt,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:gt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var xt=function t(e){function r(t){return new yt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function bt(t,e){this._context=t,this._k=(1-e)/6}bt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:gt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var _t=function t(e){function r(t){return new bt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function wt(t,e,r){var n=t._x1,a=t._y1,i=t._x2,o=t._y2;if(t._l01_a>1e-12){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,a=(a*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>1e-12){var c=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,u=3*t._l23_a*(t._l23_a+t._l12_a);i=(i*c+t._x1*t._l23_2a-e*t._l12_2a)/u,o=(o*c+t._y1*t._l23_2a-r*t._l12_2a)/u}t._context.bezierCurveTo(n,a,i,o,t._x2,t._y2)}function Tt(t,e){this._context=t,this._alpha=e}Tt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:wt(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var kt=function t(e){function r(t){return e?new Tt(t,e):new mt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function At(t,e){this._context=t,this._alpha=e}At.prototype={areaStart:lt,areaEnd:lt,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:wt(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Mt=function t(e){function r(t){return e?new At(t,e):new yt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function St(t,e){this._context=t,this._alpha=e}St.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:wt(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Et=function t(e){function r(t){return e?new St(t,e):new bt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function Ct(t){this._context=t}function Lt(t){return t<0?-1:1}function Pt(t,e,r){var n=t._x1-t._x0,a=e-t._x1,i=(t._y1-t._y0)/(n||a<0&&-0),o=(r-t._y1)/(a||n<0&&-0),s=(i*a+o*n)/(n+a);return(Lt(i)+Lt(o))*Math.min(Math.abs(i),Math.abs(o),.5*Math.abs(s))||0}function It(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function zt(t,e,r){var n=t._x0,a=t._y0,i=t._x1,o=t._y1,s=(i-n)/3;t._context.bezierCurveTo(n+s,a+s*e,i-s,o-s*r,i,o)}function Ot(t){this._context=t}function Dt(t){this._context=new Rt(t)}function Rt(t){this._context=t}function Ft(t){this._context=t}function Bt(t){var e,r,n=t.length-1,a=new Array(n),i=new Array(n),o=new Array(n);for(a[0]=0,i[0]=2,o[0]=t[0]+2*t[1],e=1;e<n-1;++e)a[e]=1,i[e]=4,o[e]=4*t[e]+2*t[e+1];for(a[n-1]=2,i[n-1]=7,o[n-1]=8*t[n-1]+t[n],e=1;e<n;++e)r=a[e]/i[e-1],i[e]-=r,o[e]-=r*o[e-1];for(a[n-1]=o[n-1]/i[n-1],e=n-2;e>=0;--e)a[e]=(o[e]-a[e+1])/i[e];for(i[n-1]=(t[n]+a[n-1])/2,e=0;e<n-1;++e)i[e]=2*t[e+1]-a[e+1];return[a,i]}function Nt(t,e){this._context=t,this._t=e}function jt(t,e){if((a=t.length)>1)for(var r,n,a,i=1,o=t[e[0]],s=o.length;i<a;++i)for(n=o,o=t[e[i]],r=0;r<s;++r)o[r][1]+=o[r][0]=isNaN(n[r][1])?n[r][0]:n[r][1]}function Vt(t){for(var e=t.length,r=new Array(e);--e>=0;)r[e]=e;return r}function Ut(t,e){return t[e]}function qt(t){var e=t.map(Ht);return Vt(t).sort((function(t,r){return e[t]-e[r]}))}function Ht(t){for(var e,r=-1,n=0,a=t.length,i=-1/0;++r<a;)(e=+t[r][1])>i&&(i=e,n=r);return n}function Gt(t){var e=t.map(Yt);return Vt(t).sort((function(t,r){return e[t]-e[r]}))}function Yt(t){for(var e,r=0,n=-1,a=t.length;++n<a;)(e=+t[n][1])&&(r+=e);return r}Ct.prototype={areaStart:lt,areaEnd:lt,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}},Ot.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:zt(this,this._t0,It(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var r=NaN;if(e=+e,(t=+t)!==this._x1||e!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,zt(this,It(this,r=Pt(this,t,e)),r);break;default:zt(this,this._t0,r=Pt(this,t,e))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}}},(Dt.prototype=Object.create(Ot.prototype)).point=function(t,e){Ot.prototype.point.call(this,e,t)},Rt.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,r,n,a,i){this._context.bezierCurveTo(e,t,n,r,i,a)}},Ft.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,r=t.length;if(r)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),2===r)this._context.lineTo(t[1],e[1]);else for(var n=Bt(t),a=Bt(e),i=0,o=1;o<r;++i,++o)this._context.bezierCurveTo(n[0][i],a[0][i],n[1][i],a[1][i],t[o],e[o]);(this._line||0!==this._line&&1===r)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}},Nt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}}this._x=t,this._y=e}},t.arc=function(){var t=g,o=m,w=r(0),T=null,k=v,A=y,M=x,S=null;function E(){var r,g,m=+t.apply(this,arguments),v=+o.apply(this,arguments),y=k.apply(this,arguments)-h,x=A.apply(this,arguments)-h,E=n(x-y),C=x>y;if(S||(S=r=e.path()),v<m&&(g=v,v=m,m=g),v>1e-12)if(E>f-1e-12)S.moveTo(v*i(y),v*l(y)),S.arc(0,0,v,y,x,!C),m>1e-12&&(S.moveTo(m*i(x),m*l(x)),S.arc(0,0,m,x,y,C));else{var L,P,I=y,z=x,O=y,D=x,R=E,F=E,B=M.apply(this,arguments)/2,N=B>1e-12&&(T?+T.apply(this,arguments):c(m*m+v*v)),j=s(n(v-m)/2,+w.apply(this,arguments)),V=j,U=j;if(N>1e-12){var q=d(N/m*l(B)),H=d(N/v*l(B));(R-=2*q)>1e-12?(O+=q*=C?1:-1,D-=q):(R=0,O=D=(y+x)/2),(F-=2*H)>1e-12?(I+=H*=C?1:-1,z-=H):(F=0,I=z=(y+x)/2)}var G=v*i(I),Y=v*l(I),W=m*i(D),Z=m*l(D);if(j>1e-12){var X,J=v*i(z),K=v*l(z),Q=m*i(O),$=m*l(O);if(E<u&&(X=b(G,Y,Q,$,J,K,W,Z))){var tt=G-X[0],et=Y-X[1],rt=J-X[0],nt=K-X[1],at=1/l(p((tt*rt+et*nt)/(c(tt*tt+et*et)*c(rt*rt+nt*nt)))/2),it=c(X[0]*X[0]+X[1]*X[1]);V=s(j,(m-it)/(at-1)),U=s(j,(v-it)/(at+1))}}F>1e-12?U>1e-12?(L=_(Q,$,G,Y,v,U,C),P=_(J,K,W,Z,v,U,C),S.moveTo(L.cx+L.x01,L.cy+L.y01),U<j?S.arc(L.cx,L.cy,U,a(L.y01,L.x01),a(P.y01,P.x01),!C):(S.arc(L.cx,L.cy,U,a(L.y01,L.x01),a(L.y11,L.x11),!C),S.arc(0,0,v,a(L.cy+L.y11,L.cx+L.x11),a(P.cy+P.y11,P.cx+P.x11),!C),S.arc(P.cx,P.cy,U,a(P.y11,P.x11),a(P.y01,P.x01),!C))):(S.moveTo(G,Y),S.arc(0,0,v,I,z,!C)):S.moveTo(G,Y),m>1e-12&&R>1e-12?V>1e-12?(L=_(W,Z,J,K,m,-V,C),P=_(G,Y,Q,$,m,-V,C),S.lineTo(L.cx+L.x01,L.cy+L.y01),V<j?S.arc(L.cx,L.cy,V,a(L.y01,L.x01),a(P.y01,P.x01),!C):(S.arc(L.cx,L.cy,V,a(L.y01,L.x01),a(L.y11,L.x11),!C),S.arc(0,0,m,a(L.cy+L.y11,L.cx+L.x11),a(P.cy+P.y11,P.cx+P.x11),C),S.arc(P.cx,P.cy,V,a(P.y11,P.x11),a(P.y01,P.x01),!C))):S.arc(0,0,m,D,O,C):S.lineTo(W,Z)}else S.moveTo(0,0);if(S.closePath(),r)return S=null,r+\"\"||null}return E.centroid=function(){var e=(+t.apply(this,arguments)+ +o.apply(this,arguments))/2,r=(+k.apply(this,arguments)+ +A.apply(this,arguments))/2-u/2;return[i(r)*e,l(r)*e]},E.innerRadius=function(e){return arguments.length?(t=\"function\"==typeof e?e:r(+e),E):t},E.outerRadius=function(t){return arguments.length?(o=\"function\"==typeof t?t:r(+t),E):o},E.cornerRadius=function(t){return arguments.length?(w=\"function\"==typeof t?t:r(+t),E):w},E.padRadius=function(t){return arguments.length?(T=null==t?null:\"function\"==typeof t?t:r(+t),E):T},E.startAngle=function(t){return arguments.length?(k=\"function\"==typeof t?t:r(+t),E):k},E.endAngle=function(t){return arguments.length?(A=\"function\"==typeof t?t:r(+t),E):A},E.padAngle=function(t){return arguments.length?(M=\"function\"==typeof t?t:r(+t),E):M},E.context=function(t){return arguments.length?(S=null==t?null:t,E):S},E},t.area=S,t.areaRadial=D,t.curveBasis=function(t){return new ut(t)},t.curveBasisClosed=function(t){return new ht(t)},t.curveBasisOpen=function(t){return new ft(t)},t.curveBundle=dt,t.curveCardinal=vt,t.curveCardinalClosed=xt,t.curveCardinalOpen=_t,t.curveCatmullRom=kt,t.curveCatmullRomClosed=Mt,t.curveCatmullRomOpen=Et,t.curveLinear=T,t.curveLinearClosed=function(t){return new Ct(t)},t.curveMonotoneX=function(t){return new Ot(t)},t.curveMonotoneY=function(t){return new Dt(t)},t.curveNatural=function(t){return new Ft(t)},t.curveStep=function(t){return new Nt(t,.5)},t.curveStepAfter=function(t){return new Nt(t,1)},t.curveStepBefore=function(t){return new Nt(t,0)},t.line=M,t.lineRadial=O,t.linkHorizontal=function(){return j(V)},t.linkRadial=function(){var t=j(q);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t},t.linkVertical=function(){return j(U)},t.pie=function(){var t=C,e=E,n=null,a=r(0),i=r(f),o=r(0);function s(r){var s,l,c,u,h,p=r.length,d=0,g=new Array(p),m=new Array(p),v=+a.apply(this,arguments),y=Math.min(f,Math.max(-f,i.apply(this,arguments)-v)),x=Math.min(Math.abs(y)/p,o.apply(this,arguments)),b=x*(y<0?-1:1);for(s=0;s<p;++s)(h=m[g[s]=s]=+t(r[s],s,r))>0&&(d+=h);for(null!=e?g.sort((function(t,r){return e(m[t],m[r])})):null!=n&&g.sort((function(t,e){return n(r[t],r[e])})),s=0,c=d?(y-p*b)/d:0;s<p;++s,v=u)l=g[s],u=v+((h=m[l])>0?h*c:0)+b,m[l]={data:r[l],index:s,value:h,startAngle:v,endAngle:u,padAngle:x};return m}return s.value=function(e){return arguments.length?(t=\"function\"==typeof e?e:r(+e),s):t},s.sortValues=function(t){return arguments.length?(e=t,n=null,s):e},s.sort=function(t){return arguments.length?(n=t,e=null,s):n},s.startAngle=function(t){return arguments.length?(a=\"function\"==typeof t?t:r(+t),s):a},s.endAngle=function(t){return arguments.length?(i=\"function\"==typeof t?t:r(+t),s):i},s.padAngle=function(t){return arguments.length?(o=\"function\"==typeof t?t:r(+t),s):o},s},t.pointRadial=R,t.radialArea=D,t.radialLine=O,t.stack=function(){var t=r([]),e=Vt,n=jt,a=Ut;function i(r){var i,o,s=t.apply(this,arguments),l=r.length,c=s.length,u=new Array(c);for(i=0;i<c;++i){for(var h,f=s[i],p=u[i]=new Array(l),d=0;d<l;++d)p[d]=h=[0,+a(r[d],f,d,r)],h.data=r[d];p.key=f}for(i=0,o=e(u);i<c;++i)u[o[i]].index=i;return n(u,o),u}return i.keys=function(e){return arguments.length?(t=\"function\"==typeof e?e:r(F.call(e)),i):t},i.value=function(t){return arguments.length?(a=\"function\"==typeof t?t:r(+t),i):a},i.order=function(t){return arguments.length?(e=null==t?Vt:\"function\"==typeof t?t:r(F.call(t)),i):e},i.offset=function(t){return arguments.length?(n=null==t?jt:t,i):n},i},t.stackOffsetDiverging=function(t,e){if((s=t.length)>0)for(var r,n,a,i,o,s,l=0,c=t[e[0]].length;l<c;++l)for(i=o=0,r=0;r<s;++r)(a=(n=t[e[r]][l])[1]-n[0])>0?(n[0]=i,n[1]=i+=a):a<0?(n[1]=o,n[0]=o+=a):(n[0]=0,n[1]=a)},t.stackOffsetExpand=function(t,e){if((n=t.length)>0){for(var r,n,a,i=0,o=t[0].length;i<o;++i){for(a=r=0;r<n;++r)a+=t[r][i][1]||0;if(a)for(r=0;r<n;++r)t[r][i][1]/=a}jt(t,e)}},t.stackOffsetNone=jt,t.stackOffsetSilhouette=function(t,e){if((r=t.length)>0){for(var r,n=0,a=t[e[0]],i=a.length;n<i;++n){for(var o=0,s=0;o<r;++o)s+=t[o][n][1]||0;a[n][1]+=a[n][0]=-s/2}jt(t,e)}},t.stackOffsetWiggle=function(t,e){if((a=t.length)>0&&(n=(r=t[e[0]]).length)>0){for(var r,n,a,i=0,o=1;o<n;++o){for(var s=0,l=0,c=0;s<a;++s){for(var u=t[e[s]],h=u[o][1]||0,f=(h-(u[o-1][1]||0))/2,p=0;p<s;++p){var d=t[e[p]];f+=(d[o][1]||0)-(d[o-1][1]||0)}l+=h,c+=f*h}r[o-1][1]+=r[o-1][0]=i,l&&(i-=c/l)}r[o-1][1]+=r[o-1][0]=i,jt(t,e)}},t.stackOrderAppearance=qt,t.stackOrderAscending=Gt,t.stackOrderDescending=function(t){return Gt(t).reverse()},t.stackOrderInsideOut=function(t){var e,r,n=t.length,a=t.map(Yt),i=qt(t),o=0,s=0,l=[],c=[];for(e=0;e<n;++e)r=i[e],o<s?(o+=a[r],l.push(r)):(s+=a[r],c.push(r));return c.reverse().concat(l)},t.stackOrderNone=Vt,t.stackOrderReverse=function(t){return Vt(t).reverse()},t.symbol=function(){var t=r(H),n=r(64),a=null;function i(){var r;if(a||(a=r=e.path()),t.apply(this,arguments).draw(a,+n.apply(this,arguments)),r)return a=null,r+\"\"||null}return i.type=function(e){return arguments.length?(t=\"function\"==typeof e?e:r(e),i):t},i.size=function(t){return arguments.length?(n=\"function\"==typeof t?t:r(+t),i):n},i.context=function(t){return arguments.length?(a=null==t?null:t,i):a},i},t.symbolCircle=H,t.symbolCross=G,t.symbolDiamond=Z,t.symbolSquare=$,t.symbolStar=Q,t.symbolTriangle=et,t.symbolWye=ot,t.symbols=st,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{\"d3-path\":160}],163:[function(t,e,r){!function(t,n){\"object\"==typeof r&&\"undefined\"!=typeof e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){\"use strict\";var e,r,n=0,a=0,i=0,o=0,s=0,l=0,c=\"object\"==typeof performance&&performance.now?performance:Date,u=\"object\"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function h(){return s||(u(f),s=c.now()+l)}function f(){s=0}function p(){this._call=this._time=this._next=null}function d(t,e,r){var n=new p;return n.restart(t,e,r),n}function g(){h(),++n;for(var t,r=e;r;)(t=s-r._time)>=0&&r._call.call(null,t),r=r._next;--n}function m(){s=(o=c.now())+l,n=a=0;try{g()}finally{n=0,function(){var t,n,a=e,i=1/0;for(;a;)a._call?(i>a._time&&(i=a._time),t=a,a=a._next):(n=a._next,a._next=null,a=t?t._next=n:e=n);r=t,y(i)}(),s=0}}function v(){var t=c.now(),e=t-o;e>1e3&&(l-=e,o=t)}function y(t){n||(a&&(a=clearTimeout(a)),t-s>24?(t<1/0&&(a=setTimeout(m,t-c.now()-l)),i&&(i=clearInterval(i))):(i||(o=c.now(),i=setInterval(v,1e3)),n=1,u(m)))}p.prototype=d.prototype={constructor:p,restart:function(t,n,a){if(\"function\"!=typeof t)throw new TypeError(\"callback is not a function\");a=(null==a?h():+a)+(null==n?0:+n),this._next||r===this||(r?r._next=this:e=this,r=this),this._call=t,this._time=a,y()},stop:function(){this._call&&(this._call=null,this._time=1/0,y())}},t.interval=function(t,e,r){var n=new p,a=e;return null==e?(n.restart(t,e,r),n):(e=+e,r=null==r?h():+r,n.restart((function i(o){o+=a,n.restart(i,a+=e,r),t(o)}),e,r),n)},t.now=h,t.timeout=function(t,e,r){var n=new p;return e=null==e?0:+e,n.restart((function(r){n.stop(),t(r+e)}),e,r),n},t.timer=d,t.timerFlush=g,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{}],164:[function(t,e,r){!function(){var t={version:\"3.5.17\"},r=[].slice,n=function(t){return r.call(t)},a=this.document;function i(t){return t&&(t.ownerDocument||t.document||t).documentElement}function o(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}if(a)try{n(a.documentElement.childNodes)[0].nodeType}catch(t){n=function(t){for(var e=t.length,r=new Array(e);e--;)r[e]=t[e];return r}}if(Date.now||(Date.now=function(){return+new Date}),a)try{a.createElement(\"DIV\").style.setProperty(\"opacity\",0,\"\")}catch(t){var s=this.Element.prototype,l=s.setAttribute,c=s.setAttributeNS,u=this.CSSStyleDeclaration.prototype,h=u.setProperty;s.setAttribute=function(t,e){l.call(this,t,e+\"\")},s.setAttributeNS=function(t,e,r){c.call(this,t,e,r+\"\")},u.setProperty=function(t,e,r){h.call(this,t,e+\"\",r)}}function f(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function p(t){return null===t?NaN:+t}function d(t){return!isNaN(t)}function g(t){return{left:function(e,r,n,a){for(arguments.length<3&&(n=0),arguments.length<4&&(a=e.length);n<a;){var i=n+a>>>1;t(e[i],r)<0?n=i+1:a=i}return n},right:function(e,r,n,a){for(arguments.length<3&&(n=0),arguments.length<4&&(a=e.length);n<a;){var i=n+a>>>1;t(e[i],r)>0?a=i:n=i+1}return n}}}t.ascending=f,t.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},t.min=function(t,e){var r,n,a=-1,i=t.length;if(1===arguments.length){for(;++a<i;)if(null!=(n=t[a])&&n>=n){r=n;break}for(;++a<i;)null!=(n=t[a])&&r>n&&(r=n)}else{for(;++a<i;)if(null!=(n=e.call(t,t[a],a))&&n>=n){r=n;break}for(;++a<i;)null!=(n=e.call(t,t[a],a))&&r>n&&(r=n)}return r},t.max=function(t,e){var r,n,a=-1,i=t.length;if(1===arguments.length){for(;++a<i;)if(null!=(n=t[a])&&n>=n){r=n;break}for(;++a<i;)null!=(n=t[a])&&n>r&&(r=n)}else{for(;++a<i;)if(null!=(n=e.call(t,t[a],a))&&n>=n){r=n;break}for(;++a<i;)null!=(n=e.call(t,t[a],a))&&n>r&&(r=n)}return r},t.extent=function(t,e){var r,n,a,i=-1,o=t.length;if(1===arguments.length){for(;++i<o;)if(null!=(n=t[i])&&n>=n){r=a=n;break}for(;++i<o;)null!=(n=t[i])&&(r>n&&(r=n),a<n&&(a=n))}else{for(;++i<o;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=a=n;break}for(;++i<o;)null!=(n=e.call(t,t[i],i))&&(r>n&&(r=n),a<n&&(a=n))}return[r,a]},t.sum=function(t,e){var r,n=0,a=t.length,i=-1;if(1===arguments.length)for(;++i<a;)d(r=+t[i])&&(n+=r);else for(;++i<a;)d(r=+e.call(t,t[i],i))&&(n+=r);return n},t.mean=function(t,e){var r,n=0,a=t.length,i=-1,o=a;if(1===arguments.length)for(;++i<a;)d(r=p(t[i]))?n+=r:--o;else for(;++i<a;)d(r=p(e.call(t,t[i],i)))?n+=r:--o;if(o)return n/o},t.quantile=function(t,e){var r=(t.length-1)*e+1,n=Math.floor(r),a=+t[n-1],i=r-n;return i?a+i*(t[n]-a):a},t.median=function(e,r){var n,a=[],i=e.length,o=-1;if(1===arguments.length)for(;++o<i;)d(n=p(e[o]))&&a.push(n);else for(;++o<i;)d(n=p(r.call(e,e[o],o)))&&a.push(n);if(a.length)return t.quantile(a.sort(f),.5)},t.variance=function(t,e){var r,n,a=t.length,i=0,o=0,s=-1,l=0;if(1===arguments.length)for(;++s<a;)d(r=p(t[s]))&&(o+=(n=r-i)*(r-(i+=n/++l)));else for(;++s<a;)d(r=p(e.call(t,t[s],s)))&&(o+=(n=r-i)*(r-(i+=n/++l)));if(l>1)return o/(l-1)},t.deviation=function(){var e=t.variance.apply(this,arguments);return e?Math.sqrt(e):e};var m=g(f);function v(t){return t.length}t.bisectLeft=m.left,t.bisect=t.bisectRight=m.right,t.bisector=function(t){return g(1===t.length?function(e,r){return f(t(e),r)}:t)},t.shuffle=function(t,e,r){(i=arguments.length)<3&&(r=t.length,i<2&&(e=0));for(var n,a,i=r-e;i;)a=Math.random()*i--|0,n=t[i+e],t[i+e]=t[a+e],t[a+e]=n;return t},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],a=new Array(r<0?0:r);e<r;)a[e]=[n,n=t[++e]];return a},t.transpose=function(e){if(!(i=e.length))return[];for(var r=-1,n=t.min(e,v),a=new Array(n);++r<n;)for(var i,o=-1,s=a[r]=new Array(i);++o<i;)s[o]=e[o][r];return a},t.zip=function(){return t.transpose(arguments)},t.keys=function(t){var e=[];for(var r in t)e.push(r);return e},t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},t.merge=function(t){for(var e,r,n,a=t.length,i=-1,o=0;++i<a;)o+=t[i].length;for(r=new Array(o);--a>=0;)for(e=(n=t[a]).length;--e>=0;)r[--o]=n[e];return r};var y=Math.abs;function x(t){for(var e=1;t*e%1;)e*=10;return e}function b(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function _(){this._=Object.create(null)}t.range=function(t,e,r){if(arguments.length<3&&(r=1,arguments.length<2&&(e=t,t=0)),(e-t)/r==1/0)throw new Error(\"infinite range\");var n,a=[],i=x(y(r)),o=-1;if(t*=i,e*=i,(r*=i)<0)for(;(n=t+r*++o)>e;)a.push(n/i);else for(;(n=t+r*++o)<e;)a.push(n/i);return a},t.map=function(t,e){var r=new _;if(t instanceof _)t.forEach((function(t,e){r.set(t,e)}));else if(Array.isArray(t)){var n,a=-1,i=t.length;if(1===arguments.length)for(;++a<i;)r.set(a,t[a]);else for(;++a<i;)r.set(e.call(t,n=t[a],a),n)}else for(var o in t)r.set(o,t[o]);return r};function w(t){return\"__proto__\"==(t+=\"\")||\"\\0\"===t[0]?\"\\0\"+t:t}function T(t){return\"\\0\"===(t+=\"\")[0]?t.slice(1):t}function k(t){return w(t)in this._}function A(t){return(t=w(t))in this._&&delete this._[t]}function M(){var t=[];for(var e in this._)t.push(T(e));return t}function S(){var t=0;for(var e in this._)++t;return t}function E(){for(var t in this._)return!1;return!0}function C(){this._=Object.create(null)}function L(t){return t}function P(t,e,r){return function(){var n=r.apply(e,arguments);return n===e?t:n}}function I(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var r=0,n=z.length;r<n;++r){var a=z[r]+e;if(a in t)return a}}b(_,{has:k,get:function(t){return this._[w(t)]},set:function(t,e){return this._[w(t)]=e},remove:A,keys:M,values:function(){var t=[];for(var e in this._)t.push(this._[e]);return t},entries:function(){var t=[];for(var e in this._)t.push({key:T(e),value:this._[e]});return t},size:S,empty:E,forEach:function(t){for(var e in this._)t.call(this,T(e),this._[e])}}),t.nest=function(){var e,r,n={},a=[],i=[];function o(t,i,s){if(s>=a.length)return r?r.call(n,i):e?i.sort(e):i;for(var l,c,u,h,f=-1,p=i.length,d=a[s++],g=new _;++f<p;)(h=g.get(l=d(c=i[f])))?h.push(c):g.set(l,[c]);return t?(c=t(),u=function(e,r){c.set(e,o(t,r,s))}):(c={},u=function(e,r){c[e]=o(t,r,s)}),g.forEach(u),c}return n.map=function(t,e){return o(e,t,0)},n.entries=function(e){return function t(e,r){if(r>=a.length)return e;var n=[],o=i[r++];return e.forEach((function(e,a){n.push({key:e,values:t(a,r)})})),o?n.sort((function(t,e){return o(t.key,e.key)})):n}(o(t.map,e,0),0)},n.key=function(t){return a.push(t),n},n.sortKeys=function(t){return i[a.length-1]=t,n},n.sortValues=function(t){return e=t,n},n.rollup=function(t){return r=t,n},n},t.set=function(t){var e=new C;if(t)for(var r=0,n=t.length;r<n;++r)e.add(t[r]);return e},b(C,{has:k,add:function(t){return this._[w(t+=\"\")]=!0,t},remove:A,values:M,size:S,empty:E,forEach:function(t){for(var e in this._)t.call(this,T(e))}}),t.behavior={},t.rebind=function(t,e){for(var r,n=1,a=arguments.length;++n<a;)t[r=arguments[n]]=P(t,e,e[r]);return t};var z=[\"webkit\",\"ms\",\"moz\",\"Moz\",\"o\",\"O\"];function O(){}function D(){}function R(t){var e=[],r=new _;function n(){for(var r,n=e,a=-1,i=n.length;++a<i;)(r=n[a].on)&&r.apply(this,arguments);return t}return n.on=function(n,a){var i,o=r.get(n);return arguments.length<2?o&&o.on:(o&&(o.on=null,e=e.slice(0,i=e.indexOf(o)).concat(e.slice(i+1)),r.remove(n)),a&&e.push(r.set(n,{on:a})),t)},n}function F(){t.event.preventDefault()}function B(){for(var e,r=t.event;e=r.sourceEvent;)r=e;return r}function N(e){for(var r=new D,n=0,a=arguments.length;++n<a;)r[arguments[n]]=R(r);return r.of=function(n,a){return function(i){try{var o=i.sourceEvent=t.event;i.target=e,t.event=i,r[i.type].apply(n,a)}finally{t.event=o}}},r}t.dispatch=function(){for(var t=new D,e=-1,r=arguments.length;++e<r;)t[arguments[e]]=R(t);return t},D.prototype.on=function(t,e){var r=t.indexOf(\".\"),n=\"\";if(r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),t)return arguments.length<2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(n,null);return this}},t.event=null,t.requote=function(t){return t.replace(j,\"\\\\$&\")};var j=/[\\\\\\^\\$\\*\\+\\?\\|\\[\\]\\(\\)\\.\\{\\}]/g,V={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function U(t){return V(t,Y),t}var q=function(t,e){return e.querySelector(t)},H=function(t,e){return e.querySelectorAll(t)},G=function(t,e){var r=t.matches||t[I(t,\"matchesSelector\")];return(G=function(t,e){return r.call(t,e)})(t,e)};\"function\"==typeof Sizzle&&(q=function(t,e){return Sizzle(t,e)[0]||null},H=Sizzle,G=Sizzle.matchesSelector),t.selection=function(){return t.select(a.documentElement)};var Y=t.selection.prototype=[];function W(t){return\"function\"==typeof t?t:function(){return q(t,this)}}function Z(t){return\"function\"==typeof t?t:function(){return H(t,this)}}Y.select=function(t){var e,r,n,a,i=[];t=W(t);for(var o=-1,s=this.length;++o<s;){i.push(e=[]),e.parentNode=(n=this[o]).parentNode;for(var l=-1,c=n.length;++l<c;)(a=n[l])?(e.push(r=t.call(a,a.__data__,l,o)),r&&\"__data__\"in a&&(r.__data__=a.__data__)):e.push(null)}return U(i)},Y.selectAll=function(t){var e,r,a=[];t=Z(t);for(var i=-1,o=this.length;++i<o;)for(var s=this[i],l=-1,c=s.length;++l<c;)(r=s[l])&&(a.push(e=n(t.call(r,r.__data__,l,i))),e.parentNode=r);return U(a)};var X=\"http://www.w3.org/1999/xhtml\",J={svg:\"http://www.w3.org/2000/svg\",xhtml:X,xlink:\"http://www.w3.org/1999/xlink\",xml:\"http://www.w3.org/XML/1998/namespace\",xmlns:\"http://www.w3.org/2000/xmlns/\"};function K(e,r){return e=t.ns.qualify(e),null==r?e.local?function(){this.removeAttributeNS(e.space,e.local)}:function(){this.removeAttribute(e)}:\"function\"==typeof r?e.local?function(){var t=r.apply(this,arguments);null==t?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,t)}:function(){var t=r.apply(this,arguments);null==t?this.removeAttribute(e):this.setAttribute(e,t)}:e.local?function(){this.setAttributeNS(e.space,e.local,r)}:function(){this.setAttribute(e,r)}}function Q(t){return t.trim().replace(/\\s+/g,\" \")}function $(e){return new RegExp(\"(?:^|\\\\s+)\"+t.requote(e)+\"(?:\\\\s+|$)\",\"g\")}function tt(t){return(t+\"\").trim().split(/^|\\s+/)}function et(t,e){var r=(t=tt(t).map(rt)).length;return\"function\"==typeof e?function(){for(var n=-1,a=e.apply(this,arguments);++n<r;)t[n](this,a)}:function(){for(var n=-1;++n<r;)t[n](this,e)}}function rt(t){var e=$(t);return function(r,n){if(a=r.classList)return n?a.add(t):a.remove(t);var a=r.getAttribute(\"class\")||\"\";n?(e.lastIndex=0,e.test(a)||r.setAttribute(\"class\",Q(a+\" \"+t))):r.setAttribute(\"class\",Q(a.replace(e,\" \")))}}function nt(t,e,r){return null==e?function(){this.style.removeProperty(t)}:\"function\"==typeof e?function(){var n=e.apply(this,arguments);null==n?this.style.removeProperty(t):this.style.setProperty(t,n,r)}:function(){this.style.setProperty(t,e,r)}}function at(t,e){return null==e?function(){delete this[t]}:\"function\"==typeof e?function(){var r=e.apply(this,arguments);null==r?delete this[t]:this[t]=r}:function(){this[t]=e}}function it(e){return\"function\"==typeof e?e:(e=t.ns.qualify(e)).local?function(){return this.ownerDocument.createElementNS(e.space,e.local)}:function(){var t=this.ownerDocument,r=this.namespaceURI;return r===X&&t.documentElement.namespaceURI===X?t.createElement(e):t.createElementNS(r,e)}}function ot(){var t=this.parentNode;t&&t.removeChild(this)}function st(t){return{__data__:t}}function lt(t){return function(){return G(this,t)}}function ct(t){return arguments.length||(t=f),function(e,r){return e&&r?t(e.__data__,r.__data__):!e-!r}}function ut(t,e){for(var r=0,n=t.length;r<n;r++)for(var a,i=t[r],o=0,s=i.length;o<s;o++)(a=i[o])&&e(a,o,r);return t}function ht(t){return V(t,ft),t}t.ns={prefix:J,qualify:function(t){var e=t.indexOf(\":\"),r=t;return e>=0&&\"xmlns\"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),J.hasOwnProperty(r)?{space:J[r],local:t}:t}},Y.attr=function(e,r){if(arguments.length<2){if(\"string\"==typeof e){var n=this.node();return(e=t.ns.qualify(e)).local?n.getAttributeNS(e.space,e.local):n.getAttribute(e)}for(r in e)this.each(K(r,e[r]));return this}return this.each(K(e,r))},Y.classed=function(t,e){if(arguments.length<2){if(\"string\"==typeof t){var r=this.node(),n=(t=tt(t)).length,a=-1;if(e=r.classList){for(;++a<n;)if(!e.contains(t[a]))return!1}else for(e=r.getAttribute(\"class\");++a<n;)if(!$(t[a]).test(e))return!1;return!0}for(e in t)this.each(et(e,t[e]));return this}return this.each(et(t,e))},Y.style=function(t,e,r){var n=arguments.length;if(n<3){if(\"string\"!=typeof t){for(r in n<2&&(e=\"\"),t)this.each(nt(r,t[r],e));return this}if(n<2){var a=this.node();return o(a).getComputedStyle(a,null).getPropertyValue(t)}r=\"\"}return this.each(nt(t,e,r))},Y.property=function(t,e){if(arguments.length<2){if(\"string\"==typeof t)return this.node()[t];for(e in t)this.each(at(e,t[e]));return this}return this.each(at(t,e))},Y.text=function(t){return arguments.length?this.each(\"function\"==typeof t?function(){var e=t.apply(this,arguments);this.textContent=null==e?\"\":e}:null==t?function(){this.textContent=\"\"}:function(){this.textContent=t}):this.node().textContent},Y.html=function(t){return arguments.length?this.each(\"function\"==typeof t?function(){var e=t.apply(this,arguments);this.innerHTML=null==e?\"\":e}:null==t?function(){this.innerHTML=\"\"}:function(){this.innerHTML=t}):this.node().innerHTML},Y.append=function(t){return t=it(t),this.select((function(){return this.appendChild(t.apply(this,arguments))}))},Y.insert=function(t,e){return t=it(t),e=W(e),this.select((function(){return this.insertBefore(t.apply(this,arguments),e.apply(this,arguments)||null)}))},Y.remove=function(){return this.each(ot)},Y.data=function(t,e){var r,n,a=-1,i=this.length;if(!arguments.length){for(t=new Array(i=(r=this[0]).length);++a<i;)(n=r[a])&&(t[a]=n.__data__);return t}function o(t,r){var n,a,i,o=t.length,u=r.length,h=Math.min(o,u),f=new Array(u),p=new Array(u),d=new Array(o);if(e){var g,m=new _,v=new Array(o);for(n=-1;++n<o;)(a=t[n])&&(m.has(g=e.call(a,a.__data__,n))?d[n]=a:m.set(g,a),v[n]=g);for(n=-1;++n<u;)(a=m.get(g=e.call(r,i=r[n],n)))?!0!==a&&(f[n]=a,a.__data__=i):p[n]=st(i),m.set(g,!0);for(n=-1;++n<o;)n in v&&!0!==m.get(v[n])&&(d[n]=t[n])}else{for(n=-1;++n<h;)a=t[n],i=r[n],a?(a.__data__=i,f[n]=a):p[n]=st(i);for(;n<u;++n)p[n]=st(r[n]);for(;n<o;++n)d[n]=t[n]}p.update=f,p.parentNode=f.parentNode=d.parentNode=t.parentNode,s.push(p),l.push(f),c.push(d)}var s=ht([]),l=U([]),c=U([]);if(\"function\"==typeof t)for(;++a<i;)o(r=this[a],t.call(r,r.parentNode.__data__,a));else for(;++a<i;)o(r=this[a],t);return l.enter=function(){return s},l.exit=function(){return c},l},Y.datum=function(t){return arguments.length?this.property(\"__data__\",t):this.property(\"__data__\")},Y.filter=function(t){var e,r,n,a=[];\"function\"!=typeof t&&(t=lt(t));for(var i=0,o=this.length;i<o;i++){a.push(e=[]),e.parentNode=(r=this[i]).parentNode;for(var s=0,l=r.length;s<l;s++)(n=r[s])&&t.call(n,n.__data__,s,i)&&e.push(n)}return U(a)},Y.order=function(){for(var t=-1,e=this.length;++t<e;)for(var r,n=this[t],a=n.length-1,i=n[a];--a>=0;)(r=n[a])&&(i&&i!==r.nextSibling&&i.parentNode.insertBefore(r,i),i=r);return this},Y.sort=function(t){t=ct.apply(this,arguments);for(var e=-1,r=this.length;++e<r;)this[e].sort(t);return this.order()},Y.each=function(t){return ut(this,(function(e,r,n){t.call(e,e.__data__,r,n)}))},Y.call=function(t){var e=n(arguments);return t.apply(e[0]=this,e),this},Y.empty=function(){return!this.node()},Y.node=function(){for(var t=0,e=this.length;t<e;t++)for(var r=this[t],n=0,a=r.length;n<a;n++){var i=r[n];if(i)return i}return null},Y.size=function(){var t=0;return ut(this,(function(){++t})),t};var ft=[];function pt(t){var e,r;return function(n,a,i){var o,s=t[i].update,l=s.length;for(i!=r&&(r=i,e=0),a>=e&&(e=a+1);!(o=s[e])&&++e<l;);return o}}function dt(e,r,a){var i=\"__on\"+e,o=e.indexOf(\".\"),s=mt;o>0&&(e=e.slice(0,o));var l=gt.get(e);function c(){var t=this[i];t&&(this.removeEventListener(e,t,t.$),delete this[i])}return l&&(e=l,s=vt),o?r?function(){var t=s(r,n(arguments));c.call(this),this.addEventListener(e,this[i]=t,t.$=a),t._=r}:c:r?O:function(){var r,n=new RegExp(\"^__on([^.]+)\"+t.requote(e)+\"$\");for(var a in this)if(r=a.match(n)){var i=this[a];this.removeEventListener(r[1],i,i.$),delete this[a]}}}t.selection.enter=ht,t.selection.enter.prototype=ft,ft.append=Y.append,ft.empty=Y.empty,ft.node=Y.node,ft.call=Y.call,ft.size=Y.size,ft.select=function(t){for(var e,r,n,a,i,o=[],s=-1,l=this.length;++s<l;){n=(a=this[s]).update,o.push(e=[]),e.parentNode=a.parentNode;for(var c=-1,u=a.length;++c<u;)(i=a[c])?(e.push(n[c]=r=t.call(a.parentNode,i.__data__,c,s)),r.__data__=i.__data__):e.push(null)}return U(o)},ft.insert=function(t,e){return arguments.length<2&&(e=pt(this)),Y.insert.call(this,t,e)},t.select=function(t){var e;return\"string\"==typeof t?(e=[q(t,a)]).parentNode=a.documentElement:(e=[t]).parentNode=i(t),U([e])},t.selectAll=function(t){var e;return\"string\"==typeof t?(e=n(H(t,a))).parentNode=a.documentElement:(e=n(t)).parentNode=null,U([e])},Y.on=function(t,e,r){var n=arguments.length;if(n<3){if(\"string\"!=typeof t){for(r in n<2&&(e=!1),t)this.each(dt(r,t[r],e));return this}if(n<2)return(n=this.node()[\"__on\"+t])&&n._;r=!1}return this.each(dt(t,e,r))};var gt=t.map({mouseenter:\"mouseover\",mouseleave:\"mouseout\"});function mt(e,r){return function(n){var a=t.event;t.event=n,r[0]=this.__data__;try{e.apply(this,r)}finally{t.event=a}}}function vt(t,e){var r=mt(t,e);return function(t){var e=t.relatedTarget;e&&(e===this||8&e.compareDocumentPosition(this))||r.call(this,t)}}a&&gt.forEach((function(t){\"on\"+t in a&&gt.remove(t)}));var yt,xt=0;function bt(e){var r=\".dragsuppress-\"+ ++xt,n=\"click\"+r,a=t.select(o(e)).on(\"touchmove\"+r,F).on(\"dragstart\"+r,F).on(\"selectstart\"+r,F);if(null==yt&&(yt=!(\"onselectstart\"in e)&&I(e.style,\"userSelect\")),yt){var s=i(e).style,l=s[yt];s[yt]=\"none\"}return function(t){if(a.on(r,null),yt&&(s[yt]=l),t){var e=function(){a.on(n,null)};a.on(n,(function(){F(),e()}),!0),setTimeout(e,0)}}}t.mouse=function(t){return wt(t,B())};var _t=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function wt(e,r){r.changedTouches&&(r=r.changedTouches[0]);var n=e.ownerSVGElement||e;if(n.createSVGPoint){var a=n.createSVGPoint();if(_t<0){var i=o(e);if(i.scrollX||i.scrollY){var s=(n=t.select(\"body\").append(\"svg\").style({position:\"absolute\",top:0,left:0,margin:0,padding:0,border:\"none\"},\"important\"))[0][0].getScreenCTM();_t=!(s.f||s.e),n.remove()}}return _t?(a.x=r.pageX,a.y=r.pageY):(a.x=r.clientX,a.y=r.clientY),[(a=a.matrixTransform(e.getScreenCTM().inverse())).x,a.y]}var l=e.getBoundingClientRect();return[r.clientX-l.left-e.clientLeft,r.clientY-l.top-e.clientTop]}function Tt(){return t.event.changedTouches[0].identifier}t.touch=function(t,e,r){if(arguments.length<3&&(r=e,e=B().changedTouches),e)for(var n,a=0,i=e.length;a<i;++a)if((n=e[a]).identifier===r)return wt(t,n)},t.behavior.drag=function(){var e=N(i,\"drag\",\"dragstart\",\"dragend\"),r=null,n=s(O,t.mouse,o,\"mousemove\",\"mouseup\"),a=s(Tt,t.touch,L,\"touchmove\",\"touchend\");function i(){this.on(\"mousedown.drag\",n).on(\"touchstart.drag\",a)}function s(n,a,i,o,s){return function(){var l,c=this,u=t.event.target.correspondingElement||t.event.target,h=c.parentNode,f=e.of(c,arguments),p=0,d=n(),g=\".drag\"+(null==d?\"\":\"-\"+d),m=t.select(i(u)).on(o+g,x).on(s+g,b),v=bt(u),y=a(h,d);function x(){var t,e,r=a(h,d);r&&(t=r[0]-y[0],e=r[1]-y[1],p|=t|e,y=r,f({type:\"drag\",x:r[0]+l[0],y:r[1]+l[1],dx:t,dy:e}))}function b(){a(h,d)&&(m.on(o+g,null).on(s+g,null),v(p),f({type:\"dragend\"}))}l=r?[(l=r.apply(c,arguments)).x-y[0],l.y-y[1]]:[0,0],f({type:\"dragstart\"})}}return i.origin=function(t){return arguments.length?(r=t,i):r},t.rebind(i,e,\"on\")},t.touches=function(t,e){return arguments.length<2&&(e=B().touches),e?n(e).map((function(e){var r=wt(t,e);return r.identifier=e.identifier,r})):[]};var kt=1e-6,At=1e-12,Mt=Math.PI,St=2*Mt,Et=St-kt,Ct=Mt/2,Lt=Mt/180,Pt=180/Mt;function It(t){return t>0?1:t<0?-1:0}function zt(t,e,r){return(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0])}function Ot(t){return t>1?0:t<-1?Mt:Math.acos(t)}function Dt(t){return t>1?Ct:t<-1?-Ct:Math.asin(t)}function Rt(t){return((t=Math.exp(t))+1/t)/2}function Ft(t){return(t=Math.sin(t/2))*t}var Bt=Math.SQRT2;t.interpolateZoom=function(t,e){var r,n,a=t[0],i=t[1],o=t[2],s=e[0],l=e[1],c=e[2],u=s-a,h=l-i,f=u*u+h*h;if(f<At)n=Math.log(c/o)/Bt,r=function(t){return[a+t*u,i+t*h,o*Math.exp(Bt*t*n)]};else{var p=Math.sqrt(f),d=(c*c-o*o+4*f)/(2*o*2*p),g=(c*c-o*o-4*f)/(2*c*2*p),m=Math.log(Math.sqrt(d*d+1)-d),v=Math.log(Math.sqrt(g*g+1)-g);n=(v-m)/Bt,r=function(t){var e,r=t*n,s=Rt(m),l=o/(2*p)*(s*(e=Bt*r+m,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(m));return[a+l*u,i+l*h,o*s/Rt(Bt*r+m)]}}return r.duration=1e3*n,r},t.behavior.zoom=function(){var e,r,n,i,s,l,c,u,h,f={x:0,y:0,k:1},p=[960,500],d=Vt,g=250,m=0,v=\"mousedown.zoom\",y=\"mousemove.zoom\",x=\"mouseup.zoom\",b=\"touchstart.zoom\",_=N(w,\"zoomstart\",\"zoom\",\"zoomend\");function w(t){t.on(v,P).on(jt+\".zoom\",z).on(\"dblclick.zoom\",O).on(b,I)}function T(t){return[(t[0]-f.x)/f.k,(t[1]-f.y)/f.k]}function k(t){f.k=Math.max(d[0],Math.min(d[1],t))}function A(t,e){e=function(t){return[t[0]*f.k+f.x,t[1]*f.k+f.y]}(e),f.x+=t[0]-e[0],f.y+=t[1]-e[1]}function M(e,n,a,i){e.__chart__={x:f.x,y:f.y,k:f.k},k(Math.pow(2,i)),A(r=n,a),e=t.select(e),g>0&&(e=e.transition().duration(g)),e.call(w.event)}function S(){c&&c.domain(l.range().map((function(t){return(t-f.x)/f.k})).map(l.invert)),h&&h.domain(u.range().map((function(t){return(t-f.y)/f.k})).map(u.invert))}function E(t){m++||t({type:\"zoomstart\"})}function C(t){S(),t({type:\"zoom\",scale:f.k,translate:[f.x,f.y]})}function L(t){--m||(t({type:\"zoomend\"}),r=null)}function P(){var e=this,r=_.of(e,arguments),n=0,a=t.select(o(e)).on(y,l).on(x,c),i=T(t.mouse(e)),s=bt(e);function l(){n=1,A(t.mouse(e),i),C(r)}function c(){a.on(y,null).on(x,null),s(n),L(r)}vs.call(e),E(r)}function I(){var e,r=this,n=_.of(r,arguments),a={},i=0,o=\".zoom-\"+t.event.changedTouches[0].identifier,l=\"touchmove\"+o,c=\"touchend\"+o,u=[],h=t.select(r),p=bt(r);function d(){var n=t.touches(r);return e=f.k,n.forEach((function(t){t.identifier in a&&(a[t.identifier]=T(t))})),n}function g(){var e=t.event.target;t.select(e).on(l,m).on(c,y),u.push(e);for(var n=t.event.changedTouches,o=0,h=n.length;o<h;++o)a[n[o].identifier]=null;var p=d(),g=Date.now();if(1===p.length){if(g-s<500){var v=p[0];M(r,v,a[v.identifier],Math.floor(Math.log(f.k)/Math.LN2)+1),F()}s=g}else if(p.length>1){v=p[0];var x=p[1],b=v[0]-x[0],_=v[1]-x[1];i=b*b+_*_}}function m(){var o,l,c,u,h=t.touches(r);vs.call(r);for(var f=0,p=h.length;f<p;++f,u=null)if(c=h[f],u=a[c.identifier]){if(l)break;o=c,l=u}if(u){var d=(d=c[0]-o[0])*d+(d=c[1]-o[1])*d,g=i&&Math.sqrt(d/i);o=[(o[0]+c[0])/2,(o[1]+c[1])/2],l=[(l[0]+u[0])/2,(l[1]+u[1])/2],k(g*e)}s=null,A(o,l),C(n)}function y(){if(t.event.touches.length){for(var e=t.event.changedTouches,r=0,i=e.length;r<i;++r)delete a[e[r].identifier];for(var s in a)return void d()}t.selectAll(u).on(o,null),h.on(v,P).on(b,I),p(),L(n)}g(),E(n),h.on(v,null).on(b,g)}function z(){var a=_.of(this,arguments);i?clearTimeout(i):(vs.call(this),e=T(r=n||t.mouse(this)),E(a)),i=setTimeout((function(){i=null,L(a)}),50),F(),k(Math.pow(2,.002*Nt())*f.k),A(r,e),C(a)}function O(){var e=t.mouse(this),r=Math.log(f.k)/Math.LN2;M(this,e,T(e),t.event.shiftKey?Math.ceil(r)-1:Math.floor(r)+1)}return jt||(jt=\"onwheel\"in a?(Nt=function(){return-t.event.deltaY*(t.event.deltaMode?120:1)},\"wheel\"):\"onmousewheel\"in a?(Nt=function(){return t.event.wheelDelta},\"mousewheel\"):(Nt=function(){return-t.event.detail},\"MozMousePixelScroll\")),w.event=function(e){e.each((function(){var e=_.of(this,arguments),n=f;bs?t.select(this).transition().each(\"start.zoom\",(function(){f=this.__chart__||{x:0,y:0,k:1},E(e)})).tween(\"zoom:zoom\",(function(){var a=p[0],i=p[1],o=r?r[0]:a/2,s=r?r[1]:i/2,l=t.interpolateZoom([(o-f.x)/f.k,(s-f.y)/f.k,a/f.k],[(o-n.x)/n.k,(s-n.y)/n.k,a/n.k]);return function(t){var r=l(t),n=a/r[2];this.__chart__=f={x:o-r[0]*n,y:s-r[1]*n,k:n},C(e)}})).each(\"interrupt.zoom\",(function(){L(e)})).each(\"end.zoom\",(function(){L(e)})):(this.__chart__=f,E(e),C(e),L(e))}))},w.translate=function(t){return arguments.length?(f={x:+t[0],y:+t[1],k:f.k},S(),w):[f.x,f.y]},w.scale=function(t){return arguments.length?(f={x:f.x,y:f.y,k:null},k(+t),S(),w):f.k},w.scaleExtent=function(t){return arguments.length?(d=null==t?Vt:[+t[0],+t[1]],w):d},w.center=function(t){return arguments.length?(n=t&&[+t[0],+t[1]],w):n},w.size=function(t){return arguments.length?(p=t&&[+t[0],+t[1]],w):p},w.duration=function(t){return arguments.length?(g=+t,w):g},w.x=function(t){return arguments.length?(c=t,l=t.copy(),f={x:0,y:0,k:1},w):c},w.y=function(t){return arguments.length?(h=t,u=t.copy(),f={x:0,y:0,k:1},w):h},t.rebind(w,_,\"on\")};var Nt,jt,Vt=[0,1/0];function Ut(){}function qt(t,e,r){return this instanceof qt?(this.h=+t,this.s=+e,void(this.l=+r)):arguments.length<2?t instanceof qt?new qt(t.h,t.s,t.l):le(\"\"+t,ce,qt):new qt(t,e,r)}t.color=Ut,Ut.prototype.toString=function(){return this.rgb()+\"\"},t.hsl=qt;var Ht=qt.prototype=new Ut;function Gt(t,e,r){var n,a;function i(t){return Math.round(255*function(t){return t>360?t-=360:t<0&&(t+=360),t<60?n+(a-n)*t/60:t<180?a:t<240?n+(a-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)||e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(a=r<=.5?r*(1+e):r+e-r*e),new ne(i(t+120),i(t),i(t-120))}function Yt(e,r,n){return this instanceof Yt?(this.h=+e,this.c=+r,void(this.l=+n)):arguments.length<2?e instanceof Yt?new Yt(e.h,e.c,e.l):$t(e instanceof Xt?e.l:(e=ue((e=t.rgb(e)).r,e.g,e.b)).l,e.a,e.b):new Yt(e,r,n)}Ht.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new qt(this.h,this.s,this.l/t)},Ht.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new qt(this.h,this.s,t*this.l)},Ht.rgb=function(){return Gt(this.h,this.s,this.l)},t.hcl=Yt;var Wt=Yt.prototype=new Ut;function Zt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Xt(r,Math.cos(t*=Lt)*e,Math.sin(t)*e)}function Xt(t,e,r){return this instanceof Xt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof Xt?new Xt(t.l,t.a,t.b):t instanceof Yt?Zt(t.h,t.c,t.l):ue((t=ne(t)).r,t.g,t.b):new Xt(t,e,r)}Wt.brighter=function(t){return new Yt(this.h,this.c,Math.min(100,this.l+Jt*(arguments.length?t:1)))},Wt.darker=function(t){return new Yt(this.h,this.c,Math.max(0,this.l-Jt*(arguments.length?t:1)))},Wt.rgb=function(){return Zt(this.h,this.c,this.l).rgb()},t.lab=Xt;var Jt=18,Kt=Xt.prototype=new Ut;function Qt(t,e,r){var n=(t+16)/116,a=n+e/500,i=n-r/200;return new ne(re(3.2404542*(a=.95047*te(a))-1.5371385*(n=1*te(n))-.4985314*(i=1.08883*te(i))),re(-.969266*a+1.8760108*n+.041556*i),re(.0556434*a-.2040259*n+1.0572252*i))}function $t(t,e,r){return t>0?new Yt(Math.atan2(r,e)*Pt,Math.sqrt(e*e+r*r),t):new Yt(NaN,NaN,t)}function te(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ee(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function re(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ne(t,e,r){return this instanceof ne?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ne?new ne(t.r,t.g,t.b):le(\"\"+t,ne,Gt):new ne(t,e,r)}function ae(t){return new ne(t>>16,t>>8&255,255&t)}function ie(t){return ae(t)+\"\"}Kt.brighter=function(t){return new Xt(Math.min(100,this.l+Jt*(arguments.length?t:1)),this.a,this.b)},Kt.darker=function(t){return new Xt(Math.max(0,this.l-Jt*(arguments.length?t:1)),this.a,this.b)},Kt.rgb=function(){return Qt(this.l,this.a,this.b)},t.rgb=ne;var oe=ne.prototype=new Ut;function se(t){return t<16?\"0\"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function le(t,e,r){var n,a,i,o=0,s=0,l=0;if(n=/([a-z]+)\\((.*)\\)/.exec(t=t.toLowerCase()))switch(a=n[2].split(\",\"),n[1]){case\"hsl\":return r(parseFloat(a[0]),parseFloat(a[1])/100,parseFloat(a[2])/100);case\"rgb\":return e(fe(a[0]),fe(a[1]),fe(a[2]))}return(i=pe.get(t))?e(i.r,i.g,i.b):(null==t||\"#\"!==t.charAt(0)||isNaN(i=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&i)>>4,o|=o>>4,s=240&i,s|=s>>4,l=15&i,l|=l<<4):7===t.length&&(o=(16711680&i)>>16,s=(65280&i)>>8,l=255&i)),e(o,s,l))}function ce(t,e,r){var n,a,i=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-i,l=(o+i)/2;return s?(a=l<.5?s/(o+i):s/(2-o-i),n=t==o?(e-r)/s+(e<r?6:0):e==o?(r-t)/s+2:(t-e)/s+4,n*=60):(n=NaN,a=l>0&&l<1?0:n),new qt(n,a,l)}function ue(t,e,r){var n=ee((.4124564*(t=he(t))+.3575761*(e=he(e))+.1804375*(r=he(r)))/.95047),a=ee((.2126729*t+.7151522*e+.072175*r)/1);return Xt(116*a-16,500*(n-a),200*(a-ee((.0193339*t+.119192*e+.9503041*r)/1.08883)))}function he(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function fe(t){var e=parseFloat(t);return\"%\"===t.charAt(t.length-1)?Math.round(2.55*e):e}oe.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,a=30;return e||r||n?(e&&e<a&&(e=a),r&&r<a&&(r=a),n&&n<a&&(n=a),new ne(Math.min(255,e/t),Math.min(255,r/t),Math.min(255,n/t))):new ne(a,a,a)},oe.darker=function(t){return new ne((t=Math.pow(.7,arguments.length?t:1))*this.r,t*this.g,t*this.b)},oe.hsl=function(){return ce(this.r,this.g,this.b)},oe.toString=function(){return\"#\"+se(this.r)+se(this.g)+se(this.b)};var pe=t.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});function de(t){return\"function\"==typeof t?t:function(){return t}}function ge(t){return function(e,r,n){return 2===arguments.length&&\"function\"==typeof r&&(n=r,r=null),me(e,r,t,n)}}function me(e,r,a,i){var o={},s=t.dispatch(\"beforesend\",\"progress\",\"load\",\"error\"),l={},c=new XMLHttpRequest,u=null;function h(){var t,e=c.status;if(!e&&function(t){var e=t.responseType;return e&&\"text\"!==e?t.response:t.responseText}(c)||e>=200&&e<300||304===e){try{t=a.call(o,c)}catch(t){return void s.error.call(o,t)}s.load.call(o,t)}else s.error.call(o,c)}return this.XDomainRequest&&!(\"withCredentials\"in c)&&/^(http(s)?:)?\\/\\//.test(e)&&(c=new XDomainRequest),\"onload\"in c?c.onload=c.onerror=h:c.onreadystatechange=function(){c.readyState>3&&h()},c.onprogress=function(e){var r=t.event;t.event=e;try{s.progress.call(o,c)}finally{t.event=r}},o.header=function(t,e){return t=(t+\"\").toLowerCase(),arguments.length<2?l[t]:(null==e?delete l[t]:l[t]=e+\"\",o)},o.mimeType=function(t){return arguments.length?(r=null==t?null:t+\"\",o):r},o.responseType=function(t){return arguments.length?(u=t,o):u},o.response=function(t){return a=t,o},[\"get\",\"post\"].forEach((function(t){o[t]=function(){return o.send.apply(o,[t].concat(n(arguments)))}})),o.send=function(t,n,a){if(2===arguments.length&&\"function\"==typeof n&&(a=n,n=null),c.open(t,e,!0),null==r||\"accept\"in l||(l.accept=r+\",*/*\"),c.setRequestHeader)for(var i in l)c.setRequestHeader(i,l[i]);return null!=r&&c.overrideMimeType&&c.overrideMimeType(r),null!=u&&(c.responseType=u),null!=a&&o.on(\"error\",a).on(\"load\",(function(t){a(null,t)})),s.beforesend.call(o,c),c.send(null==n?null:n),o},o.abort=function(){return c.abort(),o},t.rebind(o,s,\"on\"),null==i?o:o.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(i))}pe.forEach((function(t,e){pe.set(t,ae(e))})),t.functor=de,t.xhr=ge(L),t.dsv=function(t,e){var r=new RegExp('[\"'+t+\"\\n]\"),n=t.charCodeAt(0);function a(t,r,n){arguments.length<3&&(n=r,r=null);var a=me(t,e,null==r?i:o(r),n);return a.row=function(t){return arguments.length?a.response(null==(r=t)?i:o(t)):r},a}function i(t){return a.parse(t.responseText)}function o(t){return function(e){return a.parse(e.responseText,t)}}function s(e){return e.map(l).join(t)}function l(t){return r.test(t)?'\"'+t.replace(/\\\"/g,'\"\"')+'\"':t}return a.parse=function(t,e){var r;return a.parseRows(t,(function(t,n){if(r)return r(t,n-1);var a=new Function(\"d\",\"return {\"+t.map((function(t,e){return JSON.stringify(t)+\": d[\"+e+\"]\"})).join(\",\")+\"}\");r=e?function(t,r){return e(a(t),r)}:a}))},a.parseRows=function(t,e){var r,a,i={},o={},s=[],l=t.length,c=0,u=0;function h(){if(c>=l)return o;if(a)return a=!1,i;var e=c;if(34===t.charCodeAt(e)){for(var r=e;r++<l;)if(34===t.charCodeAt(r)){if(34!==t.charCodeAt(r+1))break;++r}return c=r+2,13===(s=t.charCodeAt(r+1))?(a=!0,10===t.charCodeAt(r+2)&&++c):10===s&&(a=!0),t.slice(e+1,r).replace(/\"\"/g,'\"')}for(;c<l;){var s,u=1;if(10===(s=t.charCodeAt(c++)))a=!0;else if(13===s)a=!0,10===t.charCodeAt(c)&&(++c,++u);else if(s!==n)continue;return t.slice(e,c-u)}return t.slice(e)}for(;(r=h())!==o;){for(var f=[];r!==i&&r!==o;)f.push(r),r=h();e&&null==(f=e(f,u++))||s.push(f)}return s},a.format=function(e){if(Array.isArray(e[0]))return a.formatRows(e);var r=new C,n=[];return e.forEach((function(t){for(var e in t)r.has(e)||n.push(r.add(e))})),[n.map(l).join(t)].concat(e.map((function(e){return n.map((function(t){return l(e[t])})).join(t)}))).join(\"\\n\")},a.formatRows=function(t){return t.map(s).join(\"\\n\")},a},t.csv=t.dsv(\",\",\"text/csv\"),t.tsv=t.dsv(\"\\t\",\"text/tab-separated-values\");var ve,ye,xe,be,_e=this[I(this,\"requestAnimationFrame\")]||function(t){setTimeout(t,17)};function we(t,e,r){var n=arguments.length;n<2&&(e=0),n<3&&(r=Date.now());var a=r+e,i={c:t,t:a,n:null};return ye?ye.n=i:ve=i,ye=i,xe||(be=clearTimeout(be),xe=1,_e(Te)),i}function Te(){var t=ke(),e=Ae()-t;e>24?(isFinite(e)&&(clearTimeout(be),be=setTimeout(Te,e)),xe=0):(xe=1,_e(Te))}function ke(){for(var t=Date.now(),e=ve;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Ae(){for(var t,e=ve,r=1/0;e;)e.c?(e.t<r&&(r=e.t),e=(t=e).n):e=t?t.n=e.n:ve=e.n;return ye=t,r}function Me(t,e){return e-(t?Math.ceil(Math.log(t)/Math.LN10):1)}t.timer=function(){we.apply(this,arguments)},t.timer.flush=function(){ke(),Ae()},t.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)};var Se=[\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"\\xb5\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"].map((function(t,e){var r=Math.pow(10,3*y(8-e));return{scale:e>8?function(t){return t/r}:function(t){return t*r},symbol:t}}));function Ee(e){var r=e.decimal,n=e.thousands,a=e.grouping,i=e.currency,o=a&&n?function(t,e){for(var r=t.length,i=[],o=0,s=a[0],l=0;r>0&&s>0&&(l+s+1>e&&(s=Math.max(1,e-l)),i.push(t.substring(r-=s,r+s)),!((l+=s+1)>e));)s=a[o=(o+1)%a.length];return i.reverse().join(n)}:L;return function(e){var n=Ce.exec(e),a=n[1]||\" \",s=n[2]||\">\",l=n[3]||\"-\",c=n[4]||\"\",u=n[5],h=+n[6],f=n[7],p=n[8],d=n[9],g=1,m=\"\",v=\"\",y=!1,x=!0;switch(p&&(p=+p.substring(1)),(u||\"0\"===a&&\"=\"===s)&&(u=a=\"0\",s=\"=\"),d){case\"n\":f=!0,d=\"g\";break;case\"%\":g=100,v=\"%\",d=\"f\";break;case\"p\":g=100,v=\"%\",d=\"r\";break;case\"b\":case\"o\":case\"x\":case\"X\":\"#\"===c&&(m=\"0\"+d.toLowerCase());case\"c\":x=!1;case\"d\":y=!0,p=0;break;case\"s\":g=-1,d=\"r\"}\"$\"===c&&(m=i[0],v=i[1]),\"r\"!=d||p||(d=\"g\"),null!=p&&(\"g\"==d?p=Math.max(1,Math.min(21,p)):\"e\"!=d&&\"f\"!=d||(p=Math.max(0,Math.min(20,p)))),d=Le.get(d)||Pe;var b=u&&f;return function(e){var n=v;if(y&&e%1)return\"\";var i=e<0||0===e&&1/e<0?(e=-e,\"-\"):\"-\"===l?\"\":l;if(g<0){var c=t.formatPrefix(e,p);e=c.scale(e),n=c.symbol+v}else e*=g;var _,w,T=(e=d(e,p)).lastIndexOf(\".\");if(T<0){var k=x?e.lastIndexOf(\"e\"):-1;k<0?(_=e,w=\"\"):(_=e.substring(0,k),w=e.substring(k))}else _=e.substring(0,T),w=r+e.substring(T+1);!u&&f&&(_=o(_,1/0));var A=m.length+_.length+w.length+(b?0:i.length),M=A<h?new Array(A=h-A+1).join(a):\"\";return b&&(_=o(M+_,M.length?h-w.length:1/0)),i+=m,e=_+w,(\"<\"===s?i+e+M:\">\"===s?M+i+e:\"^\"===s?M.substring(0,A>>=1)+i+e+M.substring(A):i+(b?e:M+e))+n}}}t.formatPrefix=function(e,r){var n=0;return(e=+e)&&(e<0&&(e*=-1),r&&(e=t.round(e,Me(e,r))),n=1+Math.floor(1e-12+Math.log(e)/Math.LN10),n=Math.max(-24,Math.min(24,3*Math.floor((n-1)/3)))),Se[8+n/3]};var Ce=/(?:([^{])?([<>=^]))?([+\\- ])?([$#])?(0)?(\\d+)?(,)?(\\.-?\\d+)?([a-z%])?/i,Le=t.map({b:function(t){return t.toString(2)},c:function(t){return String.fromCharCode(t)},o:function(t){return t.toString(8)},x:function(t){return t.toString(16)},X:function(t){return t.toString(16).toUpperCase()},g:function(t,e){return t.toPrecision(e)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},r:function(e,r){return(e=t.round(e,Me(e,r))).toFixed(Math.max(0,Math.min(20,Me(e*(1+1e-15),r))))}});function Pe(t){return t+\"\"}var Ie=t.time={},ze=Date;function Oe(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}Oe.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){De.setUTCDate.apply(this._,arguments)},setDay:function(){De.setUTCDay.apply(this._,arguments)},setFullYear:function(){De.setUTCFullYear.apply(this._,arguments)},setHours:function(){De.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){De.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){De.setUTCMinutes.apply(this._,arguments)},setMonth:function(){De.setUTCMonth.apply(this._,arguments)},setSeconds:function(){De.setUTCSeconds.apply(this._,arguments)},setTime:function(){De.setTime.apply(this._,arguments)}};var De=Date.prototype;function Re(t,e,r){function n(e){var r=t(e),n=i(r,1);return e-r<n-e?r:n}function a(r){return e(r=t(new ze(r-1)),1),r}function i(t,r){return e(t=new ze(+t),r),t}function o(t,n,i){var o=a(t),s=[];if(i>1)for(;o<n;)r(o)%i||s.push(new Date(+o)),e(o,1);else for(;o<n;)s.push(new Date(+o)),e(o,1);return s}t.floor=t,t.round=n,t.ceil=a,t.offset=i,t.range=o;var s=t.utc=Fe(t);return s.floor=s,s.round=Fe(n),s.ceil=Fe(a),s.offset=Fe(i),s.range=function(t,e,r){try{ze=Oe;var n=new Oe;return n._=t,o(n,e,r)}finally{ze=Date}},t}function Fe(t){return function(e,r){try{ze=Oe;var n=new Oe;return n._=e,t(n,r)._}finally{ze=Date}}}function Be(e){var r=e.dateTime,n=e.date,a=e.time,i=e.periods,o=e.days,s=e.shortDays,l=e.months,c=e.shortMonths;function u(t){var e=t.length;function r(r){for(var n,a,i,o=[],s=-1,l=0;++s<e;)37===t.charCodeAt(s)&&(o.push(t.slice(l,s)),null!=(a=Ne[n=t.charAt(++s)])&&(n=t.charAt(++s)),(i=_[n])&&(n=i(r,null==a?\"e\"===n?\" \":\"0\":a)),o.push(n),l=s+1);return o.push(t.slice(l,s)),o.join(\"\")}return r.parse=function(e){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null};if(h(r,t,e,0)!=e.length)return null;\"p\"in r&&(r.H=r.H%12+12*r.p);var n=null!=r.Z&&ze!==Oe,a=new(n?Oe:ze);return\"j\"in r?a.setFullYear(r.y,0,r.j):\"W\"in r||\"U\"in r?(\"w\"in r||(r.w=\"W\"in r?1:0),a.setFullYear(r.y,0,1),a.setFullYear(r.y,0,\"W\"in r?(r.w+6)%7+7*r.W-(a.getDay()+5)%7:r.w+7*r.U-(a.getDay()+6)%7)):a.setFullYear(r.y,r.m,r.d),a.setHours(r.H+(r.Z/100|0),r.M+r.Z%100,r.S,r.L),n?a._:a},r.toString=function(){return t},r}function h(t,e,r,n){for(var a,i,o,s=0,l=e.length,c=r.length;s<l;){if(n>=c)return-1;if(37===(a=e.charCodeAt(s++))){if(o=e.charAt(s++),!(i=w[o in Ne?e.charAt(s++):o])||(n=i(t,r,n))<0)return-1}else if(a!=r.charCodeAt(n++))return-1}return n}u.utc=function(t){var e=u(t);function r(t){try{var r=new(ze=Oe);return r._=t,e(r)}finally{ze=Date}}return r.parse=function(t){try{ze=Oe;var r=e.parse(t);return r&&r._}finally{ze=Date}},r.toString=e.toString,r},u.multi=u.utc.multi=or;var f=t.map(),p=qe(o),d=He(o),g=qe(s),m=He(s),v=qe(l),y=He(l),x=qe(c),b=He(c);i.forEach((function(t,e){f.set(t.toLowerCase(),e)}));var _={a:function(t){return s[t.getDay()]},A:function(t){return o[t.getDay()]},b:function(t){return c[t.getMonth()]},B:function(t){return l[t.getMonth()]},c:u(r),d:function(t,e){return Ue(t.getDate(),e,2)},e:function(t,e){return Ue(t.getDate(),e,2)},H:function(t,e){return Ue(t.getHours(),e,2)},I:function(t,e){return Ue(t.getHours()%12||12,e,2)},j:function(t,e){return Ue(1+Ie.dayOfYear(t),e,3)},L:function(t,e){return Ue(t.getMilliseconds(),e,3)},m:function(t,e){return Ue(t.getMonth()+1,e,2)},M:function(t,e){return Ue(t.getMinutes(),e,2)},p:function(t){return i[+(t.getHours()>=12)]},S:function(t,e){return Ue(t.getSeconds(),e,2)},U:function(t,e){return Ue(Ie.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return Ue(Ie.mondayOfYear(t),e,2)},x:u(n),X:u(a),y:function(t,e){return Ue(t.getFullYear()%100,e,2)},Y:function(t,e){return Ue(t.getFullYear()%1e4,e,4)},Z:ar,\"%\":function(){return\"%\"}},w={a:function(t,e,r){g.lastIndex=0;var n=g.exec(e.slice(r));return n?(t.w=m.get(n[0].toLowerCase()),r+n[0].length):-1},A:function(t,e,r){p.lastIndex=0;var n=p.exec(e.slice(r));return n?(t.w=d.get(n[0].toLowerCase()),r+n[0].length):-1},b:function(t,e,r){x.lastIndex=0;var n=x.exec(e.slice(r));return n?(t.m=b.get(n[0].toLowerCase()),r+n[0].length):-1},B:function(t,e,r){v.lastIndex=0;var n=v.exec(e.slice(r));return n?(t.m=y.get(n[0].toLowerCase()),r+n[0].length):-1},c:function(t,e,r){return h(t,_.c.toString(),e,r)},d:Qe,e:Qe,H:tr,I:tr,j:$e,L:nr,m:Ke,M:er,p:function(t,e,r){var n=f.get(e.slice(r,r+=2).toLowerCase());return null==n?-1:(t.p=n,r)},S:rr,U:Ye,w:Ge,W:We,x:function(t,e,r){return h(t,_.x.toString(),e,r)},X:function(t,e,r){return h(t,_.X.toString(),e,r)},y:Xe,Y:Ze,Z:Je,\"%\":ir};return u}Ie.year=Re((function(t){return(t=Ie.day(t)).setMonth(0,1),t}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t){return t.getFullYear()})),Ie.years=Ie.year.range,Ie.years.utc=Ie.year.utc.range,Ie.day=Re((function(t){var e=new ze(2e3,0);return e.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),e}),(function(t,e){t.setDate(t.getDate()+e)}),(function(t){return t.getDate()-1})),Ie.days=Ie.day.range,Ie.days.utc=Ie.day.utc.range,Ie.dayOfYear=function(t){var e=Ie.year(t);return Math.floor((t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/864e5)},[\"sunday\",\"monday\",\"tuesday\",\"wednesday\",\"thursday\",\"friday\",\"saturday\"].forEach((function(t,e){e=7-e;var r=Ie[t]=Re((function(t){return(t=Ie.day(t)).setDate(t.getDate()-(t.getDay()+e)%7),t}),(function(t,e){t.setDate(t.getDate()+7*Math.floor(e))}),(function(t){var r=Ie.year(t).getDay();return Math.floor((Ie.dayOfYear(t)+(r+e)%7)/7)-(r!==e)}));Ie[t+\"s\"]=r.range,Ie[t+\"s\"].utc=r.utc.range,Ie[t+\"OfYear\"]=function(t){var r=Ie.year(t).getDay();return Math.floor((Ie.dayOfYear(t)+(r+e)%7)/7)}})),Ie.week=Ie.sunday,Ie.weeks=Ie.sunday.range,Ie.weeks.utc=Ie.sunday.utc.range,Ie.weekOfYear=Ie.sundayOfYear;var Ne={\"-\":\"\",_:\" \",0:\"0\"},je=/^\\s*\\d+/,Ve=/^%/;function Ue(t,e,r){var n=t<0?\"-\":\"\",a=(n?-t:t)+\"\",i=a.length;return n+(i<r?new Array(r-i+1).join(e)+a:a)}function qe(e){return new RegExp(\"^(?:\"+e.map(t.requote).join(\"|\")+\")\",\"i\")}function He(t){for(var e=new _,r=-1,n=t.length;++r<n;)e.set(t[r].toLowerCase(),r);return e}function Ge(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function Ye(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r));return n?(t.U=+n[0],r+n[0].length):-1}function We(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r));return n?(t.W=+n[0],r+n[0].length):-1}function Ze(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function Xe(t,e,r){je.lastIndex=0;var n,a=je.exec(e.slice(r,r+2));return a?(t.y=(n=+a[0])+(n>68?1900:2e3),r+a[0].length):-1}function Je(t,e,r){return/^[+-]\\d{4}$/.test(e=e.slice(r,r+5))?(t.Z=-e,r+5):-1}function Ke(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function Qe(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function $e(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+3));return n?(t.j=+n[0],r+n[0].length):-1}function tr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function er(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function rr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function nr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function ar(t){var e=t.getTimezoneOffset(),r=e>0?\"-\":\"+\",n=y(e)/60|0,a=y(e)%60;return r+Ue(n,\"0\",2)+Ue(a,\"0\",2)}function ir(t,e,r){Ve.lastIndex=0;var n=Ve.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function or(t){for(var e=t.length,r=-1;++r<e;)t[r][0]=this(t[r][0]);return function(e){for(var r=0,n=t[r];!n[1](e);)n=t[++r];return n[0](e)}}t.locale=function(t){return{numberFormat:Ee(t),timeFormat:Be(t)}};var sr=t.locale({decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"],dateTime:\"%a %b %e %X %Y\",date:\"%m/%d/%Y\",time:\"%H:%M:%S\",periods:[\"AM\",\"PM\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]});function lr(){}t.format=sr.numberFormat,t.geo={},lr.prototype={s:0,t:0,add:function(t){ur(t,this.t,cr),ur(cr.s,this.s,this),this.s?this.t+=cr.t:this.s=cr.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var cr=new lr;function ur(t,e,r){var n=r.s=t+e,a=n-t,i=n-a;r.t=t-i+(e-a)}function hr(t,e){t&&pr.hasOwnProperty(t.type)&&pr[t.type](t,e)}t.geo.stream=function(t,e){t&&fr.hasOwnProperty(t.type)?fr[t.type](t,e):hr(t,e)};var fr={Feature:function(t,e){hr(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,a=r.length;++n<a;)hr(r[n].geometry,e)}},pr={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var r=t.coordinates,n=-1,a=r.length;++n<a;)t=r[n],e.point(t[0],t[1],t[2])},LineString:function(t,e){dr(t.coordinates,e,0)},MultiLineString:function(t,e){for(var r=t.coordinates,n=-1,a=r.length;++n<a;)dr(r[n],e,0)},Polygon:function(t,e){gr(t.coordinates,e)},MultiPolygon:function(t,e){for(var r=t.coordinates,n=-1,a=r.length;++n<a;)gr(r[n],e)},GeometryCollection:function(t,e){for(var r=t.geometries,n=-1,a=r.length;++n<a;)hr(r[n],e)}};function dr(t,e,r){var n,a=-1,i=t.length-r;for(e.lineStart();++a<i;)n=t[a],e.point(n[0],n[1],n[2]);e.lineEnd()}function gr(t,e){var r=-1,n=t.length;for(e.polygonStart();++r<n;)dr(t[r],e,1);e.polygonEnd()}t.geo.area=function(e){return mr=0,t.geo.stream(e,Cr),mr};var mr,vr,yr,xr,br,_r,wr,Tr,kr,Ar,Mr,Sr,Er=new lr,Cr={sphere:function(){mr+=4*Mt},point:O,lineStart:O,lineEnd:O,polygonStart:function(){Er.reset(),Cr.lineStart=Lr},polygonEnd:function(){var t=2*Er;mr+=t<0?4*Mt+t:t,Cr.lineStart=Cr.lineEnd=Cr.point=O}};function Lr(){var t,e,r,n,a;function i(t,e){e=e*Lt/2+Mt/4;var i=(t*=Lt)-r,o=i>=0?1:-1,s=o*i,l=Math.cos(e),c=Math.sin(e),u=a*c,h=n*l+u*Math.cos(s),f=u*o*Math.sin(s);Er.add(Math.atan2(f,h)),r=t,n=l,a=c}Cr.point=function(o,s){Cr.point=i,r=(t=o)*Lt,n=Math.cos(s=(e=s)*Lt/2+Mt/4),a=Math.sin(s)},Cr.lineEnd=function(){i(t,e)}}function Pr(t){var e=t[0],r=t[1],n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}function Ir(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function zr(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function Or(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Dr(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function Rr(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}function Fr(t){return[Math.atan2(t[1],t[0]),Dt(t[2])]}function Br(t,e){return y(t[0]-e[0])<kt&&y(t[1]-e[1])<kt}t.geo.bounds=function(){var e,r,n,a,i,o,s,l,c,u,h,f={point:p,lineStart:g,lineEnd:m,polygonStart:function(){f.point=v,f.lineStart=x,f.lineEnd=b,c=0,Cr.polygonStart()},polygonEnd:function(){Cr.polygonEnd(),f.point=p,f.lineStart=g,f.lineEnd=m,Er<0?(e=-(n=180),r=-(a=90)):c>kt?a=90:c<-kt&&(r=-90),h[0]=e,h[1]=n}};function p(t,i){u.push(h=[e=t,n=t]),i<r&&(r=i),i>a&&(a=i)}function d(t,o){var s=Pr([t*Lt,o*Lt]);if(l){var c=zr(l,s),u=zr([c[1],-c[0],0],c);Rr(u),u=Fr(u);var h=t-i,f=h>0?1:-1,d=u[0]*Pt*f,g=y(h)>180;if(g^(f*i<d&&d<f*t))(m=u[1]*Pt)>a&&(a=m);else if(g^(f*i<(d=(d+360)%360-180)&&d<f*t)){var m;(m=-u[1]*Pt)<r&&(r=m)}else o<r&&(r=o),o>a&&(a=o);g?t<i?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t):n>=e?(t<e&&(e=t),t>n&&(n=t)):t>i?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t)}else p(t,o);l=s,i=t}function g(){f.point=d}function m(){h[0]=e,h[1]=n,f.point=p,l=null}function v(t,e){if(l){var r=t-i;c+=y(r)>180?r+(r>0?360:-360):r}else o=t,s=e;Cr.point(t,e),d(t,e)}function x(){Cr.lineStart()}function b(){v(o,s),Cr.lineEnd(),y(c)>kt&&(e=-(n=180)),h[0]=e,h[1]=n,l=null}function _(t,e){return(e-=t)<0?e+360:e}function w(t,e){return t[0]-e[0]}function T(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}return function(i){if(a=n=-(e=r=1/0),u=[],t.geo.stream(i,f),c=u.length){u.sort(w);for(var o=1,s=[g=u[0]];o<c;++o)T((p=u[o])[0],g)||T(p[1],g)?(_(g[0],p[1])>_(g[0],g[1])&&(g[1]=p[1]),_(p[0],g[1])>_(g[0],g[1])&&(g[0]=p[0])):s.push(g=p);for(var l,c,p,d=-1/0,g=(o=0,s[c=s.length-1]);o<=c;g=p,++o)p=s[o],(l=_(g[1],p[0]))>d&&(d=l,e=p[0],n=g[1])}return u=h=null,e===1/0||r===1/0?[[NaN,NaN],[NaN,NaN]]:[[e,r],[n,a]]}}(),t.geo.centroid=function(e){vr=yr=xr=br=_r=wr=Tr=kr=Ar=Mr=Sr=0,t.geo.stream(e,Nr);var r=Ar,n=Mr,a=Sr,i=r*r+n*n+a*a;return i<At&&(r=wr,n=Tr,a=kr,yr<kt&&(r=xr,n=br,a=_r),(i=r*r+n*n+a*a)<At)?[NaN,NaN]:[Math.atan2(n,r)*Pt,Dt(a/Math.sqrt(i))*Pt]};var Nr={sphere:O,point:jr,lineStart:Ur,lineEnd:qr,polygonStart:function(){Nr.lineStart=Hr},polygonEnd:function(){Nr.lineStart=Ur}};function jr(t,e){t*=Lt;var r=Math.cos(e*=Lt);Vr(r*Math.cos(t),r*Math.sin(t),Math.sin(e))}function Vr(t,e,r){++vr,xr+=(t-xr)/vr,br+=(e-br)/vr,_r+=(r-_r)/vr}function Ur(){var t,e,r;function n(n,a){n*=Lt;var i=Math.cos(a*=Lt),o=i*Math.cos(n),s=i*Math.sin(n),l=Math.sin(a),c=Math.atan2(Math.sqrt((c=e*l-r*s)*c+(c=r*o-t*l)*c+(c=t*s-e*o)*c),t*o+e*s+r*l);yr+=c,wr+=c*(t+(t=o)),Tr+=c*(e+(e=s)),kr+=c*(r+(r=l)),Vr(t,e,r)}Nr.point=function(a,i){a*=Lt;var o=Math.cos(i*=Lt);t=o*Math.cos(a),e=o*Math.sin(a),r=Math.sin(i),Nr.point=n,Vr(t,e,r)}}function qr(){Nr.point=jr}function Hr(){var t,e,r,n,a;function i(t,e){t*=Lt;var i=Math.cos(e*=Lt),o=i*Math.cos(t),s=i*Math.sin(t),l=Math.sin(e),c=n*l-a*s,u=a*o-r*l,h=r*s-n*o,f=Math.sqrt(c*c+u*u+h*h),p=r*o+n*s+a*l,d=f&&-Ot(p)/f,g=Math.atan2(f,p);Ar+=d*c,Mr+=d*u,Sr+=d*h,yr+=g,wr+=g*(r+(r=o)),Tr+=g*(n+(n=s)),kr+=g*(a+(a=l)),Vr(r,n,a)}Nr.point=function(o,s){t=o,e=s,Nr.point=i,o*=Lt;var l=Math.cos(s*=Lt);r=l*Math.cos(o),n=l*Math.sin(o),a=Math.sin(s),Vr(r,n,a)},Nr.lineEnd=function(){i(t,e),Nr.lineEnd=qr,Nr.point=jr}}function Gr(t,e){function r(r,n){return r=t(r,n),e(r[0],r[1])}return t.invert&&e.invert&&(r.invert=function(r,n){return(r=e.invert(r,n))&&t.invert(r[0],r[1])}),r}function Yr(){return!0}function Wr(t,e,r,n,a){var i=[],o=[];if(t.forEach((function(t){if(!((e=t.length-1)<=0)){var e,r=t[0],n=t[e];if(Br(r,n)){a.lineStart();for(var s=0;s<e;++s)a.point((r=t[s])[0],r[1]);a.lineEnd()}else{var l=new Xr(r,t,null,!0),c=new Xr(r,null,l,!1);l.o=c,i.push(l),o.push(c),l=new Xr(n,t,null,!1),c=new Xr(n,null,l,!0),l.o=c,i.push(l),o.push(c)}}})),o.sort(e),Zr(i),Zr(o),i.length){for(var s=0,l=r,c=o.length;s<c;++s)o[s].e=l=!l;for(var u,h,f=i[0];;){for(var p=f,d=!0;p.v;)if((p=p.n)===f)return;u=p.z,a.lineStart();do{if(p.v=p.o.v=!0,p.e){if(d)for(s=0,c=u.length;s<c;++s)a.point((h=u[s])[0],h[1]);else n(p.x,p.n.x,1,a);p=p.n}else{if(d)for(s=(u=p.p.z).length-1;s>=0;--s)a.point((h=u[s])[0],h[1]);else n(p.x,p.p.x,-1,a);p=p.p}u=(p=p.o).z,d=!d}while(!p.v);a.lineEnd()}}}function Zr(t){if(e=t.length){for(var e,r,n=0,a=t[0];++n<e;)a.n=r=t[n],r.p=a,a=r;a.n=r=t[0],r.p=a}}function Xr(t,e,r,n){this.x=t,this.z=e,this.o=r,this.e=n,this.v=!1,this.n=this.p=null}function Jr(e,r,n,a){return function(i,o){var s,l=r(o),c=i.invert(a[0],a[1]),u={point:h,lineStart:p,lineEnd:d,polygonStart:function(){u.point=b,u.lineStart=_,u.lineEnd=w,s=[],g=[]},polygonEnd:function(){u.point=h,u.lineStart=p,u.lineEnd=d,s=t.merge(s);var e=function(t,e){var r=t[0],n=t[1],a=[Math.sin(r),-Math.cos(r),0],i=0,o=0;Er.reset();for(var s=0,l=e.length;s<l;++s){var c=e[s],u=c.length;if(u)for(var h=c[0],f=h[0],p=h[1]/2+Mt/4,d=Math.sin(p),g=Math.cos(p),m=1;;){m===u&&(m=0);var v=(t=c[m])[0],y=t[1]/2+Mt/4,x=Math.sin(y),b=Math.cos(y),_=v-f,w=_>=0?1:-1,T=w*_,k=T>Mt,A=d*x;if(Er.add(Math.atan2(A*w*Math.sin(T),g*b+A*Math.cos(T))),i+=k?_+w*St:_,k^f>=r^v>=r){var M=zr(Pr(h),Pr(t));Rr(M);var S=zr(a,M);Rr(S);var E=(k^_>=0?-1:1)*Dt(S[2]);(n>E||n===E&&(M[0]||M[1]))&&(o+=k^_>=0?1:-1)}if(!m++)break;f=v,d=x,g=b,h=t}}return(i<-kt||i<kt&&Er<-kt)^1&o}(c,g);s.length?(x||(o.polygonStart(),x=!0),Wr(s,$r,e,n,o)):e&&(x||(o.polygonStart(),x=!0),o.lineStart(),n(null,null,1,o),o.lineEnd()),x&&(o.polygonEnd(),x=!1),s=g=null},sphere:function(){o.polygonStart(),o.lineStart(),n(null,null,1,o),o.lineEnd(),o.polygonEnd()}};function h(t,r){var n=i(t,r);e(t=n[0],r=n[1])&&o.point(t,r)}function f(t,e){var r=i(t,e);l.point(r[0],r[1])}function p(){u.point=f,l.lineStart()}function d(){u.point=h,l.lineEnd()}var g,m,v=Qr(),y=r(v),x=!1;function b(t,e){m.push([t,e]);var r=i(t,e);y.point(r[0],r[1])}function _(){y.lineStart(),m=[]}function w(){b(m[0][0],m[0][1]),y.lineEnd();var t,e=y.clean(),r=v.buffer(),n=r.length;if(m.pop(),g.push(m),m=null,n)if(1&e){var a,i=-1;if((n=(t=r[0]).length-1)>0){for(x||(o.polygonStart(),x=!0),o.lineStart();++i<n;)o.point((a=t[i])[0],a[1]);o.lineEnd()}}else n>1&&2&e&&r.push(r.pop().concat(r.shift())),s.push(r.filter(Kr))}return u}}function Kr(t){return t.length>1}function Qr(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,r){t.push([e,r])},lineEnd:O,buffer:function(){var r=e;return e=[],t=null,r},rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))}}}function $r(t,e){return((t=t.x)[0]<0?t[1]-Ct-kt:Ct-t[1])-((e=e.x)[0]<0?e[1]-Ct-kt:Ct-e[1])}var tn=Jr(Yr,(function(t){var e,r=NaN,n=NaN,a=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(i,o){var s=i>0?Mt:-Mt,l=y(i-r);y(l-Mt)<kt?(t.point(r,n=(n+o)/2>0?Ct:-Ct),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(i,n),e=0):a!==s&&l>=Mt&&(y(r-a)<kt&&(r-=a*kt),y(i-s)<kt&&(i-=s*kt),n=function(t,e,r,n){var a,i,o=Math.sin(t-r);return y(o)>kt?Math.atan((Math.sin(e)*(i=Math.cos(n))*Math.sin(r)-Math.sin(n)*(a=Math.cos(e))*Math.sin(t))/(a*i*o)):(e+n)/2}(r,n,i,o),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(s,n),e=0),t.point(r=i,n=o),a=s},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}}),(function(t,e,r,n){var a;if(null==t)a=r*Ct,n.point(-Mt,a),n.point(0,a),n.point(Mt,a),n.point(Mt,0),n.point(Mt,-a),n.point(0,-a),n.point(-Mt,-a),n.point(-Mt,0),n.point(-Mt,a);else if(y(t[0]-e[0])>kt){var i=t[0]<e[0]?Mt:-Mt;a=r*i/2,n.point(-i,a),n.point(0,a),n.point(i,a)}else n.point(e[0],e[1])}),[-Mt,-Mt/2]);function en(t){var e=Math.cos(t),r=e>0,n=y(e)>kt;return Jr(a,(function(t){var e,s,l,c,u;return{lineStart:function(){c=l=!1,u=1},point:function(h,f){var p,d=[h,f],g=a(h,f),m=r?g?0:o(h,f):g?o(h+(h<0?Mt:-Mt),f):0;if(!e&&(c=l=g)&&t.lineStart(),g!==l&&(p=i(e,d),(Br(e,p)||Br(d,p))&&(d[0]+=kt,d[1]+=kt,g=a(d[0],d[1]))),g!==l)u=0,g?(t.lineStart(),p=i(d,e),t.point(p[0],p[1])):(p=i(e,d),t.point(p[0],p[1]),t.lineEnd()),e=p;else if(n&&e&&r^g){var v;m&s||!(v=i(d,e,!0))||(u=0,r?(t.lineStart(),t.point(v[0][0],v[0][1]),t.point(v[1][0],v[1][1]),t.lineEnd()):(t.point(v[1][0],v[1][1]),t.lineEnd(),t.lineStart(),t.point(v[0][0],v[0][1])))}!g||e&&Br(e,d)||t.point(d[0],d[1]),e=d,l=g,s=m},lineEnd:function(){l&&t.lineEnd(),e=null},clean:function(){return u|(c&&l)<<1}}}),Bn(t,6*Lt),r?[0,-t]:[-Mt,t-Mt]);function a(t,r){return Math.cos(t)*Math.cos(r)>e}function i(t,r,n){var a=[1,0,0],i=zr(Pr(t),Pr(r)),o=Ir(i,i),s=i[0],l=o-s*s;if(!l)return!n&&t;var c=e*o/l,u=-e*s/l,h=zr(a,i),f=Dr(a,c);Or(f,Dr(i,u));var p=h,d=Ir(f,p),g=Ir(p,p),m=d*d-g*(Ir(f,f)-1);if(!(m<0)){var v=Math.sqrt(m),x=Dr(p,(-d-v)/g);if(Or(x,f),x=Fr(x),!n)return x;var b,_=t[0],w=r[0],T=t[1],k=r[1];w<_&&(b=_,_=w,w=b);var A=w-_,M=y(A-Mt)<kt;if(!M&&k<T&&(b=T,T=k,k=b),M||A<kt?M?T+k>0^x[1]<(y(x[0]-_)<kt?T:k):T<=x[1]&&x[1]<=k:A>Mt^(_<=x[0]&&x[0]<=w)){var S=Dr(p,(-d+v)/g);return Or(S,f),[x,Fr(S)]}}}function o(e,n){var a=r?t:Mt-t,i=0;return e<-a?i|=1:e>a&&(i|=2),n<-a?i|=4:n>a&&(i|=8),i}}function rn(t,e,r,n){return function(a){var i,o=a.a,s=a.b,l=o.x,c=o.y,u=0,h=1,f=s.x-l,p=s.y-c;if(i=t-l,f||!(i>0)){if(i/=f,f<0){if(i<u)return;i<h&&(h=i)}else if(f>0){if(i>h)return;i>u&&(u=i)}if(i=r-l,f||!(i<0)){if(i/=f,f<0){if(i>h)return;i>u&&(u=i)}else if(f>0){if(i<u)return;i<h&&(h=i)}if(i=e-c,p||!(i>0)){if(i/=p,p<0){if(i<u)return;i<h&&(h=i)}else if(p>0){if(i>h)return;i>u&&(u=i)}if(i=n-c,p||!(i<0)){if(i/=p,p<0){if(i>h)return;i>u&&(u=i)}else if(p>0){if(i<u)return;i<h&&(h=i)}return u>0&&(a.a={x:l+u*f,y:c+u*p}),h<1&&(a.b={x:l+h*f,y:c+h*p}),a}}}}}}function nn(e,r,n,a){return function(l){var c,u,h,f,p,d,g,m,v,y,x,b=l,_=Qr(),w=rn(e,r,n,a),T={point:M,lineStart:function(){T.point=S,u&&u.push(h=[]);y=!0,v=!1,g=m=NaN},lineEnd:function(){c&&(S(f,p),d&&v&&_.rejoin(),c.push(_.buffer()));T.point=M,v&&l.lineEnd()},polygonStart:function(){l=_,c=[],u=[],x=!0},polygonEnd:function(){l=b,c=t.merge(c);var r=function(t){for(var e=0,r=u.length,n=t[1],a=0;a<r;++a)for(var i,o=1,s=u[a],l=s.length,c=s[0];o<l;++o)i=s[o],c[1]<=n?i[1]>n&&zt(c,i,t)>0&&++e:i[1]<=n&&zt(c,i,t)<0&&--e,c=i;return 0!==e}([e,a]),n=x&&r,i=c.length;(n||i)&&(l.polygonStart(),n&&(l.lineStart(),k(null,null,1,l),l.lineEnd()),i&&Wr(c,o,r,k,l),l.polygonEnd()),c=u=h=null}};function k(t,o,l,c){var u=0,h=0;if(null==t||(u=i(t,l))!==(h=i(o,l))||s(t,o)<0^l>0)do{c.point(0===u||3===u?e:n,u>1?a:r)}while((u=(u+l+4)%4)!==h);else c.point(o[0],o[1])}function A(t,i){return e<=t&&t<=n&&r<=i&&i<=a}function M(t,e){A(t,e)&&l.point(t,e)}function S(t,e){var r=A(t=Math.max(-1e9,Math.min(1e9,t)),e=Math.max(-1e9,Math.min(1e9,e)));if(u&&h.push([t,e]),y)f=t,p=e,d=r,y=!1,r&&(l.lineStart(),l.point(t,e));else if(r&&v)l.point(t,e);else{var n={a:{x:g,y:m},b:{x:t,y:e}};w(n)?(v||(l.lineStart(),l.point(n.a.x,n.a.y)),l.point(n.b.x,n.b.y),r||l.lineEnd(),x=!1):r&&(l.lineStart(),l.point(t,e),x=!1)}g=t,m=e,v=r}return T};function i(t,a){return y(t[0]-e)<kt?a>0?0:3:y(t[0]-n)<kt?a>0?2:1:y(t[1]-r)<kt?a>0?1:0:a>0?3:2}function o(t,e){return s(t.x,e.x)}function s(t,e){var r=i(t,1),n=i(e,1);return r!==n?r-n:0===r?e[1]-t[1]:1===r?t[0]-e[0]:2===r?t[1]-e[1]:e[0]-t[0]}}function an(t){var e=0,r=Mt/3,n=Ln(t),a=n(e,r);return a.parallels=function(t){return arguments.length?n(e=t[0]*Mt/180,r=t[1]*Mt/180):[e/Mt*180,r/Mt*180]},a}function on(t,e){var r=Math.sin(t),n=(r+Math.sin(e))/2,a=1+r*(2*n-r),i=Math.sqrt(a)/n;function o(t,e){var r=Math.sqrt(a-2*n*Math.sin(e))/n;return[r*Math.sin(t*=n),i-r*Math.cos(t)]}return o.invert=function(t,e){var r=i-e;return[Math.atan2(t,r)/n,Dt((a-(t*t+r*r)*n*n)/(2*n))]},o}t.geo.clipExtent=function(){var t,e,r,n,a,i,o={stream:function(t){return a&&(a.valid=!1),(a=i(t)).valid=!0,a},extent:function(s){return arguments.length?(i=nn(t=+s[0][0],e=+s[0][1],r=+s[1][0],n=+s[1][1]),a&&(a.valid=!1,a=null),o):[[t,e],[r,n]]}};return o.extent([[0,0],[960,500]])},(t.geo.conicEqualArea=function(){return an(on)}).raw=on,t.geo.albers=function(){return t.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},t.geo.albersUsa=function(){var e,r,n,a,i=t.geo.albers(),o=t.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=t.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,r){e=[t,r]}};function c(t){var i=t[0],o=t[1];return e=null,r(i,o),e||(n(i,o),e)||a(i,o),e}return c.invert=function(t){var e=i.scale(),r=i.translate(),n=(t[0]-r[0])/e,a=(t[1]-r[1])/e;return(a>=.12&&a<.234&&n>=-.425&&n<-.214?o:a>=.166&&a<.234&&n>=-.214&&n<-.115?s:i).invert(t)},c.stream=function(t){var e=i.stream(t),r=o.stream(t),n=s.stream(t);return{point:function(t,a){e.point(t,a),r.point(t,a),n.point(t,a)},sphere:function(){e.sphere(),r.sphere(),n.sphere()},lineStart:function(){e.lineStart(),r.lineStart(),n.lineStart()},lineEnd:function(){e.lineEnd(),r.lineEnd(),n.lineEnd()},polygonStart:function(){e.polygonStart(),r.polygonStart(),n.polygonStart()},polygonEnd:function(){e.polygonEnd(),r.polygonEnd(),n.polygonEnd()}}},c.precision=function(t){return arguments.length?(i.precision(t),o.precision(t),s.precision(t),c):i.precision()},c.scale=function(t){return arguments.length?(i.scale(t),o.scale(.35*t),s.scale(t),c.translate(i.translate())):i.scale()},c.translate=function(t){if(!arguments.length)return i.translate();var e=i.scale(),u=+t[0],h=+t[1];return r=i.translate(t).clipExtent([[u-.455*e,h-.238*e],[u+.455*e,h+.238*e]]).stream(l).point,n=o.translate([u-.307*e,h+.201*e]).clipExtent([[u-.425*e+kt,h+.12*e+kt],[u-.214*e-kt,h+.234*e-kt]]).stream(l).point,a=s.translate([u-.205*e,h+.212*e]).clipExtent([[u-.214*e+kt,h+.166*e+kt],[u-.115*e-kt,h+.234*e-kt]]).stream(l).point,c},c.scale(1070)};var sn,ln,cn,un,hn,fn,pn={point:O,lineStart:O,lineEnd:O,polygonStart:function(){ln=0,pn.lineStart=dn},polygonEnd:function(){pn.lineStart=pn.lineEnd=pn.point=O,sn+=y(ln/2)}};function dn(){var t,e,r,n;function a(t,e){ln+=n*t-r*e,r=t,n=e}pn.point=function(i,o){pn.point=a,t=r=i,e=n=o},pn.lineEnd=function(){a(t,e)}}var gn={point:function(t,e){t<cn&&(cn=t);t>hn&&(hn=t);e<un&&(un=e);e>fn&&(fn=e)},lineStart:O,lineEnd:O,polygonStart:O,polygonEnd:O};function mn(){var t=vn(4.5),e=[],r={point:n,lineStart:function(){r.point=a},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(e){return t=vn(e),r},result:function(){if(e.length){var t=e.join(\"\");return e=[],t}}};function n(r,n){e.push(\"M\",r,\",\",n,t)}function a(t,n){e.push(\"M\",t,\",\",n),r.point=i}function i(t,r){e.push(\"L\",t,\",\",r)}function o(){r.point=n}function s(){e.push(\"Z\")}return r}function vn(t){return\"m0,\"+t+\"a\"+t+\",\"+t+\" 0 1,1 0,\"+-2*t+\"a\"+t+\",\"+t+\" 0 1,1 0,\"+2*t+\"z\"}var yn,xn={point:bn,lineStart:_n,lineEnd:wn,polygonStart:function(){xn.lineStart=Tn},polygonEnd:function(){xn.point=bn,xn.lineStart=_n,xn.lineEnd=wn}};function bn(t,e){xr+=t,br+=e,++_r}function _n(){var t,e;function r(r,n){var a=r-t,i=n-e,o=Math.sqrt(a*a+i*i);wr+=o*(t+r)/2,Tr+=o*(e+n)/2,kr+=o,bn(t=r,e=n)}xn.point=function(n,a){xn.point=r,bn(t=n,e=a)}}function wn(){xn.point=bn}function Tn(){var t,e,r,n;function a(t,e){var a=t-r,i=e-n,o=Math.sqrt(a*a+i*i);wr+=o*(r+t)/2,Tr+=o*(n+e)/2,kr+=o,Ar+=(o=n*t-r*e)*(r+t),Mr+=o*(n+e),Sr+=3*o,bn(r=t,n=e)}xn.point=function(i,o){xn.point=a,bn(t=r=i,e=n=o)},xn.lineEnd=function(){a(t,e)}}function kn(t){var e=4.5,r={point:n,lineStart:function(){r.point=a},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(t){return e=t,r},result:O};function n(r,n){t.moveTo(r+e,n),t.arc(r,n,e,0,St)}function a(e,n){t.moveTo(e,n),r.point=i}function i(e,r){t.lineTo(e,r)}function o(){r.point=n}function s(){t.closePath()}return r}function An(t){var e=.5,r=Math.cos(30*Lt),n=16;function a(t){return(n?o:i)(t)}function i(e){return En(e,(function(r,n){r=t(r,n),e.point(r[0],r[1])}))}function o(e){var r,a,i,o,l,c,u,h,f,p,d,g,m={point:v,lineStart:y,lineEnd:b,polygonStart:function(){e.polygonStart(),m.lineStart=_},polygonEnd:function(){e.polygonEnd(),m.lineStart=y}};function v(r,n){r=t(r,n),e.point(r[0],r[1])}function y(){h=NaN,m.point=x,e.lineStart()}function x(r,a){var i=Pr([r,a]),o=t(r,a);s(h,f,u,p,d,g,h=o[0],f=o[1],u=r,p=i[0],d=i[1],g=i[2],n,e),e.point(h,f)}function b(){m.point=v,e.lineEnd()}function _(){y(),m.point=w,m.lineEnd=T}function w(t,e){x(r=t,e),a=h,i=f,o=p,l=d,c=g,m.point=x}function T(){s(h,f,u,p,d,g,a,i,r,o,l,c,n,e),m.lineEnd=b,b()}return m}function s(n,a,i,o,l,c,u,h,f,p,d,g,m,v){var x=u-n,b=h-a,_=x*x+b*b;if(_>4*e&&m--){var w=o+p,T=l+d,k=c+g,A=Math.sqrt(w*w+T*T+k*k),M=Math.asin(k/=A),S=y(y(k)-1)<kt||y(i-f)<kt?(i+f)/2:Math.atan2(T,w),E=t(S,M),C=E[0],L=E[1],P=C-n,I=L-a,z=b*P-x*I;(z*z/_>e||y((x*P+b*I)/_-.5)>.3||o*p+l*d+c*g<r)&&(s(n,a,i,o,l,c,C,L,S,w/=A,T/=A,k,m,v),v.point(C,L),s(C,L,S,w,T,k,u,h,f,p,d,g,m,v))}}return a.precision=function(t){return arguments.length?(n=(e=t*t)>0&&16,a):Math.sqrt(e)},a}function Mn(t){var e=An((function(e,r){return t([e*Pt,r*Pt])}));return function(t){return Pn(e(t))}}function Sn(t){this.stream=t}function En(t,e){return{point:e,sphere:function(){t.sphere()},lineStart:function(){t.lineStart()},lineEnd:function(){t.lineEnd()},polygonStart:function(){t.polygonStart()},polygonEnd:function(){t.polygonEnd()}}}function Cn(t){return Ln((function(){return t}))()}function Ln(e){var r,n,a,i,o,s,l=An((function(t,e){return[(t=r(t,e))[0]*c+i,o-t[1]*c]})),c=150,u=480,h=250,f=0,p=0,d=0,g=0,m=0,v=tn,y=L,x=null,b=null;function _(t){return[(t=a(t[0]*Lt,t[1]*Lt))[0]*c+i,o-t[1]*c]}function w(t){return(t=a.invert((t[0]-i)/c,(o-t[1])/c))&&[t[0]*Pt,t[1]*Pt]}function T(){a=Gr(n=On(d,g,m),r);var t=r(f,p);return i=u-t[0]*c,o=h+t[1]*c,k()}function k(){return s&&(s.valid=!1,s=null),_}return _.stream=function(t){return s&&(s.valid=!1),(s=Pn(v(n,l(y(t))))).valid=!0,s},_.clipAngle=function(t){return arguments.length?(v=null==t?(x=t,tn):en((x=+t)*Lt),k()):x},_.clipExtent=function(t){return arguments.length?(b=t,y=t?nn(t[0][0],t[0][1],t[1][0],t[1][1]):L,k()):b},_.scale=function(t){return arguments.length?(c=+t,T()):c},_.translate=function(t){return arguments.length?(u=+t[0],h=+t[1],T()):[u,h]},_.center=function(t){return arguments.length?(f=t[0]%360*Lt,p=t[1]%360*Lt,T()):[f*Pt,p*Pt]},_.rotate=function(t){return arguments.length?(d=t[0]%360*Lt,g=t[1]%360*Lt,m=t.length>2?t[2]%360*Lt:0,T()):[d*Pt,g*Pt,m*Pt]},t.rebind(_,l,\"precision\"),function(){return r=e.apply(this,arguments),_.invert=r.invert&&w,T()}}function Pn(t){return En(t,(function(e,r){t.point(e*Lt,r*Lt)}))}function In(t,e){return[t,e]}function zn(t,e){return[t>Mt?t-St:t<-Mt?t+St:t,e]}function On(t,e,r){return t?e||r?Gr(Rn(t),Fn(e,r)):Rn(t):e||r?Fn(e,r):zn}function Dn(t){return function(e,r){return[(e+=t)>Mt?e-St:e<-Mt?e+St:e,r]}}function Rn(t){var e=Dn(t);return e.invert=Dn(-t),e}function Fn(t,e){var r=Math.cos(t),n=Math.sin(t),a=Math.cos(e),i=Math.sin(e);function o(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,c=Math.sin(e),u=c*r+s*n;return[Math.atan2(l*a-u*i,s*r-c*n),Dt(u*a+l*i)]}return o.invert=function(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,c=Math.sin(e),u=c*a-l*i;return[Math.atan2(l*a+c*i,s*r+u*n),Dt(u*r-s*n)]},o}function Bn(t,e){var r=Math.cos(t),n=Math.sin(t);return function(a,i,o,s){var l=o*e;null!=a?(a=Nn(r,a),i=Nn(r,i),(o>0?a<i:a>i)&&(a+=o*St)):(a=t+o*St,i=t-.5*l);for(var c,u=a;o>0?u>i:u<i;u-=l)s.point((c=Fr([r,-n*Math.cos(u),-n*Math.sin(u)]))[0],c[1])}}function Nn(t,e){var r=Pr(e);r[0]-=t,Rr(r);var n=Ot(-r[1]);return((-r[2]<0?-n:n)+2*Math.PI-kt)%(2*Math.PI)}function jn(e,r,n){var a=t.range(e,r-kt,n).concat(r);return function(t){return a.map((function(e){return[t,e]}))}}function Vn(e,r,n){var a=t.range(e,r-kt,n).concat(r);return function(t){return a.map((function(e){return[e,t]}))}}function Un(t){return t.source}function qn(t){return t.target}t.geo.path=function(){var e,r,n,a,i,o=4.5;function s(e){return e&&(\"function\"==typeof o&&a.pointRadius(+o.apply(this,arguments)),i&&i.valid||(i=n(a)),t.geo.stream(e,i)),a.result()}function l(){return i=null,s}return s.area=function(e){return sn=0,t.geo.stream(e,n(pn)),sn},s.centroid=function(e){return xr=br=_r=wr=Tr=kr=Ar=Mr=Sr=0,t.geo.stream(e,n(xn)),Sr?[Ar/Sr,Mr/Sr]:kr?[wr/kr,Tr/kr]:_r?[xr/_r,br/_r]:[NaN,NaN]},s.bounds=function(e){return hn=fn=-(cn=un=1/0),t.geo.stream(e,n(gn)),[[cn,un],[hn,fn]]},s.projection=function(t){return arguments.length?(n=(e=t)?t.stream||Mn(t):L,l()):e},s.context=function(t){return arguments.length?(a=null==(r=t)?new mn:new kn(t),\"function\"!=typeof o&&a.pointRadius(o),l()):r},s.pointRadius=function(t){return arguments.length?(o=\"function\"==typeof t?t:(a.pointRadius(+t),+t),s):o},s.projection(t.geo.albersUsa()).context(null)},t.geo.transform=function(t){return{stream:function(e){var r=new Sn(e);for(var n in t)r[n]=t[n];return r}}},Sn.prototype={point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},t.geo.projection=Cn,t.geo.projectionMutator=Ln,(t.geo.equirectangular=function(){return Cn(In)}).raw=In.invert=In,t.geo.rotation=function(t){function e(e){return(e=t(e[0]*Lt,e[1]*Lt))[0]*=Pt,e[1]*=Pt,e}return t=On(t[0]%360*Lt,t[1]*Lt,t.length>2?t[2]*Lt:0),e.invert=function(e){return(e=t.invert(e[0]*Lt,e[1]*Lt))[0]*=Pt,e[1]*=Pt,e},e},zn.invert=In,t.geo.circle=function(){var t,e,r=[0,0],n=6;function a(){var t=\"function\"==typeof r?r.apply(this,arguments):r,n=On(-t[0]*Lt,-t[1]*Lt,0).invert,a=[];return e(null,null,1,{point:function(t,e){a.push(t=n(t,e)),t[0]*=Pt,t[1]*=Pt}}),{type:\"Polygon\",coordinates:[a]}}return a.origin=function(t){return arguments.length?(r=t,a):r},a.angle=function(r){return arguments.length?(e=Bn((t=+r)*Lt,n*Lt),a):t},a.precision=function(r){return arguments.length?(e=Bn(t*Lt,(n=+r)*Lt),a):n},a.angle(90)},t.geo.distance=function(t,e){var r,n=(e[0]-t[0])*Lt,a=t[1]*Lt,i=e[1]*Lt,o=Math.sin(n),s=Math.cos(n),l=Math.sin(a),c=Math.cos(a),u=Math.sin(i),h=Math.cos(i);return Math.atan2(Math.sqrt((r=h*o)*r+(r=c*u-l*h*s)*r),l*u+c*h*s)},t.geo.graticule=function(){var e,r,n,a,i,o,s,l,c,u,h,f,p=10,d=p,g=90,m=360,v=2.5;function x(){return{type:\"MultiLineString\",coordinates:b()}}function b(){return t.range(Math.ceil(a/g)*g,n,g).map(h).concat(t.range(Math.ceil(l/m)*m,s,m).map(f)).concat(t.range(Math.ceil(r/p)*p,e,p).filter((function(t){return y(t%g)>kt})).map(c)).concat(t.range(Math.ceil(o/d)*d,i,d).filter((function(t){return y(t%m)>kt})).map(u))}return x.lines=function(){return b().map((function(t){return{type:\"LineString\",coordinates:t}}))},x.outline=function(){return{type:\"Polygon\",coordinates:[h(a).concat(f(s).slice(1),h(n).reverse().slice(1),f(l).reverse().slice(1))]}},x.extent=function(t){return arguments.length?x.majorExtent(t).minorExtent(t):x.minorExtent()},x.majorExtent=function(t){return arguments.length?(a=+t[0][0],n=+t[1][0],l=+t[0][1],s=+t[1][1],a>n&&(t=a,a=n,n=t),l>s&&(t=l,l=s,s=t),x.precision(v)):[[a,l],[n,s]]},x.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],o=+t[0][1],i=+t[1][1],r>e&&(t=r,r=e,e=t),o>i&&(t=o,o=i,i=t),x.precision(v)):[[r,o],[e,i]]},x.step=function(t){return arguments.length?x.majorStep(t).minorStep(t):x.minorStep()},x.majorStep=function(t){return arguments.length?(g=+t[0],m=+t[1],x):[g,m]},x.minorStep=function(t){return arguments.length?(p=+t[0],d=+t[1],x):[p,d]},x.precision=function(t){return arguments.length?(v=+t,c=jn(o,i,90),u=Vn(r,e,v),h=jn(l,s,90),f=Vn(a,n,v),x):v},x.majorExtent([[-180,-90+kt],[180,90-kt]]).minorExtent([[-180,-80-kt],[180,80+kt]])},t.geo.greatArc=function(){var e,r,n=Un,a=qn;function i(){return{type:\"LineString\",coordinates:[e||n.apply(this,arguments),r||a.apply(this,arguments)]}}return i.distance=function(){return t.geo.distance(e||n.apply(this,arguments),r||a.apply(this,arguments))},i.source=function(t){return arguments.length?(n=t,e=\"function\"==typeof t?null:t,i):n},i.target=function(t){return arguments.length?(a=t,r=\"function\"==typeof t?null:t,i):a},i.precision=function(){return arguments.length?i:0},i},t.geo.interpolate=function(t,e){return r=t[0]*Lt,n=t[1]*Lt,a=e[0]*Lt,i=e[1]*Lt,o=Math.cos(n),s=Math.sin(n),l=Math.cos(i),c=Math.sin(i),u=o*Math.cos(r),h=o*Math.sin(r),f=l*Math.cos(a),p=l*Math.sin(a),d=2*Math.asin(Math.sqrt(Ft(i-n)+o*l*Ft(a-r))),g=1/Math.sin(d),(m=d?function(t){var e=Math.sin(t*=d)*g,r=Math.sin(d-t)*g,n=r*u+e*f,a=r*h+e*p,i=r*s+e*c;return[Math.atan2(a,n)*Pt,Math.atan2(i,Math.sqrt(n*n+a*a))*Pt]}:function(){return[r*Pt,n*Pt]}).distance=d,m;var r,n,a,i,o,s,l,c,u,h,f,p,d,g,m},t.geo.length=function(e){return yn=0,t.geo.stream(e,Hn),yn};var Hn={sphere:O,point:O,lineStart:function(){var t,e,r;function n(n,a){var i=Math.sin(a*=Lt),o=Math.cos(a),s=y((n*=Lt)-t),l=Math.cos(s);yn+=Math.atan2(Math.sqrt((s=o*Math.sin(s))*s+(s=r*i-e*o*l)*s),e*i+r*o*l),t=n,e=i,r=o}Hn.point=function(a,i){t=a*Lt,e=Math.sin(i*=Lt),r=Math.cos(i),Hn.point=n},Hn.lineEnd=function(){Hn.point=Hn.lineEnd=O}},lineEnd:O,polygonStart:O,polygonEnd:O};function Gn(t,e){function r(e,r){var n=Math.cos(e),a=Math.cos(r),i=t(n*a);return[i*a*Math.sin(e),i*Math.sin(r)]}return r.invert=function(t,r){var n=Math.sqrt(t*t+r*r),a=e(n),i=Math.sin(a),o=Math.cos(a);return[Math.atan2(t*i,n*o),Math.asin(n&&r*i/n)]},r}var Yn=Gn((function(t){return Math.sqrt(2/(1+t))}),(function(t){return 2*Math.asin(t/2)}));(t.geo.azimuthalEqualArea=function(){return Cn(Yn)}).raw=Yn;var Wn=Gn((function(t){var e=Math.acos(t);return e&&e/Math.sin(e)}),L);function Zn(t,e){var r=Math.cos(t),n=function(t){return Math.tan(Mt/4+t/2)},a=t===e?Math.sin(t):Math.log(r/Math.cos(e))/Math.log(n(e)/n(t)),i=r*Math.pow(n(t),a)/a;if(!a)return Kn;function o(t,e){i>0?e<-Ct+kt&&(e=-Ct+kt):e>Ct-kt&&(e=Ct-kt);var r=i/Math.pow(n(e),a);return[r*Math.sin(a*t),i-r*Math.cos(a*t)]}return o.invert=function(t,e){var r=i-e,n=It(a)*Math.sqrt(t*t+r*r);return[Math.atan2(t,r)/a,2*Math.atan(Math.pow(i/n,1/a))-Ct]},o}function Xn(t,e){var r=Math.cos(t),n=t===e?Math.sin(t):(r-Math.cos(e))/(e-t),a=r/n+t;if(y(n)<kt)return In;function i(t,e){var r=a-e;return[r*Math.sin(n*t),a-r*Math.cos(n*t)]}return i.invert=function(t,e){var r=a-e;return[Math.atan2(t,r)/n,a-It(n)*Math.sqrt(t*t+r*r)]},i}(t.geo.azimuthalEquidistant=function(){return Cn(Wn)}).raw=Wn,(t.geo.conicConformal=function(){return an(Zn)}).raw=Zn,(t.geo.conicEquidistant=function(){return an(Xn)}).raw=Xn;var Jn=Gn((function(t){return 1/t}),Math.atan);function Kn(t,e){return[t,Math.log(Math.tan(Mt/4+e/2))]}function Qn(t){var e,r=Cn(t),n=r.scale,a=r.translate,i=r.clipExtent;return r.scale=function(){var t=n.apply(r,arguments);return t===r?e?r.clipExtent(null):r:t},r.translate=function(){var t=a.apply(r,arguments);return t===r?e?r.clipExtent(null):r:t},r.clipExtent=function(t){var o=i.apply(r,arguments);if(o===r){if(e=null==t){var s=Mt*n(),l=a();i([[l[0]-s,l[1]-s],[l[0]+s,l[1]+s]])}}else e&&(o=null);return o},r.clipExtent(null)}(t.geo.gnomonic=function(){return Cn(Jn)}).raw=Jn,Kn.invert=function(t,e){return[t,2*Math.atan(Math.exp(e))-Ct]},(t.geo.mercator=function(){return Qn(Kn)}).raw=Kn;var $n=Gn((function(){return 1}),Math.asin);(t.geo.orthographic=function(){return Cn($n)}).raw=$n;var ta=Gn((function(t){return 1/(1+t)}),(function(t){return 2*Math.atan(t)}));function ea(t,e){return[Math.log(Math.tan(Mt/4+e/2)),-t]}function ra(t){return t[0]}function na(t){return t[1]}function aa(t){for(var e=t.length,r=[0,1],n=2,a=2;a<e;a++){for(;n>1&&zt(t[r[n-2]],t[r[n-1]],t[a])<=0;)--n;r[n++]=a}return r.slice(0,n)}function ia(t,e){return t[0]-e[0]||t[1]-e[1]}(t.geo.stereographic=function(){return Cn(ta)}).raw=ta,ea.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Ct]},(t.geo.transverseMercator=function(){var t=Qn(ea),e=t.center,r=t.rotate;return t.center=function(t){return t?e([-t[1],t[0]]):[(t=e())[1],-t[0]]},t.rotate=function(t){return t?r([t[0],t[1],t.length>2?t[2]+90:90]):[(t=r())[0],t[1],t[2]-90]},r([0,0,90])}).raw=ea,t.geom={},t.geom.hull=function(t){var e=ra,r=na;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,a=de(e),i=de(r),o=t.length,s=[],l=[];for(n=0;n<o;n++)s.push([+a.call(this,t[n],n),+i.call(this,t[n],n),n]);for(s.sort(ia),n=0;n<o;n++)l.push([s[n][0],-s[n][1]]);var c=aa(s),u=aa(l),h=u[0]===c[0],f=u[u.length-1]===c[c.length-1],p=[];for(n=c.length-1;n>=0;--n)p.push(t[s[c[n]][2]]);for(n=+h;n<u.length-f;++n)p.push(t[s[u[n]][2]]);return p}return n.x=function(t){return arguments.length?(e=t,n):e},n.y=function(t){return arguments.length?(r=t,n):r},n},t.geom.polygon=function(t){return V(t,oa),t};var oa=t.geom.polygon.prototype=[];function sa(t,e,r){return(r[0]-e[0])*(t[1]-e[1])<(r[1]-e[1])*(t[0]-e[0])}function la(t,e,r,n){var a=t[0],i=r[0],o=e[0]-a,s=n[0]-i,l=t[1],c=r[1],u=e[1]-l,h=n[1]-c,f=(s*(l-c)-h*(a-i))/(h*o-s*u);return[a+f*o,l+f*u]}function ca(t){var e=t[0],r=t[t.length-1];return!(e[0]-r[0]||e[1]-r[1])}oa.area=function(){for(var t,e=-1,r=this.length,n=this[r-1],a=0;++e<r;)t=n,n=this[e],a+=t[1]*n[0]-t[0]*n[1];return.5*a},oa.centroid=function(t){var e,r,n=-1,a=this.length,i=0,o=0,s=this[a-1];for(arguments.length||(t=-1/(6*this.area()));++n<a;)e=s,s=this[n],r=e[0]*s[1]-s[0]*e[1],i+=(e[0]+s[0])*r,o+=(e[1]+s[1])*r;return[i*t,o*t]},oa.clip=function(t){for(var e,r,n,a,i,o,s=ca(t),l=-1,c=this.length-ca(this),u=this[c-1];++l<c;){for(e=t.slice(),t.length=0,a=this[l],i=e[(n=e.length-s)-1],r=-1;++r<n;)sa(o=e[r],u,a)?(sa(i,u,a)||t.push(la(i,o,u,a)),t.push(o)):sa(i,u,a)&&t.push(la(i,o,u,a)),i=o;s&&t.push(t[0]),u=a}return t};var ua,ha,fa,pa,da,ga=[],ma=[];function va(){Ra(this),this.edge=this.site=this.circle=null}function ya(t){var e=ga.pop()||new va;return e.site=t,e}function xa(t){Ea(t),fa.remove(t),ga.push(t),Ra(t)}function ba(t){var e=t.circle,r=e.x,n=e.cy,a={x:r,y:n},i=t.P,o=t.N,s=[t];xa(t);for(var l=i;l.circle&&y(r-l.circle.x)<kt&&y(n-l.circle.cy)<kt;)i=l.P,s.unshift(l),xa(l),l=i;s.unshift(l),Ea(l);for(var c=o;c.circle&&y(r-c.circle.x)<kt&&y(n-c.circle.cy)<kt;)o=c.N,s.push(c),xa(c),c=o;s.push(c),Ea(c);var u,h=s.length;for(u=1;u<h;++u)c=s[u],l=s[u-1],za(c.edge,l.site,c.site,a);l=s[0],(c=s[h-1]).edge=Pa(l.site,c.site,null,a),Sa(l),Sa(c)}function _a(t){for(var e,r,n,a,i=t.x,o=t.y,s=fa._;s;)if((n=wa(s,o)-i)>kt)s=s.L;else{if(!((a=i-Ta(s,o))>kt)){n>-kt?(e=s.P,r=s):a>-kt?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=ya(t);if(fa.insert(e,l),e||r){if(e===r)return Ea(e),r=ya(e.site),fa.insert(l,r),l.edge=r.edge=Pa(e.site,l.site),Sa(e),void Sa(r);if(r){Ea(e),Ea(r);var c=e.site,u=c.x,h=c.y,f=t.x-u,p=t.y-h,d=r.site,g=d.x-u,m=d.y-h,v=2*(f*m-p*g),y=f*f+p*p,x=g*g+m*m,b={x:(m*y-p*x)/v+u,y:(f*x-g*y)/v+h};za(r.edge,c,d,b),l.edge=Pa(c,t,null,b),r.edge=Pa(t,d,null,b),Sa(e),Sa(r)}else l.edge=Pa(e.site,l.site)}}function wa(t,e){var r=t.site,n=r.x,a=r.y,i=a-e;if(!i)return n;var o=t.P;if(!o)return-1/0;var s=(r=o.site).x,l=r.y,c=l-e;if(!c)return s;var u=s-n,h=1/i-1/c,f=u/c;return h?(-f+Math.sqrt(f*f-2*h*(u*u/(-2*c)-l+c/2+a-i/2)))/h+n:(n+s)/2}function Ta(t,e){var r=t.N;if(r)return wa(r,e);var n=t.site;return n.y===e?n.x:1/0}function ka(t){this.site=t,this.edges=[]}function Aa(t,e){return e.angle-t.angle}function Ma(){Ra(this),this.x=this.y=this.arc=this.site=this.cy=null}function Sa(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,a=t.site,i=r.site;if(n!==i){var o=a.x,s=a.y,l=n.x-o,c=n.y-s,u=i.x-o,h=2*(l*(m=i.y-s)-c*u);if(!(h>=-At)){var f=l*l+c*c,p=u*u+m*m,d=(m*f-c*p)/h,g=(l*p-u*f)/h,m=g+s,v=ma.pop()||new Ma;v.arc=t,v.site=a,v.x=d+o,v.y=m+Math.sqrt(d*d+g*g),v.cy=m,t.circle=v;for(var y=null,x=da._;x;)if(v.y<x.y||v.y===x.y&&v.x<=x.x){if(!x.L){y=x.P;break}x=x.L}else{if(!x.R){y=x;break}x=x.R}da.insert(y,v),y||(pa=v)}}}}function Ea(t){var e=t.circle;e&&(e.P||(pa=e.N),da.remove(e),ma.push(e),Ra(e),t.circle=null)}function Ca(t,e){var r=t.b;if(r)return!0;var n,a,i=t.a,o=e[0][0],s=e[1][0],l=e[0][1],c=e[1][1],u=t.l,h=t.r,f=u.x,p=u.y,d=h.x,g=h.y,m=(f+d)/2,v=(p+g)/2;if(g===p){if(m<o||m>=s)return;if(f>d){if(i){if(i.y>=c)return}else i={x:m,y:l};r={x:m,y:c}}else{if(i){if(i.y<l)return}else i={x:m,y:c};r={x:m,y:l}}}else if(a=v-(n=(f-d)/(g-p))*m,n<-1||n>1)if(f>d){if(i){if(i.y>=c)return}else i={x:(l-a)/n,y:l};r={x:(c-a)/n,y:c}}else{if(i){if(i.y<l)return}else i={x:(c-a)/n,y:c};r={x:(l-a)/n,y:l}}else if(p<g){if(i){if(i.x>=s)return}else i={x:o,y:n*o+a};r={x:s,y:n*s+a}}else{if(i){if(i.x<o)return}else i={x:s,y:n*s+a};r={x:o,y:n*o+a}}return t.a=i,t.b=r,!0}function La(t,e){this.l=t,this.r=e,this.a=this.b=null}function Pa(t,e,r,n){var a=new La(t,e);return ua.push(a),r&&za(a,t,e,r),n&&za(a,e,t,n),ha[t.i].edges.push(new Oa(a,t,e)),ha[e.i].edges.push(new Oa(a,e,t)),a}function Ia(t,e,r){var n=new La(t,null);return n.a=e,n.b=r,ua.push(n),n}function za(t,e,r,n){t.a||t.b?t.l===r?t.b=n:t.a=n:(t.a=n,t.l=e,t.r=r)}function Oa(t,e,r){var n=t.a,a=t.b;this.edge=t,this.site=e,this.angle=r?Math.atan2(r.y-e.y,r.x-e.x):t.l===e?Math.atan2(a.x-n.x,n.y-a.y):Math.atan2(n.x-a.x,a.y-n.y)}function Da(){this._=null}function Ra(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function Fa(t,e){var r=e,n=e.R,a=r.U;a?a.L===r?a.L=n:a.R=n:t._=n,n.U=a,r.U=n,r.R=n.L,r.R&&(r.R.U=r),n.L=r}function Ba(t,e){var r=e,n=e.L,a=r.U;a?a.L===r?a.L=n:a.R=n:t._=n,n.U=a,r.U=n,r.L=n.R,r.L&&(r.L.U=r),n.R=r}function Na(t){for(;t.L;)t=t.L;return t}function ja(t,e){var r,n,a,i=t.sort(Va).pop();for(ua=[],ha=new Array(t.length),fa=new Da,da=new Da;;)if(a=pa,i&&(!a||i.y<a.y||i.y===a.y&&i.x<a.x))i.x===r&&i.y===n||(ha[i.i]=new ka(i),_a(i),r=i.x,n=i.y),i=t.pop();else{if(!a)break;ba(a.arc)}e&&(function(t){for(var e,r=ua,n=rn(t[0][0],t[0][1],t[1][0],t[1][1]),a=r.length;a--;)(!Ca(e=r[a],t)||!n(e)||y(e.a.x-e.b.x)<kt&&y(e.a.y-e.b.y)<kt)&&(e.a=e.b=null,r.splice(a,1))}(e),function(t){for(var e,r,n,a,i,o,s,l,c,u,h=t[0][0],f=t[1][0],p=t[0][1],d=t[1][1],g=ha,m=g.length;m--;)if((i=g[m])&&i.prepare())for(l=(s=i.edges).length,o=0;o<l;)n=(u=s[o].end()).x,a=u.y,e=(c=s[++o%l].start()).x,r=c.y,(y(n-e)>kt||y(a-r)>kt)&&(s.splice(o,0,new Oa(Ia(i.site,u,y(n-h)<kt&&d-a>kt?{x:h,y:y(e-h)<kt?r:d}:y(a-d)<kt&&f-n>kt?{x:y(r-d)<kt?e:f,y:d}:y(n-f)<kt&&a-p>kt?{x:f,y:y(e-f)<kt?r:p}:y(a-p)<kt&&n-h>kt?{x:y(r-p)<kt?e:h,y:p}:null),i.site,null)),++l)}(e));var o={cells:ha,edges:ua};return fa=da=ua=ha=null,o}function Va(t,e){return e.y-t.y||e.x-t.x}ka.prototype.prepare=function(){for(var t,e=this.edges,r=e.length;r--;)(t=e[r].edge).b&&t.a||e.splice(r,1);return e.sort(Aa),e.length},Oa.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},Da.prototype={insert:function(t,e){var r,n,a;if(t){if(e.P=t,e.N=t.N,t.N&&(t.N.P=e),t.N=e,t.R){for(t=t.R;t.L;)t=t.L;t.L=e}else t.R=e;r=t}else this._?(t=Na(this._),e.P=null,e.N=t,t.P=t.L=e,r=t):(e.P=e.N=null,this._=e,r=null);for(e.L=e.R=null,e.U=r,e.C=!0,t=e;r&&r.C;)r===(n=r.U).L?(a=n.R)&&a.C?(r.C=a.C=!1,n.C=!0,t=n):(t===r.R&&(Fa(this,r),r=(t=r).U),r.C=!1,n.C=!0,Ba(this,n)):(a=n.L)&&a.C?(r.C=a.C=!1,n.C=!0,t=n):(t===r.L&&(Ba(this,r),r=(t=r).U),r.C=!1,n.C=!0,Fa(this,n)),r=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var e,r,n,a=t.U,i=t.L,o=t.R;if(r=i?o?Na(o):i:o,a?a.L===t?a.L=r:a.R=r:this._=r,i&&o?(n=r.C,r.C=t.C,r.L=i,i.U=r,r!==o?(a=r.U,r.U=t.U,t=r.R,a.L=t,r.R=o,o.U=r):(r.U=a,a=r,t=r.R)):(n=t.C,t=r),t&&(t.U=a),!n)if(t&&t.C)t.C=!1;else{do{if(t===this._)break;if(t===a.L){if((e=a.R).C&&(e.C=!1,a.C=!0,Fa(this,a),e=a.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,Ba(this,e),e=a.R),e.C=a.C,a.C=e.R.C=!1,Fa(this,a),t=this._;break}}else if((e=a.L).C&&(e.C=!1,a.C=!0,Ba(this,a),e=a.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,Fa(this,e),e=a.L),e.C=a.C,a.C=e.L.C=!1,Ba(this,a),t=this._;break}e.C=!0,t=a,a=a.U}while(!t.C);t&&(t.C=!1)}}},t.geom.voronoi=function(t){var e=ra,r=na,n=e,a=r,i=Ua;if(t)return o(t);function o(t){var e=new Array(t.length),r=i[0][0],n=i[0][1],a=i[1][0],o=i[1][1];return ja(s(t),i).cells.forEach((function(i,s){var l=i.edges,c=i.site;(e[s]=l.length?l.map((function(t){var e=t.start();return[e.x,e.y]})):c.x>=r&&c.x<=a&&c.y>=n&&c.y<=o?[[r,o],[a,o],[a,n],[r,n]]:[]).point=t[s]})),e}function s(t){return t.map((function(t,e){return{x:Math.round(n(t,e)/kt)*kt,y:Math.round(a(t,e)/kt)*kt,i:e}}))}return o.links=function(t){return ja(s(t)).edges.filter((function(t){return t.l&&t.r})).map((function(e){return{source:t[e.l.i],target:t[e.r.i]}}))},o.triangles=function(t){var e=[];return ja(s(t)).cells.forEach((function(r,n){for(var a,i,o,s,l=r.site,c=r.edges.sort(Aa),u=-1,h=c.length,f=c[h-1].edge,p=f.l===l?f.r:f.l;++u<h;)f,a=p,p=(f=c[u].edge).l===l?f.r:f.l,n<a.i&&n<p.i&&(o=a,s=p,((i=l).x-s.x)*(o.y-i.y)-(i.x-o.x)*(s.y-i.y)<0)&&e.push([t[n],t[a.i],t[p.i]])})),e},o.x=function(t){return arguments.length?(n=de(e=t),o):e},o.y=function(t){return arguments.length?(a=de(r=t),o):r},o.clipExtent=function(t){return arguments.length?(i=null==t?Ua:t,o):i===Ua?null:i},o.size=function(t){return arguments.length?o.clipExtent(t&&[[0,0],t]):i===Ua?null:i&&i[1]},o};var Ua=[[-1e6,-1e6],[1e6,1e6]];function qa(t){return t.x}function Ha(t){return t.y}function Ga(t,e,r,n,a,i){if(!t(e,r,n,a,i)){var o=.5*(r+a),s=.5*(n+i),l=e.nodes;l[0]&&Ga(t,l[0],r,n,o,s),l[1]&&Ga(t,l[1],o,n,a,s),l[2]&&Ga(t,l[2],r,s,o,i),l[3]&&Ga(t,l[3],o,s,a,i)}}function Ya(t,e,r,n,a,i,o){var s,l=1/0;return function t(c,u,h,f,p){if(!(u>i||h>o||f<n||p<a)){if(d=c.point){var d,g=e-c.x,m=r-c.y,v=g*g+m*m;if(v<l){var y=Math.sqrt(l=v);n=e-y,a=r-y,i=e+y,o=r+y,s=d}}for(var x=c.nodes,b=.5*(u+f),_=.5*(h+p),w=(r>=_)<<1|e>=b,T=w+4;w<T;++w)if(c=x[3&w])switch(3&w){case 0:t(c,u,h,b,_);break;case 1:t(c,b,h,f,_);break;case 2:t(c,u,_,b,p);break;case 3:t(c,b,_,f,p)}}}(t,n,a,i,o),s}function Wa(e,r){e=t.rgb(e),r=t.rgb(r);var n=e.r,a=e.g,i=e.b,o=r.r-n,s=r.g-a,l=r.b-i;return function(t){return\"#\"+se(Math.round(n+o*t))+se(Math.round(a+s*t))+se(Math.round(i+l*t))}}function Za(t,e){var r,n={},a={};for(r in t)r in e?n[r]=$a(t[r],e[r]):a[r]=t[r];for(r in e)r in t||(a[r]=e[r]);return function(t){for(r in n)a[r]=n[r](t);return a}}function Xa(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function Ja(t,e){var r,n,a,i=Ka.lastIndex=Qa.lastIndex=0,o=-1,s=[],l=[];for(t+=\"\",e+=\"\";(r=Ka.exec(t))&&(n=Qa.exec(e));)(a=n.index)>i&&(a=e.slice(i,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:Xa(r,n)})),i=Qa.lastIndex;return i<e.length&&(a=e.slice(i),s[o]?s[o]+=a:s[++o]=a),s.length<2?l[0]?(e=l[0].x,function(t){return e(t)+\"\"}):function(){return e}:(e=l.length,function(t){for(var r,n=0;n<e;++n)s[(r=l[n]).i]=r.x(t);return s.join(\"\")})}t.geom.delaunay=function(e){return t.geom.voronoi().triangles(e)},t.geom.quadtree=function(t,e,r,n,a){var i,o=ra,s=na;if(i=arguments.length)return o=qa,s=Ha,3===i&&(a=r,n=e,r=e=0),l(t);function l(t){var l,c,u,h,f,p,d,g,m,v=de(o),x=de(s);if(null!=e)p=e,d=r,g=n,m=a;else if(g=m=-(p=d=1/0),c=[],u=[],f=t.length,i)for(h=0;h<f;++h)(l=t[h]).x<p&&(p=l.x),l.y<d&&(d=l.y),l.x>g&&(g=l.x),l.y>m&&(m=l.y),c.push(l.x),u.push(l.y);else for(h=0;h<f;++h){var b=+v(l=t[h],h),_=+x(l,h);b<p&&(p=b),_<d&&(d=_),b>g&&(g=b),_>m&&(m=_),c.push(b),u.push(_)}var w=g-p,T=m-d;function k(t,e,r,n,a,i,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,c=t.y;if(null!=l)if(y(l-r)+y(c-n)<.01)A(t,e,r,n,a,i,o,s);else{var u=t.point;t.x=t.y=t.point=null,A(t,u,l,c,a,i,o,s),A(t,e,r,n,a,i,o,s)}else t.x=r,t.y=n,t.point=e}else A(t,e,r,n,a,i,o,s)}function A(t,e,r,n,a,i,o,s){var l=.5*(a+o),c=.5*(i+s),u=r>=l,h=n>=c,f=h<<1|u;t.leaf=!1,u?a=l:o=l,h?i=c:s=c,k(t=t.nodes[f]||(t.nodes[f]={leaf:!0,nodes:[],point:null,x:null,y:null}),e,r,n,a,i,o,s)}w>T?m=d+w:g=p+T;var M={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){k(M,t,+v(t,++h),+x(t,h),p,d,g,m)},visit:function(t){Ga(t,M,p,d,g,m)},find:function(t){return Ya(M,t[0],t[1],p,d,g,m)}};if(h=-1,null==e){for(;++h<f;)k(M,t[h],c[h],u[h],p,d,g,m);--h}else t.forEach(M.add);return c=u=t=l=null,M}return l.x=function(t){return arguments.length?(o=t,l):o},l.y=function(t){return arguments.length?(s=t,l):s},l.extent=function(t){return arguments.length?(null==t?e=r=n=a=null:(e=+t[0][0],r=+t[0][1],n=+t[1][0],a=+t[1][1]),l):null==e?null:[[e,r],[n,a]]},l.size=function(t){return arguments.length?(null==t?e=r=n=a=null:(e=r=0,n=+t[0],a=+t[1]),l):null==e?null:[n-e,a-r]},l},t.interpolateRgb=Wa,t.interpolateObject=Za,t.interpolateNumber=Xa,t.interpolateString=Ja;var Ka=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,Qa=new RegExp(Ka.source,\"g\");function $a(e,r){for(var n,a=t.interpolators.length;--a>=0&&!(n=t.interpolators[a](e,r)););return n}function ti(t,e){var r,n=[],a=[],i=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r<s;++r)n.push($a(t[r],e[r]));for(;r<i;++r)a[r]=t[r];for(;r<o;++r)a[r]=e[r];return function(t){for(r=0;r<s;++r)a[r]=n[r](t);return a}}t.interpolate=$a,t.interpolators=[function(t,e){var r=typeof e;return(\"string\"===r?pe.has(e.toLowerCase())||/^(#|rgb\\(|hsl\\()/i.test(e)?Wa:Ja:e instanceof Ut?Wa:Array.isArray(e)?ti:\"object\"===r&&isNaN(e)?Za:Xa)(t,e)}],t.interpolateArray=ti;var ei=function(){return L},ri=t.map({linear:ei,poly:function(t){return function(e){return Math.pow(e,t)}},quad:function(){return si},cubic:function(){return li},sin:function(){return ui},exp:function(){return hi},circle:function(){return fi},elastic:function(t,e){var r;arguments.length<2&&(e=.45);arguments.length?r=e/St*Math.asin(1/t):(t=1,r=e/4);return function(n){return 1+t*Math.pow(2,-10*n)*Math.sin((n-r)*St/e)}},back:function(t){t||(t=1.70158);return function(e){return e*e*((t+1)*e-t)}},bounce:function(){return pi}}),ni=t.map({in:L,out:ii,\"in-out\":oi,\"out-in\":function(t){return oi(ii(t))}});function ai(t){return function(e){return e<=0?0:e>=1?1:t(e)}}function ii(t){return function(e){return 1-t(1-e)}}function oi(t){return function(e){return.5*(e<.5?t(2*e):2-t(2-2*e))}}function si(t){return t*t}function li(t){return t*t*t}function ci(t){if(t<=0)return 0;if(t>=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function ui(t){return 1-Math.cos(t*Ct)}function hi(t){return Math.pow(2,10*(t-1))}function fi(t){return 1-Math.sqrt(1-t*t)}function pi(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function di(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function gi(t){var e,r,n,a=[t.a,t.b],i=[t.c,t.d],o=vi(a),s=mi(a,i),l=vi(((e=i)[0]+=(n=-s)*(r=a)[0],e[1]+=n*r[1],e))||0;a[0]*i[1]<i[0]*a[1]&&(a[0]*=-1,a[1]*=-1,o*=-1,s*=-1),this.rotate=(o?Math.atan2(a[1],a[0]):Math.atan2(-i[0],i[1]))*Pt,this.translate=[t.e,t.f],this.scale=[o,l],this.skew=l?Math.atan2(s,l)*Pt:0}function mi(t,e){return t[0]*e[0]+t[1]*e[1]}function vi(t){var e=Math.sqrt(mi(t,t));return e&&(t[0]/=e,t[1]/=e),e}t.ease=function(t){var e=t.indexOf(\"-\"),n=e>=0?t.slice(0,e):t,a=e>=0?t.slice(e+1):\"in\";return n=ri.get(n)||ei,ai((a=ni.get(a)||L)(n.apply(null,r.call(arguments,1))))},t.interpolateHcl=function(e,r){e=t.hcl(e),r=t.hcl(r);var n=e.h,a=e.c,i=e.l,o=r.h-n,s=r.c-a,l=r.l-i;isNaN(s)&&(s=0,a=isNaN(a)?r.c:a);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Zt(n+o*t,a+s*t,i+l*t)+\"\"}},t.interpolateHsl=function(e,r){e=t.hsl(e),r=t.hsl(r);var n=e.h,a=e.s,i=e.l,o=r.h-n,s=r.s-a,l=r.l-i;isNaN(s)&&(s=0,a=isNaN(a)?r.s:a);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Gt(n+o*t,a+s*t,i+l*t)+\"\"}},t.interpolateLab=function(e,r){e=t.lab(e),r=t.lab(r);var n=e.l,a=e.a,i=e.b,o=r.l-n,s=r.a-a,l=r.b-i;return function(t){return Qt(n+o*t,a+s*t,i+l*t)+\"\"}},t.interpolateRound=di,t.transform=function(e){var r=a.createElementNS(t.ns.prefix.svg,\"g\");return(t.transform=function(t){if(null!=t){r.setAttribute(\"transform\",t);var e=r.transform.baseVal.consolidate()}return new gi(e?e.matrix:yi)})(e)},gi.prototype.toString=function(){return\"translate(\"+this.translate+\")rotate(\"+this.rotate+\")skewX(\"+this.skew+\")scale(\"+this.scale+\")\"};var yi={a:1,b:0,c:0,d:1,e:0,f:0};function xi(t){return t.length?t.pop()+\",\":\"\"}function bi(e,r){var n=[],a=[];return e=t.transform(e),r=t.transform(r),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var a=r.push(\"translate(\",null,\",\",null,\")\");n.push({i:a-4,x:Xa(t[0],e[0])},{i:a-2,x:Xa(t[1],e[1])})}else(e[0]||e[1])&&r.push(\"translate(\"+e+\")\")}(e.translate,r.translate,n,a),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(xi(r)+\"rotate(\",null,\")\")-2,x:Xa(t,e)})):e&&r.push(xi(r)+\"rotate(\"+e+\")\")}(e.rotate,r.rotate,n,a),function(t,e,r,n){t!==e?n.push({i:r.push(xi(r)+\"skewX(\",null,\")\")-2,x:Xa(t,e)}):e&&r.push(xi(r)+\"skewX(\"+e+\")\")}(e.skew,r.skew,n,a),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var a=r.push(xi(r)+\"scale(\",null,\",\",null,\")\");n.push({i:a-4,x:Xa(t[0],e[0])},{i:a-2,x:Xa(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(xi(r)+\"scale(\"+e+\")\")}(e.scale,r.scale,n,a),e=r=null,function(t){for(var e,r=-1,i=a.length;++r<i;)n[(e=a[r]).i]=e.x(t);return n.join(\"\")}}function _i(t,e){return e=(e-=t=+t)||1/e,function(r){return(r-t)/e}}function wi(t,e){return e=(e-=t=+t)||1/e,function(r){return Math.max(0,Math.min(1,(r-t)/e))}}function Ti(t){for(var e=t.source,r=t.target,n=function(t,e){if(t===e)return t;var r=ki(t),n=ki(e),a=r.pop(),i=n.pop(),o=null;for(;a===i;)o=a,a=r.pop(),i=n.pop();return o}(e,r),a=[e];e!==n;)e=e.parent,a.push(e);for(var i=a.length;r!==n;)a.splice(i,0,r),r=r.parent;return a}function ki(t){for(var e=[],r=t.parent;null!=r;)e.push(t),t=r,r=r.parent;return e.push(t),e}function Ai(t){t.fixed|=2}function Mi(t){t.fixed&=-7}function Si(t){t.fixed|=4,t.px=t.x,t.py=t.y}function Ei(t){t.fixed&=-5}t.interpolateTransform=bi,t.layout={},t.layout.bundle=function(){return function(t){for(var e=[],r=-1,n=t.length;++r<n;)e.push(Ti(t[r]));return e}},t.layout.chord=function(){var e,r,n,a,i,o,s,l={},c=0;function u(){var l,u,f,p,d,g={},m=[],v=t.range(a),y=[];for(e=[],r=[],l=0,p=-1;++p<a;){for(u=0,d=-1;++d<a;)u+=n[p][d];m.push(u),y.push(t.range(a)),l+=u}for(i&&v.sort((function(t,e){return i(m[t],m[e])})),o&&y.forEach((function(t,e){t.sort((function(t,r){return o(n[e][t],n[e][r])}))})),l=(St-c*a)/l,u=0,p=-1;++p<a;){for(f=u,d=-1;++d<a;){var x=v[p],b=y[x][d],_=n[x][b],w=u,T=u+=_*l;g[x+\"-\"+b]={index:x,subindex:b,startAngle:w,endAngle:T,value:_}}r[x]={index:x,startAngle:f,endAngle:u,value:m[x]},u+=c}for(p=-1;++p<a;)for(d=p-1;++d<a;){var k=g[p+\"-\"+d],A=g[d+\"-\"+p];(k.value||A.value)&&e.push(k.value<A.value?{source:A,target:k}:{source:k,target:A})}s&&h()}function h(){e.sort((function(t,e){return s((t.source.value+t.target.value)/2,(e.source.value+e.target.value)/2)}))}return l.matrix=function(t){return arguments.length?(a=(n=t)&&n.length,e=r=null,l):n},l.padding=function(t){return arguments.length?(c=t,e=r=null,l):c},l.sortGroups=function(t){return arguments.length?(i=t,e=r=null,l):i},l.sortSubgroups=function(t){return arguments.length?(o=t,e=null,l):o},l.sortChords=function(t){return arguments.length?(s=t,e&&h(),l):s},l.chords=function(){return e||u(),e},l.groups=function(){return r||u(),r},l},t.layout.force=function(){var e,r,n,a,i,o,s={},l=t.dispatch(\"start\",\"tick\",\"end\"),c=[1,1],u=.9,h=Ci,f=Li,p=-30,d=Pi,g=.1,m=.64,v=[],y=[];function x(t){return function(e,r,n,a){if(e.point!==t){var i=e.cx-t.x,o=e.cy-t.y,s=a-r,l=i*i+o*o;if(s*s/m<l){if(l<d){var c=e.charge/l;t.px-=i*c,t.py-=o*c}return!0}if(e.point&&l&&l<d){c=e.pointCharge/l;t.px-=i*c,t.py-=o*c}}return!e.charge}}function b(e){e.px=t.event.x,e.py=t.event.y,s.resume()}return s.tick=function(){if((n*=.99)<.005)return e=null,l.end({type:\"end\",alpha:n=0}),!0;var r,s,h,f,d,m,b,_,w,T=v.length,k=y.length;for(s=0;s<k;++s)f=(h=y[s]).source,(m=(_=(d=h.target).x-f.x)*_+(w=d.y-f.y)*w)&&(_*=m=n*i[s]*((m=Math.sqrt(m))-a[s])/m,w*=m,d.x-=_*(b=f.weight+d.weight?f.weight/(f.weight+d.weight):.5),d.y-=w*b,f.x+=_*(b=1-b),f.y+=w*b);if((b=n*g)&&(_=c[0]/2,w=c[1]/2,s=-1,b))for(;++s<T;)(h=v[s]).x+=(_-h.x)*b,h.y+=(w-h.y)*b;if(p)for(!function t(e,r,n){var a=0,i=0;if(e.charge=0,!e.leaf)for(var o,s=e.nodes,l=s.length,c=-1;++c<l;)null!=(o=s[c])&&(t(o,r,n),e.charge+=o.charge,a+=o.charge*o.cx,i+=o.charge*o.cy);if(e.point){e.leaf||(e.point.x+=Math.random()-.5,e.point.y+=Math.random()-.5);var u=r*n[e.point.index];e.charge+=e.pointCharge=u,a+=u*e.point.x,i+=u*e.point.y}e.cx=a/e.charge,e.cy=i/e.charge}(r=t.geom.quadtree(v),n,o),s=-1;++s<T;)(h=v[s]).fixed||r.visit(x(h));for(s=-1;++s<T;)(h=v[s]).fixed?(h.x=h.px,h.y=h.py):(h.x-=(h.px-(h.px=h.x))*u,h.y-=(h.py-(h.py=h.y))*u);l.tick({type:\"tick\",alpha:n})},s.nodes=function(t){return arguments.length?(v=t,s):v},s.links=function(t){return arguments.length?(y=t,s):y},s.size=function(t){return arguments.length?(c=t,s):c},s.linkDistance=function(t){return arguments.length?(h=\"function\"==typeof t?t:+t,s):h},s.distance=s.linkDistance,s.linkStrength=function(t){return arguments.length?(f=\"function\"==typeof t?t:+t,s):f},s.friction=function(t){return arguments.length?(u=+t,s):u},s.charge=function(t){return arguments.length?(p=\"function\"==typeof t?t:+t,s):p},s.chargeDistance=function(t){return arguments.length?(d=t*t,s):Math.sqrt(d)},s.gravity=function(t){return arguments.length?(g=+t,s):g},s.theta=function(t){return arguments.length?(m=t*t,s):Math.sqrt(m)},s.alpha=function(t){return arguments.length?(t=+t,n?t>0?n=t:(e.c=null,e.t=NaN,e=null,l.end({type:\"end\",alpha:n=0})):t>0&&(l.start({type:\"start\",alpha:n=t}),e=we(s.tick)),s):n},s.start=function(){var t,e,r,n=v.length,l=y.length,u=c[0],d=c[1];for(t=0;t<n;++t)(r=v[t]).index=t,r.weight=0;for(t=0;t<l;++t)\"number\"==typeof(r=y[t]).source&&(r.source=v[r.source]),\"number\"==typeof r.target&&(r.target=v[r.target]),++r.source.weight,++r.target.weight;for(t=0;t<n;++t)r=v[t],isNaN(r.x)&&(r.x=g(\"x\",u)),isNaN(r.y)&&(r.y=g(\"y\",d)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(a=[],\"function\"==typeof h)for(t=0;t<l;++t)a[t]=+h.call(this,y[t],t);else for(t=0;t<l;++t)a[t]=h;if(i=[],\"function\"==typeof f)for(t=0;t<l;++t)i[t]=+f.call(this,y[t],t);else for(t=0;t<l;++t)i[t]=f;if(o=[],\"function\"==typeof p)for(t=0;t<n;++t)o[t]=+p.call(this,v[t],t);else for(t=0;t<n;++t)o[t]=p;function g(r,a){if(!e){for(e=new Array(n),c=0;c<n;++c)e[c]=[];for(c=0;c<l;++c){var i=y[c];e[i.source.index].push(i.target),e[i.target.index].push(i.source)}}for(var o,s=e[t],c=-1,u=s.length;++c<u;)if(!isNaN(o=s[c][r]))return o;return Math.random()*a}return s.resume()},s.resume=function(){return s.alpha(.1)},s.stop=function(){return s.alpha(0)},s.drag=function(){if(r||(r=t.behavior.drag().origin(L).on(\"dragstart.force\",Ai).on(\"drag.force\",b).on(\"dragend.force\",Mi)),!arguments.length)return r;this.on(\"mouseover.force\",Si).on(\"mouseout.force\",Ei).call(r)},t.rebind(s,l,\"on\")};var Ci=20,Li=1,Pi=1/0;function Ii(e,r){return t.rebind(e,r,\"sort\",\"children\",\"value\"),e.nodes=e,e.links=Bi,e}function zi(t,e){for(var r=[t];null!=(t=r.pop());)if(e(t),(a=t.children)&&(n=a.length))for(var n,a;--n>=0;)r.push(a[n])}function Oi(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(i=t.children)&&(a=i.length))for(var a,i,o=-1;++o<a;)r.push(i[o]);for(;null!=(t=n.pop());)e(t)}function Di(t){return t.children}function Ri(t){return t.value}function Fi(t,e){return e.value-t.value}function Bi(e){return t.merge(e.map((function(t){return(t.children||[]).map((function(e){return{source:t,target:e}}))})))}t.layout.hierarchy=function(){var t=Fi,e=Di,r=Ri;function n(a){var i,o=[a],s=[];for(a.depth=0;null!=(i=o.pop());)if(s.push(i),(c=e.call(n,i,i.depth))&&(l=c.length)){for(var l,c,u;--l>=0;)o.push(u=c[l]),u.parent=i,u.depth=i.depth+1;r&&(i.value=0),i.children=c}else r&&(i.value=+r.call(n,i,i.depth)||0),delete i.children;return Oi(a,(function(e){var n,a;t&&(n=e.children)&&n.sort(t),r&&(a=e.parent)&&(a.value+=e.value)})),s}return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(zi(t,(function(t){t.children&&(t.value=0)})),Oi(t,(function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)}))),t},n},t.layout.partition=function(){var e=t.layout.hierarchy(),r=[1,1];function n(t,n){var a=e.call(this,t,n);return function t(e,r,n,a){var i=e.children;if(e.x=r,e.y=e.depth*a,e.dx=n,e.dy=a,i&&(o=i.length)){var o,s,l,c=-1;for(n=e.value?n/e.value:0;++c<o;)t(s=i[c],r,l=s.value*n,a),r+=l}}(a[0],0,r[0],r[1]/function t(e){var r=e.children,n=0;if(r&&(a=r.length))for(var a,i=-1;++i<a;)n=Math.max(n,t(r[i]));return 1+n}(a[0])),a}return n.size=function(t){return arguments.length?(r=t,n):r},Ii(n,e)},t.layout.pie=function(){var e=Number,r=Ni,n=0,a=St,i=0;function o(s){var l,c=s.length,u=s.map((function(t,r){return+e.call(o,t,r)})),h=+(\"function\"==typeof n?n.apply(this,arguments):n),f=(\"function\"==typeof a?a.apply(this,arguments):a)-h,p=Math.min(Math.abs(f)/c,+(\"function\"==typeof i?i.apply(this,arguments):i)),d=p*(f<0?-1:1),g=t.sum(u),m=g?(f-c*d)/g:0,v=t.range(c),y=[];return null!=r&&v.sort(r===Ni?function(t,e){return u[e]-u[t]}:function(t,e){return r(s[t],s[e])}),v.forEach((function(t){y[t]={data:s[t],value:l=u[t],startAngle:h,endAngle:h+=l*m+d,padAngle:p}})),y}return o.value=function(t){return arguments.length?(e=t,o):e},o.sort=function(t){return arguments.length?(r=t,o):r},o.startAngle=function(t){return arguments.length?(n=t,o):n},o.endAngle=function(t){return arguments.length?(a=t,o):a},o.padAngle=function(t){return arguments.length?(i=t,o):i},o};var Ni={};function ji(t){return t.x}function Vi(t){return t.y}function Ui(t,e,r){t.y0=e,t.y=r}t.layout.stack=function(){var e=L,r=Gi,n=Yi,a=Ui,i=ji,o=Vi;function s(l,c){if(!(p=l.length))return l;var u=l.map((function(t,r){return e.call(s,t,r)})),h=u.map((function(t){return t.map((function(t,e){return[i.call(s,t,e),o.call(s,t,e)]}))})),f=r.call(s,h,c);u=t.permute(u,f),h=t.permute(h,f);var p,d,g,m,v=n.call(s,h,c),y=u[0].length;for(g=0;g<y;++g)for(a.call(s,u[0][g],m=v[g],h[0][g][1]),d=1;d<p;++d)a.call(s,u[d][g],m+=h[d-1][g][1],h[d][g][1]);return l}return s.values=function(t){return arguments.length?(e=t,s):e},s.order=function(t){return arguments.length?(r=\"function\"==typeof t?t:qi.get(t)||Gi,s):r},s.offset=function(t){return arguments.length?(n=\"function\"==typeof t?t:Hi.get(t)||Yi,s):n},s.x=function(t){return arguments.length?(i=t,s):i},s.y=function(t){return arguments.length?(o=t,s):o},s.out=function(t){return arguments.length?(a=t,s):a},s};var qi=t.map({\"inside-out\":function(e){var r,n,a=e.length,i=e.map(Wi),o=e.map(Zi),s=t.range(a).sort((function(t,e){return i[t]-i[e]})),l=0,c=0,u=[],h=[];for(r=0;r<a;++r)n=s[r],l<c?(l+=o[n],u.push(n)):(c+=o[n],h.push(n));return h.reverse().concat(u)},reverse:function(e){return t.range(e.length).reverse()},default:Gi}),Hi=t.map({silhouette:function(t){var e,r,n,a=t.length,i=t[0].length,o=[],s=0,l=[];for(r=0;r<i;++r){for(e=0,n=0;e<a;e++)n+=t[e][r][1];n>s&&(s=n),o.push(n)}for(r=0;r<i;++r)l[r]=(s-o[r])/2;return l},wiggle:function(t){var e,r,n,a,i,o,s,l,c,u=t.length,h=t[0],f=h.length,p=[];for(p[0]=l=c=0,r=1;r<f;++r){for(e=0,a=0;e<u;++e)a+=t[e][r][1];for(e=0,i=0,s=h[r][0]-h[r-1][0];e<u;++e){for(n=0,o=(t[e][r][1]-t[e][r-1][1])/(2*s);n<e;++n)o+=(t[n][r][1]-t[n][r-1][1])/s;i+=o*t[e][r][1]}p[r]=l-=a?i/a*s:0,l<c&&(c=l)}for(r=0;r<f;++r)p[r]-=c;return p},expand:function(t){var e,r,n,a=t.length,i=t[0].length,o=1/a,s=[];for(r=0;r<i;++r){for(e=0,n=0;e<a;e++)n+=t[e][r][1];if(n)for(e=0;e<a;e++)t[e][r][1]/=n;else for(e=0;e<a;e++)t[e][r][1]=o}for(r=0;r<i;++r)s[r]=0;return s},zero:Yi});function Gi(e){return t.range(e.length)}function Yi(t){for(var e=-1,r=t[0].length,n=[];++e<r;)n[e]=0;return n}function Wi(t){for(var e,r=1,n=0,a=t[0][1],i=t.length;r<i;++r)(e=t[r][1])>a&&(n=r,a=e);return n}function Zi(t){return t.reduce(Xi,0)}function Xi(t,e){return t+e[1]}function Ji(t,e){return Ki(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Ki(t,e){for(var r=-1,n=+t[0],a=(t[1]-n)/e,i=[];++r<=e;)i[r]=a*r+n;return i}function Qi(e){return[t.min(e),t.max(e)]}function $i(t,e){return t.value-e.value}function to(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function eo(t,e){t._pack_next=e,e._pack_prev=t}function ro(t,e){var r=e.x-t.x,n=e.y-t.y,a=t.r+e.r;return.999*a*a>r*r+n*n}function no(t){if((e=t.children)&&(l=e.length)){var e,r,n,a,i,o,s,l,c=1/0,u=-1/0,h=1/0,f=-1/0;if(e.forEach(ao),(r=e[0]).x=-r.r,r.y=0,x(r),l>1&&((n=e[1]).x=n.r,n.y=0,x(n),l>2))for(oo(r,n,a=e[2]),x(a),to(r,a),r._pack_prev=a,to(a,n),n=r._pack_next,i=3;i<l;i++){oo(r,n,a=e[i]);var p=0,d=1,g=1;for(o=n._pack_next;o!==n;o=o._pack_next,d++)if(ro(o,a)){p=1;break}if(1==p)for(s=r._pack_prev;s!==o._pack_prev&&!ro(s,a);s=s._pack_prev,g++);p?(d<g||d==g&&n.r<r.r?eo(r,n=o):eo(r=s,n),i--):(to(r,a),n=a,x(a))}var m=(c+u)/2,v=(h+f)/2,y=0;for(i=0;i<l;i++)(a=e[i]).x-=m,a.y-=v,y=Math.max(y,a.r+Math.sqrt(a.x*a.x+a.y*a.y));t.r=y,e.forEach(io)}function x(t){c=Math.min(t.x-t.r,c),u=Math.max(t.x+t.r,u),h=Math.min(t.y-t.r,h),f=Math.max(t.y+t.r,f)}}function ao(t){t._pack_next=t._pack_prev=t}function io(t){delete t._pack_next,delete t._pack_prev}function oo(t,e,r){var n=t.r+r.r,a=e.x-t.x,i=e.y-t.y;if(n&&(a||i)){var o=e.r+r.r,s=a*a+i*i,l=.5+((n*=n)-(o*=o))/(2*s),c=Math.sqrt(Math.max(0,2*o*(n+s)-(n-=s)*n-o*o))/(2*s);r.x=t.x+l*a+c*i,r.y=t.y+l*i-c*a}else r.x=t.x+n,r.y=t.y}function so(t,e){return t.parent==e.parent?1:2}function lo(t){var e=t.children;return e.length?e[0]:t.t}function co(t){var e,r=t.children;return(e=r.length)?r[e-1]:t.t}function uo(t,e,r){var n=r/(e.i-t.i);e.c-=n,e.s+=r,t.c+=n,e.z+=r,e.m+=r}function ho(t,e,r){return t.a.parent===e.parent?t.a:r}function fo(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function po(t,e){var r=t.x+e[3],n=t.y+e[0],a=t.dx-e[1]-e[3],i=t.dy-e[0]-e[2];return a<0&&(r+=a/2,a=0),i<0&&(n+=i/2,i=0),{x:r,y:n,dx:a,dy:i}}function go(t){var e=t[0],r=t[t.length-1];return e<r?[e,r]:[r,e]}function mo(t){return t.rangeExtent?t.rangeExtent():go(t.range())}function vo(t,e,r,n){var a=r(t[0],t[1]),i=n(e[0],e[1]);return function(t){return i(a(t))}}function yo(t,e){var r,n=0,a=t.length-1,i=t[n],o=t[a];return o<i&&(r=n,n=a,a=r,r=i,i=o,o=r),t[n]=e.floor(i),t[a]=e.ceil(o),t}function xo(t){return t?{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}:bo}t.layout.histogram=function(){var e=!0,r=Number,n=Qi,a=Ji;function i(i,o){for(var s,l,c=[],u=i.map(r,this),h=n.call(this,u,o),f=a.call(this,h,u,o),p=(o=-1,u.length),d=f.length-1,g=e?1:1/p;++o<d;)(s=c[o]=[]).dx=f[o+1]-(s.x=f[o]),s.y=0;if(d>0)for(o=-1;++o<p;)(l=u[o])>=h[0]&&l<=h[1]&&((s=c[t.bisect(f,l,1,d)-1]).y+=g,s.push(i[o]));return c}return i.value=function(t){return arguments.length?(r=t,i):r},i.range=function(t){return arguments.length?(n=de(t),i):n},i.bins=function(t){return arguments.length?(a=\"number\"==typeof t?function(e){return Ki(e,t)}:de(t),i):a},i.frequency=function(t){return arguments.length?(e=!!t,i):e},i},t.layout.pack=function(){var e,r=t.layout.hierarchy().sort($i),n=0,a=[1,1];function i(t,i){var o=r.call(this,t,i),s=o[0],l=a[0],c=a[1],u=null==e?Math.sqrt:\"function\"==typeof e?e:function(){return e};if(s.x=s.y=0,Oi(s,(function(t){t.r=+u(t.value)})),Oi(s,no),n){var h=n*(e?1:Math.max(2*s.r/l,2*s.r/c))/2;Oi(s,(function(t){t.r+=h})),Oi(s,no),Oi(s,(function(t){t.r-=h}))}return function t(e,r,n,a){var i=e.children;if(e.x=r+=a*e.x,e.y=n+=a*e.y,e.r*=a,i)for(var o=-1,s=i.length;++o<s;)t(i[o],r,n,a)}(s,l/2,c/2,e?1:1/Math.max(2*s.r/l,2*s.r/c)),o}return i.size=function(t){return arguments.length?(a=t,i):a},i.radius=function(t){return arguments.length?(e=null==t||\"function\"==typeof t?t:+t,i):e},i.padding=function(t){return arguments.length?(n=+t,i):n},Ii(i,r)},t.layout.tree=function(){var e=t.layout.hierarchy().sort(null).value(null),r=so,n=[1,1],a=null;function i(t,i){var c=e.call(this,t,i),u=c[0],h=function(t){var e,r={A:null,children:[t]},n=[r];for(;null!=(e=n.pop());)for(var a,i=e.children,o=0,s=i.length;o<s;++o)n.push((i[o]=a={_:i[o],parent:e,children:(a=i[o].children)&&a.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=a);return r.children[0]}(u);if(Oi(h,o),h.parent.m=-h.z,zi(h,s),a)zi(u,l);else{var f=u,p=u,d=u;zi(u,(function(t){t.x<f.x&&(f=t),t.x>p.x&&(p=t),t.depth>d.depth&&(d=t)}));var g=r(f,p)/2-f.x,m=n[0]/(p.x+r(p,f)/2+g),v=n[1]/(d.depth||1);zi(u,(function(t){t.x=(t.x+g)*m,t.y=t.depth*v}))}return c}function o(t){var e=t.children,n=t.parent.children,a=t.i?n[t.i-1]:null;if(e.length){!function(t){var e,r=0,n=0,a=t.children,i=a.length;for(;--i>=0;)(e=a[i]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var i=(e[0].z+e[e.length-1].z)/2;a?(t.z=a.z+r(t._,a._),t.m=t.z-i):t.z=i}else a&&(t.z=a.z+r(t._,a._));t.parent.A=function(t,e,n){if(e){for(var a,i=t,o=t,s=e,l=i.parent.children[0],c=i.m,u=o.m,h=s.m,f=l.m;s=co(s),i=lo(i),s&&i;)l=lo(l),(o=co(o)).a=t,(a=s.z+h-i.z-c+r(s._,i._))>0&&(uo(ho(s,t,n),t,a),c+=a,u+=a),h+=s.m,c+=i.m,f+=l.m,u+=o.m;s&&!co(o)&&(o.t=s,o.m+=h-u),i&&!lo(l)&&(l.t=i,l.m+=c-f,n=t)}return n}(t,a,t.parent.A||n[0])}function s(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function l(t){t.x*=n[0],t.y=t.depth*n[1]}return i.separation=function(t){return arguments.length?(r=t,i):r},i.size=function(t){return arguments.length?(a=null==(n=t)?l:null,i):a?null:n},i.nodeSize=function(t){return arguments.length?(a=null==(n=t)?null:l,i):a?n:null},Ii(i,e)},t.layout.cluster=function(){var e=t.layout.hierarchy().sort(null).value(null),r=so,n=[1,1],a=!1;function i(i,o){var s,l=e.call(this,i,o),c=l[0],u=0;Oi(c,(function(e){var n=e.children;n&&n.length?(e.x=function(t){return t.reduce((function(t,e){return t+e.x}),0)/t.length}(n),e.y=function(e){return 1+t.max(e,(function(t){return t.y}))}(n)):(e.x=s?u+=r(e,s):0,e.y=0,s=e)}));var h=function t(e){var r=e.children;return r&&r.length?t(r[0]):e}(c),f=function t(e){var r,n=e.children;return n&&(r=n.length)?t(n[r-1]):e}(c),p=h.x-r(h,f)/2,d=f.x+r(f,h)/2;return Oi(c,a?function(t){t.x=(t.x-c.x)*n[0],t.y=(c.y-t.y)*n[1]}:function(t){t.x=(t.x-p)/(d-p)*n[0],t.y=(1-(c.y?t.y/c.y:1))*n[1]}),l}return i.separation=function(t){return arguments.length?(r=t,i):r},i.size=function(t){return arguments.length?(a=null==(n=t),i):a?null:n},i.nodeSize=function(t){return arguments.length?(a=null!=(n=t),i):a?n:null},Ii(i,e)},t.layout.treemap=function(){var e,r=t.layout.hierarchy(),n=Math.round,a=[1,1],i=null,o=fo,s=!1,l=\"squarify\",c=.5*(1+Math.sqrt(5));function u(t,e){for(var r,n,a=-1,i=t.length;++a<i;)n=(r=t[a]).value*(e<0?0:e),r.area=isNaN(n)||n<=0?0:n}function h(t){var e=t.children;if(e&&e.length){var r,n,a,i=o(t),s=[],c=e.slice(),f=1/0,g=\"slice\"===l?i.dx:\"dice\"===l?i.dy:\"slice-dice\"===l?1&t.depth?i.dy:i.dx:Math.min(i.dx,i.dy);for(u(c,i.dx*i.dy/t.value),s.area=0;(a=c.length)>0;)s.push(r=c[a-1]),s.area+=r.area,\"squarify\"!==l||(n=p(s,g))<=f?(c.pop(),f=n):(s.area-=s.pop().area,d(s,g,i,!1),g=Math.min(i.dx,i.dy),s.length=s.area=0,f=1/0);s.length&&(d(s,g,i,!0),s.length=s.area=0),e.forEach(h)}}function f(t){var e=t.children;if(e&&e.length){var r,n=o(t),a=e.slice(),i=[];for(u(a,n.dx*n.dy/t.value),i.area=0;r=a.pop();)i.push(r),i.area+=r.area,null!=r.z&&(d(i,r.z?n.dx:n.dy,n,!a.length),i.length=i.area=0);e.forEach(f)}}function p(t,e){for(var r,n=t.area,a=0,i=1/0,o=-1,s=t.length;++o<s;)(r=t[o].area)&&(r<i&&(i=r),r>a&&(a=r));return e*=e,(n*=n)?Math.max(e*a*c/n,n/(e*i*c)):1/0}function d(t,e,r,a){var i,o=-1,s=t.length,l=r.x,c=r.y,u=e?n(t.area/e):0;if(e==r.dx){for((a||u>r.dy)&&(u=r.dy);++o<s;)(i=t[o]).x=l,i.y=c,i.dy=u,l+=i.dx=Math.min(r.x+r.dx-l,u?n(i.area/u):0);i.z=!0,i.dx+=r.x+r.dx-l,r.y+=u,r.dy-=u}else{for((a||u>r.dx)&&(u=r.dx);++o<s;)(i=t[o]).x=l,i.y=c,i.dx=u,c+=i.dy=Math.min(r.y+r.dy-c,u?n(i.area/u):0);i.z=!1,i.dy+=r.y+r.dy-c,r.x+=u,r.dx-=u}}function g(t){var n=e||r(t),i=n[0];return i.x=i.y=0,i.value?(i.dx=a[0],i.dy=a[1]):i.dx=i.dy=0,e&&r.revalue(i),u([i],i.dx*i.dy/i.value),(e?f:h)(i),s&&(e=n),n}return g.size=function(t){return arguments.length?(a=t,g):a},g.padding=function(t){if(!arguments.length)return i;function e(e){var r=t.call(g,e,e.depth);return null==r?fo(e):po(e,\"number\"==typeof r?[r,r,r,r]:r)}function r(e){return po(e,t)}var n;return o=null==(i=t)?fo:\"function\"==(n=typeof t)?e:\"number\"===n?(t=[t,t,t,t],r):r,g},g.round=function(t){return arguments.length?(n=t?Math.round:Number,g):n!=Number},g.sticky=function(t){return arguments.length?(s=t,e=null,g):s},g.ratio=function(t){return arguments.length?(c=t,g):c},g.mode=function(t){return arguments.length?(l=t+\"\",g):l},Ii(g,r)},t.random={normal:function(t,e){var r=arguments.length;return r<2&&(e=1),r<1&&(t=0),function(){var r,n,a;do{a=(r=2*Math.random()-1)*r+(n=2*Math.random()-1)*n}while(!a||a>1);return t+e*r*Math.sqrt(-2*Math.log(a)/a)}},logNormal:function(){var e=t.random.normal.apply(t,arguments);return function(){return Math.exp(e())}},bates:function(e){var r=t.random.irwinHall(e);return function(){return r()/e}},irwinHall:function(t){return function(){for(var e=0,r=0;r<t;r++)e+=Math.random();return e}}},t.scale={};var bo={floor:L,ceil:L};function _o(e,r,n,a){var i=[],o=[],s=0,l=Math.min(e.length,r.length)-1;for(e[l]<e[0]&&(e=e.slice().reverse(),r=r.slice().reverse());++s<=l;)i.push(n(e[s-1],e[s])),o.push(a(r[s-1],r[s]));return function(r){var n=t.bisect(e,r,1,l)-1;return o[n](i[n](r))}}function wo(e,r){return t.rebind(e,r,\"range\",\"rangeRound\",\"interpolate\",\"clamp\")}function To(t,e){return yo(t,xo(ko(t,e)[2])),yo(t,xo(ko(t,e)[2])),t}function ko(t,e){null==e&&(e=10);var r=go(t),n=r[1]-r[0],a=Math.pow(10,Math.floor(Math.log(n/e)/Math.LN10)),i=e/n*a;return i<=.15?a*=10:i<=.35?a*=5:i<=.75&&(a*=2),r[0]=Math.ceil(r[0]/a)*a,r[1]=Math.floor(r[1]/a)*a+.5*a,r[2]=a,r}function Ao(e,r){return t.range.apply(t,ko(e,r))}function Mo(e,r,n){var a=ko(e,r);if(n){var i=Ce.exec(n);if(i.shift(),\"s\"===i[8]){var o=t.formatPrefix(Math.max(y(a[0]),y(a[1])));return i[7]||(i[7]=\".\"+Eo(o.scale(a[2]))),i[8]=\"f\",n=t.format(i.join(\"\")),function(t){return n(o.scale(t))+o.symbol}}i[7]||(i[7]=\".\"+function(t,e){var r=Eo(e[2]);return t in So?Math.abs(r-Eo(Math.max(y(e[0]),y(e[1]))))+ +(\"e\"!==t):r-2*(\"%\"===t)}(i[8],a)),n=i.join(\"\")}else n=\",.\"+Eo(a[2])+\"f\";return t.format(n)}t.scale.linear=function(){return function t(e,r,n,a){var i,o;function s(){var t=Math.min(e.length,r.length)>2?_o:vo,s=a?wi:_i;return i=t(e,r,s,n),o=t(r,e,s,$a),l}function l(t){return i(t)}return l.invert=function(t){return o(t)},l.domain=function(t){return arguments.length?(e=t.map(Number),s()):e},l.range=function(t){return arguments.length?(r=t,s()):r},l.rangeRound=function(t){return l.range(t).interpolate(di)},l.clamp=function(t){return arguments.length?(a=t,s()):a},l.interpolate=function(t){return arguments.length?(n=t,s()):n},l.ticks=function(t){return Ao(e,t)},l.tickFormat=function(t,r){return Mo(e,t,r)},l.nice=function(t){return To(e,t),s()},l.copy=function(){return t(e,r,n,a)},s()}([0,1],[0,1],$a,!1)};var So={s:1,g:1,p:1,r:1,e:1};function Eo(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}t.scale.log=function(){return function e(r,n,a,i){function o(t){return(a?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(n)}function s(t){return a?Math.pow(n,t):-Math.pow(n,-t)}function l(t){return r(o(t))}return l.invert=function(t){return s(r.invert(t))},l.domain=function(t){return arguments.length?(a=t[0]>=0,r.domain((i=t.map(Number)).map(o)),l):i},l.base=function(t){return arguments.length?(n=+t,r.domain(i.map(o)),l):n},l.nice=function(){var t=yo(i.map(o),a?Math:Lo);return r.domain(t),i=t.map(s),l},l.ticks=function(){var t=go(i),e=[],r=t[0],l=t[1],c=Math.floor(o(r)),u=Math.ceil(o(l)),h=n%1?2:n;if(isFinite(u-c)){if(a){for(;c<u;c++)for(var f=1;f<h;f++)e.push(s(c)*f);e.push(s(c))}else for(e.push(s(c));c++<u;)for(f=h-1;f>0;f--)e.push(s(c)*f);for(c=0;e[c]<r;c++);for(u=e.length;e[u-1]>l;u--);e=e.slice(c,u)}return e},l.tickFormat=function(e,r){if(!arguments.length)return Co;arguments.length<2?r=Co:\"function\"!=typeof r&&(r=t.format(r));var a=Math.max(1,n*e/l.ticks().length);return function(t){var e=t/s(Math.round(o(t)));return e*n<n-.5&&(e*=n),e<=a?r(t):\"\"}},l.copy=function(){return e(r.copy(),n,a,i)},wo(l,r)}(t.scale.linear().domain([0,1]),10,!0,[1,10])};var Co=t.format(\".0e\"),Lo={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};function Po(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}t.scale.pow=function(){return function t(e,r,n){var a=Po(r),i=Po(1/r);function o(t){return e(a(t))}return o.invert=function(t){return i(e.invert(t))},o.domain=function(t){return arguments.length?(e.domain((n=t.map(Number)).map(a)),o):n},o.ticks=function(t){return Ao(n,t)},o.tickFormat=function(t,e){return Mo(n,t,e)},o.nice=function(t){return o.domain(To(n,t))},o.exponent=function(t){return arguments.length?(a=Po(r=t),i=Po(1/r),e.domain(n.map(a)),o):r},o.copy=function(){return t(e.copy(),r,n)},wo(o,e)}(t.scale.linear(),1,[0,1])},t.scale.sqrt=function(){return t.scale.pow().exponent(.5)},t.scale.ordinal=function(){return function e(r,n){var a,i,o;function s(t){return i[((a.get(t)||(\"range\"===n.t?a.set(t,r.push(t)):NaN))-1)%i.length]}function l(e,n){return t.range(r.length).map((function(t){return e+n*t}))}return s.domain=function(t){if(!arguments.length)return r;r=[],a=new _;for(var e,i=-1,o=t.length;++i<o;)a.has(e=t[i])||a.set(e,r.push(e));return s[n.t].apply(s,n.a)},s.range=function(t){return arguments.length?(i=t,o=0,n={t:\"range\",a:arguments},s):i},s.rangePoints=function(t,e){arguments.length<2&&(e=0);var a=t[0],c=t[1],u=r.length<2?(a=(a+c)/2,0):(c-a)/(r.length-1+e);return i=l(a+u*e/2,u),o=0,n={t:\"rangePoints\",a:arguments},s},s.rangeRoundPoints=function(t,e){arguments.length<2&&(e=0);var a=t[0],c=t[1],u=r.length<2?(a=c=Math.round((a+c)/2),0):(c-a)/(r.length-1+e)|0;return i=l(a+Math.round(u*e/2+(c-a-(r.length-1+e)*u)/2),u),o=0,n={t:\"rangeRoundPoints\",a:arguments},s},s.rangeBands=function(t,e,a){arguments.length<2&&(e=0),arguments.length<3&&(a=e);var c=t[1]<t[0],u=t[c-0],h=t[1-c],f=(h-u)/(r.length-e+2*a);return i=l(u+f*a,f),c&&i.reverse(),o=f*(1-e),n={t:\"rangeBands\",a:arguments},s},s.rangeRoundBands=function(t,e,a){arguments.length<2&&(e=0),arguments.length<3&&(a=e);var c=t[1]<t[0],u=t[c-0],h=t[1-c],f=Math.floor((h-u)/(r.length-e+2*a));return i=l(u+Math.round((h-u-(r.length-e)*f)/2),f),c&&i.reverse(),o=Math.round(f*(1-e)),n={t:\"rangeRoundBands\",a:arguments},s},s.rangeBand=function(){return o},s.rangeExtent=function(){return go(n.a[0])},s.copy=function(){return e(r,n)},s.domain(r)}([],{t:\"range\",a:[[]]})},t.scale.category10=function(){return t.scale.ordinal().range(Io)},t.scale.category20=function(){return t.scale.ordinal().range(zo)},t.scale.category20b=function(){return t.scale.ordinal().range(Oo)},t.scale.category20c=function(){return t.scale.ordinal().range(Do)};var Io=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(ie),zo=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(ie),Oo=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(ie),Do=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(ie);function Ro(){return 0}t.scale.quantile=function(){return function e(r,n){var a;function i(){var e=0,i=n.length;for(a=[];++e<i;)a[e-1]=t.quantile(r,e/i);return o}function o(e){if(!isNaN(e=+e))return n[t.bisect(a,e)]}return o.domain=function(t){return arguments.length?(r=t.map(p).filter(d).sort(f),i()):r},o.range=function(t){return arguments.length?(n=t,i()):n},o.quantiles=function(){return a},o.invertExtent=function(t){return(t=n.indexOf(t))<0?[NaN,NaN]:[t>0?a[t-1]:r[0],t<a.length?a[t]:r[r.length-1]]},o.copy=function(){return e(r,n)},i()}([],[])},t.scale.quantize=function(){return function t(e,r,n){var a,i;function o(t){return n[Math.max(0,Math.min(i,Math.floor(a*(t-e))))]}function s(){return a=n.length/(r-e),i=n.length-1,o}return o.domain=function(t){return arguments.length?(e=+t[0],r=+t[t.length-1],s()):[e,r]},o.range=function(t){return arguments.length?(n=t,s()):n},o.invertExtent=function(t){return[t=(t=n.indexOf(t))<0?NaN:t/a+e,t+1/a]},o.copy=function(){return t(e,r,n)},s()}(0,1,[0,1])},t.scale.threshold=function(){return function e(r,n){function a(e){if(e<=e)return n[t.bisect(r,e)]}return a.domain=function(t){return arguments.length?(r=t,a):r},a.range=function(t){return arguments.length?(n=t,a):n},a.invertExtent=function(t){return t=n.indexOf(t),[r[t-1],r[t]]},a.copy=function(){return e(r,n)},a}([.5],[0,1])},t.scale.identity=function(){return function t(e){function r(t){return+t}return r.invert=r,r.domain=r.range=function(t){return arguments.length?(e=t.map(r),r):e},r.ticks=function(t){return Ao(e,t)},r.tickFormat=function(t,r){return Mo(e,t,r)},r.copy=function(){return t(e)},r}([0,1])},t.svg={},t.svg.arc=function(){var t=Bo,e=No,r=Ro,n=Fo,a=jo,i=Vo,o=Uo;function s(){var s=Math.max(0,+t.apply(this,arguments)),c=Math.max(0,+e.apply(this,arguments)),u=a.apply(this,arguments)-Ct,h=i.apply(this,arguments)-Ct,f=Math.abs(h-u),p=u>h?0:1;if(c<s&&(d=c,c=s,s=d),f>=Et)return l(c,p)+(s?l(s,1-p):\"\")+\"Z\";var d,g,m,v,y,x,b,_,w,T,k,A,M=0,S=0,E=[];if((v=(+o.apply(this,arguments)||0)/2)&&(m=n===Fo?Math.sqrt(s*s+c*c):+n.apply(this,arguments),p||(S*=-1),c&&(S=Dt(m/c*Math.sin(v))),s&&(M=Dt(m/s*Math.sin(v)))),c){y=c*Math.cos(u+S),x=c*Math.sin(u+S),b=c*Math.cos(h-S),_=c*Math.sin(h-S);var C=Math.abs(h-u-2*S)<=Mt?0:1;if(S&&qo(y,x,b,_)===p^C){var L=(u+h)/2;y=c*Math.cos(L),x=c*Math.sin(L),b=_=null}}else y=x=0;if(s){w=s*Math.cos(h-M),T=s*Math.sin(h-M),k=s*Math.cos(u+M),A=s*Math.sin(u+M);var P=Math.abs(u-h+2*M)<=Mt?0:1;if(M&&qo(w,T,k,A)===1-p^P){var I=(u+h)/2;w=s*Math.cos(I),T=s*Math.sin(I),k=A=null}}else w=T=0;if(f>kt&&(d=Math.min(Math.abs(c-s)/2,+r.apply(this,arguments)))>.001){g=s<c^p?0:1;var z=d,O=d;if(f<Mt){var D=null==k?[w,T]:null==b?[y,x]:la([y,x],[k,A],[b,_],[w,T]),R=y-D[0],F=x-D[1],B=b-D[0],N=_-D[1],j=1/Math.sin(Math.acos((R*B+F*N)/(Math.sqrt(R*R+F*F)*Math.sqrt(B*B+N*N)))/2),V=Math.sqrt(D[0]*D[0]+D[1]*D[1]);O=Math.min(d,(s-V)/(j-1)),z=Math.min(d,(c-V)/(j+1))}if(null!=b){var U=Ho(null==k?[w,T]:[k,A],[y,x],c,z,p),q=Ho([b,_],[w,T],c,z,p);d===z?E.push(\"M\",U[0],\"A\",z,\",\",z,\" 0 0,\",g,\" \",U[1],\"A\",c,\",\",c,\" 0 \",1-p^qo(U[1][0],U[1][1],q[1][0],q[1][1]),\",\",p,\" \",q[1],\"A\",z,\",\",z,\" 0 0,\",g,\" \",q[0]):E.push(\"M\",U[0],\"A\",z,\",\",z,\" 0 1,\",g,\" \",q[0])}else E.push(\"M\",y,\",\",x);if(null!=k){var H=Ho([y,x],[k,A],s,-O,p),G=Ho([w,T],null==b?[y,x]:[b,_],s,-O,p);d===O?E.push(\"L\",G[0],\"A\",O,\",\",O,\" 0 0,\",g,\" \",G[1],\"A\",s,\",\",s,\" 0 \",p^qo(G[1][0],G[1][1],H[1][0],H[1][1]),\",\",1-p,\" \",H[1],\"A\",O,\",\",O,\" 0 0,\",g,\" \",H[0]):E.push(\"L\",G[0],\"A\",O,\",\",O,\" 0 0,\",g,\" \",H[0])}else E.push(\"L\",w,\",\",T)}else E.push(\"M\",y,\",\",x),null!=b&&E.push(\"A\",c,\",\",c,\" 0 \",C,\",\",p,\" \",b,\",\",_),E.push(\"L\",w,\",\",T),null!=k&&E.push(\"A\",s,\",\",s,\" 0 \",P,\",\",1-p,\" \",k,\",\",A);return E.push(\"Z\"),E.join(\"\")}function l(t,e){return\"M0,\"+t+\"A\"+t+\",\"+t+\" 0 1,\"+e+\" 0,\"+-t+\"A\"+t+\",\"+t+\" 0 1,\"+e+\" 0,\"+t}return s.innerRadius=function(e){return arguments.length?(t=de(e),s):t},s.outerRadius=function(t){return arguments.length?(e=de(t),s):e},s.cornerRadius=function(t){return arguments.length?(r=de(t),s):r},s.padRadius=function(t){return arguments.length?(n=t==Fo?Fo:de(t),s):n},s.startAngle=function(t){return arguments.length?(a=de(t),s):a},s.endAngle=function(t){return arguments.length?(i=de(t),s):i},s.padAngle=function(t){return arguments.length?(o=de(t),s):o},s.centroid=function(){var r=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,n=(+a.apply(this,arguments)+ +i.apply(this,arguments))/2-Ct;return[Math.cos(n)*r,Math.sin(n)*r]},s};var Fo=\"auto\";function Bo(t){return t.innerRadius}function No(t){return t.outerRadius}function jo(t){return t.startAngle}function Vo(t){return t.endAngle}function Uo(t){return t&&t.padAngle}function qo(t,e,r,n){return(t-r)*e-(e-n)*t>0?0:1}function Ho(t,e,r,n,a){var i=t[0]-e[0],o=t[1]-e[1],s=(a?n:-n)/Math.sqrt(i*i+o*o),l=s*o,c=-s*i,u=t[0]+l,h=t[1]+c,f=e[0]+l,p=e[1]+c,d=(u+f)/2,g=(h+p)/2,m=f-u,v=p-h,y=m*m+v*v,x=r-n,b=u*p-f*h,_=(v<0?-1:1)*Math.sqrt(Math.max(0,x*x*y-b*b)),w=(b*v-m*_)/y,T=(-b*m-v*_)/y,k=(b*v+m*_)/y,A=(-b*m+v*_)/y,M=w-d,S=T-g,E=k-d,C=A-g;return M*M+S*S>E*E+C*C&&(w=k,T=A),[[w-l,T-c],[w*r/x,T*r/x]]}function Go(t){var e=ra,r=na,n=Yr,a=Wo,i=a.key,o=.7;function s(i){var s,l=[],c=[],u=-1,h=i.length,f=de(e),p=de(r);function d(){l.push(\"M\",a(t(c),o))}for(;++u<h;)n.call(this,s=i[u],u)?c.push([+f.call(this,s,u),+p.call(this,s,u)]):c.length&&(d(),c=[]);return c.length&&d(),l.length?l.join(\"\"):null}return s.x=function(t){return arguments.length?(e=t,s):e},s.y=function(t){return arguments.length?(r=t,s):r},s.defined=function(t){return arguments.length?(n=t,s):n},s.interpolate=function(t){return arguments.length?(i=\"function\"==typeof t?a=t:(a=Yo.get(t)||Wo).key,s):i},s.tension=function(t){return arguments.length?(o=t,s):o},s}t.svg.line=function(){return Go(L)};var Yo=t.map({linear:Wo,\"linear-closed\":Zo,step:function(t){var e=0,r=t.length,n=t[0],a=[n[0],\",\",n[1]];for(;++e<r;)a.push(\"H\",(n[0]+(n=t[e])[0])/2,\"V\",n[1]);r>1&&a.push(\"H\",n[0]);return a.join(\"\")},\"step-before\":Xo,\"step-after\":Jo,basis:$o,\"basis-open\":function(t){if(t.length<4)return Wo(t);var e,r=[],n=-1,a=t.length,i=[0],o=[0];for(;++n<3;)e=t[n],i.push(e[0]),o.push(e[1]);r.push(ts(ns,i)+\",\"+ts(ns,o)),--n;for(;++n<a;)e=t[n],i.shift(),i.push(e[0]),o.shift(),o.push(e[1]),as(r,i,o);return r.join(\"\")},\"basis-closed\":function(t){var e,r,n=-1,a=t.length,i=a+4,o=[],s=[];for(;++n<4;)r=t[n%a],o.push(r[0]),s.push(r[1]);e=[ts(ns,o),\",\",ts(ns,s)],--n;for(;++n<i;)r=t[n%a],o.shift(),o.push(r[0]),s.shift(),s.push(r[1]),as(e,o,s);return e.join(\"\")},bundle:function(t,e){var r=t.length-1;if(r)for(var n,a,i=t[0][0],o=t[0][1],s=t[r][0]-i,l=t[r][1]-o,c=-1;++c<=r;)n=t[c],a=c/r,n[0]=e*n[0]+(1-e)*(i+a*s),n[1]=e*n[1]+(1-e)*(o+a*l);return $o(t)},cardinal:function(t,e){return t.length<3?Wo(t):t[0]+Ko(t,Qo(t,e))},\"cardinal-open\":function(t,e){return t.length<4?Wo(t):t[1]+Ko(t.slice(1,-1),Qo(t,e))},\"cardinal-closed\":function(t,e){return t.length<3?Zo(t):t[0]+Ko((t.push(t[0]),t),Qo([t[t.length-2]].concat(t,[t[1]]),e))},monotone:function(t){return t.length<3?Wo(t):t[0]+Ko(t,function(t){var e,r,n,a,i=[],o=function(t){var e=0,r=t.length-1,n=[],a=t[0],i=t[1],o=n[0]=is(a,i);for(;++e<r;)n[e]=(o+(o=is(a=i,i=t[e+1])))/2;return n[e]=o,n}(t),s=-1,l=t.length-1;for(;++s<l;)e=is(t[s],t[s+1]),y(e)<kt?o[s]=o[s+1]=0:(r=o[s]/e,n=o[s+1]/e,(a=r*r+n*n)>9&&(a=3*e/Math.sqrt(a),o[s]=a*r,o[s+1]=a*n));s=-1;for(;++s<=l;)a=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),i.push([a||0,o[s]*a||0]);return i}(t))}});function Wo(t){return t.length>1?t.join(\"L\"):t+\"Z\"}function Zo(t){return t.join(\"L\")+\"Z\"}function Xo(t){for(var e=0,r=t.length,n=t[0],a=[n[0],\",\",n[1]];++e<r;)a.push(\"V\",(n=t[e])[1],\"H\",n[0]);return a.join(\"\")}function Jo(t){for(var e=0,r=t.length,n=t[0],a=[n[0],\",\",n[1]];++e<r;)a.push(\"H\",(n=t[e])[0],\"V\",n[1]);return a.join(\"\")}function Ko(t,e){if(e.length<1||t.length!=e.length&&t.length!=e.length+2)return Wo(t);var r=t.length!=e.length,n=\"\",a=t[0],i=t[1],o=e[0],s=o,l=1;if(r&&(n+=\"Q\"+(i[0]-2*o[0]/3)+\",\"+(i[1]-2*o[1]/3)+\",\"+i[0]+\",\"+i[1],a=t[1],l=2),e.length>1){s=e[1],i=t[l],l++,n+=\"C\"+(a[0]+o[0])+\",\"+(a[1]+o[1])+\",\"+(i[0]-s[0])+\",\"+(i[1]-s[1])+\",\"+i[0]+\",\"+i[1];for(var c=2;c<e.length;c++,l++)i=t[l],s=e[c],n+=\"S\"+(i[0]-s[0])+\",\"+(i[1]-s[1])+\",\"+i[0]+\",\"+i[1]}if(r){var u=t[l];n+=\"Q\"+(i[0]+2*s[0]/3)+\",\"+(i[1]+2*s[1]/3)+\",\"+u[0]+\",\"+u[1]}return n}function Qo(t,e){for(var r,n=[],a=(1-e)/2,i=t[0],o=t[1],s=1,l=t.length;++s<l;)r=i,i=o,o=t[s],n.push([a*(o[0]-r[0]),a*(o[1]-r[1])]);return n}function $o(t){if(t.length<3)return Wo(t);var e=1,r=t.length,n=t[0],a=n[0],i=n[1],o=[a,a,a,(n=t[1])[0]],s=[i,i,i,n[1]],l=[a,\",\",i,\"L\",ts(ns,o),\",\",ts(ns,s)];for(t.push(t[r-1]);++e<=r;)n=t[e],o.shift(),o.push(n[0]),s.shift(),s.push(n[1]),as(l,o,s);return t.pop(),l.push(\"L\",n),l.join(\"\")}function ts(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}Yo.forEach((function(t,e){e.key=t,e.closed=/-closed$/.test(t)}));var es=[0,2/3,1/3,0],rs=[0,1/3,2/3,0],ns=[0,1/6,2/3,1/6];function as(t,e,r){t.push(\"C\",ts(es,e),\",\",ts(es,r),\",\",ts(rs,e),\",\",ts(rs,r),\",\",ts(ns,e),\",\",ts(ns,r))}function is(t,e){return(e[1]-t[1])/(e[0]-t[0])}function os(t){for(var e,r,n,a=-1,i=t.length;++a<i;)r=(e=t[a])[0],n=e[1]-Ct,e[0]=r*Math.cos(n),e[1]=r*Math.sin(n);return t}function ss(t){var e=ra,r=ra,n=0,a=na,i=Yr,o=Wo,s=o.key,l=o,c=\"L\",u=.7;function h(s){var h,f,p,d=[],g=[],m=[],v=-1,y=s.length,x=de(e),b=de(n),_=e===r?function(){return f}:de(r),w=n===a?function(){return p}:de(a);function T(){d.push(\"M\",o(t(m),u),c,l(t(g.reverse()),u),\"Z\")}for(;++v<y;)i.call(this,h=s[v],v)?(g.push([f=+x.call(this,h,v),p=+b.call(this,h,v)]),m.push([+_.call(this,h,v),+w.call(this,h,v)])):g.length&&(T(),g=[],m=[]);return g.length&&T(),d.length?d.join(\"\"):null}return h.x=function(t){return arguments.length?(e=r=t,h):r},h.x0=function(t){return arguments.length?(e=t,h):e},h.x1=function(t){return arguments.length?(r=t,h):r},h.y=function(t){return arguments.length?(n=a=t,h):a},h.y0=function(t){return arguments.length?(n=t,h):n},h.y1=function(t){return arguments.length?(a=t,h):a},h.defined=function(t){return arguments.length?(i=t,h):i},h.interpolate=function(t){return arguments.length?(s=\"function\"==typeof t?o=t:(o=Yo.get(t)||Wo).key,l=o.reverse||o,c=o.closed?\"M\":\"L\",h):s},h.tension=function(t){return arguments.length?(u=t,h):u},h}function ls(t){return t.radius}function cs(t){return[t.x,t.y]}function us(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-Ct;return[r*Math.cos(n),r*Math.sin(n)]}}function hs(){return 64}function fs(){return\"circle\"}function ps(t){var e=Math.sqrt(t/Mt);return\"M0,\"+e+\"A\"+e+\",\"+e+\" 0 1,1 0,\"+-e+\"A\"+e+\",\"+e+\" 0 1,1 0,\"+e+\"Z\"}t.svg.line.radial=function(){var t=Go(os);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},Xo.reverse=Jo,Jo.reverse=Xo,t.svg.area=function(){return ss(L)},t.svg.area.radial=function(){var t=ss(os);return t.radius=t.x,delete t.x,t.innerRadius=t.x0,delete t.x0,t.outerRadius=t.x1,delete t.x1,t.angle=t.y,delete t.y,t.startAngle=t.y0,delete t.y0,t.endAngle=t.y1,delete t.y1,t},t.svg.chord=function(){var t=Un,e=qn,r=ls,n=jo,a=Vo;function i(r,n){var a,i,c=o(this,t,r,n),u=o(this,e,r,n);return\"M\"+c.p0+s(c.r,c.p1,c.a1-c.a0)+(i=u,((a=c).a0==i.a0&&a.a1==i.a1?l(c.r,c.p1,c.r,c.p0):l(c.r,c.p1,u.r,u.p0)+s(u.r,u.p1,u.a1-u.a0)+l(u.r,u.p1,c.r,c.p0))+\"Z\")}function o(t,e,i,o){var s=e.call(t,i,o),l=r.call(t,s,o),c=n.call(t,s,o)-Ct,u=a.call(t,s,o)-Ct;return{r:l,a0:c,a1:u,p0:[l*Math.cos(c),l*Math.sin(c)],p1:[l*Math.cos(u),l*Math.sin(u)]}}function s(t,e,r){return\"A\"+t+\",\"+t+\" 0 \"+ +(r>Mt)+\",1 \"+e}function l(t,e,r,n){return\"Q 0,0 \"+n}return i.radius=function(t){return arguments.length?(r=de(t),i):r},i.source=function(e){return arguments.length?(t=de(e),i):t},i.target=function(t){return arguments.length?(e=de(t),i):e},i.startAngle=function(t){return arguments.length?(n=de(t),i):n},i.endAngle=function(t){return arguments.length?(a=de(t),i):a},i},t.svg.diagonal=function(){var t=Un,e=qn,r=cs;function n(n,a){var i=t.call(this,n,a),o=e.call(this,n,a),s=(i.y+o.y)/2,l=[i,{x:i.x,y:s},{x:o.x,y:s},o];return\"M\"+(l=l.map(r))[0]+\"C\"+l[1]+\" \"+l[2]+\" \"+l[3]}return n.source=function(e){return arguments.length?(t=de(e),n):t},n.target=function(t){return arguments.length?(e=de(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},t.svg.diagonal.radial=function(){var e=t.svg.diagonal(),r=cs,n=e.projection;return e.projection=function(t){return arguments.length?n(us(r=t)):r},e},t.svg.symbol=function(){var t=fs,e=hs;function r(r,n){return(ds.get(t.call(this,r,n))||ps)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=de(e),r):t},r.size=function(t){return arguments.length?(e=de(t),r):e},r};var ds=t.map({circle:ps,cross:function(t){var e=Math.sqrt(t/5)/2;return\"M\"+-3*e+\",\"+-e+\"H\"+-e+\"V\"+-3*e+\"H\"+e+\"V\"+-e+\"H\"+3*e+\"V\"+e+\"H\"+e+\"V\"+3*e+\"H\"+-e+\"V\"+e+\"H\"+-3*e+\"Z\"},diamond:function(t){var e=Math.sqrt(t/(2*ms)),r=e*ms;return\"M0,\"+-e+\"L\"+r+\",0 0,\"+e+\" \"+-r+\",0Z\"},square:function(t){var e=Math.sqrt(t)/2;return\"M\"+-e+\",\"+-e+\"L\"+e+\",\"+-e+\" \"+e+\",\"+e+\" \"+-e+\",\"+e+\"Z\"},\"triangle-down\":function(t){var e=Math.sqrt(t/gs),r=e*gs/2;return\"M0,\"+r+\"L\"+e+\",\"+-r+\" \"+-e+\",\"+-r+\"Z\"},\"triangle-up\":function(t){var e=Math.sqrt(t/gs),r=e*gs/2;return\"M0,\"+-r+\"L\"+e+\",\"+r+\" \"+-e+\",\"+r+\"Z\"}});t.svg.symbolTypes=ds.keys();var gs=Math.sqrt(3),ms=Math.tan(30*Lt);Y.transition=function(t){for(var e,r,n=bs||++Ts,a=Ms(t),i=[],o=_s||{time:Date.now(),ease:ci,delay:0,duration:250},s=-1,l=this.length;++s<l;){i.push(e=[]);for(var c=this[s],u=-1,h=c.length;++u<h;)(r=c[u])&&Ss(r,u,a,n,o),e.push(r)}return xs(i,a,n)},Y.interrupt=function(t){return this.each(null==t?vs:ys(Ms(t)))};var vs=ys(Ms());function ys(t){return function(){var e,r,n;(e=this[t])&&(n=e[r=e.active])&&(n.timer.c=null,n.timer.t=NaN,--e.count?delete e[r]:delete this[t],e.active+=.5,n.event&&n.event.interrupt.call(this,this.__data__,n.index))}}function xs(t,e,r){return V(t,ws),t.namespace=e,t.id=r,t}var bs,_s,ws=[],Ts=0;function ks(t,e,r,n){var a=t.id,i=t.namespace;return ut(t,\"function\"==typeof r?function(t,o,s){t[i][a].tween.set(e,n(r.call(t,t.__data__,o,s)))}:(r=n(r),function(t){t[i][a].tween.set(e,r)}))}function As(t){return null==t&&(t=\"\"),function(){this.textContent=t}}function Ms(t){return null==t?\"__transition__\":\"__transition_\"+t+\"__\"}function Ss(t,e,r,n,a){var i,o,s,l,c,u=t[r]||(t[r]={active:0,count:0}),h=u[n];function f(r){var a=u.active,f=u[a];for(var d in f&&(f.timer.c=null,f.timer.t=NaN,--u.count,delete u[a],f.event&&f.event.interrupt.call(t,t.__data__,f.index)),u)if(+d<n){var g=u[d];g.timer.c=null,g.timer.t=NaN,--u.count,delete u[d]}o.c=p,we((function(){return o.c&&p(r||1)&&(o.c=null,o.t=NaN),1}),0,i),u.active=n,h.event&&h.event.start.call(t,t.__data__,e),c=[],h.tween.forEach((function(r,n){(n=n.call(t,t.__data__,e))&&c.push(n)})),l=h.ease,s=h.duration}function p(a){for(var i=a/s,o=l(i),f=c.length;f>0;)c[--f].call(t,o);if(i>=1)return h.event&&h.event.end.call(t,t.__data__,e),--u.count?delete u[n]:delete t[r],1}h||(i=a.time,o=we((function(t){var e=h.delay;if(o.t=e+i,e<=t)return f(t-e);o.c=f}),0,i),h=u[n]={tween:new _,time:i,timer:o,delay:a.delay,duration:a.duration,ease:a.ease,index:e},a=null,++u.count)}ws.call=Y.call,ws.empty=Y.empty,ws.node=Y.node,ws.size=Y.size,t.transition=function(e,r){return e&&e.transition?bs?e.transition(r):e:t.selection().transition(e)},t.transition.prototype=ws,ws.select=function(t){var e,r,n,a=this.id,i=this.namespace,o=[];t=W(t);for(var s=-1,l=this.length;++s<l;){o.push(e=[]);for(var c=this[s],u=-1,h=c.length;++u<h;)(n=c[u])&&(r=t.call(n,n.__data__,u,s))?(\"__data__\"in n&&(r.__data__=n.__data__),Ss(r,u,i,a,n[i][a]),e.push(r)):e.push(null)}return xs(o,i,a)},ws.selectAll=function(t){var e,r,n,a,i,o=this.id,s=this.namespace,l=[];t=Z(t);for(var c=-1,u=this.length;++c<u;)for(var h=this[c],f=-1,p=h.length;++f<p;)if(n=h[f]){i=n[s][o],r=t.call(n,n.__data__,f,c),l.push(e=[]);for(var d=-1,g=r.length;++d<g;)(a=r[d])&&Ss(a,d,s,o,i),e.push(a)}return xs(l,s,o)},ws.filter=function(t){var e,r,n=[];\"function\"!=typeof t&&(t=lt(t));for(var a=0,i=this.length;a<i;a++){n.push(e=[]);for(var o,s=0,l=(o=this[a]).length;s<l;s++)(r=o[s])&&t.call(r,r.__data__,s,a)&&e.push(r)}return xs(n,this.namespace,this.id)},ws.tween=function(t,e){var r=this.id,n=this.namespace;return arguments.length<2?this.node()[n][r].tween.get(t):ut(this,null==e?function(e){e[n][r].tween.remove(t)}:function(a){a[n][r].tween.set(t,e)})},ws.attr=function(e,r){if(arguments.length<2){for(r in e)this.attr(r,e[r]);return this}var n=\"transform\"==e?bi:$a,a=t.ns.qualify(e);function i(){this.removeAttribute(a)}function o(){this.removeAttributeNS(a.space,a.local)}function s(t){return null==t?i:(t+=\"\",function(){var e,r=this.getAttribute(a);return r!==t&&(e=n(r,t),function(t){this.setAttribute(a,e(t))})})}function l(t){return null==t?o:(t+=\"\",function(){var e,r=this.getAttributeNS(a.space,a.local);return r!==t&&(e=n(r,t),function(t){this.setAttributeNS(a.space,a.local,e(t))})})}return ks(this,\"attr.\"+e,r,a.local?l:s)},ws.attrTween=function(e,r){var n=t.ns.qualify(e);return this.tween(\"attr.\"+e,n.local?function(t,e){var a=r.call(this,t,e,this.getAttributeNS(n.space,n.local));return a&&function(t){this.setAttributeNS(n.space,n.local,a(t))}}:function(t,e){var a=r.call(this,t,e,this.getAttribute(n));return a&&function(t){this.setAttribute(n,a(t))}})},ws.style=function(t,e,r){var n=arguments.length;if(n<3){if(\"string\"!=typeof t){for(r in n<2&&(e=\"\"),t)this.style(r,t[r],e);return this}r=\"\"}function a(){this.style.removeProperty(t)}function i(e){return null==e?a:(e+=\"\",function(){var n,a=o(this).getComputedStyle(this,null).getPropertyValue(t);return a!==e&&(n=$a(a,e),function(e){this.style.setProperty(t,n(e),r)})})}return ks(this,\"style.\"+t,e,i)},ws.styleTween=function(t,e,r){function n(n,a){var i=e.call(this,n,a,o(this).getComputedStyle(this,null).getPropertyValue(t));return i&&function(e){this.style.setProperty(t,i(e),r)}}return arguments.length<3&&(r=\"\"),this.tween(\"style.\"+t,n)},ws.text=function(t){return ks(this,\"text\",t,As)},ws.remove=function(){var t=this.namespace;return this.each(\"end.transition\",(function(){var e;this[t].count<2&&(e=this.parentNode)&&e.removeChild(this)}))},ws.ease=function(e){var r=this.id,n=this.namespace;return arguments.length<1?this.node()[n][r].ease:(\"function\"!=typeof e&&(e=t.ease.apply(t,arguments)),ut(this,(function(t){t[n][r].ease=e})))},ws.delay=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].delay:ut(this,\"function\"==typeof t?function(n,a,i){n[r][e].delay=+t.call(n,n.__data__,a,i)}:(t=+t,function(n){n[r][e].delay=t}))},ws.duration=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].duration:ut(this,\"function\"==typeof t?function(n,a,i){n[r][e].duration=Math.max(1,t.call(n,n.__data__,a,i))}:(t=Math.max(1,t),function(n){n[r][e].duration=t}))},ws.each=function(e,r){var n=this.id,a=this.namespace;if(arguments.length<2){var i=_s,o=bs;try{bs=n,ut(this,(function(t,r,i){_s=t[a][n],e.call(t,t.__data__,r,i)}))}finally{_s=i,bs=o}}else ut(this,(function(i){var o=i[a][n];(o.event||(o.event=t.dispatch(\"start\",\"end\",\"interrupt\"))).on(e,r)}));return this},ws.transition=function(){for(var t,e,r,n=this.id,a=++Ts,i=this.namespace,o=[],s=0,l=this.length;s<l;s++){o.push(t=[]);for(var c,u=0,h=(c=this[s]).length;u<h;u++)(e=c[u])&&Ss(e,u,i,a,{time:(r=e[i][n]).time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration}),t.push(e)}return xs(o,i,a)},t.svg.axis=function(){var e,r=t.scale.linear(),a=Es,i=6,o=6,s=3,l=[10],c=null;function u(n){n.each((function(){var n,u=t.select(this),h=this.__chart__||r,f=this.__chart__=r.copy(),p=null==c?f.ticks?f.ticks.apply(f,l):f.domain():c,d=null==e?f.tickFormat?f.tickFormat.apply(f,l):L:e,g=u.selectAll(\".tick\").data(p,f),m=g.enter().insert(\"g\",\".domain\").attr(\"class\",\"tick\").style(\"opacity\",kt),v=t.transition(g.exit()).style(\"opacity\",kt).remove(),y=t.transition(g.order()).style(\"opacity\",1),x=Math.max(i,0)+s,b=mo(f),_=u.selectAll(\".domain\").data([0]),w=(_.enter().append(\"path\").attr(\"class\",\"domain\"),t.transition(_));m.append(\"line\"),m.append(\"text\");var T,k,A,M,S=m.select(\"line\"),E=y.select(\"line\"),C=g.select(\"text\").text(d),P=m.select(\"text\"),I=y.select(\"text\"),z=\"top\"===a||\"left\"===a?-1:1;if(\"bottom\"===a||\"top\"===a?(n=Ls,T=\"x\",A=\"y\",k=\"x2\",M=\"y2\",C.attr(\"dy\",z<0?\"0em\":\".71em\").style(\"text-anchor\",\"middle\"),w.attr(\"d\",\"M\"+b[0]+\",\"+z*o+\"V0H\"+b[1]+\"V\"+z*o)):(n=Ps,T=\"y\",A=\"x\",k=\"y2\",M=\"x2\",C.attr(\"dy\",\".32em\").style(\"text-anchor\",z<0?\"end\":\"start\"),w.attr(\"d\",\"M\"+z*o+\",\"+b[0]+\"H0V\"+b[1]+\"H\"+z*o)),S.attr(M,z*i),P.attr(A,z*x),E.attr(k,0).attr(M,z*i),I.attr(T,0).attr(A,z*x),f.rangeBand){var O=f,D=O.rangeBand()/2;h=f=function(t){return O(t)+D}}else h.rangeBand?h=f:v.call(n,f,h);m.call(n,h,f),y.call(n,f,f)}))}return u.scale=function(t){return arguments.length?(r=t,u):r},u.orient=function(t){return arguments.length?(a=t in Cs?t+\"\":Es,u):a},u.ticks=function(){return arguments.length?(l=n(arguments),u):l},u.tickValues=function(t){return arguments.length?(c=t,u):c},u.tickFormat=function(t){return arguments.length?(e=t,u):e},u.tickSize=function(t){var e=arguments.length;return e?(i=+t,o=+arguments[e-1],u):i},u.innerTickSize=function(t){return arguments.length?(i=+t,u):i},u.outerTickSize=function(t){return arguments.length?(o=+t,u):o},u.tickPadding=function(t){return arguments.length?(s=+t,u):s},u.tickSubdivide=function(){return arguments.length&&u},u};var Es=\"bottom\",Cs={top:1,right:1,bottom:1,left:1};function Ls(t,e,r){t.attr(\"transform\",(function(t){var n=e(t);return\"translate(\"+(isFinite(n)?n:r(t))+\",0)\"}))}function Ps(t,e,r){t.attr(\"transform\",(function(t){var n=e(t);return\"translate(0,\"+(isFinite(n)?n:r(t))+\")\"}))}t.svg.brush=function(){var e,r,n=N(f,\"brushstart\",\"brush\",\"brushend\"),a=null,i=null,s=[0,0],l=[0,0],c=!0,u=!0,h=zs[0];function f(e){e.each((function(){var e=t.select(this).style(\"pointer-events\",\"all\").style(\"-webkit-tap-highlight-color\",\"rgba(0,0,0,0)\").on(\"mousedown.brush\",m).on(\"touchstart.brush\",m),r=e.selectAll(\".background\").data([0]);r.enter().append(\"rect\").attr(\"class\",\"background\").style(\"visibility\",\"hidden\").style(\"cursor\",\"crosshair\"),e.selectAll(\".extent\").data([0]).enter().append(\"rect\").attr(\"class\",\"extent\").style(\"cursor\",\"move\");var n=e.selectAll(\".resize\").data(h,L);n.exit().remove(),n.enter().append(\"g\").attr(\"class\",(function(t){return\"resize \"+t})).style(\"cursor\",(function(t){return Is[t]})).append(\"rect\").attr(\"x\",(function(t){return/[ew]$/.test(t)?-3:null})).attr(\"y\",(function(t){return/^[ns]/.test(t)?-3:null})).attr(\"width\",6).attr(\"height\",6).style(\"visibility\",\"hidden\"),n.style(\"display\",f.empty()?\"none\":null);var o,s=t.transition(e),l=t.transition(r);a&&(o=mo(a),l.attr(\"x\",o[0]).attr(\"width\",o[1]-o[0]),d(s)),i&&(o=mo(i),l.attr(\"y\",o[0]).attr(\"height\",o[1]-o[0]),g(s)),p(s)}))}function p(t){t.selectAll(\".resize\").attr(\"transform\",(function(t){return\"translate(\"+s[+/e$/.test(t)]+\",\"+l[+/^s/.test(t)]+\")\"}))}function d(t){t.select(\".extent\").attr(\"x\",s[0]),t.selectAll(\".extent,.n>rect,.s>rect\").attr(\"width\",s[1]-s[0])}function g(t){t.select(\".extent\").attr(\"y\",l[0]),t.selectAll(\".extent,.e>rect,.w>rect\").attr(\"height\",l[1]-l[0])}function m(){var h,m,v=this,y=t.select(t.event.target),x=n.of(v,arguments),b=t.select(v),_=y.datum(),w=!/^(n|s)$/.test(_)&&a,T=!/^(e|w)$/.test(_)&&i,k=y.classed(\"extent\"),A=bt(v),M=t.mouse(v),S=t.select(o(v)).on(\"keydown.brush\",L).on(\"keyup.brush\",P);if(t.event.changedTouches?S.on(\"touchmove.brush\",I).on(\"touchend.brush\",O):S.on(\"mousemove.brush\",I).on(\"mouseup.brush\",O),b.interrupt().selectAll(\"*\").interrupt(),k)M[0]=s[0]-M[0],M[1]=l[0]-M[1];else if(_){var E=+/w$/.test(_),C=+/^n/.test(_);m=[s[1-E]-M[0],l[1-C]-M[1]],M[0]=s[E],M[1]=l[C]}else t.event.altKey&&(h=M.slice());function L(){32==t.event.keyCode&&(k||(h=null,M[0]-=s[1],M[1]-=l[1],k=2),F())}function P(){32==t.event.keyCode&&2==k&&(M[0]+=s[1],M[1]+=l[1],k=0,F())}function I(){var e=t.mouse(v),r=!1;m&&(e[0]+=m[0],e[1]+=m[1]),k||(t.event.altKey?(h||(h=[(s[0]+s[1])/2,(l[0]+l[1])/2]),M[0]=s[+(e[0]<h[0])],M[1]=l[+(e[1]<h[1])]):h=null),w&&z(e,a,0)&&(d(b),r=!0),T&&z(e,i,1)&&(g(b),r=!0),r&&(p(b),x({type:\"brush\",mode:k?\"move\":\"resize\"}))}function z(t,n,a){var i,o,f=mo(n),p=f[0],d=f[1],g=M[a],m=a?l:s,v=m[1]-m[0];if(k&&(p-=g,d-=v+g),i=(a?u:c)?Math.max(p,Math.min(d,t[a])):t[a],k?o=(i+=g)+v:(h&&(g=Math.max(p,Math.min(d,2*h[a]-i))),g<i?(o=i,i=g):o=g),m[0]!=i||m[1]!=o)return a?r=null:e=null,m[0]=i,m[1]=o,!0}function O(){I(),b.style(\"pointer-events\",\"all\").selectAll(\".resize\").style(\"display\",f.empty()?\"none\":null),t.select(\"body\").style(\"cursor\",null),S.on(\"mousemove.brush\",null).on(\"mouseup.brush\",null).on(\"touchmove.brush\",null).on(\"touchend.brush\",null).on(\"keydown.brush\",null).on(\"keyup.brush\",null),A(),x({type:\"brushend\"})}b.style(\"pointer-events\",\"none\").selectAll(\".resize\").style(\"display\",null),t.select(\"body\").style(\"cursor\",y.style(\"cursor\")),x({type:\"brushstart\"}),I()}return f.event=function(a){a.each((function(){var a=n.of(this,arguments),i={x:s,y:l,i:e,j:r},o=this.__chart__||i;this.__chart__=i,bs?t.select(this).transition().each(\"start.brush\",(function(){e=o.i,r=o.j,s=o.x,l=o.y,a({type:\"brushstart\"})})).tween(\"brush:brush\",(function(){var t=ti(s,i.x),n=ti(l,i.y);return e=r=null,function(e){s=i.x=t(e),l=i.y=n(e),a({type:\"brush\",mode:\"resize\"})}})).each(\"end.brush\",(function(){e=i.i,r=i.j,a({type:\"brush\",mode:\"resize\"}),a({type:\"brushend\"})})):(a({type:\"brushstart\"}),a({type:\"brush\",mode:\"resize\"}),a({type:\"brushend\"}))}))},f.x=function(t){return arguments.length?(h=zs[!(a=t)<<1|!i],f):a},f.y=function(t){return arguments.length?(h=zs[!a<<1|!(i=t)],f):i},f.clamp=function(t){return arguments.length?(a&&i?(c=!!t[0],u=!!t[1]):a?c=!!t:i&&(u=!!t),f):a&&i?[c,u]:a?c:i?u:null},f.extent=function(t){var n,o,c,u,h;return arguments.length?(a&&(n=t[0],o=t[1],i&&(n=n[0],o=o[0]),e=[n,o],a.invert&&(n=a(n),o=a(o)),o<n&&(h=n,n=o,o=h),n==s[0]&&o==s[1]||(s=[n,o])),i&&(c=t[0],u=t[1],a&&(c=c[1],u=u[1]),r=[c,u],i.invert&&(c=i(c),u=i(u)),u<c&&(h=c,c=u,u=h),c==l[0]&&u==l[1]||(l=[c,u])),f):(a&&(e?(n=e[0],o=e[1]):(n=s[0],o=s[1],a.invert&&(n=a.invert(n),o=a.invert(o)),o<n&&(h=n,n=o,o=h))),i&&(r?(c=r[0],u=r[1]):(c=l[0],u=l[1],i.invert&&(c=i.invert(c),u=i.invert(u)),u<c&&(h=c,c=u,u=h))),a&&i?[[n,c],[o,u]]:a?[n,o]:i&&[c,u])},f.clear=function(){return f.empty()||(s=[0,0],l=[0,0],e=r=null),f},f.empty=function(){return!!a&&s[0]==s[1]||!!i&&l[0]==l[1]},t.rebind(f,n,\"on\")};var Is={n:\"ns-resize\",e:\"ew-resize\",s:\"ns-resize\",w:\"ew-resize\",nw:\"nwse-resize\",ne:\"nesw-resize\",se:\"nwse-resize\",sw:\"nesw-resize\"},zs=[[\"n\",\"e\",\"s\",\"w\",\"nw\",\"ne\",\"se\",\"sw\"],[\"e\",\"w\"],[\"n\",\"s\"],[]],Os=Ie.format=sr.timeFormat,Ds=Os.utc,Rs=Ds(\"%Y-%m-%dT%H:%M:%S.%LZ\");function Fs(t){return t.toISOString()}function Bs(e,r,n){function a(t){return e(t)}function i(e,n){var a=(e[1]-e[0])/n,i=t.bisect(js,a);return i==js.length?[r.year,ko(e.map((function(t){return t/31536e6})),n)[2]]:i?r[a/js[i-1]<js[i]/a?i-1:i]:[qs,ko(e,n)[2]]}return a.invert=function(t){return Ns(e.invert(t))},a.domain=function(t){return arguments.length?(e.domain(t),a):e.domain().map(Ns)},a.nice=function(t,e){var r=a.domain(),n=go(r),o=null==t?i(n,10):\"number\"==typeof t&&i(n,t);function s(r){return!isNaN(r)&&!t.range(r,Ns(+r+1),e).length}return o&&(t=o[0],e=o[1]),a.domain(yo(r,e>1?{floor:function(e){for(;s(e=t.floor(e));)e=Ns(e-1);return e},ceil:function(e){for(;s(e=t.ceil(e));)e=Ns(+e+1);return e}}:t))},a.ticks=function(t,e){var r=go(a.domain()),n=null==t?i(r,10):\"number\"==typeof t?i(r,t):!t.range&&[{range:t},e];return n&&(t=n[0],e=n[1]),t.range(r[0],Ns(+r[1]+1),e<1?1:e)},a.tickFormat=function(){return n},a.copy=function(){return Bs(e.copy(),r,n)},wo(a,e)}function Ns(t){return new Date(t)}Os.iso=Date.prototype.toISOString&&+new Date(\"2000-01-01T00:00:00.000Z\")?Fs:Rs,Fs.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},Fs.toString=Rs.toString,Ie.second=Re((function(t){return new ze(1e3*Math.floor(t/1e3))}),(function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))}),(function(t){return t.getSeconds()})),Ie.seconds=Ie.second.range,Ie.seconds.utc=Ie.second.utc.range,Ie.minute=Re((function(t){return new ze(6e4*Math.floor(t/6e4))}),(function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))}),(function(t){return t.getMinutes()})),Ie.minutes=Ie.minute.range,Ie.minutes.utc=Ie.minute.utc.range,Ie.hour=Re((function(t){var e=t.getTimezoneOffset()/60;return new ze(36e5*(Math.floor(t/36e5-e)+e))}),(function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))}),(function(t){return t.getHours()})),Ie.hours=Ie.hour.range,Ie.hours.utc=Ie.hour.utc.range,Ie.month=Re((function(t){return(t=Ie.day(t)).setDate(1),t}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t){return t.getMonth()})),Ie.months=Ie.month.range,Ie.months.utc=Ie.month.utc.range;var js=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Vs=[[Ie.second,1],[Ie.second,5],[Ie.second,15],[Ie.second,30],[Ie.minute,1],[Ie.minute,5],[Ie.minute,15],[Ie.minute,30],[Ie.hour,1],[Ie.hour,3],[Ie.hour,6],[Ie.hour,12],[Ie.day,1],[Ie.day,2],[Ie.week,1],[Ie.month,1],[Ie.month,3],[Ie.year,1]],Us=Os.multi([[\".%L\",function(t){return t.getMilliseconds()}],[\":%S\",function(t){return t.getSeconds()}],[\"%I:%M\",function(t){return t.getMinutes()}],[\"%I %p\",function(t){return t.getHours()}],[\"%a %d\",function(t){return t.getDay()&&1!=t.getDate()}],[\"%b %d\",function(t){return 1!=t.getDate()}],[\"%B\",function(t){return t.getMonth()}],[\"%Y\",Yr]]),qs={range:function(e,r,n){return t.range(Math.ceil(e/n)*n,+r,n).map(Ns)},floor:L,ceil:L};Vs.year=Ie.year,Ie.scale=function(){return Bs(t.scale.linear(),Vs,Us)};var Hs=Vs.map((function(t){return[t[0].utc,t[1]]})),Gs=Ds.multi([[\".%L\",function(t){return t.getUTCMilliseconds()}],[\":%S\",function(t){return t.getUTCSeconds()}],[\"%I:%M\",function(t){return t.getUTCMinutes()}],[\"%I %p\",function(t){return t.getUTCHours()}],[\"%a %d\",function(t){return t.getUTCDay()&&1!=t.getUTCDate()}],[\"%b %d\",function(t){return 1!=t.getUTCDate()}],[\"%B\",function(t){return t.getUTCMonth()}],[\"%Y\",Yr]]);function Ys(t){return JSON.parse(t.responseText)}function Ws(t){var e=a.createRange();return e.selectNode(a.body),e.createContextualFragment(t.responseText)}Hs.year=Ie.year.utc,Ie.scale.utc=function(){return Bs(t.scale.linear(),Hs,Gs)},t.text=ge((function(t){return t.responseText})),t.json=function(t,e){return me(t,\"application/json\",Ys,e)},t.html=function(t,e){return me(t,\"text/html\",Ws,e)},t.xml=ge((function(t){return t.responseXML})),\"object\"==typeof e&&e.exports?e.exports=t:this.d3=t}()},{}],165:[function(t,e,r){e.exports=function(){for(var t=0;t<arguments.length;t++)if(void 0!==arguments[t])return arguments[t]}},{}],166:[function(t,e,r){\"use strict\";var n=t(\"incremental-convex-hull\"),a=t(\"uniq\");function i(t,e){this.point=t,this.index=e}function o(t,e){for(var r=t.point,n=e.point,a=r.length,i=0;i<a;++i){var o=n[i]-r[i];if(o)return o}return 0}e.exports=function(t,e){var r=t.length;if(0===r)return[];var s=t[0].length;if(s<1)return[];if(1===s)return function(t,e,r){if(1===t)return r?[[-1,0]]:[];var n=e.map((function(t,e){return[t[0],e]}));n.sort((function(t,e){return t[0]-e[0]}));for(var a=new Array(t-1),i=1;i<t;++i){var o=n[i-1],s=n[i];a[i-1]=[o[1],s[1]]}r&&a.push([-1,a[0][1]],[a[t-1][1],-1]);return a}(r,t,e);for(var l=new Array(r),c=1,u=0;u<r;++u){for(var h=t[u],f=new Array(s+1),p=0,d=0;d<s;++d){var g=h[d];f[d]=g,p+=g*g}f[s]=p,l[u]=new i(f,u),c=Math.max(p,c)}a(l,o),r=l.length;var m=new Array(r+s+1),v=new Array(r+s+1),y=(s+1)*(s+1)*c,x=new Array(s+1);for(u=0;u<=s;++u)x[u]=0;x[s]=y,m[0]=x.slice(),v[0]=-1;for(u=0;u<=s;++u){(f=x.slice())[u]=1,m[u+1]=f,v[u+1]=-1}for(u=0;u<r;++u){var b=l[u];m[u+s+1]=b.point,v[u+s+1]=b.index}var _=n(m,!1);_=e?_.filter((function(t){for(var e=0,r=0;r<=s;++r){var n=v[t[r]];if(n<0&&++e>=2)return!1;t[r]=n}return!0})):_.filter((function(t){for(var e=0;e<=s;++e){var r=v[t[e]];if(r<0)return!1;t[e]=r}return!0}));if(1&s)for(u=0;u<_.length;++u){f=(b=_[u])[0];b[0]=b[1],b[1]=f}return _}},{\"incremental-convex-hull\":412,uniq:549}],167:[function(t,e,r){\"use strict\";e.exports=i;var n=(i.canvas=document.createElement(\"canvas\")).getContext(\"2d\"),a=o([32,126]);function i(t,e){Array.isArray(t)&&(t=t.join(\", \"));var r,i={},s=16,l=.05;e&&(2===e.length&&\"number\"==typeof e[0]?r=o(e):Array.isArray(e)?r=e:(e.o?r=o(e.o):e.pairs&&(r=e.pairs),e.fontSize&&(s=e.fontSize),null!=e.threshold&&(l=e.threshold))),r||(r=a),n.font=s+\"px \"+t;for(var c=0;c<r.length;c++){var u=r[c],h=n.measureText(u[0]).width+n.measureText(u[1]).width,f=n.measureText(u).width;if(Math.abs(h-f)>s*l){var p=(f-h)/s;i[u]=1e3*p}}return i}function o(t){for(var e=[],r=t[0];r<=t[1];r++)for(var n=String.fromCharCode(r),a=t[0];a<t[1];a++){var i=n+String.fromCharCode(a);e.push(i)}return e}i.createPairs=o,i.ascii=a},{}],168:[function(t,e,r){(function(t){var r=!1;if(\"undefined\"!=typeof Float64Array){var n=new Float64Array(1),a=new Uint32Array(n.buffer);if(n[0]=1,r=!0,1072693248===a[1]){e.exports=function(t){return n[0]=t,[a[0],a[1]]},e.exports.pack=function(t,e){return a[0]=t,a[1]=e,n[0]},e.exports.lo=function(t){return n[0]=t,a[0]},e.exports.hi=function(t){return n[0]=t,a[1]}}else if(1072693248===a[0]){e.exports=function(t){return n[0]=t,[a[1],a[0]]},e.exports.pack=function(t,e){return a[1]=t,a[0]=e,n[0]},e.exports.lo=function(t){return n[0]=t,a[1]},e.exports.hi=function(t){return n[0]=t,a[0]}}else r=!1}if(!r){var i=new t(8);e.exports=function(t){return i.writeDoubleLE(t,0,!0),[i.readUInt32LE(0,!0),i.readUInt32LE(4,!0)]},e.exports.pack=function(t,e){return i.writeUInt32LE(t,0,!0),i.writeUInt32LE(e,4,!0),i.readDoubleLE(0,!0)},e.exports.lo=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(0,!0)},e.exports.hi=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(4,!0)}}e.exports.sign=function(t){return e.exports.hi(t)>>>31},e.exports.exponent=function(t){return(e.exports.hi(t)<<1>>>21)-1023},e.exports.fraction=function(t){var r=e.exports.lo(t),n=e.exports.hi(t),a=1048575&n;return 2146435072&n&&(a+=1<<20),[r,a]},e.exports.denormalized=function(t){return!(2146435072&e.exports.hi(t))}}).call(this,t(\"buffer\").Buffer)},{buffer:108}],169:[function(t,e,r){var n=t(\"abs-svg-path\"),a=t(\"normalize-svg-path\"),i={M:\"moveTo\",C:\"bezierCurveTo\"};e.exports=function(t,e){t.beginPath(),a(n(e)).forEach((function(e){var r=e[0],n=e.slice(1);t[i[r]].apply(t,n)})),t.closePath()}},{\"abs-svg-path\":63,\"normalize-svg-path\":450}],170:[function(t,e,r){e.exports=function(t){switch(t){case\"int8\":return Int8Array;case\"int16\":return Int16Array;case\"int32\":return Int32Array;case\"uint8\":return Uint8Array;case\"uint16\":return Uint16Array;case\"uint32\":return Uint32Array;case\"float32\":return Float32Array;case\"float64\":return Float64Array;case\"array\":return Array;case\"uint8_clamped\":return Uint8ClampedArray}}},{}],171:[function(t,e,r){\"use strict\";e.exports=function(t,e){switch(\"undefined\"==typeof e&&(e=0),typeof t){case\"number\":if(t>0)return function(t,e){var r,n;for(r=new Array(t),n=0;n<t;++n)r[n]=e;return r}(0|t,e);break;case\"object\":if(\"number\"==typeof t.length)return function t(e,r,n){var a=0|e[n];if(a<=0)return[];var i,o=new Array(a);if(n===e.length-1)for(i=0;i<a;++i)o[i]=r;else for(i=0;i<a;++i)o[i]=t(e,r,n+1);return o}(t,e,0)}return[]}},{}],172:[function(t,e,r){\"use strict\";function n(t,e,r){r=r||2;var n,s,l,c,u,p,d,m=e&&e.length,v=m?e[0]*r:t.length,y=a(t,0,v,r,!0),x=[];if(!y||y.next===y.prev)return x;if(m&&(y=function(t,e,r,n){var o,s,l,c,u,p=[];for(o=0,s=e.length;o<s;o++)l=e[o]*n,c=o<s-1?e[o+1]*n:t.length,(u=a(t,l,c,n,!1))===u.next&&(u.steiner=!0),p.push(g(u));for(p.sort(h),o=0;o<p.length;o++)f(p[o],r),r=i(r,r.next);return r}(t,e,y,r)),t.length>80*r){n=l=t[0],s=c=t[1];for(var b=r;b<v;b+=r)(u=t[b])<n&&(n=u),(p=t[b+1])<s&&(s=p),u>l&&(l=u),p>c&&(c=p);d=0!==(d=Math.max(l-n,c-s))?1/d:0}return o(y,x,r,n,s,d),x}function a(t,e,r,n,a){var i,o;if(a===E(t,e,r,n)>0)for(i=e;i<r;i+=n)o=A(i,t[i],t[i+1],o);else for(i=r-n;i>=e;i-=n)o=A(i,t[i],t[i+1],o);return o&&x(o,o.next)&&(M(o),o=o.next),o}function i(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!x(n,n.next)&&0!==y(n.prev,n,n.next))n=n.next;else{if(M(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function o(t,e,r,n,a,h,f){if(t){!f&&h&&function(t,e,r,n){var a=t;do{null===a.z&&(a.z=d(a.x,a.y,e,r,n)),a.prevZ=a.prev,a.nextZ=a.next,a=a.next}while(a!==t);a.prevZ.nextZ=null,a.prevZ=null,function(t){var e,r,n,a,i,o,s,l,c=1;do{for(r=t,t=null,i=null,o=0;r;){for(o++,n=r,s=0,e=0;e<c&&(s++,n=n.nextZ);e++);for(l=c;s>0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(a=r,r=r.nextZ,s--):(a=n,n=n.nextZ,l--),i?i.nextZ=a:t=a,a.prevZ=i,i=a;r=n}i.nextZ=null,c*=2}while(o>1)}(a)}(t,n,a,h);for(var p,g,m=t;t.prev!==t.next;)if(p=t.prev,g=t.next,h?l(t,n,a,h):s(t))e.push(p.i/r),e.push(t.i/r),e.push(g.i/r),M(t),t=g.next,m=g.next;else if((t=g)===m){f?1===f?o(t=c(i(t),e,r),e,r,n,a,h,2):2===f&&u(t,e,r,n,a,h):o(i(t),e,r,n,a,h,1);break}}}function s(t){var e=t.prev,r=t,n=t.next;if(y(e,r,n)>=0)return!1;for(var a=t.next.next;a!==t.prev;){if(m(e.x,e.y,r.x,r.y,n.x,n.y,a.x,a.y)&&y(a.prev,a,a.next)>=0)return!1;a=a.next}return!0}function l(t,e,r,n){var a=t.prev,i=t,o=t.next;if(y(a,i,o)>=0)return!1;for(var s=a.x<i.x?a.x<o.x?a.x:o.x:i.x<o.x?i.x:o.x,l=a.y<i.y?a.y<o.y?a.y:o.y:i.y<o.y?i.y:o.y,c=a.x>i.x?a.x>o.x?a.x:o.x:i.x>o.x?i.x:o.x,u=a.y>i.y?a.y>o.y?a.y:o.y:i.y>o.y?i.y:o.y,h=d(s,l,e,r,n),f=d(c,u,e,r,n),p=t.prevZ,g=t.nextZ;p&&p.z>=h&&g&&g.z<=f;){if(p!==t.prev&&p!==t.next&&m(a.x,a.y,i.x,i.y,o.x,o.y,p.x,p.y)&&y(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,g!==t.prev&&g!==t.next&&m(a.x,a.y,i.x,i.y,o.x,o.y,g.x,g.y)&&y(g.prev,g,g.next)>=0)return!1;g=g.nextZ}for(;p&&p.z>=h;){if(p!==t.prev&&p!==t.next&&m(a.x,a.y,i.x,i.y,o.x,o.y,p.x,p.y)&&y(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;g&&g.z<=f;){if(g!==t.prev&&g!==t.next&&m(a.x,a.y,i.x,i.y,o.x,o.y,g.x,g.y)&&y(g.prev,g,g.next)>=0)return!1;g=g.nextZ}return!0}function c(t,e,r){var n=t;do{var a=n.prev,o=n.next.next;!x(a,o)&&b(a,n,n.next,o)&&T(a,o)&&T(o,a)&&(e.push(a.i/r),e.push(n.i/r),e.push(o.i/r),M(n),M(n.next),n=t=o),n=n.next}while(n!==t);return i(n)}function u(t,e,r,n,a,s){var l=t;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&&v(l,c)){var u=k(l,c);return l=i(l,l.next),u=i(u,u.next),o(l,e,r,n,a,s),void o(u,e,r,n,a,s)}c=c.next}l=l.next}while(l!==t)}function h(t,e){return t.x-e.x}function f(t,e){if(e=function(t,e){var r,n=e,a=t.x,i=t.y,o=-1/0;do{if(i<=n.y&&i>=n.next.y&&n.next.y!==n.y){var s=n.x+(i-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=a&&s>o){if(o=s,s===a){if(i===n.y)return n;if(i===n.next.y)return n.next}r=n.x<n.next.x?n:n.next}}n=n.next}while(n!==e);if(!r)return null;if(a===o)return r;var l,c=r,u=r.x,h=r.y,f=1/0;n=r;do{a>=n.x&&n.x>=u&&a!==n.x&&m(i<h?a:o,i,u,h,i<h?o:a,i,n.x,n.y)&&(l=Math.abs(i-n.y)/(a-n.x),T(n,t)&&(l<f||l===f&&(n.x>r.x||n.x===r.x&&p(r,n)))&&(r=n,f=l)),n=n.next}while(n!==c);return r}(t,e)){var r=k(e,t);i(e,e.next),i(r,r.next)}}function p(t,e){return y(t.prev,t,e.prev)<0&&y(e.next,t,t.next)<0}function d(t,e,r,n,a){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*a)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*a)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function g(t){var e=t,r=t;do{(e.x<r.x||e.x===r.x&&e.y<r.y)&&(r=e),e=e.next}while(e!==t);return r}function m(t,e,r,n,a,i,o,s){return(a-o)*(e-s)-(t-o)*(i-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(i-s)-(a-o)*(n-s)>=0}function v(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&b(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(T(t,e)&&T(e,t)&&function(t,e){var r=t,n=!1,a=(t.x+e.x)/2,i=(t.y+e.y)/2;do{r.y>i!=r.next.y>i&&r.next.y!==r.y&&a<(r.next.x-r.x)*(i-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(y(t.prev,t,e.prev)||y(t,e.prev,e))||x(t,e)&&y(t.prev,t,t.next)>0&&y(e.prev,e,e.next)>0)}function y(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function x(t,e){return t.x===e.x&&t.y===e.y}function b(t,e,r,n){var a=w(y(t,e,r)),i=w(y(t,e,n)),o=w(y(r,n,t)),s=w(y(r,n,e));return a!==i&&o!==s||(!(0!==a||!_(t,r,e))||(!(0!==i||!_(t,n,e))||(!(0!==o||!_(r,t,n))||!(0!==s||!_(r,e,n)))))}function _(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function w(t){return t>0?1:t<0?-1:0}function T(t,e){return y(t.prev,t,t.next)<0?y(t,e,t.next)>=0&&y(t,t.prev,e)>=0:y(t,e,t.prev)<0||y(t,t.next,e)<0}function k(t,e){var r=new S(t.i,t.x,t.y),n=new S(e.i,e.x,e.y),a=t.next,i=e.prev;return t.next=e,e.prev=t,r.next=a,a.prev=r,n.next=r,r.prev=n,i.next=n,n.prev=i,n}function A(t,e,r,n){var a=new S(t,e,r);return n?(a.next=n.next,a.prev=n,n.next.prev=a,n.next=a):(a.prev=a,a.next=a),a}function M(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function S(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function E(t,e,r,n){for(var a=0,i=e,o=r-n;i<r;i+=n)a+=(t[o]-t[i])*(t[i+1]+t[o+1]),o=i;return a}e.exports=n,e.exports.default=n,n.deviation=function(t,e,r,n){var a=e&&e.length,i=a?e[0]*r:t.length,o=Math.abs(E(t,0,i,r));if(a)for(var s=0,l=e.length;s<l;s++){var c=e[s]*r,u=s<l-1?e[s+1]*r:t.length;o-=Math.abs(E(t,c,u,r))}var h=0;for(s=0;s<n.length;s+=3){var f=n[s]*r,p=n[s+1]*r,d=n[s+2]*r;h+=Math.abs((t[f]-t[d])*(t[p+1]-t[f+1])-(t[f]-t[p])*(t[d+1]-t[f+1]))}return 0===o&&0===h?0:Math.abs((h-o)/o)},n.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,a=0;a<t.length;a++){for(var i=0;i<t[a].length;i++)for(var o=0;o<e;o++)r.vertices.push(t[a][i][o]);a>0&&(n+=t[a-1].length,r.holes.push(n))}return r}},{}],173:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=t.length;if(\"number\"!=typeof e){e=0;for(var a=0;a<r;++a){var i=t[a];e=Math.max(e,i[0],i[1])}e=1+(0|e)}e|=0;var o=new Array(e);for(a=0;a<e;++a)o[a]=[];for(a=0;a<r;++a){i=t[a];o[i[0]].push(i[1]),o[i[1]].push(i[0])}for(var s=0;s<e;++s)n(o[s],(function(t,e){return t-e}));return o};var n=t(\"uniq\")},{uniq:549}],174:[function(t,e,r){var n=t(\"strongly-connected-components\");e.exports=function(t,e){var r,a=[],i=[],o=[],s={},l=[];function c(t){var e,n,a=!1;for(i.push(t),o[t]=!0,e=0;e<l[t].length;e++)(n=l[t][e])===r?(u(r,i),a=!0):o[n]||(a=c(n));if(a)!function t(e){o[e]=!1,s.hasOwnProperty(e)&&Object.keys(s[e]).forEach((function(r){delete s[e][r],o[r]&&t(r)}))}(t);else for(e=0;e<l[t].length;e++){n=l[t][e];var h=s[n];h||(h={},s[n]=h),h[n]=!0}return i.pop(),a}function u(t,r){var n=[].concat(r).concat(t);e?e(c):a.push(n)}function h(e){!function(e){for(var r=0;r<t.length;r++)r<e&&(t[r]=[]),t[r]=t[r].filter((function(t){return t>=e}))}(e);for(var r,a=n(t).components.filter((function(t){return t.length>1})),i=1/0,o=0;o<a.length;o++)for(var s=0;s<a[o].length;s++)a[o][s]<i&&(i=a[o][s],r=o);var l=a[r];return!!l&&{leastVertex:i,adjList:t.map((function(t,e){return-1===l.indexOf(e)?[]:t.filter((function(t){return-1!==l.indexOf(t)}))}))}}r=0;for(var f=t.length;r<f;){var p=h(r);if(r=p.leastVertex,l=p.adjList){for(var d=0;d<l.length;d++)for(var g=0;g<l[d].length;g++){var m=l[d][g];o[+m]=!1,s[m]={}}c(r),r+=1}else r=f}return e?void 0:a}},{\"strongly-connected-components\":521}],175:[function(t,e,r){\"use strict\";var n=t(\"../../object/valid-value\");e.exports=function(){return n(this).length=0,this}},{\"../../object/valid-value\":206}],176:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?Array.from:t(\"./shim\")},{\"./is-implemented\":177,\"./shim\":178}],177:[function(t,e,r){\"use strict\";e.exports=function(){var t,e,r=Array.from;return\"function\"==typeof r&&(e=r(t=[\"raz\",\"dwa\"]),Boolean(e&&e!==t&&\"dwa\"===e[1]))}},{}],178:[function(t,e,r){\"use strict\";var n=t(\"es6-symbol\").iterator,a=t(\"../../function/is-arguments\"),i=t(\"../../function/is-function\"),o=t(\"../../number/to-pos-integer\"),s=t(\"../../object/valid-callable\"),l=t(\"../../object/valid-value\"),c=t(\"../../object/is-value\"),u=t(\"../../string/is-string\"),h=Array.isArray,f=Function.prototype.call,p={configurable:!0,enumerable:!0,writable:!0,value:null},d=Object.defineProperty;e.exports=function(t){var e,r,g,m,v,y,x,b,_,w,T=arguments[1],k=arguments[2];if(t=Object(l(t)),c(T)&&s(T),this&&this!==Array&&i(this))e=this;else{if(!T){if(a(t))return 1!==(v=t.length)?Array.apply(null,t):((m=new Array(1))[0]=t[0],m);if(h(t)){for(m=new Array(v=t.length),r=0;r<v;++r)m[r]=t[r];return m}}m=[]}if(!h(t))if(void 0!==(_=t[n])){for(x=s(_).call(t),e&&(m=new e),b=x.next(),r=0;!b.done;)w=T?f.call(T,k,b.value,r):b.value,e?(p.value=w,d(m,r,p)):m[r]=w,b=x.next(),++r;v=r}else if(u(t)){for(v=t.length,e&&(m=new e),r=0,g=0;r<v;++r)w=t[r],r+1<v&&(y=w.charCodeAt(0))>=55296&&y<=56319&&(w+=t[++r]),w=T?f.call(T,k,w,g):w,e?(p.value=w,d(m,g,p)):m[g]=w,++g;v=g}if(void 0===v)for(v=o(t.length),e&&(m=new e(v)),r=0;r<v;++r)w=T?f.call(T,k,t[r],r):t[r],e?(p.value=w,d(m,r,p)):m[r]=w;return e&&(p.value=null,m.length=v),m}},{\"../../function/is-arguments\":179,\"../../function/is-function\":180,\"../../number/to-pos-integer\":186,\"../../object/is-value\":195,\"../../object/valid-callable\":204,\"../../object/valid-value\":206,\"../../string/is-string\":210,\"es6-symbol\":220}],179:[function(t,e,r){\"use strict\";var n=Object.prototype.toString,a=n.call(function(){return arguments}());e.exports=function(t){return n.call(t)===a}},{}],180:[function(t,e,r){\"use strict\";var n=Object.prototype.toString,a=RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);e.exports=function(t){return\"function\"==typeof t&&a(n.call(t))}},{}],181:[function(t,e,r){\"use strict\";e.exports=function(){}},{}],182:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?Math.sign:t(\"./shim\")},{\"./is-implemented\":183,\"./shim\":184}],183:[function(t,e,r){\"use strict\";e.exports=function(){var t=Math.sign;return\"function\"==typeof t&&(1===t(10)&&-1===t(-20))}},{}],184:[function(t,e,r){\"use strict\";e.exports=function(t){return t=Number(t),isNaN(t)||0===t?t:t>0?1:-1}},{}],185:[function(t,e,r){\"use strict\";var n=t(\"../math/sign\"),a=Math.abs,i=Math.floor;e.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?n(t)*i(a(t)):t}},{\"../math/sign\":182}],186:[function(t,e,r){\"use strict\";var n=t(\"./to-integer\"),a=Math.max;e.exports=function(t){return a(0,n(t))}},{\"./to-integer\":185}],187:[function(t,e,r){\"use strict\";var n=t(\"./valid-callable\"),a=t(\"./valid-value\"),i=Function.prototype.bind,o=Function.prototype.call,s=Object.keys,l=Object.prototype.propertyIsEnumerable;e.exports=function(t,e){return function(r,c){var u,h=arguments[2],f=arguments[3];return r=Object(a(r)),n(c),u=s(r),f&&u.sort(\"function\"==typeof f?i.call(f,r):void 0),\"function\"!=typeof t&&(t=u[t]),o.call(t,u,(function(t,n){return l.call(r,t)?o.call(c,h,r[t],t,r,n):e}))}}},{\"./valid-callable\":204,\"./valid-value\":206}],188:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?Object.assign:t(\"./shim\")},{\"./is-implemented\":189,\"./shim\":190}],189:[function(t,e,r){\"use strict\";e.exports=function(){var t,e=Object.assign;return\"function\"==typeof e&&(e(t={foo:\"raz\"},{bar:\"dwa\"},{trzy:\"trzy\"}),t.foo+t.bar+t.trzy===\"razdwatrzy\")}},{}],190:[function(t,e,r){\"use strict\";var n=t(\"../keys\"),a=t(\"../valid-value\"),i=Math.max;e.exports=function(t,e){var r,o,s,l=i(arguments.length,2);for(t=Object(a(t)),s=function(n){try{t[n]=e[n]}catch(t){r||(r=t)}},o=1;o<l;++o)n(e=arguments[o]).forEach(s);if(void 0!==r)throw r;return t}},{\"../keys\":196,\"../valid-value\":206}],191:[function(t,e,r){\"use strict\";var n=t(\"../array/from\"),a=t(\"./assign\"),i=t(\"./valid-value\");e.exports=function(t){var e=Object(i(t)),r=arguments[1],o=Object(arguments[2]);if(e!==t&&!r)return e;var s={};return r?n(r,(function(e){(o.ensure||e in t)&&(s[e]=t[e])})):a(s,t),s}},{\"../array/from\":176,\"./assign\":188,\"./valid-value\":206}],192:[function(t,e,r){\"use strict\";var n,a,i,o,s=Object.create;t(\"./set-prototype-of/is-implemented\")()||(n=t(\"./set-prototype-of/shim\")),e.exports=n?1!==n.level?s:(a={},i={},o={configurable:!1,enumerable:!1,writable:!0,value:void 0},Object.getOwnPropertyNames(Object.prototype).forEach((function(t){i[t]=\"__proto__\"!==t?o:{configurable:!0,enumerable:!1,writable:!0,value:void 0}})),Object.defineProperties(a,i),Object.defineProperty(n,\"nullPolyfill\",{configurable:!1,enumerable:!1,writable:!1,value:a}),function(t,e){return s(null===t?a:t,e)}):s},{\"./set-prototype-of/is-implemented\":202,\"./set-prototype-of/shim\":203}],193:[function(t,e,r){\"use strict\";e.exports=t(\"./_iterate\")(\"forEach\")},{\"./_iterate\":187}],194:[function(t,e,r){\"use strict\";var n=t(\"./is-value\"),a={function:!0,object:!0};e.exports=function(t){return n(t)&&a[typeof t]||!1}},{\"./is-value\":195}],195:[function(t,e,r){\"use strict\";var n=t(\"../function/noop\")();e.exports=function(t){return t!==n&&null!==t}},{\"../function/noop\":181}],196:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?Object.keys:t(\"./shim\")},{\"./is-implemented\":197,\"./shim\":198}],197:[function(t,e,r){\"use strict\";e.exports=function(){try{return Object.keys(\"primitive\"),!0}catch(t){return!1}}},{}],198:[function(t,e,r){\"use strict\";var n=t(\"../is-value\"),a=Object.keys;e.exports=function(t){return a(n(t)?Object(t):t)}},{\"../is-value\":195}],199:[function(t,e,r){\"use strict\";var n=t(\"./valid-callable\"),a=t(\"./for-each\"),i=Function.prototype.call;e.exports=function(t,e){var r={},o=arguments[2];return n(e),a(t,(function(t,n,a,s){r[n]=i.call(e,o,t,n,a,s)})),r}},{\"./for-each\":193,\"./valid-callable\":204}],200:[function(t,e,r){\"use strict\";var n=t(\"./is-value\"),a=Array.prototype.forEach,i=Object.create,o=function(t,e){var r;for(r in t)e[r]=t[r]};e.exports=function(t){var e=i(null);return a.call(arguments,(function(t){n(t)&&o(Object(t),e)})),e}},{\"./is-value\":195}],201:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?Object.setPrototypeOf:t(\"./shim\")},{\"./is-implemented\":202,\"./shim\":203}],202:[function(t,e,r){\"use strict\";var n=Object.create,a=Object.getPrototypeOf,i={};e.exports=function(){var t=Object.setPrototypeOf,e=arguments[0]||n;return\"function\"==typeof t&&a(t(e(null),i))===i}},{}],203:[function(t,e,r){\"use strict\";var n,a=t(\"../is-object\"),i=t(\"../valid-value\"),o=Object.prototype.isPrototypeOf,s=Object.defineProperty,l={configurable:!0,enumerable:!1,writable:!0,value:void 0};n=function(t,e){if(i(t),null===e||a(e))return t;throw new TypeError(\"Prototype must be null or an object\")},e.exports=function(t){var e,r;return t?(2===t.level?t.set?(r=t.set,e=function(t,e){return r.call(n(t,e),e),t}):e=function(t,e){return n(t,e).__proto__=e,t}:e=function t(e,r){var a;return n(e,r),(a=o.call(t.nullPolyfill,e))&&delete t.nullPolyfill.__proto__,null===r&&(r=t.nullPolyfill),e.__proto__=r,a&&s(t.nullPolyfill,\"__proto__\",l),e},Object.defineProperty(e,\"level\",{configurable:!1,enumerable:!1,writable:!1,value:t.level})):null}(function(){var t,e=Object.create(null),r={},n=Object.getOwnPropertyDescriptor(Object.prototype,\"__proto__\");if(n){try{(t=n.set).call(e,r)}catch(t){}if(Object.getPrototypeOf(e)===r)return{set:t,level:2}}return e.__proto__=r,Object.getPrototypeOf(e)===r?{level:2}:((e={}).__proto__=r,Object.getPrototypeOf(e)===r&&{level:1})}()),t(\"../create\")},{\"../create\":192,\"../is-object\":194,\"../valid-value\":206}],204:[function(t,e,r){\"use strict\";e.exports=function(t){if(\"function\"!=typeof t)throw new TypeError(t+\" is not a function\");return t}},{}],205:[function(t,e,r){\"use strict\";var n=t(\"./is-object\");e.exports=function(t){if(!n(t))throw new TypeError(t+\" is not an Object\");return t}},{\"./is-object\":194}],206:[function(t,e,r){\"use strict\";var n=t(\"./is-value\");e.exports=function(t){if(!n(t))throw new TypeError(\"Cannot use null or undefined\");return t}},{\"./is-value\":195}],207:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?String.prototype.contains:t(\"./shim\")},{\"./is-implemented\":208,\"./shim\":209}],208:[function(t,e,r){\"use strict\";var n=\"razdwatrzy\";e.exports=function(){return\"function\"==typeof n.contains&&(!0===n.contains(\"dwa\")&&!1===n.contains(\"foo\"))}},{}],209:[function(t,e,r){\"use strict\";var n=String.prototype.indexOf;e.exports=function(t){return n.call(this,t,arguments[1])>-1}},{}],210:[function(t,e,r){\"use strict\";var n=Object.prototype.toString,a=n.call(\"\");e.exports=function(t){return\"string\"==typeof t||t&&\"object\"==typeof t&&(t instanceof String||n.call(t)===a)||!1}},{}],211:[function(t,e,r){\"use strict\";var n=Object.create(null),a=Math.random;e.exports=function(){var t;do{t=a().toString(36).slice(2)}while(n[t]);return t}},{}],212:[function(t,e,r){\"use strict\";var n,a=t(\"es5-ext/object/set-prototype-of\"),i=t(\"es5-ext/string/#/contains\"),o=t(\"d\"),s=t(\"es6-symbol\"),l=t(\"./\"),c=Object.defineProperty;n=e.exports=function(t,e){if(!(this instanceof n))throw new TypeError(\"Constructor requires 'new'\");l.call(this,t),e=e?i.call(e,\"key+value\")?\"key+value\":i.call(e,\"key\")?\"key\":\"value\":\"value\",c(this,\"__kind__\",o(\"\",e))},a&&a(n,l),delete n.prototype.constructor,n.prototype=Object.create(l.prototype,{_resolve:o((function(t){return\"value\"===this.__kind__?this.__list__[t]:\"key+value\"===this.__kind__?[t,this.__list__[t]]:t}))}),c(n.prototype,s.toStringTag,o(\"c\",\"Array Iterator\"))},{\"./\":215,d:152,\"es5-ext/object/set-prototype-of\":201,\"es5-ext/string/#/contains\":207,\"es6-symbol\":220}],213:[function(t,e,r){\"use strict\";var n=t(\"es5-ext/function/is-arguments\"),a=t(\"es5-ext/object/valid-callable\"),i=t(\"es5-ext/string/is-string\"),o=t(\"./get\"),s=Array.isArray,l=Function.prototype.call,c=Array.prototype.some;e.exports=function(t,e){var r,u,h,f,p,d,g,m,v=arguments[2];if(s(t)||n(t)?r=\"array\":i(t)?r=\"string\":t=o(t),a(e),h=function(){f=!0},\"array\"!==r)if(\"string\"!==r)for(u=t.next();!u.done;){if(l.call(e,v,u.value,h),f)return;u=t.next()}else for(d=t.length,p=0;p<d&&(g=t[p],p+1<d&&(m=g.charCodeAt(0))>=55296&&m<=56319&&(g+=t[++p]),l.call(e,v,g,h),!f);++p);else c.call(t,(function(t){return l.call(e,v,t,h),f}))}},{\"./get\":214,\"es5-ext/function/is-arguments\":179,\"es5-ext/object/valid-callable\":204,\"es5-ext/string/is-string\":210}],214:[function(t,e,r){\"use strict\";var n=t(\"es5-ext/function/is-arguments\"),a=t(\"es5-ext/string/is-string\"),i=t(\"./array\"),o=t(\"./string\"),s=t(\"./valid-iterable\"),l=t(\"es6-symbol\").iterator;e.exports=function(t){return\"function\"==typeof s(t)[l]?t[l]():n(t)?new i(t):a(t)?new o(t):new i(t)}},{\"./array\":212,\"./string\":217,\"./valid-iterable\":218,\"es5-ext/function/is-arguments\":179,\"es5-ext/string/is-string\":210,\"es6-symbol\":220}],215:[function(t,e,r){\"use strict\";var n,a=t(\"es5-ext/array/#/clear\"),i=t(\"es5-ext/object/assign\"),o=t(\"es5-ext/object/valid-callable\"),s=t(\"es5-ext/object/valid-value\"),l=t(\"d\"),c=t(\"d/auto-bind\"),u=t(\"es6-symbol\"),h=Object.defineProperty,f=Object.defineProperties;e.exports=n=function(t,e){if(!(this instanceof n))throw new TypeError(\"Constructor requires 'new'\");f(this,{__list__:l(\"w\",s(t)),__context__:l(\"w\",e),__nextIndex__:l(\"w\",0)}),e&&(o(e.on),e.on(\"_add\",this._onAdd),e.on(\"_delete\",this._onDelete),e.on(\"_clear\",this._onClear))},delete n.prototype.constructor,f(n.prototype,i({_next:l((function(){var t;if(this.__list__)return this.__redo__&&void 0!==(t=this.__redo__.shift())?t:this.__nextIndex__<this.__list__.length?this.__nextIndex__++:void this._unBind()})),next:l((function(){return this._createResult(this._next())})),_createResult:l((function(t){return void 0===t?{done:!0,value:void 0}:{done:!1,value:this._resolve(t)}})),_resolve:l((function(t){return this.__list__[t]})),_unBind:l((function(){this.__list__=null,delete this.__redo__,this.__context__&&(this.__context__.off(\"_add\",this._onAdd),this.__context__.off(\"_delete\",this._onDelete),this.__context__.off(\"_clear\",this._onClear),this.__context__=null)})),toString:l((function(){return\"[object \"+(this[u.toStringTag]||\"Object\")+\"]\"}))},c({_onAdd:l((function(t){t>=this.__nextIndex__||(++this.__nextIndex__,this.__redo__?(this.__redo__.forEach((function(e,r){e>=t&&(this.__redo__[r]=++e)}),this),this.__redo__.push(t)):h(this,\"__redo__\",l(\"c\",[t])))})),_onDelete:l((function(t){var e;t>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(-1!==(e=this.__redo__.indexOf(t))&&this.__redo__.splice(e,1),this.__redo__.forEach((function(e,r){e>t&&(this.__redo__[r]=--e)}),this)))})),_onClear:l((function(){this.__redo__&&a.call(this.__redo__),this.__nextIndex__=0}))}))),h(n.prototype,u.iterator,l((function(){return this})))},{d:152,\"d/auto-bind\":151,\"es5-ext/array/#/clear\":175,\"es5-ext/object/assign\":188,\"es5-ext/object/valid-callable\":204,\"es5-ext/object/valid-value\":206,\"es6-symbol\":220}],216:[function(t,e,r){\"use strict\";var n=t(\"es5-ext/function/is-arguments\"),a=t(\"es5-ext/object/is-value\"),i=t(\"es5-ext/string/is-string\"),o=t(\"es6-symbol\").iterator,s=Array.isArray;e.exports=function(t){return!!a(t)&&(!!s(t)||(!!i(t)||(!!n(t)||\"function\"==typeof t[o])))}},{\"es5-ext/function/is-arguments\":179,\"es5-ext/object/is-value\":195,\"es5-ext/string/is-string\":210,\"es6-symbol\":220}],217:[function(t,e,r){\"use strict\";var n,a=t(\"es5-ext/object/set-prototype-of\"),i=t(\"d\"),o=t(\"es6-symbol\"),s=t(\"./\"),l=Object.defineProperty;n=e.exports=function(t){if(!(this instanceof n))throw new TypeError(\"Constructor requires 'new'\");t=String(t),s.call(this,t),l(this,\"__length__\",i(\"\",t.length))},a&&a(n,s),delete n.prototype.constructor,n.prototype=Object.create(s.prototype,{_next:i((function(){if(this.__list__)return this.__nextIndex__<this.__length__?this.__nextIndex__++:void this._unBind()})),_resolve:i((function(t){var e,r=this.__list__[t];return this.__nextIndex__===this.__length__?r:(e=r.charCodeAt(0))>=55296&&e<=56319?r+this.__list__[this.__nextIndex__++]:r}))}),l(n.prototype,o.toStringTag,i(\"c\",\"String Iterator\"))},{\"./\":215,d:152,\"es5-ext/object/set-prototype-of\":201,\"es6-symbol\":220}],218:[function(t,e,r){\"use strict\";var n=t(\"./is-iterable\");e.exports=function(t){if(!n(t))throw new TypeError(t+\" is not iterable\");return t}},{\"./is-iterable\":216}],219:[function(t,e,r){(function(n,a){\n",
       "/*!\n",
       " * @overview es6-promise - a tiny implementation of Promises/A+.\n",
       " * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)\n",
       " * @license   Licensed under MIT license\n",
       " *            See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE\n",
       " * @version   v4.2.8+1e68dce6\n",
       " */\n",
       "!function(t,n){\"object\"==typeof r&&\"undefined\"!=typeof e?e.exports=n():t.ES6Promise=n()}(this,(function(){\"use strict\";function e(t){return\"function\"==typeof t}var r=Array.isArray?Array.isArray:function(t){return\"[object Array]\"===Object.prototype.toString.call(t)},i=0,o=void 0,s=void 0,l=function(t,e){g[i]=t,g[i+1]=e,2===(i+=2)&&(s?s(m):_())};var c=\"undefined\"!=typeof window?window:void 0,u=c||{},h=u.MutationObserver||u.WebKitMutationObserver,f=\"undefined\"==typeof self&&\"undefined\"!=typeof n&&\"[object process]\"==={}.toString.call(n),p=\"undefined\"!=typeof Uint8ClampedArray&&\"undefined\"!=typeof importScripts&&\"undefined\"!=typeof MessageChannel;function d(){var t=setTimeout;return function(){return t(m,1)}}var g=new Array(1e3);function m(){for(var t=0;t<i;t+=2){(0,g[t])(g[t+1]),g[t]=void 0,g[t+1]=void 0}i=0}var v,y,x,b,_=void 0;function w(t,e){var r=this,n=new this.constructor(A);void 0===n[k]&&D(n);var a=r._state;if(a){var i=arguments[a-1];l((function(){return z(a,n,i,r._result)}))}else P(r,n,t,e);return n}function T(t){if(t&&\"object\"==typeof t&&t.constructor===this)return t;var e=new this(A);return S(e,t),e}f?_=function(){return n.nextTick(m)}:h?(y=0,x=new h(m),b=document.createTextNode(\"\"),x.observe(b,{characterData:!0}),_=function(){b.data=y=++y%2}):p?((v=new MessageChannel).port1.onmessage=m,_=function(){return v.port2.postMessage(0)}):_=void 0===c&&\"function\"==typeof t?function(){try{var t=Function(\"return this\")().require(\"vertx\");return\"undefined\"!=typeof(o=t.runOnLoop||t.runOnContext)?function(){o(m)}:d()}catch(t){return d()}}():d();var k=Math.random().toString(36).substring(2);function A(){}function M(t,r,n){r.constructor===t.constructor&&n===w&&r.constructor.resolve===T?function(t,e){1===e._state?C(t,e._result):2===e._state?L(t,e._result):P(e,void 0,(function(e){return S(t,e)}),(function(e){return L(t,e)}))}(t,r):void 0===n?C(t,r):e(n)?function(t,e,r){l((function(t){var n=!1,a=function(t,e,r,n){try{t.call(e,r,n)}catch(t){return t}}(r,e,(function(r){n||(n=!0,e!==r?S(t,r):C(t,r))}),(function(e){n||(n=!0,L(t,e))}),t._label);!n&&a&&(n=!0,L(t,a))}),t)}(t,r,n):C(t,r)}function S(t,e){if(t===e)L(t,new TypeError(\"You cannot resolve a promise with itself\"));else if(a=typeof(n=e),null===n||\"object\"!==a&&\"function\"!==a)C(t,e);else{var r=void 0;try{r=e.then}catch(e){return void L(t,e)}M(t,e,r)}var n,a}function E(t){t._onerror&&t._onerror(t._result),I(t)}function C(t,e){void 0===t._state&&(t._result=e,t._state=1,0!==t._subscribers.length&&l(I,t))}function L(t,e){void 0===t._state&&(t._state=2,t._result=e,l(E,t))}function P(t,e,r,n){var a=t._subscribers,i=a.length;t._onerror=null,a[i]=e,a[i+1]=r,a[i+2]=n,0===i&&t._state&&l(I,t)}function I(t){var e=t._subscribers,r=t._state;if(0!==e.length){for(var n=void 0,a=void 0,i=t._result,o=0;o<e.length;o+=3)n=e[o],a=e[o+r],n?z(r,n,a,i):a(i);t._subscribers.length=0}}function z(t,r,n,a){var i=e(n),o=void 0,s=void 0,l=!0;if(i){try{o=n(a)}catch(t){l=!1,s=t}if(r===o)return void L(r,new TypeError(\"A promises callback cannot return that same promise.\"))}else o=a;void 0!==r._state||(i&&l?S(r,o):!1===l?L(r,s):1===t?C(r,o):2===t&&L(r,o))}var O=0;function D(t){t[k]=O++,t._state=void 0,t._result=void 0,t._subscribers=[]}var R=function(){function t(t,e){this._instanceConstructor=t,this.promise=new t(A),this.promise[k]||D(this.promise),r(e)?(this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?C(this.promise,this._result):(this.length=this.length||0,this._enumerate(e),0===this._remaining&&C(this.promise,this._result))):L(this.promise,new Error(\"Array Methods must be provided an Array\"))}return t.prototype._enumerate=function(t){for(var e=0;void 0===this._state&&e<t.length;e++)this._eachEntry(t[e],e)},t.prototype._eachEntry=function(t,e){var r=this._instanceConstructor,n=r.resolve;if(n===T){var a=void 0,i=void 0,o=!1;try{a=t.then}catch(t){o=!0,i=t}if(a===w&&void 0!==t._state)this._settledAt(t._state,e,t._result);else if(\"function\"!=typeof a)this._remaining--,this._result[e]=t;else if(r===F){var s=new r(A);o?L(s,i):M(s,t,a),this._willSettleAt(s,e)}else this._willSettleAt(new r((function(e){return e(t)})),e)}else this._willSettleAt(n(t),e)},t.prototype._settledAt=function(t,e,r){var n=this.promise;void 0===n._state&&(this._remaining--,2===t?L(n,r):this._result[e]=r),0===this._remaining&&C(n,this._result)},t.prototype._willSettleAt=function(t,e){var r=this;P(t,void 0,(function(t){return r._settledAt(1,e,t)}),(function(t){return r._settledAt(2,e,t)}))},t}();var F=function(){function t(e){this[k]=O++,this._result=this._state=void 0,this._subscribers=[],A!==e&&(\"function\"!=typeof e&&function(){throw new TypeError(\"You must pass a resolver function as the first argument to the promise constructor\")}(),this instanceof t?function(t,e){try{e((function(e){S(t,e)}),(function(e){L(t,e)}))}catch(e){L(t,e)}}(this,e):function(){throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\")}())}return t.prototype.catch=function(t){return this.then(null,t)},t.prototype.finally=function(t){var r=this.constructor;return e(t)?this.then((function(e){return r.resolve(t()).then((function(){return e}))}),(function(e){return r.resolve(t()).then((function(){throw e}))})):this.then(t,t)},t}();return F.prototype.then=w,F.all=function(t){return new R(this,t).promise},F.race=function(t){var e=this;return r(t)?new e((function(r,n){for(var a=t.length,i=0;i<a;i++)e.resolve(t[i]).then(r,n)})):new e((function(t,e){return e(new TypeError(\"You must pass an array to race.\"))}))},F.resolve=T,F.reject=function(t){var e=new this(A);return L(e,t),e},F._setScheduler=function(t){s=t},F._setAsap=function(t){l=t},F._asap=l,F.polyfill=function(){var t=void 0;if(\"undefined\"!=typeof a)t=a;else if(\"undefined\"!=typeof self)t=self;else try{t=Function(\"return this\")()}catch(t){throw new Error(\"polyfill failed because global object is unavailable in this environment\")}var e=t.Promise;if(e){var r=null;try{r=Object.prototype.toString.call(e.resolve())}catch(t){}if(\"[object Promise]\"===r&&!e.cast)return}t.Promise=F},F.Promise=F,F}))}).call(this,t(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{_process:480}],220:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?t(\"ext/global-this\").Symbol:t(\"./polyfill\")},{\"./is-implemented\":221,\"./polyfill\":226,\"ext/global-this\":233}],221:[function(t,e,r){\"use strict\";var n=t(\"ext/global-this\"),a={object:!0,symbol:!0};e.exports=function(){var t,e=n.Symbol;if(\"function\"!=typeof e)return!1;t=e(\"test symbol\");try{String(t)}catch(t){return!1}return!!a[typeof e.iterator]&&(!!a[typeof e.toPrimitive]&&!!a[typeof e.toStringTag])}},{\"ext/global-this\":233}],222:[function(t,e,r){\"use strict\";e.exports=function(t){return!!t&&(\"symbol\"==typeof t||!!t.constructor&&(\"Symbol\"===t.constructor.name&&\"Symbol\"===t[t.constructor.toStringTag]))}},{}],223:[function(t,e,r){\"use strict\";var n=t(\"d\"),a=Object.create,i=Object.defineProperty,o=Object.prototype,s=a(null);e.exports=function(t){for(var e,r,a=0;s[t+(a||\"\")];)++a;return s[t+=a||\"\"]=!0,i(o,e=\"@@\"+t,n.gs(null,(function(t){r||(r=!0,i(this,e,n(t)),r=!1)}))),e}},{d:152}],224:[function(t,e,r){\"use strict\";var n=t(\"d\"),a=t(\"ext/global-this\").Symbol;e.exports=function(t){return Object.defineProperties(t,{hasInstance:n(\"\",a&&a.hasInstance||t(\"hasInstance\")),isConcatSpreadable:n(\"\",a&&a.isConcatSpreadable||t(\"isConcatSpreadable\")),iterator:n(\"\",a&&a.iterator||t(\"iterator\")),match:n(\"\",a&&a.match||t(\"match\")),replace:n(\"\",a&&a.replace||t(\"replace\")),search:n(\"\",a&&a.search||t(\"search\")),species:n(\"\",a&&a.species||t(\"species\")),split:n(\"\",a&&a.split||t(\"split\")),toPrimitive:n(\"\",a&&a.toPrimitive||t(\"toPrimitive\")),toStringTag:n(\"\",a&&a.toStringTag||t(\"toStringTag\")),unscopables:n(\"\",a&&a.unscopables||t(\"unscopables\"))})}},{d:152,\"ext/global-this\":233}],225:[function(t,e,r){\"use strict\";var n=t(\"d\"),a=t(\"../../../validate-symbol\"),i=Object.create(null);e.exports=function(t){return Object.defineProperties(t,{for:n((function(e){return i[e]?i[e]:i[e]=t(String(e))})),keyFor:n((function(t){var e;for(e in a(t),i)if(i[e]===t)return e}))})}},{\"../../../validate-symbol\":227,d:152}],226:[function(t,e,r){\"use strict\";var n,a,i,o=t(\"d\"),s=t(\"./validate-symbol\"),l=t(\"ext/global-this\").Symbol,c=t(\"./lib/private/generate-name\"),u=t(\"./lib/private/setup/standard-symbols\"),h=t(\"./lib/private/setup/symbol-registry\"),f=Object.create,p=Object.defineProperties,d=Object.defineProperty;if(\"function\"==typeof l)try{String(l()),i=!0}catch(t){}else l=null;a=function(t){if(this instanceof a)throw new TypeError(\"Symbol is not a constructor\");return n(t)},e.exports=n=function t(e){var r;if(this instanceof t)throw new TypeError(\"Symbol is not a constructor\");return i?l(e):(r=f(a.prototype),e=void 0===e?\"\":String(e),p(r,{__description__:o(\"\",e),__name__:o(\"\",c(e))}))},u(n),h(n),p(a.prototype,{constructor:o(n),toString:o(\"\",(function(){return this.__name__}))}),p(n.prototype,{toString:o((function(){return\"Symbol (\"+s(this).__description__+\")\"})),valueOf:o((function(){return s(this)}))}),d(n.prototype,n.toPrimitive,o(\"\",(function(){var t=s(this);return\"symbol\"==typeof t?t:t.toString()}))),d(n.prototype,n.toStringTag,o(\"c\",\"Symbol\")),d(a.prototype,n.toStringTag,o(\"c\",n.prototype[n.toStringTag])),d(a.prototype,n.toPrimitive,o(\"c\",n.prototype[n.toPrimitive]))},{\"./lib/private/generate-name\":223,\"./lib/private/setup/standard-symbols\":224,\"./lib/private/setup/symbol-registry\":225,\"./validate-symbol\":227,d:152,\"ext/global-this\":233}],227:[function(t,e,r){\"use strict\";var n=t(\"./is-symbol\");e.exports=function(t){if(!n(t))throw new TypeError(t+\" is not a symbol\");return t}},{\"./is-symbol\":222}],228:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?WeakMap:t(\"./polyfill\")},{\"./is-implemented\":229,\"./polyfill\":231}],229:[function(t,e,r){\"use strict\";e.exports=function(){var t,e;if(\"function\"!=typeof WeakMap)return!1;try{t=new WeakMap([[e={},\"one\"],[{},\"two\"],[{},\"three\"]])}catch(t){return!1}return\"[object WeakMap]\"===String(t)&&(\"function\"==typeof t.set&&(t.set({},1)===t&&(\"function\"==typeof t.delete&&(\"function\"==typeof t.has&&\"one\"===t.get(e)))))}},{}],230:[function(t,e,r){\"use strict\";e.exports=\"function\"==typeof WeakMap&&\"[object WeakMap]\"===Object.prototype.toString.call(new WeakMap)},{}],231:[function(t,e,r){\"use strict\";var n,a=t(\"es5-ext/object/is-value\"),i=t(\"es5-ext/object/set-prototype-of\"),o=t(\"es5-ext/object/valid-object\"),s=t(\"es5-ext/object/valid-value\"),l=t(\"es5-ext/string/random-uniq\"),c=t(\"d\"),u=t(\"es6-iterator/get\"),h=t(\"es6-iterator/for-of\"),f=t(\"es6-symbol\").toStringTag,p=t(\"./is-native-implemented\"),d=Array.isArray,g=Object.defineProperty,m=Object.prototype.hasOwnProperty,v=Object.getPrototypeOf;e.exports=n=function(){var t,e=arguments[0];if(!(this instanceof n))throw new TypeError(\"Constructor requires 'new'\");return t=p&&i&&WeakMap!==n?i(new WeakMap,v(this)):this,a(e)&&(d(e)||(e=u(e))),g(t,\"__weakMapData__\",c(\"c\",\"$weakMap$\"+l())),e?(h(e,(function(e){s(e),t.set(e[0],e[1])})),t):t},p&&(i&&i(n,WeakMap),n.prototype=Object.create(WeakMap.prototype,{constructor:c(n)})),Object.defineProperties(n.prototype,{delete:c((function(t){return!!m.call(o(t),this.__weakMapData__)&&(delete t[this.__weakMapData__],!0)})),get:c((function(t){if(m.call(o(t),this.__weakMapData__))return t[this.__weakMapData__]})),has:c((function(t){return m.call(o(t),this.__weakMapData__)})),set:c((function(t,e){return g(o(t),this.__weakMapData__,c(\"c\",e)),this})),toString:c((function(){return\"[object WeakMap]\"}))}),g(n.prototype,f,c(\"c\",\"WeakMap\"))},{\"./is-native-implemented\":230,d:152,\"es5-ext/object/is-value\":195,\"es5-ext/object/set-prototype-of\":201,\"es5-ext/object/valid-object\":205,\"es5-ext/object/valid-value\":206,\"es5-ext/string/random-uniq\":211,\"es6-iterator/for-of\":213,\"es6-iterator/get\":214,\"es6-symbol\":220}],232:[function(t,e,r){var n=function(){if(\"object\"==typeof self&&self)return self;if(\"object\"==typeof window&&window)return window;throw new Error(\"Unable to resolve global `this`\")};e.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,\"__global__\",{get:function(){return this},configurable:!0})}catch(t){return n()}try{return __global__||n()}finally{delete Object.prototype.__global__}}()},{}],233:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?globalThis:t(\"./implementation\")},{\"./implementation\":232,\"./is-implemented\":234}],234:[function(t,e,r){\"use strict\";e.exports=function(){return\"object\"==typeof globalThis&&(!!globalThis&&globalThis.Array===Array)}},{}],235:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){var n=e||0,a=r||1;return[[t[12]+t[0],t[13]+t[1],t[14]+t[2],t[15]+t[3]],[t[12]-t[0],t[13]-t[1],t[14]-t[2],t[15]-t[3]],[t[12]+t[4],t[13]+t[5],t[14]+t[6],t[15]+t[7]],[t[12]-t[4],t[13]-t[5],t[14]-t[6],t[15]-t[7]],[n*t[12]+t[8],n*t[13]+t[9],n*t[14]+t[10],n*t[15]+t[11]],[a*t[12]-t[8],a*t[13]-t[9],a*t[14]-t[10],a*t[15]-t[11]]]}},{}],236:[function(t,e,r){\"use strict\";var n=t(\"is-string-blank\");e.exports=function(t){var e=typeof t;if(\"string\"===e){var r=t;if(0===(t=+t)&&n(r))return!1}else if(\"number\"!==e)return!1;return t-t<1}},{\"is-string-blank\":423}],237:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){switch(arguments.length){case 0:return new o([0],[0],0);case 1:return\"number\"==typeof t?new o(n=l(t),n,0):new o(t,l(t.length),0);case 2:if(\"number\"==typeof e){var n=l(t.length);return new o(t,n,+e)}r=0;case 3:if(t.length!==e.length)throw new Error(\"state and velocity lengths must match\");return new o(t,e,r)}};var n=t(\"cubic-hermite\"),a=t(\"binary-search-bounds\");function i(t,e,r){return Math.min(e,Math.max(t,r))}function o(t,e,r){this.dimension=t.length,this.bounds=[new Array(this.dimension),new Array(this.dimension)];for(var n=0;n<this.dimension;++n)this.bounds[0][n]=-1/0,this.bounds[1][n]=1/0;this._state=t.slice().reverse(),this._velocity=e.slice().reverse(),this._time=[r],this._scratch=[t.slice(),t.slice(),t.slice(),t.slice(),t.slice()]}var s=o.prototype;function l(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=0;return e}s.flush=function(t){var e=a.gt(this._time,t)-1;e<=0||(this._time.splice(0,e),this._state.splice(0,e*this.dimension),this._velocity.splice(0,e*this.dimension))},s.curve=function(t){var e=this._time,r=e.length,o=a.le(e,t),s=this._scratch[0],l=this._state,c=this._velocity,u=this.dimension,h=this.bounds;if(o<0)for(var f=u-1,p=0;p<u;++p,--f)s[p]=l[f];else if(o>=r-1){f=l.length-1;var d=t-e[r-1];for(p=0;p<u;++p,--f)s[p]=l[f]+d*c[f]}else{f=u*(o+1)-1;var g=e[o],m=e[o+1]-g||1,v=this._scratch[1],y=this._scratch[2],x=this._scratch[3],b=this._scratch[4],_=!0;for(p=0;p<u;++p,--f)v[p]=l[f],x[p]=c[f]*m,y[p]=l[f+u],b[p]=c[f+u]*m,_=_&&v[p]===y[p]&&x[p]===b[p]&&0===x[p];if(_)for(p=0;p<u;++p)s[p]=v[p];else n(v,x,y,b,(t-g)/m,s)}var w=h[0],T=h[1];for(p=0;p<u;++p)s[p]=i(w[p],T[p],s[p]);return s},s.dcurve=function(t){var e=this._time,r=e.length,i=a.le(e,t),o=this._scratch[0],s=this._state,l=this._velocity,c=this.dimension;if(i>=r-1)for(var u=s.length-1,h=(e[r-1],0);h<c;++h,--u)o[h]=l[u];else{u=c*(i+1)-1;var f=e[i],p=e[i+1]-f||1,d=this._scratch[1],g=this._scratch[2],m=this._scratch[3],v=this._scratch[4],y=!0;for(h=0;h<c;++h,--u)d[h]=s[u],m[h]=l[u]*p,g[h]=s[u+c],v[h]=l[u+c]*p,y=y&&d[h]===g[h]&&m[h]===v[h]&&0===m[h];if(y)for(h=0;h<c;++h)o[h]=0;else{n.derivative(d,m,g,v,(t-f)/p,o);for(h=0;h<c;++h)o[h]/=p}}return o},s.lastT=function(){var t=this._time;return t[t.length-1]},s.stable=function(){for(var t=this._velocity,e=t.length,r=this.dimension-1;r>=0;--r)if(t[--e])return!1;return!0},s.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var n=this._state,a=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1];this._time.push(e,t);for(var u=0;u<2;++u)for(var h=0;h<r;++h)n.push(n[o++]),a.push(0);this._time.push(t);for(h=r;h>0;--h)n.push(i(l[h-1],c[h-1],arguments[h])),a.push(0)}},s.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var n=this._state,a=this._velocity,o=n.length-this.dimension,s=t-e,l=this.bounds,c=l[0],u=l[1],h=s>1e-6?1/s:0;this._time.push(t);for(var f=r;f>0;--f){var p=i(c[f-1],u[f-1],arguments[f]);n.push(p),a.push((p-n[o++])*h)}}},s.set=function(t){var e=this.dimension;if(!(t<this.lastT()||arguments.length!==e+1)){var r=this._state,n=this._velocity,a=this.bounds,o=a[0],s=a[1];this._time.push(t);for(var l=e;l>0;--l)r.push(i(o[l-1],s[l-1],arguments[l])),n.push(0)}},s.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var n=this._state,a=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1],u=t-e,h=u>1e-6?1/u:0;this._time.push(t);for(var f=r;f>0;--f){var p=arguments[f];n.push(i(l[f-1],c[f-1],n[o++]+p)),a.push(p*h)}}},s.idle=function(t){var e=this.lastT();if(!(t<e)){var r=this.dimension,n=this._state,a=this._velocity,o=n.length-r,s=this.bounds,l=s[0],c=s[1],u=t-e;this._time.push(t);for(var h=r-1;h>=0;--h)n.push(i(l[h],c[h],n[o]+u*a[o])),a.push(0),o+=1}}},{\"binary-search-bounds\":238,\"cubic-hermite\":147}],238:[function(t,e,r){\"use strict\";function n(t,e,r,n,a,i){var o=[\"function \",t,\"(a,l,h,\",n.join(\",\"),\"){\",i?\"\":\"var i=\",r?\"l-1\":\"h+1\",\";while(l<=h){var m=(l+h)>>>1,x=a\",a?\".get(m)\":\"[m]\"];return i?e.indexOf(\"c\")<0?o.push(\";if(x===y){return m}else if(x<=y){\"):o.push(\";var p=c(x,y);if(p===0){return m}else if(p<=0){\"):o.push(\";if(\",e,\"){i=m;\"),r?o.push(\"l=m+1}else{h=m-1}\"):o.push(\"h=m-1}else{l=m+1}\"),o.push(\"}\"),i?o.push(\"return -1};\"):o.push(\"return i};\"),o.join(\"\")}function a(t,e,r,a){return new Function([n(\"A\",\"x\"+t+\"y\",e,[\"y\"],!1,a),n(\"B\",\"x\"+t+\"y\",e,[\"y\"],!0,a),n(\"P\",\"c(x,y)\"+t+\"0\",e,[\"y\",\"c\"],!1,a),n(\"Q\",\"c(x,y)\"+t+\"0\",e,[\"y\",\"c\"],!0,a),\"function dispatchBsearch\",r,\"(a,y,c,l,h){if(a.shape){if(typeof(c)==='function'){return Q(a,(l===undefined)?0:l|0,(h===undefined)?a.shape[0]-1:h|0,y,c)}else{return B(a,(c===undefined)?0:c|0,(l===undefined)?a.shape[0]-1:l|0,y)}}else{if(typeof(c)==='function'){return P(a,(l===undefined)?0:l|0,(h===undefined)?a.length-1:h|0,y,c)}else{return A(a,(c===undefined)?0:c|0,(l===undefined)?a.length-1:l|0,y)}}}return dispatchBsearch\",r].join(\"\"))()}e.exports={ge:a(\">=\",!1,\"GE\"),gt:a(\">\",!1,\"GT\"),lt:a(\"<\",!0,\"LT\"),le:a(\"<=\",!0,\"LE\"),eq:a(\"-\",!0,\"EQ\",!0)}},{}],239:[function(t,e,r){var n=t(\"dtype\");e.exports=function(t,e,r){if(!t)throw new TypeError(\"must specify data as first parameter\");if(r=0|+(r||0),Array.isArray(t)&&t[0]&&\"number\"==typeof t[0][0]){var a,i,o,s,l=t[0].length,c=t.length*l;e&&\"string\"!=typeof e||(e=new(n(e||\"float32\"))(c+r));var u=e.length-r;if(c!==u)throw new Error(\"source length \"+c+\" (\"+l+\"x\"+t.length+\") does not match destination length \"+u);for(a=0,o=r;a<t.length;a++)for(i=0;i<l;i++)e[o++]=null===t[a][i]?NaN:t[a][i]}else if(e&&\"string\"!=typeof e)e.set(t,r);else{var h=n(e||\"float32\");if(Array.isArray(t)||\"array\"===e)for(e=new h(t.length+r),a=0,o=r,s=e.length;o<s;o++,a++)e[o]=null===t[a]?NaN:t[a];else 0===r?e=new h(t):(e=new h(t.length+r)).set(t,r)}return e}},{dtype:170}],240:[function(t,e,r){\"use strict\";var n=t(\"css-font/stringify\"),a=[32,126];e.exports=function(t){var e=(t=t||{}).shape?t.shape:t.canvas?[t.canvas.width,t.canvas.height]:[512,512],r=t.canvas||document.createElement(\"canvas\"),i=t.font,o=\"number\"==typeof t.step?[t.step,t.step]:t.step||[32,32],s=t.chars||a;i&&\"string\"!=typeof i&&(i=n(i));if(Array.isArray(s)){if(2===s.length&&\"number\"==typeof s[0]&&\"number\"==typeof s[1]){for(var l=[],c=s[0],u=0;c<=s[1];c++)l[u++]=String.fromCharCode(c);s=l}}else s=String(s).split(\"\");e=e.slice(),r.width=e[0],r.height=e[1];var h=r.getContext(\"2d\");h.fillStyle=\"#000\",h.fillRect(0,0,r.width,r.height),h.font=i,h.textAlign=\"center\",h.textBaseline=\"middle\",h.fillStyle=\"#fff\";var f=o[0]/2,p=o[1]/2;for(c=0;c<s.length;c++)h.fillText(s[c],f,p),(f+=o[0])>e[0]-o[0]/2&&(f=o[0]/2,p+=o[1]);return r}},{\"css-font/stringify\":144}],241:[function(t,e,r){\"use strict\";function n(t,e){e||(e={}),(\"string\"==typeof t||Array.isArray(t))&&(e.family=t);var r=Array.isArray(e.family)?e.family.join(\", \"):e.family;if(!r)throw Error(\"`family` must be defined\");var s=e.size||e.fontSize||e.em||48,l=e.weight||e.fontWeight||\"\",c=(t=[e.style||e.fontStyle||\"\",l,s].join(\" \")+\"px \"+r,e.origin||\"top\");if(n.cache[r]&&s<=n.cache[r].em)return a(n.cache[r],c);var u=e.canvas||n.canvas,h=u.getContext(\"2d\"),f={upper:void 0!==e.upper?e.upper:\"H\",lower:void 0!==e.lower?e.lower:\"x\",descent:void 0!==e.descent?e.descent:\"p\",ascent:void 0!==e.ascent?e.ascent:\"h\",tittle:void 0!==e.tittle?e.tittle:\"i\",overshoot:void 0!==e.overshoot?e.overshoot:\"O\"},p=Math.ceil(1.5*s);u.height=p,u.width=.5*p,h.font=t;var d={top:0};h.clearRect(0,0,p,p),h.textBaseline=\"top\",h.fillStyle=\"black\",h.fillText(\"H\",0,0);var g=i(h.getImageData(0,0,p,p));h.clearRect(0,0,p,p),h.textBaseline=\"bottom\",h.fillText(\"H\",0,p);var m=i(h.getImageData(0,0,p,p));d.lineHeight=d.bottom=p-m+g,h.clearRect(0,0,p,p),h.textBaseline=\"alphabetic\",h.fillText(\"H\",0,p);var v=p-i(h.getImageData(0,0,p,p))-1+g;d.baseline=d.alphabetic=v,h.clearRect(0,0,p,p),h.textBaseline=\"middle\",h.fillText(\"H\",0,.5*p);var y=i(h.getImageData(0,0,p,p));d.median=d.middle=p-y-1+g-.5*p,h.clearRect(0,0,p,p),h.textBaseline=\"hanging\",h.fillText(\"H\",0,.5*p);var x=i(h.getImageData(0,0,p,p));d.hanging=p-x-1+g-.5*p,h.clearRect(0,0,p,p),h.textBaseline=\"ideographic\",h.fillText(\"H\",0,p);var b=i(h.getImageData(0,0,p,p));if(d.ideographic=p-b-1+g,f.upper&&(h.clearRect(0,0,p,p),h.textBaseline=\"top\",h.fillText(f.upper,0,0),d.upper=i(h.getImageData(0,0,p,p)),d.capHeight=d.baseline-d.upper),f.lower&&(h.clearRect(0,0,p,p),h.textBaseline=\"top\",h.fillText(f.lower,0,0),d.lower=i(h.getImageData(0,0,p,p)),d.xHeight=d.baseline-d.lower),f.tittle&&(h.clearRect(0,0,p,p),h.textBaseline=\"top\",h.fillText(f.tittle,0,0),d.tittle=i(h.getImageData(0,0,p,p))),f.ascent&&(h.clearRect(0,0,p,p),h.textBaseline=\"top\",h.fillText(f.ascent,0,0),d.ascent=i(h.getImageData(0,0,p,p))),f.descent&&(h.clearRect(0,0,p,p),h.textBaseline=\"top\",h.fillText(f.descent,0,0),d.descent=o(h.getImageData(0,0,p,p))),f.overshoot){h.clearRect(0,0,p,p),h.textBaseline=\"top\",h.fillText(f.overshoot,0,0);var _=o(h.getImageData(0,0,p,p));d.overshoot=_-v}for(var w in d)d[w]/=s;return d.em=s,n.cache[r]=d,a(d,c)}function a(t,e){var r={};for(var n in\"string\"==typeof e&&(e=t[e]),t)\"em\"!==n&&(r[n]=t[n]-e);return r}function i(t){for(var e=t.height,r=t.data,n=3;n<r.length;n+=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}function o(t){for(var e=t.height,r=t.data,n=r.length-1;n>0;n-=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}e.exports=n,n.canvas=document.createElement(\"canvas\"),n.cache={}},{}],242:[function(t,e,r){\"use strict\";e.exports=function(t){return new s(t||g,null)};function n(t,e,r,n,a,i){this._color=t,this.key=e,this.value=r,this.left=n,this.right=a,this._count=i}function a(t){return new n(t._color,t.key,t.value,t.left,t.right,t._count)}function i(t,e){return new n(t,e.key,e.value,e.left,e.right,e._count)}function o(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function s(t,e){this._compare=t,this.root=e}var l=s.prototype;function c(t,e){var r;if(e.left&&(r=c(t,e.left)))return r;return(r=t(e.key,e.value))||(e.right?c(t,e.right):void 0)}function u(t,e,r,n){if(e(t,n.key)<=0){var a;if(n.left)if(a=u(t,e,r,n.left))return a;if(a=r(n.key,n.value))return a}if(n.right)return u(t,e,r,n.right)}function h(t,e,r,n,a){var i,o=r(t,a.key),s=r(e,a.key);if(o<=0){if(a.left&&(i=h(t,e,r,n,a.left)))return i;if(s>0&&(i=n(a.key,a.value)))return i}if(s>0&&a.right)return h(t,e,r,n,a.right)}function f(t,e){this.tree=t,this._stack=e}Object.defineProperty(l,\"keys\",{get:function(){var t=[];return this.forEach((function(e,r){t.push(e)})),t}}),Object.defineProperty(l,\"values\",{get:function(){var t=[];return this.forEach((function(e,r){t.push(r)})),t}}),Object.defineProperty(l,\"length\",{get:function(){return this.root?this.root._count:0}}),l.insert=function(t,e){for(var r=this._compare,a=this.root,l=[],c=[];a;){var u=r(t,a.key);l.push(a),c.push(u),a=u<=0?a.left:a.right}l.push(new n(0,t,e,null,null,1));for(var h=l.length-2;h>=0;--h){a=l[h];c[h]<=0?l[h]=new n(a._color,a.key,a.value,l[h+1],a.right,a._count+1):l[h]=new n(a._color,a.key,a.value,a.left,l[h+1],a._count+1)}for(h=l.length-1;h>1;--h){var f=l[h-1];a=l[h];if(1===f._color||1===a._color)break;var p=l[h-2];if(p.left===f)if(f.left===a){if(!(d=p.right)||0!==d._color){if(p._color=0,p.left=f.right,f._color=1,f.right=p,l[h-2]=f,l[h-1]=a,o(p),o(f),h>=3)(g=l[h-3]).left===p?g.left=f:g.right=f;break}f._color=1,p.right=i(1,d),p._color=0,h-=1}else{if(!(d=p.right)||0!==d._color){if(f.right=a.left,p._color=0,p.left=a.right,a._color=1,a.left=f,a.right=p,l[h-2]=a,l[h-1]=f,o(p),o(f),o(a),h>=3)(g=l[h-3]).left===p?g.left=a:g.right=a;break}f._color=1,p.right=i(1,d),p._color=0,h-=1}else if(f.right===a){if(!(d=p.left)||0!==d._color){if(p._color=0,p.right=f.left,f._color=1,f.left=p,l[h-2]=f,l[h-1]=a,o(p),o(f),h>=3)(g=l[h-3]).right===p?g.right=f:g.left=f;break}f._color=1,p.left=i(1,d),p._color=0,h-=1}else{var d;if(!(d=p.left)||0!==d._color){var g;if(f.left=a.right,p._color=0,p.right=a.left,a._color=1,a.right=f,a.left=p,l[h-2]=a,l[h-1]=f,o(p),o(f),o(a),h>=3)(g=l[h-3]).right===p?g.right=a:g.left=a;break}f._color=1,p.left=i(1,d),p._color=0,h-=1}}return l[0]._color=1,new s(r,l[0])},l.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return c(t,this.root);case 2:return u(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return h(e,r,this._compare,t,this.root)}},Object.defineProperty(l,\"begin\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new f(this,t)}}),Object.defineProperty(l,\"end\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new f(this,t)}}),l.at=function(t){if(t<0)return new f(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t<e.left._count){e=e.left;continue}t-=e.left._count}if(!t)return new f(this,r);if(t-=1,!e.right)break;if(t>=e.right._count)break;e=e.right}return new f(this,[])},l.ge=function(t){for(var e=this._compare,r=this.root,n=[],a=0;r;){var i=e(t,r.key);n.push(r),i<=0&&(a=n.length),r=i<=0?r.left:r.right}return n.length=a,new f(this,n)},l.gt=function(t){for(var e=this._compare,r=this.root,n=[],a=0;r;){var i=e(t,r.key);n.push(r),i<0&&(a=n.length),r=i<0?r.left:r.right}return n.length=a,new f(this,n)},l.lt=function(t){for(var e=this._compare,r=this.root,n=[],a=0;r;){var i=e(t,r.key);n.push(r),i>0&&(a=n.length),r=i<=0?r.left:r.right}return n.length=a,new f(this,n)},l.le=function(t){for(var e=this._compare,r=this.root,n=[],a=0;r;){var i=e(t,r.key);n.push(r),i>=0&&(a=n.length),r=i<0?r.left:r.right}return n.length=a,new f(this,n)},l.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var a=e(t,r.key);if(n.push(r),0===a)return new f(this,n);r=a<=0?r.left:r.right}return new f(this,[])},l.remove=function(t){var e=this.find(t);return e?e.remove():this},l.get=function(t){for(var e=this._compare,r=this.root;r;){var n=e(t,r.key);if(0===n)return r.value;r=n<=0?r.left:r.right}};var p=f.prototype;function d(t,e){t.key=e.key,t.value=e.value,t.left=e.left,t.right=e.right,t._color=e._color,t._count=e._count}function g(t,e){return t<e?-1:t>e?1:0}Object.defineProperty(p,\"valid\",{get:function(){return this._stack.length>0}}),Object.defineProperty(p,\"node\",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),p.clone=function(){return new f(this.tree,this._stack.slice())},p.remove=function(){var t=this._stack;if(0===t.length)return this.tree;var e=new Array(t.length),r=t[t.length-1];e[e.length-1]=new n(r._color,r.key,r.value,r.left,r.right,r._count);for(var l=t.length-2;l>=0;--l){(r=t[l]).left===t[l+1]?e[l]=new n(r._color,r.key,r.value,e[l+1],r.right,r._count):e[l]=new n(r._color,r.key,r.value,r.left,e[l+1],r._count)}if((r=e[e.length-1]).left&&r.right){var c=e.length;for(r=r.left;r.right;)e.push(r),r=r.right;var u=e[c-1];e.push(new n(r._color,u.key,u.value,r.left,r.right,r._count)),e[c-1].key=r.key,e[c-1].value=r.value;for(l=e.length-2;l>=c;--l)r=e[l],e[l]=new n(r._color,r.key,r.value,r.left,e[l+1],r._count);e[c-1].left=e[c]}if(0===(r=e[e.length-1])._color){var h=e[e.length-2];h.left===r?h.left=null:h.right===r&&(h.right=null),e.pop();for(l=0;l<e.length;++l)e[l]._count--;return new s(this.tree._compare,e[0])}if(r.left||r.right){r.left?d(r,r.left):r.right&&d(r,r.right),r._color=1;for(l=0;l<e.length-1;++l)e[l]._count--;return new s(this.tree._compare,e[0])}if(1===e.length)return new s(this.tree._compare,null);for(l=0;l<e.length;++l)e[l]._count--;var f=e[e.length-2];return function(t){for(var e,r,n,s,l=t.length-1;l>=0;--l){if(e=t[l],0===l)return void(e._color=1);if((r=t[l-1]).left===e){if((n=r.right).right&&0===n.right._color){if(s=(n=r.right=a(n)).right=a(n.right),r.right=n.left,n.left=r,n.right=s,n._color=r._color,e._color=1,r._color=1,s._color=1,o(r),o(n),l>1)(c=t[l-2]).left===r?c.left=n:c.right=n;return void(t[l-1]=n)}if(n.left&&0===n.left._color){if(s=(n=r.right=a(n)).left=a(n.left),r.right=s.left,n.left=s.right,s.left=r,s.right=n,s._color=r._color,r._color=1,n._color=1,e._color=1,o(r),o(n),o(s),l>1)(c=t[l-2]).left===r?c.left=s:c.right=s;return void(t[l-1]=s)}if(1===n._color){if(0===r._color)return r._color=1,void(r.right=i(0,n));r.right=i(0,n);continue}n=a(n),r.right=n.left,n.left=r,n._color=r._color,r._color=0,o(r),o(n),l>1&&((c=t[l-2]).left===r?c.left=n:c.right=n),t[l-1]=n,t[l]=r,l+1<t.length?t[l+1]=e:t.push(e),l+=2}else{if((n=r.left).left&&0===n.left._color){if(s=(n=r.left=a(n)).left=a(n.left),r.left=n.right,n.right=r,n.left=s,n._color=r._color,e._color=1,r._color=1,s._color=1,o(r),o(n),l>1)(c=t[l-2]).right===r?c.right=n:c.left=n;return void(t[l-1]=n)}if(n.right&&0===n.right._color){if(s=(n=r.left=a(n)).right=a(n.right),r.left=s.right,n.right=s.left,s.right=r,s.left=n,s._color=r._color,r._color=1,n._color=1,e._color=1,o(r),o(n),o(s),l>1)(c=t[l-2]).right===r?c.right=s:c.left=s;return void(t[l-1]=s)}if(1===n._color){if(0===r._color)return r._color=1,void(r.left=i(0,n));r.left=i(0,n);continue}var c;n=a(n),r.left=n.right,n.right=r,n._color=r._color,r._color=0,o(r),o(n),l>1&&((c=t[l-2]).right===r?c.right=n:c.left=n),t[l-1]=n,t[l]=r,l+1<t.length?t[l+1]=e:t.push(e),l+=2}}}(e),f.left===r?f.left=null:f.right=null,new s(this.tree._compare,e[0])},Object.defineProperty(p,\"key\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(p,\"value\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(p,\"index\",{get:function(){var t=0,e=this._stack;if(0===e.length){var r=this.tree.root;return r?r._count:0}e[e.length-1].left&&(t=e[e.length-1].left._count);for(var n=e.length-2;n>=0;--n)e[n+1]===e[n].right&&(++t,e[n].left&&(t+=e[n].left._count));return t},enumerable:!0}),p.next=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.right)for(e=e.right;e;)t.push(e),e=e.left;else for(t.pop();t.length>0&&t[t.length-1].right===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(p,\"hasNext\",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].right)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].left===t[e])return!0;return!1}}),p.update=function(t){var e=this._stack;if(0===e.length)throw new Error(\"Can't update empty node!\");var r=new Array(e.length),a=e[e.length-1];r[r.length-1]=new n(a._color,a.key,t,a.left,a.right,a._count);for(var i=e.length-2;i>=0;--i)(a=e[i]).left===e[i+1]?r[i]=new n(a._color,a.key,a.value,r[i+1],a.right,a._count):r[i]=new n(a._color,a.key,a.value,a.left,r[i+1],a._count);return new s(this.tree._compare,r[0])},p.prev=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.left)for(e=e.left;e;)t.push(e),e=e.right;else for(t.pop();t.length>0&&t[t.length-1].left===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(p,\"hasPrev\",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].left)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].right===t[e])return!0;return!1}})},{}],243:[function(t,e,r){var n=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7],a=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22];function i(t){if(t<0)return Number(\"0/0\");for(var e=a[0],r=a.length-1;r>0;--r)e+=a[r]/(t+r);var n=t+607/128+.5;return.5*Math.log(2*Math.PI)+(t+.5)*Math.log(n)-n+Math.log(e)-Math.log(t)}e.exports=function t(e){if(e<.5)return Math.PI/(Math.sin(Math.PI*e)*t(1-e));if(e>100)return Math.exp(i(e));e-=1;for(var r=n[0],a=1;a<9;a++)r+=n[a]/(e+a);var o=e+7+.5;return Math.sqrt(2*Math.PI)*Math.pow(o,e+.5)*Math.exp(-o)*r},e.exports.log=i},{}],244:[function(t,e,r){e.exports=function(t,e){if(\"string\"!=typeof t)throw new TypeError(\"must specify type string\");if(e=e||{},\"undefined\"==typeof document&&!e.canvas)return null;var r=e.canvas||document.createElement(\"canvas\");\"number\"==typeof e.width&&(r.width=e.width);\"number\"==typeof e.height&&(r.height=e.height);var n,a=e;try{var i=[t];0===t.indexOf(\"webgl\")&&i.push(\"experimental-\"+t);for(var o=0;o<i.length;o++)if(n=r.getContext(i[o],a))return n}catch(t){n=null}return n||null}},{}],245:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=new u(t);return r.update(e),r};var n=t(\"./lib/text.js\"),a=t(\"./lib/lines.js\"),i=t(\"./lib/background.js\"),o=t(\"./lib/cube.js\"),s=t(\"./lib/ticks.js\"),l=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);function c(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function u(t){this.gl=t,this.pixelRatio=1,this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.autoTicks=!0,this.tickSpacing=[1,1,1],this.tickEnable=[!0,!0,!0],this.tickFont=[\"sans-serif\",\"sans-serif\",\"sans-serif\"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickAlign=[\"auto\",\"auto\",\"auto\"],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[10,10,10],this.lastCubeProps={cubeEdges:[0,0,0],axis:[0,0,0]},this.labels=[\"x\",\"y\",\"z\"],this.labelEnable=[!0,!0,!0],this.labelFont=\"sans-serif\",this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelAlign=[\"auto\",\"auto\",\"auto\"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[10,10,10],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[0,0,0],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!1,!1,!1],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._firstInit=!0,this._text=null,this._lines=null,this._background=i(t)}var h=u.prototype;function f(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}h.update=function(t){function e(e,r,n){if(n in t){var a,i=t[n],o=this[n];(e?Array.isArray(i)&&Array.isArray(i[0]):Array.isArray(i))?this[n]=a=[r(i[0]),r(i[1]),r(i[2])]:this[n]=a=[r(i),r(i),r(i)];for(var s=0;s<3;++s)if(a[s]!==o[s])return!0}return!1}t=t||{};var r,i=e.bind(this,!1,Number),o=e.bind(this,!1,Boolean),l=e.bind(this,!1,String),c=e.bind(this,!0,(function(t){if(Array.isArray(t)){if(3===t.length)return[+t[0],+t[1],+t[2],1];if(4===t.length)return[+t[0],+t[1],+t[2],+t[3]]}return[0,0,0,1]})),u=!1,h=!1;if(\"bounds\"in t)for(var f=t.bounds,p=0;p<2;++p)for(var d=0;d<3;++d)f[p][d]!==this.bounds[p][d]&&(h=!0),this.bounds[p][d]=f[p][d];if(\"ticks\"in t){r=t.ticks,u=!0,this.autoTicks=!1;for(p=0;p<3;++p)this.tickSpacing[p]=0}else i(\"tickSpacing\")&&(this.autoTicks=!0,h=!0);if(this._firstInit&&(\"ticks\"in t||\"tickSpacing\"in t||(this.autoTicks=!0),h=!0,u=!0,this._firstInit=!1),h&&this.autoTicks&&(r=s.create(this.bounds,this.tickSpacing),u=!0),u){for(p=0;p<3;++p)r[p].sort((function(t,e){return t.x-e.x}));s.equal(r,this.ticks)?u=!1:this.ticks=r}o(\"tickEnable\"),l(\"tickFont\")&&(u=!0),i(\"tickSize\"),i(\"tickAngle\"),i(\"tickPad\"),c(\"tickColor\");var g=l(\"labels\");l(\"labelFont\")&&(g=!0),o(\"labelEnable\"),i(\"labelSize\"),i(\"labelPad\"),c(\"labelColor\"),o(\"lineEnable\"),o(\"lineMirror\"),i(\"lineWidth\"),c(\"lineColor\"),o(\"lineTickEnable\"),o(\"lineTickMirror\"),i(\"lineTickLength\"),i(\"lineTickWidth\"),c(\"lineTickColor\"),o(\"gridEnable\"),i(\"gridWidth\"),c(\"gridColor\"),o(\"zeroEnable\"),c(\"zeroLineColor\"),i(\"zeroLineWidth\"),o(\"backgroundEnable\"),c(\"backgroundColor\"),this._text?this._text&&(g||u)&&this._text.update(this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont):this._text=n(this.gl,this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont),this._lines&&u&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=a(this.gl,this.bounds,this.ticks))};var p=[new f,new f,new f];function d(t,e,r,n,a){for(var i=t.primalOffset,o=t.primalMinor,s=t.mirrorOffset,l=t.mirrorMinor,c=n[e],u=0;u<3;++u)if(e!==u){var h=i,f=s,p=o,d=l;c&1<<u&&(h=s,f=i,p=l,d=o),h[u]=r[0][u],f[u]=r[1][u],a[u]>0?(p[u]=-1,d[u]=0):(p[u]=0,d[u]=1)}}var g=[0,0,0],m={model:l,view:l,projection:l,_ortho:!1};h.isOpaque=function(){return!0},h.isTransparent=function(){return!1},h.drawTransparent=function(t){};var v=[0,0,0],y=[0,0,0],x=[0,0,0];h.draw=function(t){t=t||m;for(var e=this.gl,r=t.model||l,n=t.view||l,a=t.projection||l,i=this.bounds,s=t._ortho||!1,u=o(r,n,a,i,s),h=u.cubeEdges,f=u.axis,b=n[12],_=n[13],w=n[14],T=n[15],k=(s?2:1)*this.pixelRatio*(a[3]*b+a[7]*_+a[11]*w+a[15]*T)/e.drawingBufferHeight,A=0;A<3;++A)this.lastCubeProps.cubeEdges[A]=h[A],this.lastCubeProps.axis[A]=f[A];var M=p;for(A=0;A<3;++A)d(p[A],A,this.bounds,h,f);e=this.gl;var S,E=g;for(A=0;A<3;++A)this.backgroundEnable[A]?E[A]=f[A]:E[A]=0;this._background.draw(r,n,a,i,E,this.backgroundColor),this._lines.bind(r,n,a,this);for(A=0;A<3;++A){var C=[0,0,0];f[A]>0?C[A]=i[1][A]:C[A]=i[0][A];for(var L=0;L<2;++L){var P=(A+1+L)%3,I=(A+1+(1^L))%3;this.gridEnable[P]&&this._lines.drawGrid(P,I,this.bounds,C,this.gridColor[P],this.gridWidth[P]*this.pixelRatio)}for(L=0;L<2;++L){P=(A+1+L)%3,I=(A+1+(1^L))%3;this.zeroEnable[I]&&Math.min(i[0][I],i[1][I])<=0&&Math.max(i[0][I],i[1][I])>=0&&this._lines.drawZero(P,I,this.bounds,C,this.zeroLineColor[I],this.zeroLineWidth[I]*this.pixelRatio)}}for(A=0;A<3;++A){this.lineEnable[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].primalOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio),this.lineMirror[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].mirrorOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio);var z=c(v,M[A].primalMinor),O=c(y,M[A].mirrorMinor),D=this.lineTickLength;for(L=0;L<3;++L){var R=k/r[5*L];z[L]*=D[L]*R,O[L]*=D[L]*R}this.lineTickEnable[A]&&this._lines.drawAxisTicks(A,M[A].primalOffset,z,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio),this.lineTickMirror[A]&&this._lines.drawAxisTicks(A,M[A].mirrorOffset,O,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio)}this._lines.unbind(),this._text.bind(r,n,a,this.pixelRatio);var F,B;function N(t){(B=[0,0,0])[t]=1}function j(t,e,r){var n=(t+1)%3,a=(t+2)%3,i=e[n],o=e[a],s=r[n],l=r[a];i>0&&l>0||i>0&&l<0||i<0&&l>0||i<0&&l<0?N(n):(o>0&&s>0||o>0&&s<0||o<0&&s>0||o<0&&s<0)&&N(a)}for(A=0;A<3;++A){var V=M[A].primalMinor,U=M[A].mirrorMinor,q=c(x,M[A].primalOffset);for(L=0;L<3;++L)this.lineTickEnable[A]&&(q[L]+=k*V[L]*Math.max(this.lineTickLength[L],0)/r[5*L]);var H=[0,0,0];if(H[A]=1,this.tickEnable[A]){-3600===this.tickAngle[A]?(this.tickAngle[A]=0,this.tickAlign[A]=\"auto\"):this.tickAlign[A]=-1,F=1,\"auto\"===(S=[this.tickAlign[A],.5,F])[0]?S[0]=0:S[0]=parseInt(\"\"+S[0]),B=[0,0,0],j(A,V,U);for(L=0;L<3;++L)q[L]+=k*V[L]*this.tickPad[L]/r[5*L];this._text.drawTicks(A,this.tickSize[A],this.tickAngle[A],q,this.tickColor[A],H,B,S)}if(this.labelEnable[A]){F=0,B=[0,0,0],this.labels[A].length>4&&(N(A),F=1),\"auto\"===(S=[this.labelAlign[A],.5,F])[0]?S[0]=0:S[0]=parseInt(\"\"+S[0]);for(L=0;L<3;++L)q[L]+=k*V[L]*this.labelPad[L]/r[5*L];q[A]+=.5*(i[0][A]+i[1][A]),this._text.drawLabel(A,this.labelSize[A],this.labelAngle[A],q,this.labelColor[A],[0,0,0],B,S)}}this._text.unbind()},h.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},{\"./lib/background.js\":246,\"./lib/cube.js\":247,\"./lib/lines.js\":248,\"./lib/text.js\":250,\"./lib/ticks.js\":251}],246:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=[],r=[],s=0,l=0;l<3;++l)for(var c=(l+1)%3,u=(l+2)%3,h=[0,0,0],f=[0,0,0],p=-1;p<=1;p+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),h[l]=p,f[l]=p;for(var d=-1;d<=1;d+=2){h[c]=d;for(var g=-1;g<=1;g+=2)h[u]=g,e.push(h[0],h[1],h[2],f[0],f[1],f[2]),s+=1}var m=c;c=u,u=m}var v=n(t,new Float32Array(e)),y=n(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=a(t,[{buffer:v,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:v,type:t.FLOAT,size:3,offset:12,stride:24}],y),b=i(t);return b.attributes.position.location=0,b.attributes.normal.location=1,new o(t,v,x,b)};var n=t(\"gl-buffer\"),a=t(\"gl-vao\"),i=t(\"./shaders\").bg;function o(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}var s=o.prototype;s.draw=function(t,e,r,n,a,i){for(var o=!1,s=0;s<3;++s)o=o||a[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:t,view:e,projection:r,bounds:n,enable:a,colors:i},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{\"./shaders\":249,\"gl-buffer\":253,\"gl-vao\":327}],247:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,i,p){a(s,e,t),a(s,r,s);for(var y=0,x=0;x<2;++x){u[2]=i[x][2];for(var b=0;b<2;++b){u[1]=i[b][1];for(var _=0;_<2;++_)u[0]=i[_][0],f(l[y],u,s),y+=1}}var w=-1;for(x=0;x<8;++x){for(var T=l[x][3],k=0;k<3;++k)c[x][k]=l[x][k]/T;p&&(c[x][2]*=-1),T<0&&(w<0||c[x][2]<c[w][2])&&(w=x)}if(w<0){w=0;for(var A=0;A<3;++A){for(var M=(A+2)%3,S=(A+1)%3,E=-1,C=-1,L=0;L<2;++L){var P=(z=L<<A)+(L<<M)+(1-L<<S),I=z+(1-L<<M)+(L<<S);o(c[z],c[P],c[I],h)<0||(L?E=1:C=1)}if(E<0||C<0)C>E&&(w|=1<<A);else{for(L=0;L<2;++L){P=(z=L<<A)+(L<<M)+(1-L<<S),I=z+(1-L<<M)+(L<<S);var z,O=d([l[z],l[P],l[I],l[z+(1<<M)+(1<<S)]]);L?E=O:C=O}C>E&&(w|=1<<A)}}}var D=7^w,R=-1;for(x=0;x<8;++x)x!==w&&x!==D&&(R<0||c[R][1]>c[x][1])&&(R=x);var F=-1;for(x=0;x<3;++x){if((N=R^1<<x)!==w&&N!==D)F<0&&(F=N),(S=c[N])[0]<c[F][0]&&(F=N)}var B=-1;for(x=0;x<3;++x){var N;if((N=R^1<<x)!==w&&N!==D&&N!==F)B<0&&(B=N),(S=c[N])[0]>c[B][0]&&(B=N)}var j=g;j[0]=j[1]=j[2]=0,j[n.log2(F^R)]=R&F,j[n.log2(R^B)]=R&B;var V=7^B;V===w||V===D?(V=7^F,j[n.log2(B^V)]=V&B):j[n.log2(F^V)]=V&F;var U=m,q=w;for(A=0;A<3;++A)U[A]=q&1<<A?-1:1;return v};var n=t(\"bit-twiddle\"),a=t(\"gl-mat4/multiply\"),i=t(\"split-polygon\"),o=t(\"robust-orientation\"),s=new Array(16),l=new Array(8),c=new Array(8),u=new Array(3),h=[0,0,0];function f(t,e,r){for(var n=0;n<4;++n){t[n]=r[12+n];for(var a=0;a<3;++a)t[n]+=e[a]*r[4*a+n]}}!function(){for(var t=0;t<8;++t)l[t]=[1,1,1,1],c[t]=[1,1,1]}();var p=[[0,0,1,0,0],[0,0,-1,1,0],[0,-1,0,1,0],[0,1,0,1,0],[-1,0,0,1,0],[1,0,0,1,0]];function d(t){for(var e=0;e<p.length;++e)if((t=i.positive(t,p[e])).length<3)return 0;var r=t[0],n=r[0]/r[3],a=r[1]/r[3],o=0;for(e=1;e+1<t.length;++e){var s=t[e],l=t[e+1],c=s[0]/s[3]-n,u=s[1]/s[3]-a,h=l[0]/l[3]-n,f=l[1]/l[3]-a;o+=Math.abs(c*f-u*h)}return o}var g=[1,1,1],m=[0,0,0],v={cubeEdges:g,axis:m}},{\"bit-twiddle\":95,\"gl-mat4/multiply\":275,\"robust-orientation\":500,\"split-polygon\":518}],248:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){var o=[],s=[0,0,0],l=[0,0,0],c=[0,0,0],u=[0,0,0];o.push(0,0,1,0,1,1,0,0,-1,0,0,-1,0,1,1,0,1,-1);for(var h=0;h<3;++h){for(var f=o.length/3|0,d=0;d<r[h].length;++d){var g=+r[h][d].x;o.push(g,0,1,g,1,1,g,0,-1,g,0,-1,g,1,1,g,1,-1)}var m=o.length/3|0;s[h]=f,l[h]=m-f;f=o.length/3|0;for(var v=0;v<r[h].length;++v){g=+r[h][v].x;o.push(g,0,1,g,1,1,g,0,-1,g,0,-1,g,1,1,g,1,-1)}m=o.length/3|0;c[h]=f,u[h]=m-f}var y=n(t,new Float32Array(o)),x=a(t,[{buffer:y,type:t.FLOAT,size:3,stride:0,offset:0}]),b=i(t);return b.attributes.position.location=0,new p(t,y,x,b,l,s,u,c)};var n=t(\"gl-buffer\"),a=t(\"gl-vao\"),i=t(\"./shaders\").line,o=[0,0,0],s=[0,0,0],l=[0,0,0],c=[0,0,0],u=[1,1];function h(t){return t[0]=t[1]=t[2]=0,t}function f(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function p(t,e,r,n,a,i,o,s){this.gl=t,this.vertBuffer=e,this.vao=r,this.shader=n,this.tickCount=a,this.tickOffset=i,this.gridCount=o,this.gridOffset=s}var d=p.prototype;d.bind=function(t,e,r){this.shader.bind(),this.shader.uniforms.model=t,this.shader.uniforms.view=e,this.shader.uniforms.projection=r,u[0]=this.gl.drawingBufferWidth,u[1]=this.gl.drawingBufferHeight,this.shader.uniforms.screenShape=u,this.vao.bind()},d.unbind=function(){this.vao.unbind()},d.drawAxisLine=function(t,e,r,n,a){var i=h(s);this.shader.uniforms.majorAxis=s,i[t]=e[1][t]-e[0][t],this.shader.uniforms.minorAxis=i;var o,u=f(c,r);u[t]+=e[0][t],this.shader.uniforms.offset=u,this.shader.uniforms.lineWidth=a,this.shader.uniforms.color=n,(o=h(l))[(t+2)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6),(o=h(l))[(t+1)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6)},d.drawAxisTicks=function(t,e,r,n,a){if(this.tickCount[t]){var i=h(o);i[t]=1,this.shader.uniforms.majorAxis=i,this.shader.uniforms.offset=e,this.shader.uniforms.minorAxis=r,this.shader.uniforms.color=n,this.shader.uniforms.lineWidth=a;var s=h(l);s[t]=1,this.shader.uniforms.screenAxis=s,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}},d.drawGrid=function(t,e,r,n,a,i){if(this.gridCount[t]){var u=h(s);u[e]=r[1][e]-r[0][e],this.shader.uniforms.minorAxis=u;var p=f(c,n);p[e]+=r[0][e],this.shader.uniforms.offset=p;var d=h(o);d[t]=1,this.shader.uniforms.majorAxis=d;var g=h(l);g[t]=1,this.shader.uniforms.screenAxis=g,this.shader.uniforms.lineWidth=i,this.shader.uniforms.color=a,this.vao.draw(this.gl.TRIANGLES,this.gridCount[t],this.gridOffset[t])}},d.drawZero=function(t,e,r,n,a,i){var o=h(s);this.shader.uniforms.majorAxis=o,o[t]=r[1][t]-r[0][t],this.shader.uniforms.minorAxis=o;var u=f(c,n);u[t]+=r[0][t],this.shader.uniforms.offset=u;var p=h(l);p[e]=1,this.shader.uniforms.screenAxis=p,this.shader.uniforms.lineWidth=i,this.shader.uniforms.color=a,this.vao.draw(this.gl.TRIANGLES,6)},d.dispose=function(){this.vao.dispose(),this.vertBuffer.dispose(),this.shader.dispose()}},{\"./shaders\":249,\"gl-buffer\":253,\"gl-vao\":327}],249:[function(t,e,r){\"use strict\";var n=t(\"glslify\"),a=t(\"gl-shader\"),i=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 offset, majorAxis, minorAxis, screenAxis;\\nuniform float lineWidth;\\nuniform vec2 screenShape;\\n\\nvec3 project(vec3 p) {\\n  vec4 pp = projection * view * model * vec4(p, 1.0);\\n  return pp.xyz / max(pp.w, 0.0001);\\n}\\n\\nvoid main() {\\n  vec3 major = position.x * majorAxis;\\n  vec3 minor = position.y * minorAxis;\\n\\n  vec3 vPosition = major + minor + offset;\\n  vec3 pPosition = project(vPosition);\\n  vec3 offset = project(vPosition + screenAxis * position.z);\\n\\n  vec2 screen = normalize((offset - pPosition).xy * screenShape) / screenShape;\\n\\n  gl_Position = vec4(pPosition + vec3(0.5 * screen * lineWidth, 0), 1.0);\\n}\\n\"]),o=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color;\\nvoid main() {\\n  gl_FragColor = color;\\n}\"]);r.line=function(t){return a(t,i,o,null,[{name:\"position\",type:\"vec3\"}])};var s=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 offset, axis, alignDir, alignOpt;\\nuniform float scale, angle, pixelScale;\\nuniform vec2 resolution;\\n\\nvec3 project(vec3 p) {\\n  vec4 pp = projection * view * model * vec4(p, 1.0);\\n  return pp.xyz / max(pp.w, 0.0001);\\n}\\n\\nfloat computeViewAngle(vec3 a, vec3 b) {\\n  vec3 A = project(a);\\n  vec3 B = project(b);\\n\\n  return atan(\\n    (B.y - A.y) * resolution.y,\\n    (B.x - A.x) * resolution.x\\n  );\\n}\\n\\nconst float PI = 3.141592;\\nconst float TWO_PI = 2.0 * PI;\\nconst float HALF_PI = 0.5 * PI;\\nconst float ONE_AND_HALF_PI = 1.5 * PI;\\n\\nint option = int(floor(alignOpt.x + 0.001));\\nfloat hv_ratio =       alignOpt.y;\\nbool enableAlign =    (alignOpt.z != 0.0);\\n\\nfloat mod_angle(float a) {\\n  return mod(a, PI);\\n}\\n\\nfloat positive_angle(float a) {\\n  return mod_angle((a < 0.0) ?\\n    a + TWO_PI :\\n    a\\n  );\\n}\\n\\nfloat look_upwards(float a) {\\n  float b = positive_angle(a);\\n  return ((b > HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\\n    b - PI :\\n    b;\\n}\\n\\nfloat look_horizontal_or_vertical(float a, float ratio) {\\n  // ratio controls the ratio between being horizontal to (vertical + horizontal)\\n  // if ratio is set to 0.5 then it is 50%, 50%.\\n  // when using a higher ratio e.g. 0.75 the result would\\n  // likely be more horizontal than vertical.\\n\\n  float b = positive_angle(a);\\n\\n  return\\n    (b < (      ratio) * HALF_PI) ? 0.0 :\\n    (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI :\\n    (b < (2.0 + ratio) * HALF_PI) ? 0.0 :\\n    (b < (4.0 - ratio) * HALF_PI) ? HALF_PI :\\n                                    0.0;\\n}\\n\\nfloat roundTo(float a, float b) {\\n  return float(b * floor((a + 0.5 * b) / b));\\n}\\n\\nfloat look_round_n_directions(float a, int n) {\\n  float b = positive_angle(a);\\n  float div = TWO_PI / float(n);\\n  float c = roundTo(b, div);\\n  return look_upwards(c);\\n}\\n\\nfloat applyAlignOption(float rawAngle, float delta) {\\n  return\\n    (option >  2) ? look_round_n_directions(rawAngle + delta, option) :       // option 3-n: round to n directions\\n    (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical\\n    (option == 1) ? rawAngle + delta :       // use free angle, and flip to align with one direction of the axis\\n    (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards\\n    (option ==-1) ? 0.0 :                    // useful for backward compatibility, all texts remains horizontal\\n                    rawAngle;                // otherwise return back raw input angle\\n}\\n\\nbool isAxisTitle = (axis.x == 0.0) &&\\n                   (axis.y == 0.0) &&\\n                   (axis.z == 0.0);\\n\\nvoid main() {\\n  //Compute world offset\\n  float axisDistance = position.z;\\n  vec3 dataPosition = axisDistance * axis + offset;\\n\\n  float beta = angle; // i.e. user defined attributes for each tick\\n\\n  float axisAngle;\\n  float clipAngle;\\n  float flip;\\n\\n  if (enableAlign) {\\n    axisAngle = (isAxisTitle) ? HALF_PI :\\n                      computeViewAngle(dataPosition, dataPosition + axis);\\n    clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir);\\n\\n    axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0;\\n    clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0;\\n\\n    flip = (dot(vec2(cos(axisAngle), sin(axisAngle)),\\n                vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0;\\n\\n    beta += applyAlignOption(clipAngle, flip * PI);\\n  }\\n\\n  //Compute plane offset\\n  vec2 planeCoord = position.xy * pixelScale;\\n\\n  mat2 planeXform = scale * mat2(\\n     cos(beta), sin(beta),\\n    -sin(beta), cos(beta)\\n  );\\n\\n  vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\\n\\n  //Compute clip position\\n  vec3 clipPosition = project(dataPosition);\\n\\n  //Apply text offset in clip coordinates\\n  clipPosition += vec3(viewOffset, 0.0);\\n\\n  //Done\\n  gl_Position = vec4(clipPosition, 1.0);\\n}\"]),l=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color;\\nvoid main() {\\n  gl_FragColor = color;\\n}\"]);r.text=function(t){return a(t,s,l,null,[{name:\"position\",type:\"vec3\"}])};var c=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec3 normal;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 enable;\\nuniform vec3 bounds[2];\\n\\nvarying vec3 colorChannel;\\n\\nvoid main() {\\n\\n  vec3 signAxis = sign(bounds[1] - bounds[0]);\\n\\n  vec3 realNormal = signAxis * normal;\\n\\n  if(dot(realNormal, enable) > 0.0) {\\n    vec3 minRange = min(bounds[0], bounds[1]);\\n    vec3 maxRange = max(bounds[0], bounds[1]);\\n    vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0));\\n    gl_Position = projection * view * model * vec4(nPosition, 1.0);\\n  } else {\\n    gl_Position = vec4(0,0,0,0);\\n  }\\n\\n  colorChannel = abs(realNormal);\\n}\"]),u=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform vec4 colors[3];\\n\\nvarying vec3 colorChannel;\\n\\nvoid main() {\\n  gl_FragColor = colorChannel.x * colors[0] +\\n                 colorChannel.y * colors[1] +\\n                 colorChannel.z * colors[2];\\n}\"]);r.bg=function(t){return a(t,c,u,null,[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}])}},{\"gl-shader\":307,glslify:408}],250:[function(t,e,r){(function(r){\"use strict\";e.exports=function(t,e,r,i,s,l){var u=n(t),h=a(t,[{buffer:u,size:3}]),f=o(t);f.attributes.position.location=0;var p=new c(t,f,u,h);return p.update(e,r,i,s,l),p};var n=t(\"gl-buffer\"),a=t(\"gl-vao\"),i=t(\"vectorize-text\"),o=t(\"./shaders\").text,s=window||r.global||{},l=s.__TEXT_CACHE||{};s.__TEXT_CACHE={};function c(t,e,r,n){this.gl=t,this.shader=e,this.buffer=r,this.vao=n,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}var u=c.prototype,h=[0,0];u.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var a=this.shader.uniforms;a.model=t,a.view=e,a.projection=r,a.pixelScale=n,h[0]=this.gl.drawingBufferWidth,h[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=h},u.unbind=function(){this.vao.unbind()},u.update=function(t,e,r,n,a){var o=[];function s(t,e,r,n,a,s){var c=l[r];c||(c=l[r]={});var u=c[e];u||(u=c[e]=function(t,e){try{return i(t,e)}catch(e){return console.warn('error vectorizing text:\"'+t+'\" error:',e),{cells:[],positions:[]}}}(e,{triangles:!0,font:r,textAlign:\"center\",textBaseline:\"middle\",lineSpacing:a,styletags:s}));for(var h=(n||12)/12,f=u.positions,p=u.cells,d=0,g=p.length;d<g;++d)for(var m=p[d],v=2;v>=0;--v){var y=f[m[v]];o.push(h*y[0],-h*y[1],t)}}for(var c=[0,0,0],u=[0,0,0],h=[0,0,0],f=[0,0,0],p={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},d=0;d<3;++d){h[d]=o.length/3|0,s(.5*(t[0][d]+t[1][d]),e[d],r[d],12,1.25,p),f[d]=(o.length/3|0)-h[d],c[d]=o.length/3|0;for(var g=0;g<n[d].length;++g)n[d][g].text&&s(n[d][g].x,n[d][g].text,n[d][g].font||a,n[d][g].fontSize||12,1.25,p);u[d]=(o.length/3|0)-c[d]}this.buffer.update(o),this.tickOffset=c,this.tickCount=u,this.labelOffset=h,this.labelCount=f},u.drawTicks=function(t,e,r,n,a,i,o,s){this.tickCount[t]&&(this.shader.uniforms.axis=i,this.shader.uniforms.color=a,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.shader.uniforms.alignDir=o,this.shader.uniforms.alignOpt=s,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t]))},u.drawLabel=function(t,e,r,n,a,i,o,s){this.labelCount[t]&&(this.shader.uniforms.axis=i,this.shader.uniforms.color=a,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.shader.uniforms.alignDir=o,this.shader.uniforms.alignOpt=s,this.vao.draw(this.gl.TRIANGLES,this.labelCount[t],this.labelOffset[t]))},u.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()}}).call(this,t(\"_process\"))},{\"./shaders\":249,_process:480,\"gl-buffer\":253,\"gl-vao\":327,\"vectorize-text\":552}],251:[function(t,e,r){\"use strict\";function n(t,e){var r=t+\"\",n=r.indexOf(\".\"),a=0;n>=0&&(a=r.length-n-1);var i=Math.pow(10,a),o=Math.round(t*e*i),s=o+\"\";if(s.indexOf(\"e\")>=0)return s;var l=o/i,c=o%i;o<0?(l=0|-Math.ceil(l),c=0|-c):(l=0|Math.floor(l),c|=0);var u=\"\"+l;if(o<0&&(u=\"-\"+u),a){for(var h=\"\"+c;h.length<a;)h=\"0\"+h;return u+\".\"+h}return u}r.create=function(t,e){for(var r=[],a=0;a<3;++a){for(var i=[],o=(t[0][a],t[1][a],0);o*e[a]<=t[1][a];++o)i.push({x:o*e[a],text:n(e[a],o)});for(o=-1;o*e[a]>=t[0][a];--o)i.push({x:o*e[a],text:n(e[a],o)});r.push(i)}return r},r.equal=function(t,e){for(var r=0;r<3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n<t[r].length;++n){var a=t[r][n],i=e[r][n];if(a.x!==i.x||a.text!==i.text||a.font!==i.font||a.fontColor!==i.fontColor||a.fontSize!==i.fontSize||a.dx!==i.dx||a.dy!==i.dy)return!1}}return!0}},{}],252:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,l,h){var f=e.model||c,p=e.view||c,v=e.projection||c,y=e._ortho||!1,x=t.bounds,b=(h=h||i(f,p,v,x,y)).axis;o(u,p,f),o(u,v,u);for(var _=g,w=0;w<3;++w)_[w].lo=1/0,_[w].hi=-1/0,_[w].pixelsPerDataUnit=1/0;var T=n(s(u,u));s(u,u);for(var k=0;k<3;++k){var A=(k+1)%3,M=(k+2)%3,S=m;t:for(w=0;w<2;++w){var E=[];if(b[k]<0!=!!w){S[k]=x[w][k];for(var C=0;C<2;++C){S[A]=x[C^w][A];for(var L=0;L<2;++L)S[M]=x[L^C^w][M],E.push(S.slice())}var P=y?5:4;for(C=P;C===P;++C){if(0===E.length)continue t;E=a.positive(E,T[C])}for(C=0;C<E.length;++C){M=E[C];var I=d(m,u,M,r,l);for(L=0;L<3;++L)_[L].lo=Math.min(_[L].lo,M[L]),_[L].hi=Math.max(_[L].hi,M[L]),L!==k&&(_[L].pixelsPerDataUnit=Math.min(_[L].pixelsPerDataUnit,Math.abs(I[L])))}}}}return _};var n=t(\"extract-frustum-planes\"),a=t(\"split-polygon\"),i=t(\"./lib/cube.js\"),o=t(\"gl-mat4/multiply\"),s=t(\"gl-mat4/transpose\"),l=t(\"gl-vec4/transformMat4\"),c=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),u=new Float32Array(16);function h(t,e,r){this.lo=t,this.hi=e,this.pixelsPerDataUnit=r}var f=[0,0,0,1],p=[0,0,0,1];function d(t,e,r,n,a){for(var i=0;i<3;++i){for(var o=f,s=p,c=0;c<3;++c)s[c]=o[c]=r[c];s[3]=o[3]=1,s[i]+=1,l(s,s,e),s[3]<0&&(t[i]=1/0),o[i]-=1,l(o,o,e),o[3]<0&&(t[i]=1/0);var u=(o[0]/o[3]-s[0]/s[3])*n,h=(o[1]/o[3]-s[1]/s[3])*a;t[i]=.25*Math.sqrt(u*u+h*h)}return t}var g=[new h(1/0,-1/0,1/0),new h(1/0,-1/0,1/0),new h(1/0,-1/0,1/0)],m=[0,0,0]},{\"./lib/cube.js\":247,\"extract-frustum-planes\":235,\"gl-mat4/multiply\":275,\"gl-mat4/transpose\":284,\"gl-vec4/transformMat4\":398,\"split-polygon\":518}],253:[function(t,e,r){\"use strict\";var n=t(\"typedarray-pool\"),a=t(\"ndarray-ops\"),i=t(\"ndarray\"),o=[\"uint8\",\"uint8_clamped\",\"uint16\",\"uint32\",\"int8\",\"int16\",\"int32\",\"float32\"];function s(t,e,r,n,a){this.gl=t,this.type=e,this.handle=r,this.length=n,this.usage=a}var l=s.prototype;function c(t,e,r,n,a,i){var o=a.length*a.BYTES_PER_ELEMENT;if(i<0)return t.bufferData(e,a,n),o;if(o+i>r)throw new Error(\"gl-buffer: If resizing buffer, must not specify offset\");return t.bufferSubData(e,i,a),r}function u(t,e){for(var r=n.malloc(t.length,e),a=t.length,i=0;i<a;++i)r[i]=t[i];return r}l.bind=function(){this.gl.bindBuffer(this.type,this.handle)},l.unbind=function(){this.gl.bindBuffer(this.type,null)},l.dispose=function(){this.gl.deleteBuffer(this.handle)},l.update=function(t,e){if(\"number\"!=typeof e&&(e=-1),this.bind(),\"object\"==typeof t&&\"undefined\"!=typeof t.shape){var r=t.dtype;if(o.indexOf(r)<0&&(r=\"float32\"),this.type===this.gl.ELEMENT_ARRAY_BUFFER)r=gl.getExtension(\"OES_element_index_uint\")&&\"uint16\"!==r?\"uint32\":\"uint16\";if(r===t.dtype&&function(t,e){for(var r=1,n=e.length-1;n>=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}(t.shape,t.stride))0===t.offset&&t.data.length===t.shape[0]?this.length=c(this.gl,this.type,this.length,this.usage,t.data,e):this.length=c(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var s=n.malloc(t.size,r),l=i(s,t.shape);a.assign(l,t),this.length=c(this.gl,this.type,this.length,this.usage,e<0?s:s.subarray(0,t.size),e),n.free(s)}}else if(Array.isArray(t)){var h;h=this.type===this.gl.ELEMENT_ARRAY_BUFFER?u(t,\"uint16\"):u(t,\"float32\"),this.length=c(this.gl,this.type,this.length,this.usage,e<0?h:h.subarray(0,t.length),e),n.free(h)}else if(\"object\"==typeof t&&\"number\"==typeof t.length)this.length=c(this.gl,this.type,this.length,this.usage,t,e);else{if(\"number\"!=typeof t&&void 0!==t)throw new Error(\"gl-buffer: Invalid data type\");if(e>=0)throw new Error(\"gl-buffer: Cannot specify offset when resizing buffer\");(t|=0)<=0&&(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}},e.exports=function(t,e,r,n){if(r=r||t.ARRAY_BUFFER,n=n||t.DYNAMIC_DRAW,r!==t.ARRAY_BUFFER&&r!==t.ELEMENT_ARRAY_BUFFER)throw new Error(\"gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER\");if(n!==t.DYNAMIC_DRAW&&n!==t.STATIC_DRAW&&n!==t.STREAM_DRAW)throw new Error(\"gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW\");var a=t.createBuffer(),i=new s(t,r,a,0,n);return i.update(e),i}},{ndarray:448,\"ndarray-ops\":443,\"typedarray-pool\":547}],254:[function(t,e,r){\"use strict\";var n=t(\"gl-vec3\");e.exports=function(t,e){var r=t.positions,a=t.vectors,i={positions:[],vertexIntensity:[],vertexIntensityBounds:t.vertexIntensityBounds,vectors:[],cells:[],coneOffset:t.coneOffset,colormap:t.colormap};if(0===t.positions.length)return e&&(e[0]=[0,0,0],e[1]=[0,0,0]),i;for(var o=0,s=1/0,l=-1/0,c=1/0,u=-1/0,h=1/0,f=-1/0,p=null,d=null,g=[],m=1/0,v=!1,y=0;y<r.length;y++){var x=r[y];s=Math.min(x[0],s),l=Math.max(x[0],l),c=Math.min(x[1],c),u=Math.max(x[1],u),h=Math.min(x[2],h),f=Math.max(x[2],f);var b=a[y];if(n.length(b)>o&&(o=n.length(b)),y){var _=2*n.distance(p,x)/(n.length(d)+n.length(b));_?(m=Math.min(m,_),v=!1):v=!0}v||(p=x,d=b),g.push(b)}var w=[s,c,h],T=[l,u,f];e&&(e[0]=w,e[1]=T),0===o&&(o=1);var k=1/o;isFinite(m)||(m=1),i.vectorScale=m;var A=t.coneSize||.5;t.absoluteConeSize&&(A=t.absoluteConeSize*k),i.coneScale=A;y=0;for(var M=0;y<r.length;y++)for(var S=(x=r[y])[0],E=x[1],C=x[2],L=g[y],P=n.length(L)*k,I=0;I<8;I++){i.positions.push([S,E,C,M++]),i.positions.push([S,E,C,M++]),i.positions.push([S,E,C,M++]),i.positions.push([S,E,C,M++]),i.positions.push([S,E,C,M++]),i.positions.push([S,E,C,M++]),i.vectors.push(L),i.vectors.push(L),i.vectors.push(L),i.vectors.push(L),i.vectors.push(L),i.vectors.push(L),i.vertexIntensity.push(P,P,P),i.vertexIntensity.push(P,P,P);var z=i.positions.length;i.cells.push([z-6,z-5,z-4],[z-3,z-2,z-1])}return i};var a=t(\"./lib/shaders\");e.exports.createMesh=t(\"./create_mesh\"),e.exports.createConeMesh=function(t,r){return e.exports.createMesh(t,r,{shaders:a,traceType:\"cone\"})}},{\"./create_mesh\":255,\"./lib/shaders\":256,\"gl-vec3\":346}],255:[function(t,e,r){\"use strict\";var n=t(\"gl-shader\"),a=t(\"gl-buffer\"),i=t(\"gl-vao\"),o=t(\"gl-texture2d\"),s=t(\"gl-mat4/multiply\"),l=t(\"gl-mat4/invert\"),c=t(\"ndarray\"),u=t(\"colormap\"),h=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function f(t,e,r,n,a,i,o,s,l,c,u){this.gl=t,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.pickShader=n,this.trianglePositions=a,this.triangleVectors=i,this.triangleColors=s,this.triangleUVs=l,this.triangleIds=o,this.triangleVAO=c,this.triangleCount=0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.traceType=u,this.tubeScale=1,this.coneScale=2,this.vectorScale=1,this.coneOffset=.25,this._model=h,this._view=h,this._projection=h,this._resolution=[1,1]}var p=f.prototype;function d(t,e){var r=n(t,e.meshShader.vertex,e.meshShader.fragment,null,e.meshShader.attributes);return r.attributes.position.location=0,r.attributes.color.location=2,r.attributes.uv.location=3,r.attributes.vector.location=4,r}function g(t,e){var r=n(t,e.pickShader.vertex,e.pickShader.fragment,null,e.pickShader.attributes);return r.attributes.position.location=0,r.attributes.id.location=1,r.attributes.vector.location=4,r}p.isOpaque=function(){return this.opacity>=1},p.isTransparent=function(){return this.opacity<1},p.pickSlots=1,p.setPickBase=function(t){this.pickId=t},p.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,\"lightPosition\"in t&&(this.lightPosition=t.lightPosition),\"opacity\"in t&&(this.opacity=t.opacity),\"ambient\"in t&&(this.ambientLight=t.ambient),\"diffuse\"in t&&(this.diffuseLight=t.diffuse),\"specular\"in t&&(this.specularLight=t.specular),\"roughness\"in t&&(this.roughness=t.roughness),\"fresnel\"in t&&(this.fresnel=t.fresnel),void 0!==t.tubeScale&&(this.tubeScale=t.tubeScale),void 0!==t.vectorScale&&(this.vectorScale=t.vectorScale),void 0!==t.coneScale&&(this.coneScale=t.coneScale),void 0!==t.coneOffset&&(this.coneOffset=t.coneOffset),t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t){for(var e=u({colormap:t,nshades:256,format:\"rgba\"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var a=e[n],i=0;i<3;++i)r[4*n+i]=a[i];r[4*n+3]=255*a[3]}return c(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions,a=t.vectors;if(n&&r&&a){var i=[],o=[],s=[],l=[],h=[];this.cells=r,this.positions=n,this.vectors=a;var f=t.meshColor||[1,1,1,1],p=t.vertexIntensity,d=1/0,g=-1/0;if(p)if(t.vertexIntensityBounds)d=+t.vertexIntensityBounds[0],g=+t.vertexIntensityBounds[1];else for(var m=0;m<p.length;++m){var v=p[m];d=Math.min(d,v),g=Math.max(g,v)}else for(m=0;m<n.length;++m){v=n[m][2];d=Math.min(d,v),g=Math.max(g,v)}this.intensity=p||function(t){for(var e=t.length,r=new Array(e),n=0;n<e;++n)r[n]=t[n][2];return r}(n),this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(m=0;m<n.length;++m)for(var y=n[m],x=0;x<3;++x)!isNaN(y[x])&&isFinite(y[x])&&(this.bounds[0][x]=Math.min(this.bounds[0][x],y[x]),this.bounds[1][x]=Math.max(this.bounds[1][x],y[x]));var b=0;t:for(m=0;m<r.length;++m){var _=r[m];switch(_.length){case 3:for(x=0;x<3;++x){y=n[T=_[x]];for(var w=0;w<3;++w)if(isNaN(y[w])||!isFinite(y[w]))continue t}for(x=0;x<3;++x){var T;y=n[T=_[2-x]];i.push(y[0],y[1],y[2],y[3]);var k=a[T];o.push(k[0],k[1],k[2],k[3]||0);var A,M=f;3===M.length?s.push(M[0],M[1],M[2],1):s.push(M[0],M[1],M[2],M[3]),A=p?[(p[T]-d)/(g-d),0]:[(y[2]-d)/(g-d),0],l.push(A[0],A[1]),h.push(m)}b+=1}}this.triangleCount=b,this.trianglePositions.update(i),this.triangleVectors.update(o),this.triangleColors.update(s),this.triangleUVs.update(l),this.triangleIds.update(new Uint32Array(h))}},p.drawTransparent=p.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||h,n=t.view||h,a=t.projection||h,i=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)i[0][o]=Math.max(i[0][o],this.clipBounds[0][o]),i[1][o]=Math.min(i[1][o],this.clipBounds[1][o]);var c={model:r,view:n,projection:a,inverseModel:h.slice(),clipBounds:i,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],opacity:this.opacity,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,texture:0};c.inverseModel=l(c.inverseModel,c.model),e.disable(e.CULL_FACE),this.texture.bind(0);var u=new Array(16);s(u,c.view,c.model),s(u,c.projection,u),l(u,u);for(o=0;o<3;++o)c.eyePosition[o]=u[12+o]/u[15];var f=u[15];for(o=0;o<3;++o)f+=this.lightPosition[o]*u[4*o+3];for(o=0;o<3;++o){for(var p=u[12+o],d=0;d<3;++d)p+=u[4*d+o]*this.lightPosition[d];c.lightPosition[o]=p/f}if(this.triangleCount>0){var g=this.triShader;g.bind(),g.uniforms=c,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}},p.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||h,n=t.view||h,a=t.projection||h,i=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)i[0][o]=Math.max(i[0][o],this.clipBounds[0][o]),i[1][o]=Math.min(i[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(a),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s={model:r,view:n,projection:a,clipBounds:i,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},l=this.pickShader;l.bind(),l.uniforms=s,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind())},p.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions[r[1]].slice(0,3),a={position:n,dataCoordinate:n,index:Math.floor(r[1]/48)};return\"cone\"===this.traceType?a.index=Math.floor(r[1]/48):\"streamtube\"===this.traceType&&(a.intensity=this.intensity[r[1]],a.velocity=this.vectors[r[1]].slice(0,3),a.divergence=this.vectors[r[1]][3],a.index=e),a},p.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleIds.dispose()},e.exports=function(t,e,r){var n=r.shaders;1===arguments.length&&(t=(e=t).gl);var s=d(t,n),l=g(t,n),u=o(t,c(new Uint8Array([255,255,255,255]),[1,1,4]));u.generateMipmap(),u.minFilter=t.LINEAR_MIPMAP_LINEAR,u.magFilter=t.LINEAR;var h=a(t),p=a(t),m=a(t),v=a(t),y=a(t),x=i(t,[{buffer:h,type:t.FLOAT,size:4},{buffer:y,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:m,type:t.FLOAT,size:4},{buffer:v,type:t.FLOAT,size:2},{buffer:p,type:t.FLOAT,size:4}]),b=new f(t,u,s,l,h,p,y,m,v,x,r.traceType||\"cone\");return b.update(e),b}},{colormap:128,\"gl-buffer\":253,\"gl-mat4/invert\":273,\"gl-mat4/multiply\":275,\"gl-shader\":307,\"gl-texture2d\":322,\"gl-vao\":327,ndarray:448}],256:[function(t,e,r){var n=t(\"glslify\"),a=n([\"precision highp float;\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nvec3 getOrthogonalVector(vec3 v) {\\n  // Return up-vector for only-z vector.\\n  // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\\n  // From the above if-statement we have ||a|| > 0  U  ||b|| > 0.\\n  // Assign z = 0, x = -b, y = a:\\n  // a*-b + b*a + c*0 = -ba + ba + 0 = 0\\n  if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\\n    return normalize(vec3(-v.y, v.x, 0.0));\\n  } else {\\n    return normalize(vec3(0.0, v.z, -v.y));\\n  }\\n}\\n\\n// Calculate the cone vertex and normal at the given index.\\n//\\n// The returned vertex is for a cone with its top at origin and height of 1.0,\\n// pointing in the direction of the vector attribute.\\n//\\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\\n// These vertices are used to make up the triangles of the cone by the following:\\n//   segment + 0 top vertex\\n//   segment + 1 perimeter vertex a+1\\n//   segment + 2 perimeter vertex a\\n//   segment + 3 center base vertex\\n//   segment + 4 perimeter vertex a\\n//   segment + 5 perimeter vertex a+1\\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\\n// To go from index to segment, floor(index / 6)\\n// To go from segment to angle, 2*pi * (segment/segmentCount)\\n// To go from index to segment index, index - (segment*6)\\n//\\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\\n\\n  const float segmentCount = 8.0;\\n\\n  float index = rawIndex - floor(rawIndex /\\n    (segmentCount * 6.0)) *\\n    (segmentCount * 6.0);\\n\\n  float segment = floor(0.001 + index/6.0);\\n  float segmentIndex = index - (segment*6.0);\\n\\n  normal = -normalize(d);\\n\\n  if (segmentIndex > 2.99 && segmentIndex < 3.01) {\\n    return mix(vec3(0.0), -d, coneOffset);\\n  }\\n\\n  float nextAngle = (\\n    (segmentIndex > 0.99 &&  segmentIndex < 1.01) ||\\n    (segmentIndex > 4.99 &&  segmentIndex < 5.01)\\n  ) ? 1.0 : 0.0;\\n  float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\\n\\n  vec3 v1 = mix(d, vec3(0.0), coneOffset);\\n  vec3 v2 = v1 - d;\\n\\n  vec3 u = getOrthogonalVector(d);\\n  vec3 v = normalize(cross(u, d));\\n\\n  vec3 x = u * cos(angle) * length(d)*0.25;\\n  vec3 y = v * sin(angle) * length(d)*0.25;\\n  vec3 v3 = v2 + x + y;\\n  if (segmentIndex < 3.0) {\\n    vec3 tx = u * sin(angle);\\n    vec3 ty = v * -cos(angle);\\n    vec3 tangent = tx + ty;\\n    normal = normalize(cross(v3 - v1, tangent));\\n  }\\n\\n  if (segmentIndex == 0.0) {\\n    return mix(d, vec3(0.0), coneOffset);\\n  }\\n  return v3;\\n}\\n\\nattribute vec3 vector;\\nattribute vec4 color, position;\\nattribute vec2 uv;\\n\\nuniform float vectorScale, coneScale, coneOffset;\\nuniform mat4 model, view, projection, inverseModel;\\nuniform vec3 eyePosition, lightPosition;\\n\\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  // Scale the vector magnitude to stay constant with\\n  // model & view changes.\\n  vec3 normal;\\n  vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);\\n  vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\\n\\n  //Lighting geometry parameters\\n  vec4 cameraCoordinate = view * conePosition;\\n  cameraCoordinate.xyz /= cameraCoordinate.w;\\n  f_lightDirection = lightPosition - cameraCoordinate.xyz;\\n  f_eyeDirection   = eyePosition - cameraCoordinate.xyz;\\n  f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\\n\\n  // vec4 m_position  = model * vec4(conePosition, 1.0);\\n  vec4 t_position  = view * conePosition;\\n  gl_Position      = projection * t_position;\\n\\n  f_color          = color;\\n  f_data           = conePosition.xyz;\\n  f_position       = position.xyz;\\n  f_uv             = uv;\\n}\\n\"]),i=n([\"#extension GL_OES_standard_derivatives : enable\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(float x, float roughness) {\\n  float NdotH = max(x, 0.0001);\\n  float cos2Alpha = NdotH * NdotH;\\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n  float roughness2 = roughness * roughness;\\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n  return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\nfloat cookTorranceSpecular(\\n  vec3 lightDirection,\\n  vec3 viewDirection,\\n  vec3 surfaceNormal,\\n  float roughness,\\n  float fresnel) {\\n\\n  float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\\n  float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\\n\\n  //Half angle vector\\n  vec3 H = normalize(lightDirection + viewDirection);\\n\\n  //Geometric term\\n  float NdotH = max(dot(surfaceNormal, H), 0.0);\\n  float VdotH = max(dot(viewDirection, H), 0.000001);\\n  float LdotH = max(dot(lightDirection, H), 0.000001);\\n  float G1 = (2.0 * NdotH * VdotN) / VdotH;\\n  float G2 = (2.0 * NdotH * LdotN) / LdotH;\\n  float G = min(1.0, min(G1, G2));\\n  \\n  //Distribution term\\n  float D = beckmannDistribution(NdotH, roughness);\\n\\n  //Fresnel term\\n  float F = pow(1.0 - VdotN, fresnel);\\n\\n  //Multiply terms and done\\n  return  G * F * D / max(3.14159265 * VdotN, 0.000001);\\n}\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\\nuniform sampler2D texture;\\n\\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\\n  vec3 N = normalize(f_normal);\\n  vec3 L = normalize(f_lightDirection);\\n  vec3 V = normalize(f_eyeDirection);\\n\\n  if(gl_FrontFacing) {\\n    N = -N;\\n  }\\n\\n  float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n  vec4 surfaceColor = f_color * texture2D(texture, f_uv);\\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\\n\\n  gl_FragColor = litColor * opacity;\\n}\\n\"]),o=n([\"precision highp float;\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nvec3 getOrthogonalVector(vec3 v) {\\n  // Return up-vector for only-z vector.\\n  // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\\n  // From the above if-statement we have ||a|| > 0  U  ||b|| > 0.\\n  // Assign z = 0, x = -b, y = a:\\n  // a*-b + b*a + c*0 = -ba + ba + 0 = 0\\n  if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\\n    return normalize(vec3(-v.y, v.x, 0.0));\\n  } else {\\n    return normalize(vec3(0.0, v.z, -v.y));\\n  }\\n}\\n\\n// Calculate the cone vertex and normal at the given index.\\n//\\n// The returned vertex is for a cone with its top at origin and height of 1.0,\\n// pointing in the direction of the vector attribute.\\n//\\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\\n// These vertices are used to make up the triangles of the cone by the following:\\n//   segment + 0 top vertex\\n//   segment + 1 perimeter vertex a+1\\n//   segment + 2 perimeter vertex a\\n//   segment + 3 center base vertex\\n//   segment + 4 perimeter vertex a\\n//   segment + 5 perimeter vertex a+1\\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\\n// To go from index to segment, floor(index / 6)\\n// To go from segment to angle, 2*pi * (segment/segmentCount)\\n// To go from index to segment index, index - (segment*6)\\n//\\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\\n\\n  const float segmentCount = 8.0;\\n\\n  float index = rawIndex - floor(rawIndex /\\n    (segmentCount * 6.0)) *\\n    (segmentCount * 6.0);\\n\\n  float segment = floor(0.001 + index/6.0);\\n  float segmentIndex = index - (segment*6.0);\\n\\n  normal = -normalize(d);\\n\\n  if (segmentIndex > 2.99 && segmentIndex < 3.01) {\\n    return mix(vec3(0.0), -d, coneOffset);\\n  }\\n\\n  float nextAngle = (\\n    (segmentIndex > 0.99 &&  segmentIndex < 1.01) ||\\n    (segmentIndex > 4.99 &&  segmentIndex < 5.01)\\n  ) ? 1.0 : 0.0;\\n  float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\\n\\n  vec3 v1 = mix(d, vec3(0.0), coneOffset);\\n  vec3 v2 = v1 - d;\\n\\n  vec3 u = getOrthogonalVector(d);\\n  vec3 v = normalize(cross(u, d));\\n\\n  vec3 x = u * cos(angle) * length(d)*0.25;\\n  vec3 y = v * sin(angle) * length(d)*0.25;\\n  vec3 v3 = v2 + x + y;\\n  if (segmentIndex < 3.0) {\\n    vec3 tx = u * sin(angle);\\n    vec3 ty = v * -cos(angle);\\n    vec3 tangent = tx + ty;\\n    normal = normalize(cross(v3 - v1, tangent));\\n  }\\n\\n  if (segmentIndex == 0.0) {\\n    return mix(d, vec3(0.0), coneOffset);\\n  }\\n  return v3;\\n}\\n\\nattribute vec4 vector;\\nattribute vec4 position;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\nuniform float vectorScale, coneScale, coneOffset;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n  vec3 normal;\\n  vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);\\n  vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\\n  gl_Position = projection * view * conePosition;\\n  f_id        = id;\\n  f_position  = position.xyz;\\n}\\n\"]),s=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3  clipBounds[2];\\nuniform float pickId;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n  if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\\n\\n  gl_FragColor = vec4(pickId, f_id.xyz);\\n}\"]);r.meshShader={vertex:a,fragment:i,attributes:[{name:\"position\",type:\"vec4\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec3\"}]},r.pickShader={vertex:o,fragment:s,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec3\"}]}},{glslify:408}],257:[function(t,e,r){e.exports={0:\"NONE\",1:\"ONE\",2:\"LINE_LOOP\",3:\"LINE_STRIP\",4:\"TRIANGLES\",5:\"TRIANGLE_STRIP\",6:\"TRIANGLE_FAN\",256:\"DEPTH_BUFFER_BIT\",512:\"NEVER\",513:\"LESS\",514:\"EQUAL\",515:\"LEQUAL\",516:\"GREATER\",517:\"NOTEQUAL\",518:\"GEQUAL\",519:\"ALWAYS\",768:\"SRC_COLOR\",769:\"ONE_MINUS_SRC_COLOR\",770:\"SRC_ALPHA\",771:\"ONE_MINUS_SRC_ALPHA\",772:\"DST_ALPHA\",773:\"ONE_MINUS_DST_ALPHA\",774:\"DST_COLOR\",775:\"ONE_MINUS_DST_COLOR\",776:\"SRC_ALPHA_SATURATE\",1024:\"STENCIL_BUFFER_BIT\",1028:\"FRONT\",1029:\"BACK\",1032:\"FRONT_AND_BACK\",1280:\"INVALID_ENUM\",1281:\"INVALID_VALUE\",1282:\"INVALID_OPERATION\",1285:\"OUT_OF_MEMORY\",1286:\"INVALID_FRAMEBUFFER_OPERATION\",2304:\"CW\",2305:\"CCW\",2849:\"LINE_WIDTH\",2884:\"CULL_FACE\",2885:\"CULL_FACE_MODE\",2886:\"FRONT_FACE\",2928:\"DEPTH_RANGE\",2929:\"DEPTH_TEST\",2930:\"DEPTH_WRITEMASK\",2931:\"DEPTH_CLEAR_VALUE\",2932:\"DEPTH_FUNC\",2960:\"STENCIL_TEST\",2961:\"STENCIL_CLEAR_VALUE\",2962:\"STENCIL_FUNC\",2963:\"STENCIL_VALUE_MASK\",2964:\"STENCIL_FAIL\",2965:\"STENCIL_PASS_DEPTH_FAIL\",2966:\"STENCIL_PASS_DEPTH_PASS\",2967:\"STENCIL_REF\",2968:\"STENCIL_WRITEMASK\",2978:\"VIEWPORT\",3024:\"DITHER\",3042:\"BLEND\",3088:\"SCISSOR_BOX\",3089:\"SCISSOR_TEST\",3106:\"COLOR_CLEAR_VALUE\",3107:\"COLOR_WRITEMASK\",3317:\"UNPACK_ALIGNMENT\",3333:\"PACK_ALIGNMENT\",3379:\"MAX_TEXTURE_SIZE\",3386:\"MAX_VIEWPORT_DIMS\",3408:\"SUBPIXEL_BITS\",3410:\"RED_BITS\",3411:\"GREEN_BITS\",3412:\"BLUE_BITS\",3413:\"ALPHA_BITS\",3414:\"DEPTH_BITS\",3415:\"STENCIL_BITS\",3553:\"TEXTURE_2D\",4352:\"DONT_CARE\",4353:\"FASTEST\",4354:\"NICEST\",5120:\"BYTE\",5121:\"UNSIGNED_BYTE\",5122:\"SHORT\",5123:\"UNSIGNED_SHORT\",5124:\"INT\",5125:\"UNSIGNED_INT\",5126:\"FLOAT\",5386:\"INVERT\",5890:\"TEXTURE\",6401:\"STENCIL_INDEX\",6402:\"DEPTH_COMPONENT\",6406:\"ALPHA\",6407:\"RGB\",6408:\"RGBA\",6409:\"LUMINANCE\",6410:\"LUMINANCE_ALPHA\",7680:\"KEEP\",7681:\"REPLACE\",7682:\"INCR\",7683:\"DECR\",7936:\"VENDOR\",7937:\"RENDERER\",7938:\"VERSION\",9728:\"NEAREST\",9729:\"LINEAR\",9984:\"NEAREST_MIPMAP_NEAREST\",9985:\"LINEAR_MIPMAP_NEAREST\",9986:\"NEAREST_MIPMAP_LINEAR\",9987:\"LINEAR_MIPMAP_LINEAR\",10240:\"TEXTURE_MAG_FILTER\",10241:\"TEXTURE_MIN_FILTER\",10242:\"TEXTURE_WRAP_S\",10243:\"TEXTURE_WRAP_T\",10497:\"REPEAT\",10752:\"POLYGON_OFFSET_UNITS\",16384:\"COLOR_BUFFER_BIT\",32769:\"CONSTANT_COLOR\",32770:\"ONE_MINUS_CONSTANT_COLOR\",32771:\"CONSTANT_ALPHA\",32772:\"ONE_MINUS_CONSTANT_ALPHA\",32773:\"BLEND_COLOR\",32774:\"FUNC_ADD\",32777:\"BLEND_EQUATION_RGB\",32778:\"FUNC_SUBTRACT\",32779:\"FUNC_REVERSE_SUBTRACT\",32819:\"UNSIGNED_SHORT_4_4_4_4\",32820:\"UNSIGNED_SHORT_5_5_5_1\",32823:\"POLYGON_OFFSET_FILL\",32824:\"POLYGON_OFFSET_FACTOR\",32854:\"RGBA4\",32855:\"RGB5_A1\",32873:\"TEXTURE_BINDING_2D\",32926:\"SAMPLE_ALPHA_TO_COVERAGE\",32928:\"SAMPLE_COVERAGE\",32936:\"SAMPLE_BUFFERS\",32937:\"SAMPLES\",32938:\"SAMPLE_COVERAGE_VALUE\",32939:\"SAMPLE_COVERAGE_INVERT\",32968:\"BLEND_DST_RGB\",32969:\"BLEND_SRC_RGB\",32970:\"BLEND_DST_ALPHA\",32971:\"BLEND_SRC_ALPHA\",33071:\"CLAMP_TO_EDGE\",33170:\"GENERATE_MIPMAP_HINT\",33189:\"DEPTH_COMPONENT16\",33306:\"DEPTH_STENCIL_ATTACHMENT\",33635:\"UNSIGNED_SHORT_5_6_5\",33648:\"MIRRORED_REPEAT\",33901:\"ALIASED_POINT_SIZE_RANGE\",33902:\"ALIASED_LINE_WIDTH_RANGE\",33984:\"TEXTURE0\",33985:\"TEXTURE1\",33986:\"TEXTURE2\",33987:\"TEXTURE3\",33988:\"TEXTURE4\",33989:\"TEXTURE5\",33990:\"TEXTURE6\",33991:\"TEXTURE7\",33992:\"TEXTURE8\",33993:\"TEXTURE9\",33994:\"TEXTURE10\",33995:\"TEXTURE11\",33996:\"TEXTURE12\",33997:\"TEXTURE13\",33998:\"TEXTURE14\",33999:\"TEXTURE15\",34e3:\"TEXTURE16\",34001:\"TEXTURE17\",34002:\"TEXTURE18\",34003:\"TEXTURE19\",34004:\"TEXTURE20\",34005:\"TEXTURE21\",34006:\"TEXTURE22\",34007:\"TEXTURE23\",34008:\"TEXTURE24\",34009:\"TEXTURE25\",34010:\"TEXTURE26\",34011:\"TEXTURE27\",34012:\"TEXTURE28\",34013:\"TEXTURE29\",34014:\"TEXTURE30\",34015:\"TEXTURE31\",34016:\"ACTIVE_TEXTURE\",34024:\"MAX_RENDERBUFFER_SIZE\",34041:\"DEPTH_STENCIL\",34055:\"INCR_WRAP\",34056:\"DECR_WRAP\",34067:\"TEXTURE_CUBE_MAP\",34068:\"TEXTURE_BINDING_CUBE_MAP\",34069:\"TEXTURE_CUBE_MAP_POSITIVE_X\",34070:\"TEXTURE_CUBE_MAP_NEGATIVE_X\",34071:\"TEXTURE_CUBE_MAP_POSITIVE_Y\",34072:\"TEXTURE_CUBE_MAP_NEGATIVE_Y\",34073:\"TEXTURE_CUBE_MAP_POSITIVE_Z\",34074:\"TEXTURE_CUBE_MAP_NEGATIVE_Z\",34076:\"MAX_CUBE_MAP_TEXTURE_SIZE\",34338:\"VERTEX_ATTRIB_ARRAY_ENABLED\",34339:\"VERTEX_ATTRIB_ARRAY_SIZE\",34340:\"VERTEX_ATTRIB_ARRAY_STRIDE\",34341:\"VERTEX_ATTRIB_ARRAY_TYPE\",34342:\"CURRENT_VERTEX_ATTRIB\",34373:\"VERTEX_ATTRIB_ARRAY_POINTER\",34466:\"NUM_COMPRESSED_TEXTURE_FORMATS\",34467:\"COMPRESSED_TEXTURE_FORMATS\",34660:\"BUFFER_SIZE\",34661:\"BUFFER_USAGE\",34816:\"STENCIL_BACK_FUNC\",34817:\"STENCIL_BACK_FAIL\",34818:\"STENCIL_BACK_PASS_DEPTH_FAIL\",34819:\"STENCIL_BACK_PASS_DEPTH_PASS\",34877:\"BLEND_EQUATION_ALPHA\",34921:\"MAX_VERTEX_ATTRIBS\",34922:\"VERTEX_ATTRIB_ARRAY_NORMALIZED\",34930:\"MAX_TEXTURE_IMAGE_UNITS\",34962:\"ARRAY_BUFFER\",34963:\"ELEMENT_ARRAY_BUFFER\",34964:\"ARRAY_BUFFER_BINDING\",34965:\"ELEMENT_ARRAY_BUFFER_BINDING\",34975:\"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING\",35040:\"STREAM_DRAW\",35044:\"STATIC_DRAW\",35048:\"DYNAMIC_DRAW\",35632:\"FRAGMENT_SHADER\",35633:\"VERTEX_SHADER\",35660:\"MAX_VERTEX_TEXTURE_IMAGE_UNITS\",35661:\"MAX_COMBINED_TEXTURE_IMAGE_UNITS\",35663:\"SHADER_TYPE\",35664:\"FLOAT_VEC2\",35665:\"FLOAT_VEC3\",35666:\"FLOAT_VEC4\",35667:\"INT_VEC2\",35668:\"INT_VEC3\",35669:\"INT_VEC4\",35670:\"BOOL\",35671:\"BOOL_VEC2\",35672:\"BOOL_VEC3\",35673:\"BOOL_VEC4\",35674:\"FLOAT_MAT2\",35675:\"FLOAT_MAT3\",35676:\"FLOAT_MAT4\",35678:\"SAMPLER_2D\",35680:\"SAMPLER_CUBE\",35712:\"DELETE_STATUS\",35713:\"COMPILE_STATUS\",35714:\"LINK_STATUS\",35715:\"VALIDATE_STATUS\",35716:\"INFO_LOG_LENGTH\",35717:\"ATTACHED_SHADERS\",35718:\"ACTIVE_UNIFORMS\",35719:\"ACTIVE_UNIFORM_MAX_LENGTH\",35720:\"SHADER_SOURCE_LENGTH\",35721:\"ACTIVE_ATTRIBUTES\",35722:\"ACTIVE_ATTRIBUTE_MAX_LENGTH\",35724:\"SHADING_LANGUAGE_VERSION\",35725:\"CURRENT_PROGRAM\",36003:\"STENCIL_BACK_REF\",36004:\"STENCIL_BACK_VALUE_MASK\",36005:\"STENCIL_BACK_WRITEMASK\",36006:\"FRAMEBUFFER_BINDING\",36007:\"RENDERBUFFER_BINDING\",36048:\"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE\",36049:\"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME\",36050:\"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL\",36051:\"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE\",36053:\"FRAMEBUFFER_COMPLETE\",36054:\"FRAMEBUFFER_INCOMPLETE_ATTACHMENT\",36055:\"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT\",36057:\"FRAMEBUFFER_INCOMPLETE_DIMENSIONS\",36061:\"FRAMEBUFFER_UNSUPPORTED\",36064:\"COLOR_ATTACHMENT0\",36096:\"DEPTH_ATTACHMENT\",36128:\"STENCIL_ATTACHMENT\",36160:\"FRAMEBUFFER\",36161:\"RENDERBUFFER\",36162:\"RENDERBUFFER_WIDTH\",36163:\"RENDERBUFFER_HEIGHT\",36164:\"RENDERBUFFER_INTERNAL_FORMAT\",36168:\"STENCIL_INDEX8\",36176:\"RENDERBUFFER_RED_SIZE\",36177:\"RENDERBUFFER_GREEN_SIZE\",36178:\"RENDERBUFFER_BLUE_SIZE\",36179:\"RENDERBUFFER_ALPHA_SIZE\",36180:\"RENDERBUFFER_DEPTH_SIZE\",36181:\"RENDERBUFFER_STENCIL_SIZE\",36194:\"RGB565\",36336:\"LOW_FLOAT\",36337:\"MEDIUM_FLOAT\",36338:\"HIGH_FLOAT\",36339:\"LOW_INT\",36340:\"MEDIUM_INT\",36341:\"HIGH_INT\",36346:\"SHADER_COMPILER\",36347:\"MAX_VERTEX_UNIFORM_VECTORS\",36348:\"MAX_VARYING_VECTORS\",36349:\"MAX_FRAGMENT_UNIFORM_VECTORS\",37440:\"UNPACK_FLIP_Y_WEBGL\",37441:\"UNPACK_PREMULTIPLY_ALPHA_WEBGL\",37442:\"CONTEXT_LOST_WEBGL\",37443:\"UNPACK_COLORSPACE_CONVERSION_WEBGL\",37444:\"BROWSER_DEFAULT_WEBGL\"}},{}],258:[function(t,e,r){var n=t(\"./1.0/numbers\");e.exports=function(t){return n[t]}},{\"./1.0/numbers\":257}],259:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl,r=n(e),o=a(e,[{buffer:r,type:e.FLOAT,size:3,offset:0,stride:40},{buffer:r,type:e.FLOAT,size:4,offset:12,stride:40},{buffer:r,type:e.FLOAT,size:3,offset:28,stride:40}]),l=i(e);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var c=new s(e,r,o,l);return c.update(t),c};var n=t(\"gl-buffer\"),a=t(\"gl-vao\"),i=t(\"./shaders/index\"),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.shader=n,this.buffer=e,this.vao=r,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1,this.hasAlpha=!1}var l=s.prototype;function c(t,e){for(var r=0;r<3;++r)t[0][r]=Math.min(t[0][r],e[r]),t[1][r]=Math.max(t[1][r],e[r])}l.isOpaque=function(){return!this.hasAlpha},l.isTransparent=function(){return this.hasAlpha},l.drawTransparent=l.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||o,a=r.projection=t.projection||o;r.model=t.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var i=n[12],s=n[13],l=n[14],c=n[15],u=(t._ortho||!1?2:1)*this.pixelRatio*(a[3]*i+a[7]*s+a[11]*l+a[15]*c)/e.drawingBufferHeight;this.vao.bind();for(var h=0;h<3;++h)e.lineWidth(this.lineWidth[h]*this.pixelRatio),r.capSize=this.capSize[h]*u,this.lineCount[h]&&e.drawArrays(e.LINES,this.lineOffset[h],this.lineCount[h]);this.vao.unbind()};var u=function(){for(var t=new Array(3),e=0;e<3;++e){for(var r=[],n=1;n<=2;++n)for(var a=-1;a<=1;a+=2){var i=[0,0,0];i[(n+e)%3]=a,r.push(i)}t[e]=r}return t}();function h(t,e,r,n){for(var a=u[n],i=0;i<a.length;++i){var o=a[i];t.push(e[0],e[1],e[2],r[0],r[1],r[2],r[3],o[0],o[1],o[2])}return a.length}l.update=function(t){\"lineWidth\"in(t=t||{})&&(this.lineWidth=t.lineWidth,Array.isArray(this.lineWidth)||(this.lineWidth=[this.lineWidth,this.lineWidth,this.lineWidth])),\"capSize\"in t&&(this.capSize=t.capSize,Array.isArray(this.capSize)||(this.capSize=[this.capSize,this.capSize,this.capSize])),this.hasAlpha=!1,\"opacity\"in t&&(this.opacity=+t.opacity,this.opacity<1&&(this.hasAlpha=!0));var e=t.color||[[0,0,0],[0,0,0],[0,0,0]],r=t.position,n=t.error;if(Array.isArray(e[0])||(e=[e,e,e]),r&&n){var a=[],i=r.length,o=0;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.lineCount=[0,0,0];for(var s=0;s<3;++s){this.lineOffset[s]=o;t:for(var l=0;l<i;++l){for(var u=r[l],f=0;f<3;++f)if(isNaN(u[f])||!isFinite(u[f]))continue t;var p=n[l],d=e[s];if(Array.isArray(d[0])&&(d=e[l]),3===d.length?d=[d[0],d[1],d[2],1]:4===d.length&&(d=[d[0],d[1],d[2],d[3]],!this.hasAlpha&&d[3]<1&&(this.hasAlpha=!0)),!isNaN(p[0][s])&&!isNaN(p[1][s])){var g;if(p[0][s]<0)(g=u.slice())[s]+=p[0][s],a.push(u[0],u[1],u[2],d[0],d[1],d[2],d[3],0,0,0,g[0],g[1],g[2],d[0],d[1],d[2],d[3],0,0,0),c(this.bounds,g),o+=2+h(a,g,d,s);if(p[1][s]>0)(g=u.slice())[s]+=p[1][s],a.push(u[0],u[1],u[2],d[0],d[1],d[2],d[3],0,0,0,g[0],g[1],g[2],d[0],d[1],d[2],d[3],0,0,0),c(this.bounds,g),o+=2+h(a,g,d,s)}}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(a)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},{\"./shaders/index\":260,\"gl-buffer\":253,\"gl-vao\":327}],260:[function(t,e,r){\"use strict\";var n=t(\"glslify\"),a=t(\"gl-shader\"),i=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, offset;\\nattribute vec4 color;\\nuniform mat4 model, view, projection;\\nuniform float capSize;\\nvarying vec4 fragColor;\\nvarying vec3 fragPosition;\\n\\nvoid main() {\\n  vec4 worldPosition  = model * vec4(position, 1.0);\\n  worldPosition       = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\\n  gl_Position         = projection * view * worldPosition;\\n  fragColor           = color;\\n  fragPosition        = position;\\n}\"]),o=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float opacity;\\nvarying vec3 fragPosition;\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n  if (\\n    outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\\n    fragColor.a * opacity == 0.\\n  ) discard;\\n\\n  gl_FragColor = opacity * fragColor;\\n}\"]);e.exports=function(t){return a(t,i,o,null,[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"offset\",type:\"vec3\"}])}},{\"gl-shader\":307,glslify:408}],261:[function(t,e,r){\"use strict\";var n=t(\"gl-texture2d\");e.exports=function(t,e,r,n){a||(a=t.FRAMEBUFFER_UNSUPPORTED,i=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,s=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var c=t.getExtension(\"WEBGL_draw_buffers\");!l&&c&&function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(r+1);for(var n=0;n<=r;++n){for(var a=new Array(r),i=0;i<n;++i)a[i]=t.COLOR_ATTACHMENT0+i;for(i=n;i<r;++i)a[i]=t.NONE;l[n]=a}}(t,c);Array.isArray(e)&&(n=r,r=0|e[1],e=0|e[0]);if(\"number\"!=typeof e)throw new Error(\"gl-fbo: Missing shape parameter\");var u=t.getParameter(t.MAX_RENDERBUFFER_SIZE);if(e<0||e>u||r<0||r>u)throw new Error(\"gl-fbo: Parameters are too large for FBO\");var h=1;if(\"color\"in(n=n||{})){if((h=Math.max(0|n.color,0))<0)throw new Error(\"gl-fbo: Must specify a nonnegative number of colors\");if(h>1){if(!c)throw new Error(\"gl-fbo: Multiple draw buffer extension not supported\");if(h>t.getParameter(c.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error(\"gl-fbo: Context does not support \"+h+\" draw buffers\")}}var f=t.UNSIGNED_BYTE,p=t.getExtension(\"OES_texture_float\");if(n.float&&h>0){if(!p)throw new Error(\"gl-fbo: Context does not support floating point textures\");f=t.FLOAT}else n.preferFloat&&h>0&&p&&(f=t.FLOAT);var g=!0;\"depth\"in n&&(g=!!n.depth);var m=!1;\"stencil\"in n&&(m=!!n.stencil);return new d(t,e,r,f,h,g,m,c)};var a,i,o,s,l=null;function c(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function u(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function h(t){switch(t){case a:throw new Error(\"gl-fbo: Framebuffer unsupported\");case i:throw new Error(\"gl-fbo: Framebuffer incomplete attachment\");case o:throw new Error(\"gl-fbo: Framebuffer incomplete dimensions\");case s:throw new Error(\"gl-fbo: Framebuffer incomplete missing attachment\");default:throw new Error(\"gl-fbo: Framebuffer failed for unspecified reason\")}}function f(t,e,r,a,i,o){if(!a)return null;var s=n(t,e,r,i,a);return s.magFilter=t.NEAREST,s.minFilter=t.NEAREST,s.mipSamples=1,s.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,o,t.TEXTURE_2D,s.handle,0),s}function p(t,e,r,n,a){var i=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,i),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,a,t.RENDERBUFFER,i),i}function d(t,e,r,n,a,i,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(a);for(var d=0;d<a;++d)this.color[d]=null;this._color_rb=null,this.depth=null,this._depth_rb=null,this._colorType=n,this._useDepth=i,this._useStencil=o;var g=this,m=[0|e,0|r];Object.defineProperties(m,{0:{get:function(){return g._shape[0]},set:function(t){return g.width=t}},1:{get:function(){return g._shape[1]},set:function(t){return g.height=t}}}),this._shapeVector=m,function(t){var e=c(t.gl),r=t.gl,n=t.handle=r.createFramebuffer(),a=t._shape[0],i=t._shape[1],o=t.color.length,s=t._ext,d=t._useStencil,g=t._useDepth,m=t._colorType;r.bindFramebuffer(r.FRAMEBUFFER,n);for(var v=0;v<o;++v)t.color[v]=f(r,a,i,m,r.RGBA,r.COLOR_ATTACHMENT0+v);0===o?(t._color_rb=p(r,a,i,r.RGBA4,r.COLOR_ATTACHMENT0),s&&s.drawBuffersWEBGL(l[0])):o>1&&s.drawBuffersWEBGL(l[o]);var y=r.getExtension(\"WEBGL_depth_texture\");y?d?t.depth=f(r,a,i,y.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):g&&(t.depth=f(r,a,i,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):g&&d?t._depth_rb=p(r,a,i,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):g?t._depth_rb=p(r,a,i,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(t._depth_rb=p(r,a,i,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){t._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(t.handle),t.handle=null,t.depth&&(t.depth.dispose(),t.depth=null),t._depth_rb&&(r.deleteRenderbuffer(t._depth_rb),t._depth_rb=null);for(v=0;v<t.color.length;++v)t.color[v].dispose(),t.color[v]=null;t._color_rb&&(r.deleteRenderbuffer(t._color_rb),t._color_rb=null),u(r,e),h(x)}u(r,e)}(this)}var g=d.prototype;function m(t,e,r){if(t._destroyed)throw new Error(\"gl-fbo: Can't resize destroyed FBO\");if(t._shape[0]!==e||t._shape[1]!==r){var n=t.gl,a=n.getParameter(n.MAX_RENDERBUFFER_SIZE);if(e<0||e>a||r<0||r>a)throw new Error(\"gl-fbo: Can't resize FBO, invalid dimensions\");t._shape[0]=e,t._shape[1]=r;for(var i=c(n),o=0;o<t.color.length;++o)t.color[o].shape=t._shape;t._color_rb&&(n.bindRenderbuffer(n.RENDERBUFFER,t._color_rb),n.renderbufferStorage(n.RENDERBUFFER,n.RGBA4,t._shape[0],t._shape[1])),t.depth&&(t.depth.shape=t._shape),t._depth_rb&&(n.bindRenderbuffer(n.RENDERBUFFER,t._depth_rb),t._useDepth&&t._useStencil?n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_STENCIL,t._shape[0],t._shape[1]):t._useDepth?n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_COMPONENT16,t._shape[0],t._shape[1]):t._useStencil&&n.renderbufferStorage(n.RENDERBUFFER,n.STENCIL_INDEX,t._shape[0],t._shape[1])),n.bindFramebuffer(n.FRAMEBUFFER,t.handle);var s=n.checkFramebufferStatus(n.FRAMEBUFFER);s!==n.FRAMEBUFFER_COMPLETE&&(t.dispose(),u(n,i),h(s)),u(n,i)}}Object.defineProperties(g,{shape:{get:function(){return this._destroyed?[0,0]:this._shapeVector},set:function(t){if(Array.isArray(t)||(t=[0|t,0|t]),2!==t.length)throw new Error(\"gl-fbo: Shape vector must be length 2\");var e=0|t[0],r=0|t[1];return m(this,e,r),[e,r]},enumerable:!1},width:{get:function(){return this._destroyed?0:this._shape[0]},set:function(t){return m(this,t|=0,this._shape[1]),t},enumerable:!1},height:{get:function(){return this._destroyed?0:this._shape[1]},set:function(t){return t|=0,m(this,this._shape[0],t),t},enumerable:!1}}),g.bind=function(){if(!this._destroyed){var t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,this.handle),t.viewport(0,0,this._shape[0],this._shape[1])}},g.dispose=function(){if(!this._destroyed){this._destroyed=!0;var t=this.gl;t.deleteFramebuffer(this.handle),this.handle=null,this.depth&&(this.depth.dispose(),this.depth=null),this._depth_rb&&(t.deleteRenderbuffer(this._depth_rb),this._depth_rb=null);for(var e=0;e<this.color.length;++e)this.color[e].dispose(),this.color[e]=null;this._color_rb&&(t.deleteRenderbuffer(this._color_rb),this._color_rb=null)}}},{\"gl-texture2d\":322}],262:[function(t,e,r){var n=t(\"sprintf-js\").sprintf,a=t(\"gl-constants/lookup\"),i=t(\"glsl-shader-name\"),o=t(\"add-line-numbers\");e.exports=function(t,e,r){\"use strict\";var s=i(e)||\"of unknown name (see npm glsl-shader-name)\",l=\"unknown type\";void 0!==r&&(l=r===a.FRAGMENT_SHADER?\"fragment\":\"vertex\");for(var c=n(\"Error compiling %s shader %s:\\n\",l,s),u=n(\"%s%s\",c,t),h=t.split(\"\\n\"),f={},p=0;p<h.length;p++){var d=h[p];if(\"\"!==d&&\"\\0\"!==d){var g=parseInt(d.split(\":\")[2]);if(isNaN(g))throw new Error(n(\"Could not parse error: %s\",d));f[g]=d}}var m=o(e).split(\"\\n\");for(p=0;p<m.length;p++)if(f[p+3]||f[p+2]||f[p+1]){var v=m[p];if(c+=v+\"\\n\",f[p+1]){var y=f[p+1];y=y.substr(y.split(\":\",3).join(\":\").length+1).trim(),c+=n(\"^^^ %s\\n\\n\",y)}}return{long:c.trim(),short:u.trim()}}},{\"add-line-numbers\":64,\"gl-constants/lookup\":258,\"glsl-shader-name\":400,\"sprintf-js\":519}],263:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=t.gl,n=o(r,l.vertex,l.fragment),a=o(r,l.pickVertex,l.pickFragment),i=s(r),u=s(r),h=s(r),f=s(r),p=new c(t,n,a,i,u,h,f);return p.update(e),t.addObject(p),p};var n=t(\"binary-search-bounds\"),a=t(\"iota-array\"),i=t(\"typedarray-pool\"),o=t(\"gl-shader\"),s=t(\"gl-buffer\"),l=t(\"./lib/shaders\");function c(t,e,r,n,a,i,o){this.plot=t,this.shader=e,this.pickShader=r,this.positionBuffer=n,this.weightBuffer=a,this.colorBuffer=i,this.idBuffer=o,this.xData=[],this.yData=[],this.shape=[0,0],this.bounds=[1/0,1/0,-1/0,-1/0],this.pickOffset=0}var u,h=c.prototype,f=[0,0,1,0,0,1,1,0,1,1,0,1];h.draw=(u=[1,0,0,0,1,0,0,0,1],function(){var t=this.plot,e=this.shader,r=this.bounds,n=this.numVertices;if(!(n<=0)){var a=t.gl,i=t.dataBox,o=r[2]-r[0],s=r[3]-r[1],l=i[2]-i[0],c=i[3]-i[1];u[0]=2*o/l,u[4]=2*s/c,u[6]=2*(r[0]-i[0])/l-1,u[7]=2*(r[1]-i[1])/c-1,e.bind();var h=e.uniforms;h.viewTransform=u,h.shape=this.shape;var f=e.attributes;this.positionBuffer.bind(),f.position.pointer(),this.weightBuffer.bind(),f.weight.pointer(a.UNSIGNED_BYTE,!1),this.colorBuffer.bind(),f.color.pointer(a.UNSIGNED_BYTE,!0),a.drawArrays(a.TRIANGLES,0,n)}}),h.drawPick=function(){var t=[1,0,0,0,1,0,0,0,1],e=[0,0,0,0];return function(r){var n=this.plot,a=this.pickShader,i=this.bounds,o=this.numVertices;if(!(o<=0)){var s=n.gl,l=n.dataBox,c=i[2]-i[0],u=i[3]-i[1],h=l[2]-l[0],f=l[3]-l[1];t[0]=2*c/h,t[4]=2*u/f,t[6]=2*(i[0]-l[0])/h-1,t[7]=2*(i[1]-l[1])/f-1;for(var p=0;p<4;++p)e[p]=r>>8*p&255;this.pickOffset=r,a.bind();var d=a.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var g=a.attributes;return this.positionBuffer.bind(),g.position.pointer(),this.weightBuffer.bind(),g.weight.pointer(s.UNSIGNED_BYTE,!1),this.idBuffer.bind(),g.pickId.pointer(s.UNSIGNED_BYTE,!1),s.drawArrays(s.TRIANGLES,0,o),r+this.shape[0]*this.shape[1]}}}(),h.pick=function(t,e,r){var n=this.pickOffset,a=this.shape[0]*this.shape[1];if(r<n||r>=n+a)return null;var i=r-n,o=this.xData,s=this.yData;return{object:this,pointId:i,dataCoord:[o[i%this.shape[0]],s[i/this.shape[0]|0]]}},h.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||a(e[0]),o=t.y||a(e[1]),s=t.z||new Float32Array(e[0]*e[1]);this.xData=r,this.yData=o;var l=t.colorLevels||[0],c=t.colorValues||[0,0,0,1],u=l.length,h=this.bounds,p=h[0]=r[0],d=h[1]=o[0],g=1/((h[2]=r[r.length-1])-p),m=1/((h[3]=o[o.length-1])-d),v=e[0],y=e[1];this.shape=[v,y];var x=(v-1)*(y-1)*(f.length>>>1);this.numVertices=x;for(var b=i.mallocUint8(4*x),_=i.mallocFloat32(2*x),w=i.mallocUint8(2*x),T=i.mallocUint32(x),k=0,A=0;A<y-1;++A)for(var M=m*(o[A]-d),S=m*(o[A+1]-d),E=0;E<v-1;++E)for(var C=g*(r[E]-p),L=g*(r[E+1]-p),P=0;P<f.length;P+=2){var I,z,O,D,R=f[P],F=f[P+1],B=s[(A+F)*v+(E+R)],N=n.le(l,B);if(N<0)I=c[0],z=c[1],O=c[2],D=c[3];else if(N===u-1)I=c[4*u-4],z=c[4*u-3],O=c[4*u-2],D=c[4*u-1];else{var j=(B-l[N])/(l[N+1]-l[N]),V=1-j,U=4*N,q=4*(N+1);I=V*c[U]+j*c[q],z=V*c[U+1]+j*c[q+1],O=V*c[U+2]+j*c[q+2],D=V*c[U+3]+j*c[q+3]}b[4*k]=255*I,b[4*k+1]=255*z,b[4*k+2]=255*O,b[4*k+3]=255*D,_[2*k]=.5*C+.5*L,_[2*k+1]=.5*M+.5*S,w[2*k]=R,w[2*k+1]=F,T[k]=A*v+E,k+=1}this.positionBuffer.update(_),this.weightBuffer.update(w),this.colorBuffer.update(b),this.idBuffer.update(T),i.free(_),i.free(b),i.free(w),i.free(T)},h.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.positionBuffer.dispose(),this.weightBuffer.dispose(),this.colorBuffer.dispose(),this.idBuffer.dispose(),this.plot.removeObject(this)}},{\"./lib/shaders\":264,\"binary-search-bounds\":94,\"gl-buffer\":253,\"gl-shader\":307,\"iota-array\":416,\"typedarray-pool\":547}],264:[function(t,e,r){\"use strict\";var n=t(\"glslify\");e.exports={fragment:n([\"precision lowp float;\\n#define GLSLIFY 1\\nvarying vec4 fragColor;\\nvoid main() {\\n  gl_FragColor = vec4(fragColor.rgb * fragColor.a, fragColor.a);\\n}\\n\"]),vertex:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position;\\nattribute vec4 color;\\nattribute vec2 weight;\\n\\nuniform vec2 shape;\\nuniform mat3 viewTransform;\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n  vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\\n  fragColor = color;\\n  gl_Position = vec4(vPosition.xy, 0, vPosition.z);\\n}\\n\"]),pickFragment:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragId;\\nvarying vec2 vWeight;\\n\\nuniform vec2 shape;\\nuniform vec4 pickOffset;\\n\\nvoid main() {\\n  vec2 d = step(.5, vWeight);\\n  vec4 id = fragId + pickOffset;\\n  id.x += d.x + d.y*shape.x;\\n\\n  id.y += floor(id.x / 256.0);\\n  id.x -= floor(id.x / 256.0) * 256.0;\\n\\n  id.z += floor(id.y / 256.0);\\n  id.y -= floor(id.y / 256.0) * 256.0;\\n\\n  id.w += floor(id.z / 256.0);\\n  id.z -= floor(id.z / 256.0) * 256.0;\\n\\n  gl_FragColor = id/255.;\\n}\\n\"]),pickVertex:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position;\\nattribute vec4 pickId;\\nattribute vec2 weight;\\n\\nuniform vec2 shape;\\nuniform mat3 viewTransform;\\n\\nvarying vec4 fragId;\\nvarying vec2 vWeight;\\n\\nvoid main() {\\n  vWeight = weight;\\n\\n  fragId = pickId;\\n\\n  vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\\n  gl_Position = vec4(vPosition.xy, 0, vPosition.z);\\n}\\n\"])}},{glslify:408}],265:[function(t,e,r){var n=t(\"glslify\"),a=t(\"gl-shader\"),i=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, nextPosition;\\nattribute float arcLength, lineWidth;\\nattribute vec4 color;\\n\\nuniform vec2 screenShape;\\nuniform float pixelRatio;\\nuniform mat4 model, view, projection;\\n\\nvarying vec4 fragColor;\\nvarying vec3 worldPosition;\\nvarying float pixelArcLength;\\n\\nvec4 project(vec3 p) {\\n  return projection * view * model * vec4(p, 1.0);\\n}\\n\\nvoid main() {\\n  vec4 startPoint = project(position);\\n  vec4 endPoint   = project(nextPosition);\\n\\n  vec2 A = startPoint.xy / startPoint.w;\\n  vec2 B =   endPoint.xy /   endPoint.w;\\n\\n  float clipAngle = atan(\\n    (B.y - A.y) * screenShape.y,\\n    (B.x - A.x) * screenShape.x\\n  );\\n\\n  vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(\\n    sin(clipAngle),\\n    -cos(clipAngle)\\n  ) / screenShape;\\n\\n  gl_Position = vec4(startPoint.xy + startPoint.w * offset, startPoint.zw);\\n\\n  worldPosition = position;\\n  pixelArcLength = arcLength;\\n  fragColor = color;\\n}\\n\"]),o=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3      clipBounds[2];\\nuniform sampler2D dashTexture;\\nuniform float     dashScale;\\nuniform float     opacity;\\n\\nvarying vec3    worldPosition;\\nvarying float   pixelArcLength;\\nvarying vec4    fragColor;\\n\\nvoid main() {\\n  if (\\n    outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||\\n    fragColor.a * opacity == 0.\\n  ) discard;\\n\\n  float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\\n  if(dashWeight < 0.5) {\\n    discard;\\n  }\\n  gl_FragColor = fragColor * opacity;\\n}\\n\"]),s=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\n#define FLOAT_MAX  1.70141184e38\\n#define FLOAT_MIN  1.17549435e-38\\n\\n// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl\\nvec4 packFloat(float v) {\\n  float av = abs(v);\\n\\n  //Handle special cases\\n  if(av < FLOAT_MIN) {\\n    return vec4(0.0, 0.0, 0.0, 0.0);\\n  } else if(v > FLOAT_MAX) {\\n    return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\\n  } else if(v < -FLOAT_MAX) {\\n    return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\\n  }\\n\\n  vec4 c = vec4(0,0,0,0);\\n\\n  //Compute exponent and mantissa\\n  float e = floor(log2(av));\\n  float m = av * pow(2.0, -e) - 1.0;\\n\\n  //Unpack mantissa\\n  c[1] = floor(128.0 * m);\\n  m -= c[1] / 128.0;\\n  c[2] = floor(32768.0 * m);\\n  m -= c[2] / 32768.0;\\n  c[3] = floor(8388608.0 * m);\\n\\n  //Unpack exponent\\n  float ebias = e + 127.0;\\n  c[0] = floor(ebias / 2.0);\\n  ebias -= c[0] * 2.0;\\n  c[1] += floor(ebias) * 128.0;\\n\\n  //Unpack sign bit\\n  c[0] += 128.0 * step(0.0, -v);\\n\\n  //Scale back to range\\n  return c / 255.0;\\n}\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform float pickId;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec3 worldPosition;\\nvarying float pixelArcLength;\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n  if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\\n\\n  gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\\n}\"]),l=[{name:\"position\",type:\"vec3\"},{name:\"nextPosition\",type:\"vec3\"},{name:\"arcLength\",type:\"float\"},{name:\"lineWidth\",type:\"float\"},{name:\"color\",type:\"vec4\"}];r.createShader=function(t){return a(t,i,o,null,l)},r.createPickShader=function(t){return a(t,i,s,null,l)}},{\"gl-shader\":307,glslify:408}],266:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl||t.scene&&t.scene.gl,r=h(e);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var o=f(e);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(e),l=a(e,[{buffer:s,size:3,offset:0,stride:48},{buffer:s,size:3,offset:12,stride:48},{buffer:s,size:1,offset:24,stride:48},{buffer:s,size:1,offset:28,stride:48},{buffer:s,size:4,offset:32,stride:48}]),u=c(new Array(1024),[256,1,4]),p=0;p<1024;++p)u.data[p]=255;var d=i(e,u);d.wrap=e.REPEAT;var g=new v(e,r,o,s,l,d);return g.update(t),g};var n=t(\"gl-buffer\"),a=t(\"gl-vao\"),i=t(\"gl-texture2d\"),o=new Uint8Array(4),s=new Float32Array(o.buffer);var l=t(\"binary-search-bounds\"),c=t(\"ndarray\"),u=t(\"./lib/shaders\"),h=u.createShader,f=u.createPickShader,p=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function d(t,e){for(var r=0,n=0;n<3;++n){var a=t[n]-e[n];r+=a*a}return Math.sqrt(r)}function g(t){for(var e=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)e[0][r]=Math.max(t[0][r],e[0][r]),e[1][r]=Math.min(t[1][r],e[1][r]);return e}function m(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function v(t,e,r,n,a,i){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=a,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=i,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var y=v.prototype;y.isTransparent=function(){return this.hasAlpha},y.isOpaque=function(){return!this.hasAlpha},y.pickSlots=1,y.setPickBase=function(t){this.pickId=t},y.drawTransparent=y.draw=function(t){if(this.vertexCount){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,clipBounds:g(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},y.drawPick=function(t){if(this.vertexCount){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,pickId:this.pickId,clipBounds:g(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},y.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;\"dashScale\"in t&&(this.dashScale=t.dashScale),this.hasAlpha=!1,\"opacity\"in t&&(this.opacity=+t.opacity,this.opacity<1&&(this.hasAlpha=!0));var a=[],i=[],o=[],s=0,u=0,h=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],f=t.position||t.positions;if(f){var p=t.color||t.colors||[0,0,0,1],g=t.lineWidth||1,m=!1;t:for(e=1;e<f.length;++e){var v,y,x,b=f[e-1],_=f[e];for(i.push(s),o.push(b.slice()),r=0;r<3;++r){if(isNaN(b[r])||isNaN(_[r])||!isFinite(b[r])||!isFinite(_[r])){if(!n&&a.length>0){for(var w=0;w<24;++w)a.push(a[a.length-12]);u+=2,m=!0}continue t}h[0][r]=Math.min(h[0][r],b[r],_[r]),h[1][r]=Math.max(h[1][r],b[r],_[r])}Array.isArray(p[0])?(v=p.length>e-1?p[e-1]:p.length>0?p[p.length-1]:[0,0,0,1],y=p.length>e?p[e]:p.length>0?p[p.length-1]:[0,0,0,1]):v=y=p,3===v.length&&(v=[v[0],v[1],v[2],1]),3===y.length&&(y=[y[0],y[1],y[2],1]),!this.hasAlpha&&v[3]<1&&(this.hasAlpha=!0),x=Array.isArray(g)?g.length>e-1?g[e-1]:g.length>0?g[g.length-1]:[0,0,0,1]:g;var T=s;if(s+=d(b,_),m){for(r=0;r<2;++r)a.push(b[0],b[1],b[2],_[0],_[1],_[2],T,x,v[0],v[1],v[2],v[3]);u+=2,m=!1}a.push(b[0],b[1],b[2],_[0],_[1],_[2],T,x,v[0],v[1],v[2],v[3],b[0],b[1],b[2],_[0],_[1],_[2],T,-x,v[0],v[1],v[2],v[3],_[0],_[1],_[2],b[0],b[1],b[2],s,-x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],s,x,y[0],y[1],y[2],y[3]),u+=4}}if(this.buffer.update(a),i.push(s),o.push(f[f.length-1].slice()),this.bounds=h,this.vertexCount=u,this.points=o,this.arcLength=i,\"dashes\"in t){var k=t.dashes.slice();for(k.unshift(0),e=1;e<k.length;++e)k[e]=k[e-1]+k[e];var A=c(new Array(1024),[256,1,4]);for(e=0;e<256;++e){for(r=0;r<4;++r)A.set(e,0,r,0);1&l.le(k,k[k.length-1]*e/255)?A.set(e,0,0,0):A.set(e,0,0,255)}this.texture.setPixels(A)}},y.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()},y.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=function(t,e,r,n){return o[0]=n,o[1]=r,o[2]=e,o[3]=t,s[0]}(t.value[0],t.value[1],t.value[2],0),r=l.le(this.arcLength,e);if(r<0)return null;if(r===this.arcLength.length-1)return new m(this.arcLength[this.arcLength.length-1],this.points[this.points.length-1].slice(),r);for(var n=this.points[r],a=this.points[Math.min(r+1,this.points.length-1)],i=(e-this.arcLength[r])/(this.arcLength[r+1]-this.arcLength[r]),c=1-i,u=[0,0,0],h=0;h<3;++h)u[h]=c*n[h]+i*a[h];var f=Math.min(i<.5?r:r+1,this.points.length-1);return new m(e,u,f,this.points[f])}},{\"./lib/shaders\":265,\"binary-search-bounds\":94,\"gl-buffer\":253,\"gl-texture2d\":322,\"gl-vao\":327,ndarray:448}],267:[function(t,e,r){e.exports=function(t){var e=new Float32Array(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}},{}],268:[function(t,e,r){e.exports=function(){var t=new Float32Array(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],269:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],a=t[3],i=t[4],o=t[5],s=t[6],l=t[7],c=t[8],u=t[9],h=t[10],f=t[11],p=t[12],d=t[13],g=t[14],m=t[15];return(e*o-r*i)*(h*m-f*g)-(e*s-n*i)*(u*m-f*d)+(e*l-a*i)*(u*g-h*d)+(r*s-n*o)*(c*m-f*p)-(r*l-a*o)*(c*g-h*p)+(n*l-a*s)*(c*d-u*p)}},{}],270:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=r+r,s=n+n,l=a+a,c=r*o,u=n*o,h=n*s,f=a*o,p=a*s,d=a*l,g=i*o,m=i*s,v=i*l;return t[0]=1-h-d,t[1]=u+v,t[2]=f-m,t[3]=0,t[4]=u-v,t[5]=1-c-d,t[6]=p+g,t[7]=0,t[8]=f+m,t[9]=p-g,t[10]=1-c-h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],271:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=n+n,l=a+a,c=i+i,u=n*s,h=n*l,f=n*c,p=a*l,d=a*c,g=i*c,m=o*s,v=o*l,y=o*c;return t[0]=1-(p+g),t[1]=h+y,t[2]=f-v,t[3]=0,t[4]=h-y,t[5]=1-(u+g),t[6]=d+m,t[7]=0,t[8]=f+v,t[9]=d-m,t[10]=1-(u+p),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}},{}],272:[function(t,e,r){e.exports=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],273:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],h=e[9],f=e[10],p=e[11],d=e[12],g=e[13],m=e[14],v=e[15],y=r*s-n*o,x=r*l-a*o,b=r*c-i*o,_=n*l-a*s,w=n*c-i*s,T=a*c-i*l,k=u*g-h*d,A=u*m-f*d,M=u*v-p*d,S=h*m-f*g,E=h*v-p*g,C=f*v-p*m,L=y*C-x*E+b*S+_*M-w*A+T*k;if(!L)return null;return L=1/L,t[0]=(s*C-l*E+c*S)*L,t[1]=(a*E-n*C-i*S)*L,t[2]=(g*T-m*w+v*_)*L,t[3]=(f*w-h*T-p*_)*L,t[4]=(l*M-o*C-c*A)*L,t[5]=(r*C-a*M+i*A)*L,t[6]=(m*b-d*T-v*x)*L,t[7]=(u*T-f*b+p*x)*L,t[8]=(o*E-s*M+c*k)*L,t[9]=(n*M-r*E-i*k)*L,t[10]=(d*w-g*b+v*y)*L,t[11]=(h*b-u*w-p*y)*L,t[12]=(s*A-o*S-l*k)*L,t[13]=(r*S-n*A+a*k)*L,t[14]=(g*x-d*_-m*y)*L,t[15]=(u*_-h*x+f*y)*L,t}},{}],274:[function(t,e,r){var n=t(\"./identity\");e.exports=function(t,e,r,a){var i,o,s,l,c,u,h,f,p,d,g=e[0],m=e[1],v=e[2],y=a[0],x=a[1],b=a[2],_=r[0],w=r[1],T=r[2];if(Math.abs(g-_)<1e-6&&Math.abs(m-w)<1e-6&&Math.abs(v-T)<1e-6)return n(t);h=g-_,f=m-w,p=v-T,d=1/Math.sqrt(h*h+f*f+p*p),i=x*(p*=d)-b*(f*=d),o=b*(h*=d)-y*p,s=y*f-x*h,(d=Math.sqrt(i*i+o*o+s*s))?(i*=d=1/d,o*=d,s*=d):(i=0,o=0,s=0);l=f*s-p*o,c=p*i-h*s,u=h*o-f*i,(d=Math.sqrt(l*l+c*c+u*u))?(l*=d=1/d,c*=d,u*=d):(l=0,c=0,u=0);return t[0]=i,t[1]=l,t[2]=h,t[3]=0,t[4]=o,t[5]=c,t[6]=f,t[7]=0,t[8]=s,t[9]=u,t[10]=p,t[11]=0,t[12]=-(i*g+o*m+s*v),t[13]=-(l*g+c*m+u*v),t[14]=-(h*g+f*m+p*v),t[15]=1,t}},{\"./identity\":272}],275:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],p=e[10],d=e[11],g=e[12],m=e[13],v=e[14],y=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*h+w*g,t[1]=x*a+b*l+_*f+w*m,t[2]=x*i+b*c+_*p+w*v,t[3]=x*o+b*u+_*d+w*y,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*h+w*g,t[5]=x*a+b*l+_*f+w*m,t[6]=x*i+b*c+_*p+w*v,t[7]=x*o+b*u+_*d+w*y,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*h+w*g,t[9]=x*a+b*l+_*f+w*m,t[10]=x*i+b*c+_*p+w*v,t[11]=x*o+b*u+_*d+w*y,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*h+w*g,t[13]=x*a+b*l+_*f+w*m,t[14]=x*i+b*c+_*p+w*v,t[15]=x*o+b*u+_*d+w*y,t}},{}],276:[function(t,e,r){e.exports=function(t,e,r,n,a,i,o){var s=1/(e-r),l=1/(n-a),c=1/(i-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+r)*s,t[13]=(a+n)*l,t[14]=(o+i)*c,t[15]=1,t}},{}],277:[function(t,e,r){e.exports=function(t,e,r,n,a){var i=1/Math.tan(e/2),o=1/(n-a);return t[0]=i/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=i,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(a+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*a*n*o,t[15]=0,t}},{}],278:[function(t,e,r){e.exports=function(t,e,r,n){var a,i,o,s,l,c,u,h,f,p,d,g,m,v,y,x,b,_,w,T,k,A,M,S,E=n[0],C=n[1],L=n[2],P=Math.sqrt(E*E+C*C+L*L);if(Math.abs(P)<1e-6)return null;E*=P=1/P,C*=P,L*=P,a=Math.sin(r),i=Math.cos(r),o=1-i,s=e[0],l=e[1],c=e[2],u=e[3],h=e[4],f=e[5],p=e[6],d=e[7],g=e[8],m=e[9],v=e[10],y=e[11],x=E*E*o+i,b=C*E*o+L*a,_=L*E*o-C*a,w=E*C*o-L*a,T=C*C*o+i,k=L*C*o+E*a,A=E*L*o+C*a,M=C*L*o-E*a,S=L*L*o+i,t[0]=s*x+h*b+g*_,t[1]=l*x+f*b+m*_,t[2]=c*x+p*b+v*_,t[3]=u*x+d*b+y*_,t[4]=s*w+h*T+g*k,t[5]=l*w+f*T+m*k,t[6]=c*w+p*T+v*k,t[7]=u*w+d*T+y*k,t[8]=s*A+h*M+g*S,t[9]=l*A+f*M+m*S,t[10]=c*A+p*M+v*S,t[11]=u*A+d*M+y*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t}},{}],279:[function(t,e,r){e.exports=function(t,e,r){var n=Math.sin(r),a=Math.cos(r),i=e[4],o=e[5],s=e[6],l=e[7],c=e[8],u=e[9],h=e[10],f=e[11];e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t[4]=i*a+c*n,t[5]=o*a+u*n,t[6]=s*a+h*n,t[7]=l*a+f*n,t[8]=c*a-i*n,t[9]=u*a-o*n,t[10]=h*a-s*n,t[11]=f*a-l*n,t}},{}],280:[function(t,e,r){e.exports=function(t,e,r){var n=Math.sin(r),a=Math.cos(r),i=e[0],o=e[1],s=e[2],l=e[3],c=e[8],u=e[9],h=e[10],f=e[11];e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t[0]=i*a-c*n,t[1]=o*a-u*n,t[2]=s*a-h*n,t[3]=l*a-f*n,t[8]=i*n+c*a,t[9]=o*n+u*a,t[10]=s*n+h*a,t[11]=l*n+f*a,t}},{}],281:[function(t,e,r){e.exports=function(t,e,r){var n=Math.sin(r),a=Math.cos(r),i=e[0],o=e[1],s=e[2],l=e[3],c=e[4],u=e[5],h=e[6],f=e[7];e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t[0]=i*a+c*n,t[1]=o*a+u*n,t[2]=s*a+h*n,t[3]=l*a+f*n,t[4]=c*a-i*n,t[5]=u*a-o*n,t[6]=h*a-s*n,t[7]=f*a-l*n,t}},{}],282:[function(t,e,r){e.exports=function(t,e,r){var n=r[0],a=r[1],i=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*a,t[5]=e[5]*a,t[6]=e[6]*a,t[7]=e[7]*a,t[8]=e[8]*i,t[9]=e[9]*i,t[10]=e[10]*i,t[11]=e[11]*i,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},{}],283:[function(t,e,r){e.exports=function(t,e,r){var n,a,i,o,s,l,c,u,h,f,p,d,g=r[0],m=r[1],v=r[2];e===t?(t[12]=e[0]*g+e[4]*m+e[8]*v+e[12],t[13]=e[1]*g+e[5]*m+e[9]*v+e[13],t[14]=e[2]*g+e[6]*m+e[10]*v+e[14],t[15]=e[3]*g+e[7]*m+e[11]*v+e[15]):(n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],p=e[10],d=e[11],t[0]=n,t[1]=a,t[2]=i,t[3]=o,t[4]=s,t[5]=l,t[6]=c,t[7]=u,t[8]=h,t[9]=f,t[10]=p,t[11]=d,t[12]=n*g+s*m+h*v+e[12],t[13]=a*g+l*m+f*v+e[13],t[14]=i*g+c*m+p*v+e[14],t[15]=o*g+u*m+d*v+e[15]);return t}},{}],284:[function(t,e,r){e.exports=function(t,e){if(t===e){var r=e[1],n=e[2],a=e[3],i=e[6],o=e[7],s=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=i,t[11]=e[14],t[12]=a,t[13]=o,t[14]=s}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}},{}],285:[function(t,e,r){\"use strict\";var n=t(\"barycentric\"),a=t(\"polytope-closest-point/lib/closest_point_2d.js\");function i(t,e){for(var r=[0,0,0,0],n=0;n<4;++n)for(var a=0;a<4;++a)r[a]+=t[4*n+a]*e[n];return r}function o(t,e,r,n,a){for(var o=i(n,i(r,i(e,[t[0],t[1],t[2],1]))),s=0;s<3;++s)o[s]/=o[3];return[.5*a[0]*(1+o[0]),.5*a[1]*(1-o[1])]}function s(t,e){for(var r=[0,0,0],n=0;n<t.length;++n)for(var a=t[n],i=e[n],o=0;o<3;++o)r[o]+=i*a[o];return r}e.exports=function(t,e,r,i,l,c){if(1===t.length)return[0,t[0].slice()];for(var u=new Array(t.length),h=0;h<t.length;++h)u[h]=o(t[h],r,i,l,c);var f=0,p=1/0;for(h=0;h<u.length;++h){for(var d=0,g=0;g<2;++g)d+=Math.pow(u[h][g]-e[g],2);d<p&&(p=d,f=h)}var m=function(t,e){if(2===t.length){for(var r=0,i=0,o=0;o<2;++o)r+=Math.pow(e[o]-t[0][o],2),i+=Math.pow(e[o]-t[1][o],2);return r=Math.sqrt(r),i=Math.sqrt(i),r+i<1e-6?[1,0]:[i/(r+i),r/(i+r)]}if(3===t.length){var s=[0,0];return a(t[0],t[1],t[2],e,s),n(t,s)}return[]}(u,e),v=0;for(h=0;h<3;++h){if(m[h]<-.001||m[h]>1.0001)return null;v+=m[h]}if(Math.abs(v-1)>.001)return null;return[f,s(t,m),m]}},{barycentric:76,\"polytope-closest-point/lib/closest_point_2d.js\":479}],286:[function(t,e,r){var n=t(\"glslify\"),a=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, normal;\\nattribute vec4 color;\\nattribute vec2 uv;\\n\\nuniform mat4 model\\n           , view\\n           , projection\\n           , inverseModel;\\nuniform vec3 eyePosition\\n           , lightPosition;\\n\\nvarying vec3 f_normal\\n           , f_lightDirection\\n           , f_eyeDirection\\n           , f_data;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvec4 project(vec3 p) {\\n  return projection * view * model * vec4(p, 1.0);\\n}\\n\\nvoid main() {\\n  gl_Position      = project(position);\\n\\n  //Lighting geometry parameters\\n  vec4 cameraCoordinate = view * vec4(position , 1.0);\\n  cameraCoordinate.xyz /= cameraCoordinate.w;\\n  f_lightDirection = lightPosition - cameraCoordinate.xyz;\\n  f_eyeDirection   = eyePosition - cameraCoordinate.xyz;\\n  f_normal  = normalize((vec4(normal, 0.0) * inverseModel).xyz);\\n\\n  f_color          = color;\\n  f_data           = position;\\n  f_uv             = uv;\\n}\\n\"]),i=n([\"#extension GL_OES_standard_derivatives : enable\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(float x, float roughness) {\\n  float NdotH = max(x, 0.0001);\\n  float cos2Alpha = NdotH * NdotH;\\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n  float roughness2 = roughness * roughness;\\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n  return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\nfloat cookTorranceSpecular(\\n  vec3 lightDirection,\\n  vec3 viewDirection,\\n  vec3 surfaceNormal,\\n  float roughness,\\n  float fresnel) {\\n\\n  float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\\n  float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\\n\\n  //Half angle vector\\n  vec3 H = normalize(lightDirection + viewDirection);\\n\\n  //Geometric term\\n  float NdotH = max(dot(surfaceNormal, H), 0.0);\\n  float VdotH = max(dot(viewDirection, H), 0.000001);\\n  float LdotH = max(dot(lightDirection, H), 0.000001);\\n  float G1 = (2.0 * NdotH * VdotN) / VdotH;\\n  float G2 = (2.0 * NdotH * LdotN) / LdotH;\\n  float G = min(1.0, min(G1, G2));\\n  \\n  //Distribution term\\n  float D = beckmannDistribution(NdotH, roughness);\\n\\n  //Fresnel term\\n  float F = pow(1.0 - VdotN, fresnel);\\n\\n  //Multiply terms and done\\n  return  G * F * D / max(3.14159265 * VdotN, 0.000001);\\n}\\n\\n//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float roughness\\n            , fresnel\\n            , kambient\\n            , kdiffuse\\n            , kspecular;\\nuniform sampler2D texture;\\n\\nvarying vec3 f_normal\\n           , f_lightDirection\\n           , f_eyeDirection\\n           , f_data;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  if (f_color.a == 0.0 ||\\n    outOfRange(clipBounds[0], clipBounds[1], f_data)\\n  ) discard;\\n\\n  vec3 N = normalize(f_normal);\\n  vec3 L = normalize(f_lightDirection);\\n  vec3 V = normalize(f_eyeDirection);\\n\\n  if(gl_FrontFacing) {\\n    N = -N;\\n  }\\n\\n  float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\\n  //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\\n\\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n  vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv);\\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\\n\\n  gl_FragColor = litColor * f_color.a;\\n}\\n\"]),o=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 uv;\\n\\nuniform mat4 model, view, projection;\\n\\nvarying vec4 f_color;\\nvarying vec3 f_data;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  gl_Position = projection * view * model * vec4(position, 1.0);\\n  f_color = color;\\n  f_data  = position;\\n  f_uv    = uv;\\n}\"]),s=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform sampler2D texture;\\nuniform float opacity;\\n\\nvarying vec4 f_color;\\nvarying vec3 f_data;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\\n\\n  gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\\n}\"]),l=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 uv;\\nattribute float pointSize;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n    gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0);\\n  } else {\\n    gl_Position = projection * view * model * vec4(position, 1.0);\\n  }\\n  gl_PointSize = pointSize;\\n  f_color = color;\\n  f_uv = uv;\\n}\"]),c=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D texture;\\nuniform float opacity;\\n\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5);\\n  if(dot(pointR, pointR) > 0.25) {\\n    discard;\\n  }\\n  gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\\n}\"]),u=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n  gl_Position = projection * view * model * vec4(position, 1.0);\\n  f_id        = id;\\n  f_position  = position;\\n}\"]),h=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3  clipBounds[2];\\nuniform float pickId;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n  if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\\n\\n  gl_FragColor = vec4(pickId, f_id.xyz);\\n}\"]),f=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3  position;\\nattribute float pointSize;\\nattribute vec4  id;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n  if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n    gl_Position = vec4(0.0, 0.0, 0.0, 0.0);\\n  } else {\\n    gl_Position  = projection * view * model * vec4(position, 1.0);\\n    gl_PointSize = pointSize;\\n  }\\n  f_id         = id;\\n  f_position   = position;\\n}\"]),p=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\n\\nuniform mat4 model, view, projection;\\n\\nvoid main() {\\n  gl_Position = projection * view * model * vec4(position, 1.0);\\n}\"]),d=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform vec3 contourColor;\\n\\nvoid main() {\\n  gl_FragColor = vec4(contourColor, 1.0);\\n}\\n\"]);r.meshShader={vertex:a,fragment:i,attributes:[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},r.wireShader={vertex:o,fragment:s,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},r.pointShader={vertex:l,fragment:c,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"pointSize\",type:\"float\"}]},r.pickShader={vertex:u,fragment:h,attributes:[{name:\"position\",type:\"vec3\"},{name:\"id\",type:\"vec4\"}]},r.pointPickShader={vertex:f,fragment:h,attributes:[{name:\"position\",type:\"vec3\"},{name:\"pointSize\",type:\"float\"},{name:\"id\",type:\"vec4\"}]},r.contourShader={vertex:p,fragment:d,attributes:[{name:\"position\",type:\"vec3\"}]}},{glslify:408}],287:[function(t,e,r){\"use strict\";var n=t(\"gl-shader\"),a=t(\"gl-buffer\"),i=t(\"gl-vao\"),o=t(\"gl-texture2d\"),s=t(\"normals\"),l=t(\"gl-mat4/multiply\"),c=t(\"gl-mat4/invert\"),u=t(\"ndarray\"),h=t(\"colormap\"),f=t(\"simplicial-complex-contour\"),p=t(\"typedarray-pool\"),d=t(\"./lib/shaders\"),g=t(\"./lib/closest-point\"),m=d.meshShader,v=d.wireShader,y=d.pointShader,x=d.pickShader,b=d.pointPickShader,_=d.contourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function T(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,m,v,y,x,b,_,T,k,A,M,S){this.gl=t,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=a,this.pickShader=i,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=u,this.triangleNormals=f,this.triangleUVs=h,this.triangleIds=c,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=m,this.edgeUVs=v,this.edgeIds=g,this.edgeVAO=y,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=T,this.pointSizes=k,this.pointIds=b,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=M,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickVertex=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.hasAlpha=!1,this.opacityscale=!1,this._model=w,this._view=w,this._projection=w,this._resolution=[1,1]}var k=T.prototype;function A(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;r<e.length;++r){if(e.length<2)return 1;if(e[r][0]===t)return e[r][1];if(e[r][0]>t&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}function M(t){var e=n(t,m.vertex,m.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.normal.location=4,e}function S(t){var e=n(t,v.vertex,v.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e}function E(t){var e=n(t,y.vertex,y.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function C(t){var e=n(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function L(t){var e=n(t,b.vertex,b.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function P(t){var e=n(t,_.vertex,_.fragment);return e.attributes.position.location=0,e}k.isOpaque=function(){return!this.hasAlpha},k.isTransparent=function(){return this.hasAlpha},k.pickSlots=1,k.setPickBase=function(t){this.pickId=t},k.highlight=function(t){if(t&&this.contourEnable){for(var e=f(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,a=e.vertexWeights,i=r.length,o=p.mallocFloat32(6*i),s=0,l=0;l<i;++l)for(var c=r[l],u=0;u<2;++u){var h=c[0];2===c.length&&(h=c[u]);for(var d=n[h][0],g=n[h][1],m=a[h],v=1-m,y=this.positions[d],x=this.positions[g],b=0;b<3;++b)o[s++]=m*y[b]+v*x[b]}this.contourCount=s/3|0,this.contourPositions.update(o.subarray(0,s)),p.free(o)}else this.contourCount=0},k.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,\"contourEnable\"in t&&(this.contourEnable=t.contourEnable),\"contourColor\"in t&&(this.contourColor=t.contourColor),\"lineWidth\"in t&&(this.lineWidth=t.lineWidth),\"lightPosition\"in t&&(this.lightPosition=t.lightPosition),this.hasAlpha=!1,\"opacity\"in t&&(this.opacity=t.opacity,this.opacity<1&&(this.hasAlpha=!0)),\"opacityscale\"in t&&(this.opacityscale=t.opacityscale,this.hasAlpha=!0),\"ambient\"in t&&(this.ambientLight=t.ambient),\"diffuse\"in t&&(this.diffuseLight=t.diffuse),\"specular\"in t&&(this.specularLight=t.specular),\"roughness\"in t&&(this.roughness=t.roughness),\"fresnel\"in t&&(this.fresnel=t.fresnel),t.texture?(this.texture.dispose(),this.texture=o(e,t.texture)):t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t,e){for(var r=h({colormap:t,nshades:256,format:\"rgba\"}),n=new Uint8Array(1024),a=0;a<256;++a){for(var i=r[a],o=0;o<3;++o)n[4*a+o]=i[o];n[4*a+3]=e?255*A(a/255,e):255*i[3]}return u(n,[256,256,4],[4,0,1])}(t.colormap,this.opacityscale)),this.texture.generateMipmap());var r=t.cells,n=t.positions;if(n&&r){var a=[],i=[],l=[],c=[],f=[],p=[],d=[],g=[],m=[],v=[],y=[],x=[],b=[],_=[];this.cells=r,this.positions=n;var w=t.vertexNormals,T=t.cellNormals,k=void 0===t.vertexNormalsEpsilon?1e-6:t.vertexNormalsEpsilon,M=void 0===t.faceNormalsEpsilon?1e-6:t.faceNormalsEpsilon;t.useFacetNormals&&!T&&(T=s.faceNormals(r,n,M)),T||w||(w=s.vertexNormals(r,n,k));var S=t.vertexColors,E=t.cellColors,C=t.meshColor||[1,1,1,1],L=t.vertexUVs,P=t.vertexIntensity,I=t.cellUVs,z=t.cellIntensity,O=1/0,D=-1/0;if(!L&&!I)if(P)if(t.vertexIntensityBounds)O=+t.vertexIntensityBounds[0],D=+t.vertexIntensityBounds[1];else for(var R=0;R<P.length;++R){var F=P[R];O=Math.min(O,F),D=Math.max(D,F)}else if(z)if(t.cellIntensityBounds)O=+t.cellIntensityBounds[0],D=+t.cellIntensityBounds[1];else for(R=0;R<z.length;++R){F=z[R];O=Math.min(O,F),D=Math.max(D,F)}else for(R=0;R<n.length;++R){F=n[R][2];O=Math.min(O,F),D=Math.max(D,F)}this.intensity=P||(z||function(t){for(var e=t.length,r=new Array(e),n=0;n<e;++n)r[n]=t[n][2];return r}(n)),this.pickVertex=!(z||E);var B=t.pointSizes,N=t.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(R=0;R<n.length;++R)for(var j=n[R],V=0;V<3;++V)!isNaN(j[V])&&isFinite(j[V])&&(this.bounds[0][V]=Math.min(this.bounds[0][V],j[V]),this.bounds[1][V]=Math.max(this.bounds[1][V],j[V]));var U=0,q=0,H=0;t:for(R=0;R<r.length;++R){var G=r[R];switch(G.length){case 1:for(j=n[W=G[0]],V=0;V<3;++V)if(isNaN(j[V])||!isFinite(j[V]))continue t;v.push(j[0],j[1],j[2]),Z=S?S[W]:E?E[R]:C,this.opacityscale&&P?i.push(Z[0],Z[1],Z[2],this.opacity*A((P[W]-O)/(D-O),this.opacityscale)):3===Z.length?y.push(Z[0],Z[1],Z[2],this.opacity):(y.push(Z[0],Z[1],Z[2],Z[3]*this.opacity),Z[3]<1&&(this.hasAlpha=!0)),X=L?L[W]:P?[(P[W]-O)/(D-O),0]:I?I[R]:z?[(z[R]-O)/(D-O),0]:[(j[2]-O)/(D-O),0],x.push(X[0],X[1]),B?b.push(B[W]):b.push(N),_.push(R),H+=1;break;case 2:for(V=0;V<2;++V){j=n[W=G[V]];for(var Y=0;Y<3;++Y)if(isNaN(j[Y])||!isFinite(j[Y]))continue t}for(V=0;V<2;++V){j=n[W=G[V]];p.push(j[0],j[1],j[2]),Z=S?S[W]:E?E[R]:C,this.opacityscale&&P?i.push(Z[0],Z[1],Z[2],this.opacity*A((P[W]-O)/(D-O),this.opacityscale)):3===Z.length?d.push(Z[0],Z[1],Z[2],this.opacity):(d.push(Z[0],Z[1],Z[2],Z[3]*this.opacity),Z[3]<1&&(this.hasAlpha=!0)),X=L?L[W]:P?[(P[W]-O)/(D-O),0]:I?I[R]:z?[(z[R]-O)/(D-O),0]:[(j[2]-O)/(D-O),0],g.push(X[0],X[1]),m.push(R)}q+=1;break;case 3:for(V=0;V<3;++V)for(j=n[W=G[V]],Y=0;Y<3;++Y)if(isNaN(j[Y])||!isFinite(j[Y]))continue t;for(V=0;V<3;++V){var W,Z,X,J;j=n[W=G[2-V]];a.push(j[0],j[1],j[2]),(Z=S?S[W]:E?E[R]:C)?this.opacityscale&&P?i.push(Z[0],Z[1],Z[2],this.opacity*A((P[W]-O)/(D-O),this.opacityscale)):3===Z.length?i.push(Z[0],Z[1],Z[2],this.opacity):(i.push(Z[0],Z[1],Z[2],Z[3]*this.opacity),Z[3]<1&&(this.hasAlpha=!0)):i.push(.5,.5,.5,1),X=L?L[W]:P?[(P[W]-O)/(D-O),0]:I?I[R]:z?[(z[R]-O)/(D-O),0]:[(j[2]-O)/(D-O),0],c.push(X[0],X[1]),J=w?w[W]:T[R],l.push(J[0],J[1],J[2]),f.push(R)}U+=1}}this.pointCount=H,this.edgeCount=q,this.triangleCount=U,this.pointPositions.update(v),this.pointColors.update(y),this.pointUVs.update(x),this.pointSizes.update(b),this.pointIds.update(new Uint32Array(_)),this.edgePositions.update(p),this.edgeColors.update(d),this.edgeUVs.update(g),this.edgeIds.update(new Uint32Array(m)),this.trianglePositions.update(a),this.triangleColors.update(i),this.triangleUVs.update(c),this.triangleNormals.update(l),this.triangleIds.update(new Uint32Array(f))}},k.drawTransparent=k.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,a=t.projection||w,i=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)i[0][o]=Math.max(i[0][o],this.clipBounds[0][o]),i[1][o]=Math.min(i[1][o],this.clipBounds[1][o]);var s={model:r,view:n,projection:a,inverseModel:w.slice(),clipBounds:i,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],contourColor:this.contourColor,texture:0};s.inverseModel=c(s.inverseModel,s.model),e.disable(e.CULL_FACE),this.texture.bind(0);var u=new Array(16);l(u,s.view,s.model),l(u,s.projection,u),c(u,u);for(o=0;o<3;++o)s.eyePosition[o]=u[12+o]/u[15];var h,f=u[15];for(o=0;o<3;++o)f+=this.lightPosition[o]*u[4*o+3];for(o=0;o<3;++o){for(var p=u[12+o],d=0;d<3;++d)p+=u[4*d+o]*this.lightPosition[d];s.lightPosition[o]=p/f}this.triangleCount>0&&((h=this.triShader).bind(),h.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind());this.edgeCount>0&&this.lineWidth>0&&((h=this.lineShader).bind(),h.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind());this.pointCount>0&&((h=this.pointShader).bind(),h.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind());this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((h=this.contourShader).bind(),h.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},k.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,a=t.projection||w,i=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)i[0][o]=Math.max(i[0][o],this.clipBounds[0][o]),i[1][o]=Math.min(i[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(a),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:a,clipBounds:i,pickId:this.pickId/255};((s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0)&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},k.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;for(var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions,a=new Array(r.length),i=0;i<r.length;++i)a[i]=n[r[i]];var o=t.coord[0],s=t.coord[1];if(!this.pickVertex){var l=this.positions[r[0]],c=this.positions[r[1]],u=this.positions[r[2]],h=[(l[0]+c[0]+u[0])/3,(l[1]+c[1]+u[1])/3,(l[2]+c[2]+u[2])/3];return{_cellCenter:!0,position:[o,s],index:e,cell:r,cellId:e,intensity:this.intensity[e],dataCoordinate:h}}var f=g(a,[o*this.pixelRatio,this._resolution[1]-s*this.pixelRatio],this._model,this._view,this._projection,this._resolution);if(!f)return null;var p=f[2],d=0;for(i=0;i<r.length;++i)d+=p[i]*this.intensity[r[i]];return{position:f[1],index:r[f[0]],cell:r,cellId:e,intensity:d,dataCoordinate:this.positions[r[f[0]]]}},k.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.lineShader.dispose(),this.pointShader.dispose(),this.pickShader.dispose(),this.pointPickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleNormals.dispose(),this.triangleIds.dispose(),this.edgeVAO.dispose(),this.edgePositions.dispose(),this.edgeColors.dispose(),this.edgeUVs.dispose(),this.edgeIds.dispose(),this.pointVAO.dispose(),this.pointPositions.dispose(),this.pointColors.dispose(),this.pointUVs.dispose(),this.pointSizes.dispose(),this.pointIds.dispose(),this.contourVAO.dispose(),this.contourPositions.dispose(),this.contourShader.dispose()},e.exports=function(t,e){1===arguments.length&&(t=(e=t).gl);var r=t.getExtension(\"OES_standard_derivatives\")||t.getExtension(\"MOZ_OES_standard_derivatives\")||t.getExtension(\"WEBKIT_OES_standard_derivatives\");if(!r)throw new Error(\"derivatives not supported\");var n=M(t),s=S(t),l=E(t),c=C(t),h=L(t),f=P(t),p=o(t,u(new Uint8Array([255,255,255,255]),[1,1,4]));p.generateMipmap(),p.minFilter=t.LINEAR_MIPMAP_LINEAR,p.magFilter=t.LINEAR;var d=a(t),g=a(t),m=a(t),v=a(t),y=a(t),x=i(t,[{buffer:d,type:t.FLOAT,size:3},{buffer:y,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:g,type:t.FLOAT,size:4},{buffer:m,type:t.FLOAT,size:2},{buffer:v,type:t.FLOAT,size:3}]),b=a(t),_=a(t),w=a(t),k=a(t),A=i(t,[{buffer:b,type:t.FLOAT,size:3},{buffer:k,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:_,type:t.FLOAT,size:4},{buffer:w,type:t.FLOAT,size:2}]),I=a(t),z=a(t),O=a(t),D=a(t),R=a(t),F=i(t,[{buffer:I,type:t.FLOAT,size:3},{buffer:R,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:z,type:t.FLOAT,size:4},{buffer:O,type:t.FLOAT,size:2},{buffer:D,type:t.FLOAT,size:1}]),B=a(t),N=i(t,[{buffer:B,type:t.FLOAT,size:3}]),j=new T(t,p,n,s,l,c,h,f,d,y,g,m,v,x,b,k,_,w,A,I,R,z,O,D,F,B,N);return j.update(e),j}},{\"./lib/closest-point\":285,\"./lib/shaders\":286,colormap:128,\"gl-buffer\":253,\"gl-mat4/invert\":273,\"gl-mat4/multiply\":275,\"gl-shader\":307,\"gl-texture2d\":322,\"gl-vao\":327,ndarray:448,normals:451,\"simplicial-complex-contour\":508,\"typedarray-pool\":547}],288:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl,r=n(e,[0,0,0,1,1,0,1,1]),s=a(e,i.boxVert,i.lineFrag);return new o(t,r,s)};var n=t(\"gl-buffer\"),a=t(\"gl-shader\"),i=t(\"./shaders\");function o(t,e,r){this.plot=t,this.vbo=e,this.shader=r}var s,l,c=o.prototype;c.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},c.drawBox=(s=[0,0],l=[0,0],function(t,e,r,n,a){var i=this.plot,o=this.shader,c=i.gl;s[0]=t,s[1]=e,l[0]=r,l[1]=n,o.uniforms.lo=s,o.uniforms.hi=l,o.uniforms.color=a,c.drawArrays(c.TRIANGLE_STRIP,0,4)}),c.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{\"./shaders\":291,\"gl-buffer\":253,\"gl-shader\":307}],289:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl,r=n(e),i=a(e,o.gridVert,o.gridFrag),l=a(e,o.tickVert,o.gridFrag);return new s(t,r,i,l)};var n=t(\"gl-buffer\"),a=t(\"gl-shader\"),i=t(\"binary-search-bounds\"),o=t(\"./shaders\");function s(t,e,r,n){this.plot=t,this.vbo=e,this.shader=r,this.tickShader=n,this.ticks=[[],[]]}function l(t,e){return t-e}var c,u,h,f,p,d=s.prototype;d.draw=(c=[0,0],u=[0,0],h=[0,0],function(){for(var t=this.plot,e=this.vbo,r=this.shader,n=this.ticks,a=t.gl,i=t._tickBounds,o=t.dataBox,s=t.viewBox,l=t.gridLineWidth,f=t.gridLineColor,p=t.gridLineEnable,d=t.pixelRatio,g=0;g<2;++g){var m=i[g],v=i[g+2]-m,y=.5*(o[g+2]+o[g]),x=o[g+2]-o[g];u[g]=2*v/x,c[g]=2*(m-y)/x}r.bind(),e.bind(),r.attributes.dataCoord.pointer(),r.uniforms.dataShift=c,r.uniforms.dataScale=u;var b=0;for(g=0;g<2;++g){h[0]=h[1]=0,h[g]=1,r.uniforms.dataAxis=h,r.uniforms.lineWidth=l[g]/(s[g+2]-s[g])*d,r.uniforms.color=f[g];var _=6*n[g].length;p[g]&&_&&a.drawArrays(a.TRIANGLES,b,_),b+=_}}),d.drawTickMarks=function(){var t=[0,0],e=[0,0],r=[1,0],n=[0,1],a=[0,0],o=[0,0];return function(){for(var s=this.plot,c=this.vbo,u=this.tickShader,h=this.ticks,f=s.gl,p=s._tickBounds,d=s.dataBox,g=s.viewBox,m=s.pixelRatio,v=s.screenBox,y=v[2]-v[0],x=v[3]-v[1],b=g[2]-g[0],_=g[3]-g[1],w=0;w<2;++w){var T=p[w],k=p[w+2]-T,A=.5*(d[w+2]+d[w]),M=d[w+2]-d[w];e[w]=2*k/M,t[w]=2*(T-A)/M}e[0]*=b/y,t[0]*=b/y,e[1]*=_/x,t[1]*=_/x,u.bind(),c.bind(),u.attributes.dataCoord.pointer();var S=u.uniforms;S.dataShift=t,S.dataScale=e;var E=s.tickMarkLength,C=s.tickMarkWidth,L=s.tickMarkColor,P=6*h[0].length,I=Math.min(i.ge(h[0],(d[0]-p[0])/(p[2]-p[0]),l),h[0].length),z=Math.min(i.gt(h[0],(d[2]-p[0])/(p[2]-p[0]),l),h[0].length),O=0+6*I,D=6*Math.max(0,z-I),R=Math.min(i.ge(h[1],(d[1]-p[1])/(p[3]-p[1]),l),h[1].length),F=Math.min(i.gt(h[1],(d[3]-p[1])/(p[3]-p[1]),l),h[1].length),B=P+6*R,N=6*Math.max(0,F-R);a[0]=2*(g[0]-E[1])/y-1,a[1]=(g[3]+g[1])/x-1,o[0]=E[1]*m/y,o[1]=C[1]*m/x,N&&(S.color=L[1],S.tickScale=o,S.dataAxis=n,S.screenOffset=a,f.drawArrays(f.TRIANGLES,B,N)),a[0]=(g[2]+g[0])/y-1,a[1]=2*(g[1]-E[0])/x-1,o[0]=C[0]*m/y,o[1]=E[0]*m/x,D&&(S.color=L[0],S.tickScale=o,S.dataAxis=r,S.screenOffset=a,f.drawArrays(f.TRIANGLES,O,D)),a[0]=2*(g[2]+E[3])/y-1,a[1]=(g[3]+g[1])/x-1,o[0]=E[3]*m/y,o[1]=C[3]*m/x,N&&(S.color=L[3],S.tickScale=o,S.dataAxis=n,S.screenOffset=a,f.drawArrays(f.TRIANGLES,B,N)),a[0]=(g[2]+g[0])/y-1,a[1]=2*(g[3]+E[2])/x-1,o[0]=C[2]*m/y,o[1]=E[2]*m/x,D&&(S.color=L[2],S.tickScale=o,S.dataAxis=r,S.screenOffset=a,f.drawArrays(f.TRIANGLES,O,D))}}(),d.update=(f=[1,1,-1,-1,1,-1],p=[1,-1,1,1,-1,-1],function(t){for(var e=t.ticks,r=t.bounds,n=new Float32Array(18*(e[0].length+e[1].length)),a=(this.plot.zeroLineEnable,0),i=[[],[]],o=0;o<2;++o)for(var s=i[o],l=e[o],c=r[o],u=r[o+2],h=0;h<l.length;++h){var d=(l[h].x-c)/(u-c);s.push(d);for(var g=0;g<6;++g)n[a++]=d,n[a++]=f[g],n[a++]=p[g]}this.ticks=i,this.vbo.update(n)}),d.dispose=function(){this.vbo.dispose(),this.shader.dispose(),this.tickShader.dispose()}},{\"./shaders\":291,\"binary-search-bounds\":94,\"gl-buffer\":253,\"gl-shader\":307}],290:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl,r=n(e,[-1,-1,-1,1,1,-1,1,1]),s=a(e,i.lineVert,i.lineFrag);return new o(t,r,s)};var n=t(\"gl-buffer\"),a=t(\"gl-shader\"),i=t(\"./shaders\");function o(t,e,r){this.plot=t,this.vbo=e,this.shader=r}var s,l,c=o.prototype;c.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},c.drawLine=(s=[0,0],l=[0,0],function(t,e,r,n,a,i){var o=this.plot,c=this.shader,u=o.gl;s[0]=t,s[1]=e,l[0]=r,l[1]=n,c.uniforms.start=s,c.uniforms.end=l,c.uniforms.width=a*o.pixelRatio,c.uniforms.color=i,u.drawArrays(u.TRIANGLE_STRIP,0,4)}),c.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{\"./shaders\":291,\"gl-buffer\":253,\"gl-shader\":307}],291:[function(t,e,r){\"use strict\";var n=t(\"glslify\"),a=n([\"precision lowp float;\\n#define GLSLIFY 1\\nuniform vec4 color;\\nvoid main() {\\n  gl_FragColor = vec4(color.xyz * color.w, color.w);\\n}\\n\"]);e.exports={lineVert:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 coord;\\n\\nuniform vec4 screenBox;\\nuniform vec2 start, end;\\nuniform float width;\\n\\nvec2 perp(vec2 v) {\\n  return vec2(v.y, -v.x);\\n}\\n\\nvec2 screen(vec2 v) {\\n  return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\\n}\\n\\nvoid main() {\\n  vec2 delta = normalize(perp(start - end));\\n  vec2 offset = mix(start, end, 0.5 * (coord.y+1.0));\\n  gl_Position = vec4(screen(offset + 0.5 * width * delta * coord.x), 0, 1);\\n}\\n\"]),lineFrag:a,textVert:n([\"#define GLSLIFY 1\\nattribute vec3 textCoordinate;\\n\\nuniform vec2 dataScale, dataShift, dataAxis, screenOffset, textScale;\\nuniform float angle;\\n\\nvoid main() {\\n  float dataOffset  = textCoordinate.z;\\n  vec2 glyphOffset  = textCoordinate.xy;\\n  mat2 glyphMatrix = mat2(cos(angle), sin(angle), -sin(angle), cos(angle));\\n  vec2 screenCoordinate = dataAxis * (dataScale * dataOffset + dataShift) +\\n    glyphMatrix * glyphOffset * textScale + screenOffset;\\n  gl_Position = vec4(screenCoordinate, 0, 1);\\n}\\n\"]),textFrag:a,gridVert:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 dataCoord;\\n\\nuniform vec2 dataAxis, dataShift, dataScale;\\nuniform float lineWidth;\\n\\nvoid main() {\\n  vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\\n  pos += 10.0 * dataCoord.y * vec2(dataAxis.y, -dataAxis.x) + dataCoord.z * lineWidth;\\n  gl_Position = vec4(pos, 0, 1);\\n}\\n\"]),gridFrag:a,boxVert:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 coord;\\n\\nuniform vec4 screenBox;\\nuniform vec2 lo, hi;\\n\\nvec2 screen(vec2 v) {\\n  return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\\n}\\n\\nvoid main() {\\n  gl_Position = vec4(screen(mix(lo, hi, coord)), 0, 1);\\n}\\n\"]),tickVert:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 dataCoord;\\n\\nuniform vec2 dataAxis, dataShift, dataScale, screenOffset, tickScale;\\n\\nvoid main() {\\n  vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\\n  gl_Position = vec4(pos + tickScale*dataCoord.yz + screenOffset, 0, 1);\\n}\\n\"])}},{glslify:408}],292:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl,r=n(e),i=a(e,s.textVert,s.textFrag);return new l(t,r,i)};var n=t(\"gl-buffer\"),a=t(\"gl-shader\"),i=t(\"text-cache\"),o=t(\"binary-search-bounds\"),s=t(\"./shaders\");function l(t,e,r){this.plot=t,this.vbo=e,this.shader=r,this.tickOffset=[[],[]],this.tickX=[[],[]],this.labelOffset=[0,0],this.labelCount=[0,0]}var c,u,h,f,p,d,g=l.prototype;g.drawTicks=(c=[0,0],u=[0,0],h=[0,0],function(t){var e=this.plot,r=this.shader,n=this.tickX[t],a=this.tickOffset[t],i=e.gl,s=e.viewBox,l=e.dataBox,f=e.screenBox,p=e.pixelRatio,d=e.tickEnable,g=e.tickPad,m=e.tickColor,v=e.tickAngle,y=e.labelEnable,x=e.labelPad,b=e.labelColor,_=e.labelAngle,w=this.labelOffset[t],T=this.labelCount[t],k=o.lt(n,l[t]),A=o.le(n,l[t+2]);c[0]=c[1]=0,c[t]=1,u[t]=(s[2+t]+s[t])/(f[2+t]-f[t])-1;var M=2/f[2+(1^t)]-f[1^t];u[1^t]=M*s[1^t]-1,d[t]&&(u[1^t]-=M*p*g[t],k<A&&a[A]>a[k]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=m[t],r.uniforms.angle=v[t],i.drawArrays(i.TRIANGLES,a[k],a[A]-a[k]))),y[t]&&T&&(u[1^t]-=M*p*x[t],r.uniforms.dataAxis=h,r.uniforms.screenOffset=u,r.uniforms.color=b[t],r.uniforms.angle=_[t],i.drawArrays(i.TRIANGLES,w,T)),u[1^t]=M*s[2+(1^t)]-1,d[t+2]&&(u[1^t]+=M*p*g[t+2],k<A&&a[A]>a[k]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=m[t+2],r.uniforms.angle=v[t+2],i.drawArrays(i.TRIANGLES,a[k],a[A]-a[k]))),y[t+2]&&T&&(u[1^t]+=M*p*x[t+2],r.uniforms.dataAxis=h,r.uniforms.screenOffset=u,r.uniforms.color=b[t+2],r.uniforms.angle=_[t+2],i.drawArrays(i.TRIANGLES,w,T))}),g.drawTitle=function(){var t=[0,0],e=[0,0];return function(){var r=this.plot,n=this.shader,a=r.gl,i=r.screenBox,o=r.titleCenter,s=r.titleAngle,l=r.titleColor,c=r.pixelRatio;if(this.titleCount){for(var u=0;u<2;++u)e[u]=2*(o[u]*c-i[u])/(i[2+u]-i[u])-1;n.bind(),n.uniforms.dataAxis=t,n.uniforms.screenOffset=e,n.uniforms.angle=s,n.uniforms.color=l,a.drawArrays(a.TRIANGLES,this.titleOffset,this.titleCount)}}}(),g.bind=(f=[0,0],p=[0,0],d=[0,0],function(){var t=this.plot,e=this.shader,r=t._tickBounds,n=t.dataBox,a=t.screenBox,i=t.viewBox;e.bind();for(var o=0;o<2;++o){var s=r[o],l=r[o+2]-s,c=.5*(n[o+2]+n[o]),u=n[o+2]-n[o],h=i[o],g=i[o+2]-h,m=a[o],v=a[o+2]-m;p[o]=2*l/u*g/v,f[o]=2*(s-c)/u*g/v}d[1]=2*t.pixelRatio/(a[3]-a[1]),d[0]=d[1]*(a[3]-a[1])/(a[2]-a[0]),e.uniforms.dataScale=p,e.uniforms.dataShift=f,e.uniforms.textScale=d,this.vbo.bind(),e.attributes.textCoordinate.pointer()}),g.update=function(t){var e,r,n,a,o,s=[],l=t.ticks,c=t.bounds;for(o=0;o<2;++o){var u=[Math.floor(s.length/3)],h=[-1/0],f=l[o];for(e=0;e<f.length;++e){var p=f[e],d=p.x,g=p.text,m=p.font||\"sans-serif\";a=p.fontSize||12;for(var v=1/(c[o+2]-c[o]),y=c[o],x=g.split(\"\\n\"),b=0;b<x.length;b++)for(n=i(m,x[b]).data,r=0;r<n.length;r+=2)s.push(n[r]*a,-n[r+1]*a-b*a*1.2,(d-y)*v);u.push(Math.floor(s.length/3)),h.push(d)}this.tickOffset[o]=u,this.tickX[o]=h}for(o=0;o<2;++o){for(this.labelOffset[o]=Math.floor(s.length/3),n=i(t.labelFont[o],t.labels[o],{textAlign:\"center\"}).data,a=t.labelSize[o],e=0;e<n.length;e+=2)s.push(n[e]*a,-n[e+1]*a,0);this.labelCount[o]=Math.floor(s.length/3)-this.labelOffset[o]}for(this.titleOffset=Math.floor(s.length/3),n=i(t.titleFont,t.title).data,a=t.titleSize,e=0;e<n.length;e+=2)s.push(n[e]*a,-n[e+1]*a,0);this.titleCount=Math.floor(s.length/3)-this.titleOffset,this.vbo.update(s)},g.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{\"./shaders\":291,\"binary-search-bounds\":94,\"gl-buffer\":253,\"gl-shader\":307,\"text-cache\":527}],293:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl,r=n(e,[e.drawingBufferWidth,e.drawingBufferHeight]),c=new l(e,r);return c.grid=a(c),c.text=i(c),c.line=o(c),c.box=s(c),c.update(t),c};var n=t(\"gl-select-static\"),a=t(\"./lib/grid\"),i=t(\"./lib/text\"),o=t(\"./lib/line\"),s=t(\"./lib/box\");function l(t,e){this.gl=t,this.pickBuffer=e,this.screenBox=[0,0,t.drawingBufferWidth,t.drawingBufferHeight],this.viewBox=[0,0,0,0],this.dataBox=[-10,-10,10,10],this.gridLineEnable=[!0,!0],this.gridLineWidth=[1,1],this.gridLineColor=[[0,0,0,1],[0,0,0,1]],this.pixelRatio=1,this.tickMarkLength=[0,0,0,0],this.tickMarkWidth=[0,0,0,0],this.tickMarkColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[15,15,15,15],this.tickAngle=[0,0,0,0],this.tickEnable=[!0,!0,!0,!0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[15,15,15,15],this.labelAngle=[0,Math.PI/2,0,3*Math.PI/2],this.labelEnable=[!0,!0,!0,!0],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.titleCenter=[0,0],this.titleEnable=!0,this.titleAngle=0,this.titleColor=[0,0,0,1],this.borderColor=[0,0,0,0],this.backgroundColor=[0,0,0,0],this.zeroLineEnable=[!0,!0],this.zeroLineWidth=[4,4],this.zeroLineColor=[[0,0,0,1],[0,0,0,1]],this.borderLineEnable=[!0,!0,!0,!0],this.borderLineWidth=[2,2,2,2],this.borderLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.grid=null,this.text=null,this.line=null,this.box=null,this.objects=[],this.overlays=[],this._tickBounds=[1/0,1/0,-1/0,-1/0],this.static=!1,this.dirty=!1,this.pickDirty=!1,this.pickDelay=120,this.pickRadius=10,this._pickTimeout=null,this._drawPick=this.drawPick.bind(this),this._depthCounter=0}var c=l.prototype;function u(t){for(var e=t.slice(),r=0;r<e.length;++r)e[r]=e[r].slice();return e}function h(t,e){return t.x-e.x}c.setDirty=function(){this.dirty=this.pickDirty=!0},c.setOverlayDirty=function(){this.dirty=!0},c.nextDepthValue=function(){return this._depthCounter++/65536},c.draw=function(){var t=this.gl,e=this.screenBox,r=this.viewBox,n=this.dataBox,a=this.pixelRatio,i=this.grid,o=this.line,s=this.text,l=this.objects;if(this._depthCounter=0,this.pickDirty&&(this._pickTimeout&&clearTimeout(this._pickTimeout),this.pickDirty=!1,this._pickTimeout=setTimeout(this._drawPick,this.pickDelay)),this.dirty){if(this.dirty=!1,t.bindFramebuffer(t.FRAMEBUFFER,null),t.enable(t.SCISSOR_TEST),t.disable(t.DEPTH_TEST),t.depthFunc(t.LESS),t.depthMask(!1),t.enable(t.BLEND),t.blendEquation(t.FUNC_ADD,t.FUNC_ADD),t.blendFunc(t.ONE,t.ONE_MINUS_SRC_ALPHA),this.borderColor){t.scissor(e[0],e[1],e[2]-e[0],e[3]-e[1]);var c=this.borderColor;t.clearColor(c[0]*c[3],c[1]*c[3],c[2]*c[3],c[3]),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT)}t.scissor(r[0],r[1],r[2]-r[0],r[3]-r[1]),t.viewport(r[0],r[1],r[2]-r[0],r[3]-r[1]);var u=this.backgroundColor;t.clearColor(u[0]*u[3],u[1]*u[3],u[2]*u[3],u[3]),t.clear(t.COLOR_BUFFER_BIT),i.draw();var h=this.zeroLineEnable,f=this.zeroLineColor,p=this.zeroLineWidth;if(h[0]||h[1]){o.bind();for(var d=0;d<2;++d)if(h[d]&&n[d]<=0&&n[d+2]>=0){var g=e[d]-n[d]*(e[d+2]-e[d])/(n[d+2]-n[d]);0===d?o.drawLine(g,e[1],g,e[3],p[d],f[d]):o.drawLine(e[0],g,e[2],g,p[d],f[d])}}for(d=0;d<l.length;++d)l[d].draw();t.viewport(e[0],e[1],e[2]-e[0],e[3]-e[1]),t.scissor(e[0],e[1],e[2]-e[0],e[3]-e[1]),this.grid.drawTickMarks(),o.bind();var m=this.borderLineEnable,v=this.borderLineWidth,y=this.borderLineColor;for(m[1]&&o.drawLine(r[0],r[1]-.5*v[1]*a,r[0],r[3]+.5*v[3]*a,v[1],y[1]),m[0]&&o.drawLine(r[0]-.5*v[0]*a,r[1],r[2]+.5*v[2]*a,r[1],v[0],y[0]),m[3]&&o.drawLine(r[2],r[1]-.5*v[1]*a,r[2],r[3]+.5*v[3]*a,v[3],y[3]),m[2]&&o.drawLine(r[0]-.5*v[0]*a,r[3],r[2]+.5*v[2]*a,r[3],v[2],y[2]),s.bind(),d=0;d<2;++d)s.drawTicks(d);this.titleEnable&&s.drawTitle();var x=this.overlays;for(d=0;d<x.length;++d)x[d].draw();t.disable(t.SCISSOR_TEST),t.disable(t.BLEND),t.depthMask(!0)}},c.drawPick=function(){if(!this.static){var t=this.pickBuffer;this.gl,this._pickTimeout=null,t.begin();for(var e=1,r=this.objects,n=0;n<r.length;++n)e=r[n].drawPick(e);t.end()}},c.pick=function(t,e){if(!this.static){var r=this.pixelRatio,n=this.pickPixelRatio,a=this.viewBox,i=0|Math.round((t-a[0]/r)*n),o=0|Math.round((e-a[1]/r)*n),s=this.pickBuffer.query(i,o,this.pickRadius);if(!s)return null;for(var l=s.id+(s.value[0]<<8)+(s.value[1]<<16)+(s.value[2]<<24),c=this.objects,u=0;u<c.length;++u){var h=c[u].pick(i,o,l);if(h)return h}return null}},c.setScreenBox=function(t){var e=this.screenBox,r=this.pixelRatio;e[0]=0|Math.round(t[0]*r),e[1]=0|Math.round(t[1]*r),e[2]=0|Math.round(t[2]*r),e[3]=0|Math.round(t[3]*r),this.setDirty()},c.setDataBox=function(t){var e=this.dataBox;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3])&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],this.setDirty())},c.setViewBox=function(t){var e=this.pixelRatio,r=this.viewBox;r[0]=0|Math.round(t[0]*e),r[1]=0|Math.round(t[1]*e),r[2]=0|Math.round(t[2]*e),r[3]=0|Math.round(t[3]*e);var n=this.pickPixelRatio;this.pickBuffer.shape=[0|Math.round((t[2]-t[0])*n),0|Math.round((t[3]-t[1])*n)],this.setDirty()},c.update=function(t){t=t||{};var e=this.gl;this.pixelRatio=t.pixelRatio||1;var r=this.pixelRatio;this.pickPixelRatio=Math.max(r,1),this.setScreenBox(t.screenBox||[0,0,e.drawingBufferWidth/r,e.drawingBufferHeight/r]);this.screenBox;this.setViewBox(t.viewBox||[.125*(this.screenBox[2]-this.screenBox[0])/r,.125*(this.screenBox[3]-this.screenBox[1])/r,.875*(this.screenBox[2]-this.screenBox[0])/r,.875*(this.screenBox[3]-this.screenBox[1])/r]);var n=this.viewBox,a=(n[2]-n[0])/(n[3]-n[1]);this.setDataBox(t.dataBox||[-10,-10/a,10,10/a]),this.borderColor=!1!==t.borderColor&&(t.borderColor||[0,0,0,0]).slice(),this.backgroundColor=(t.backgroundColor||[0,0,0,0]).slice(),this.gridLineEnable=(t.gridLineEnable||[!0,!0]).slice(),this.gridLineWidth=(t.gridLineWidth||[1,1]).slice(),this.gridLineColor=u(t.gridLineColor||[[.5,.5,.5,1],[.5,.5,.5,1]]),this.zeroLineEnable=(t.zeroLineEnable||[!0,!0]).slice(),this.zeroLineWidth=(t.zeroLineWidth||[4,4]).slice(),this.zeroLineColor=u(t.zeroLineColor||[[0,0,0,1],[0,0,0,1]]),this.tickMarkLength=(t.tickMarkLength||[0,0,0,0]).slice(),this.tickMarkWidth=(t.tickMarkWidth||[0,0,0,0]).slice(),this.tickMarkColor=u(t.tickMarkColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.titleCenter=(t.titleCenter||[.5*(n[0]+n[2])/r,(n[3]+120)/r]).slice(),this.titleEnable=!(\"titleEnable\"in t)||!!t.titleEnable,this.titleAngle=t.titleAngle||0,this.titleColor=(t.titleColor||[0,0,0,1]).slice(),this.labelPad=(t.labelPad||[15,15,15,15]).slice(),this.labelAngle=(t.labelAngle||[0,Math.PI/2,0,3*Math.PI/2]).slice(),this.labelEnable=(t.labelEnable||[!0,!0,!0,!0]).slice(),this.labelColor=u(t.labelColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.tickPad=(t.tickPad||[15,15,15,15]).slice(),this.tickAngle=(t.tickAngle||[0,0,0,0]).slice(),this.tickEnable=(t.tickEnable||[!0,!0,!0,!0]).slice(),this.tickColor=u(t.tickColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.borderLineEnable=(t.borderLineEnable||[!0,!0,!0,!0]).slice(),this.borderLineWidth=(t.borderLineWidth||[2,2,2,2]).slice(),this.borderLineColor=u(t.borderLineColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]);var i=t.ticks||[[],[]],o=this._tickBounds;o[0]=o[1]=1/0,o[2]=o[3]=-1/0;for(var s=0;s<2;++s){var l=i[s].slice(0);0!==l.length&&(l.sort(h),o[s]=Math.min(o[s],l[0].x),o[s+2]=Math.max(o[s+2],l[l.length-1].x))}this.grid.update({bounds:o,ticks:i}),this.text.update({bounds:o,ticks:i,labels:t.labels||[\"x\",\"y\"],labelSize:t.labelSize||[12,12],labelFont:t.labelFont||[\"sans-serif\",\"sans-serif\"],title:t.title||\"\",titleSize:t.titleSize||18,titleFont:t.titleFont||\"sans-serif\"}),this.static=!!t.static,this.setDirty()},c.dispose=function(){this.box.dispose(),this.grid.dispose(),this.text.dispose(),this.line.dispose();for(var t=this.objects.length-1;t>=0;--t)this.objects[t].dispose();this.objects.length=0;for(t=this.overlays.length-1;t>=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},c.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},c.removeObject=function(t){for(var e=this.objects,r=0;r<e.length;++r)if(e[r]===t){e.splice(r,1),this.setDirty();break}},c.addOverlay=function(t){this.overlays.indexOf(t)<0&&(this.overlays.push(t),this.setOverlayDirty())},c.removeOverlay=function(t){for(var e=this.overlays,r=0;r<e.length;++r)if(e[r]===t){e.splice(r,1),this.setOverlayDirty();break}}},{\"./lib/box\":288,\"./lib/grid\":289,\"./lib/line\":290,\"./lib/text\":292,\"gl-select-static\":306}],294:[function(t,e,r){\"use strict\";e.exports=function(t,e){t=t||document.body,e=e||{};var r=[.01,1/0];\"distanceLimits\"in e&&(r[0]=e.distanceLimits[0],r[1]=e.distanceLimits[1]);\"zoomMin\"in e&&(r[0]=e.zoomMin);\"zoomMax\"in e&&(r[1]=e.zoomMax);var c=a({center:e.center||[0,0,0],up:e.up||[0,1,0],eye:e.eye||[0,0,10],mode:e.mode||\"orbit\",distanceLimits:r}),u=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],h=0,f=t.clientWidth,p=t.clientHeight,d={keyBindingMode:\"rotate\",enableWheel:!0,view:c,element:t,delay:e.delay||16,rotateSpeed:e.rotateSpeed||1,zoomSpeed:e.zoomSpeed||1,translateSpeed:e.translateSpeed||1,flipX:!!e.flipX,flipY:!!e.flipY,modes:c.modes,_ortho:e._ortho||e.projection&&\"orthographic\"===e.projection.type||!1,tick:function(){var e=n(),r=this.delay,a=e-2*r;c.idle(e-r),c.recalcMatrix(a),c.flush(e-(100+2*r));for(var i=!0,o=c.computedMatrix,s=0;s<16;++s)i=i&&u[s]===o[s],u[s]=o[s];var l=t.clientWidth===f&&t.clientHeight===p;return f=t.clientWidth,p=t.clientHeight,i?!l:(h=Math.exp(c.computedRadius[0]),!0)},lookAt:function(t,e,r){c.lookAt(c.lastT(),t,e,r)},rotate:function(t,e,r){c.rotate(c.lastT(),t,e,r)},pan:function(t,e,r){c.pan(c.lastT(),t,e,r)},translate:function(t,e,r){c.translate(c.lastT(),t,e,r)}};return Object.defineProperties(d,{matrix:{get:function(){return c.computedMatrix},set:function(t){return c.setMatrix(c.lastT(),t),c.computedMatrix},enumerable:!0},mode:{get:function(){return c.getMode()},set:function(t){var e=c.computedUp.slice(),r=c.computedEye.slice(),a=c.computedCenter.slice();if(c.setMode(t),\"turntable\"===t){var i=n();c._active.lookAt(i,r,a,e),c._active.lookAt(i+500,r,a,[0,0,1]),c._active.flush(i)}return c.getMode()},enumerable:!0},center:{get:function(){return c.computedCenter},set:function(t){return c.lookAt(c.lastT(),null,t),c.computedCenter},enumerable:!0},eye:{get:function(){return c.computedEye},set:function(t){return c.lookAt(c.lastT(),t),c.computedEye},enumerable:!0},up:{get:function(){return c.computedUp},set:function(t){return c.lookAt(c.lastT(),null,null,t),c.computedUp},enumerable:!0},distance:{get:function(){return h},set:function(t){return c.setDistance(c.lastT(),t),t},enumerable:!0},distanceLimits:{get:function(){return c.getDistanceLimits(r)},set:function(t){return c.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener(\"contextmenu\",(function(t){return t.preventDefault(),!1})),d._lastX=-1,d._lastY=-1,d._lastMods={shift:!1,control:!1,alt:!1,meta:!1},d.enableMouseListeners=function(){function e(e,r,a,i){var o=d.keyBindingMode;if(!1!==o){var s=\"rotate\"===o,l=\"pan\"===o,u=\"zoom\"===o,f=!!i.control,p=!!i.alt,g=!!i.shift,m=!!(1&e),v=!!(2&e),y=!!(4&e),x=1/t.clientHeight,b=x*(r-d._lastX),_=x*(a-d._lastY),w=d.flipX?1:-1,T=d.flipY?1:-1,k=Math.PI*d.rotateSpeed,A=n();if(-1!==d._lastX&&-1!==d._lastY&&((s&&m&&!f&&!p&&!g||m&&!f&&!p&&g)&&c.rotate(A,w*k*b,-T*k*_,0),(l&&m&&!f&&!p&&!g||v||m&&f&&!p&&!g)&&c.pan(A,-d.translateSpeed*b*h,d.translateSpeed*_*h,0),u&&m&&!f&&!p&&!g||y||m&&!f&&p&&!g)){var M=-d.zoomSpeed*_/window.innerHeight*(A-c.lastT())*100;c.pan(A,0,0,h*(Math.exp(M)-1))}return d._lastX=r,d._lastY=a,d._lastMods=i,!0}}d.mouseListener=i(t,e),t.addEventListener(\"touchstart\",(function(r){var n=s(r.changedTouches[0],t);e(0,n[0],n[1],d._lastMods),e(1,n[0],n[1],d._lastMods),r.preventDefault()}),!!l&&{passive:!1}),t.addEventListener(\"touchmove\",(function(r){var n=s(r.changedTouches[0],t);e(1,n[0],n[1],d._lastMods),r.preventDefault()}),!!l&&{passive:!1}),t.addEventListener(\"touchend\",(function(t){e(0,d._lastX,d._lastY,d._lastMods),t.preventDefault()}),!!l&&{passive:!1}),d.wheelListener=o(t,(function(t,e){if(!1!==d.keyBindingMode&&d.enableWheel){var r=d.flipX?1:-1,a=d.flipY?1:-1,i=n();if(Math.abs(t)>Math.abs(e))c.rotate(i,0,0,-t*r*Math.PI*d.rotateSpeed/window.innerWidth);else if(!d._ortho){var o=-d.zoomSpeed*a*e/window.innerHeight*(i-c.lastT())/20;c.pan(i,0,0,h*(Math.exp(o)-1))}}}),!0)},d.enableMouseListeners(),d};var n=t(\"right-now\"),a=t(\"3d-view\"),i=t(\"mouse-change\"),o=t(\"mouse-wheel\"),s=t(\"mouse-event-offset\"),l=t(\"has-passive-events\")},{\"3d-view\":54,\"has-passive-events\":410,\"mouse-change\":436,\"mouse-event-offset\":437,\"mouse-wheel\":439,\"right-now\":494}],295:[function(t,e,r){var n=t(\"glslify\"),a=t(\"gl-shader\"),i=n([\"precision mediump float;\\n#define GLSLIFY 1\\nattribute vec2 position;\\nvarying vec2 uv;\\nvoid main() {\\n  uv = position;\\n  gl_Position = vec4(position, 0, 1);\\n}\"]),o=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D accumBuffer;\\nvarying vec2 uv;\\n\\nvoid main() {\\n  vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\\n  gl_FragColor = min(vec4(1,1,1,1), accum);\\n}\"]);e.exports=function(t){return a(t,i,o,null,[{name:\"position\",type:\"vec2\"}])}},{\"gl-shader\":307,glslify:408}],296:[function(t,e,r){\"use strict\";var n=t(\"./camera.js\"),a=t(\"gl-axes3d\"),i=t(\"gl-axes3d/properties\"),o=t(\"gl-spikes3d\"),s=t(\"gl-select-static\"),l=t(\"gl-fbo\"),c=t(\"a-big-triangle\"),u=t(\"mouse-change\"),h=t(\"gl-mat4/perspective\"),f=t(\"gl-mat4/ortho\"),p=t(\"./lib/shader\"),d=t(\"is-mobile\")({tablet:!0,featureDetect:!0});function g(){this.mouse=[-1,-1],this.screen=null,this.distance=1/0,this.index=null,this.dataCoordinate=null,this.dataPosition=null,this.object=null,this.data=null}function m(t){var e=Math.round(Math.log(Math.abs(t))/Math.log(10));if(e<0){var r=Math.round(Math.pow(10,-e));return Math.ceil(t*r)/r}if(e>0){r=Math.round(Math.pow(10,e));return Math.ceil(t/r)*r}return Math.ceil(t)}function v(t){return\"boolean\"!=typeof t||t}e.exports={createScene:function(t){(t=t||{}).camera=t.camera||{};var e=t.canvas;if(!e){if(e=document.createElement(\"canvas\"),t.container)t.container.appendChild(e);else document.body.appendChild(e)}var r=t.gl;r||(t.glOptions&&(d=!!t.glOptions.preserveDrawingBuffer),r=function(t,e){var r=null;try{(r=t.getContext(\"webgl\",e))||(r=t.getContext(\"experimental-webgl\",e))}catch(t){return null}return r}(e,t.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:d}));if(!r)throw new Error(\"webgl not supported\");var y=t.bounds||[[-10,-10,-10],[10,10,10]],x=new g,b=l(r,r.drawingBufferWidth,r.drawingBufferHeight,{preferFloat:!d}),_=p(r),w=t.cameraObject&&!0===t.cameraObject._ortho||t.camera.projection&&\"orthographic\"===t.camera.projection.type||!1,T={eye:t.camera.eye||[2,0,0],center:t.camera.center||[0,0,0],up:t.camera.up||[0,1,0],zoomMin:t.camera.zoomMax||.1,zoomMax:t.camera.zoomMin||100,mode:t.camera.mode||\"turntable\",_ortho:w},k=t.axes||{},A=a(r,k);A.enable=!k.disable;var M=t.spikes||{},S=o(r,M),E=[],C=[],L=[],P=[],I=!0,z=!0,O=new Array(16),D=new Array(16),R={view:null,projection:O,model:D,_ortho:!1},F=(z=!0,[r.drawingBufferWidth,r.drawingBufferHeight]),B=t.cameraObject||n(e,T),N={gl:r,contextLost:!1,pixelRatio:t.pixelRatio||1,canvas:e,selection:x,camera:B,axes:A,axesPixels:null,spikes:S,bounds:y,objects:E,shape:F,aspect:t.aspectRatio||[1,1,1],pickRadius:t.pickRadius||10,zNear:t.zNear||.01,zFar:t.zFar||1e3,fovy:t.fovy||Math.PI/4,clearColor:t.clearColor||[0,0,0,0],autoResize:v(t.autoResize),autoBounds:v(t.autoBounds),autoScale:!!t.autoScale,autoCenter:v(t.autoCenter),clipToBounds:v(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:R,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(t){this.aspect[0]=t.x,this.aspect[1]=t.y,this.aspect[2]=t.z,z=!0},setBounds:function(t,e){this.bounds[0][t]=e.min,this.bounds[1][t]=e.max},setClearColor:function(t){this.clearColor=t},clearRGBA:function(){this.gl.clearColor(this.clearColor[0],this.clearColor[1],this.clearColor[2],this.clearColor[3]),this.gl.clear(this.gl.COLOR_BUFFER_BIT|this.gl.DEPTH_BUFFER_BIT)}},j=[r.drawingBufferWidth/N.pixelRatio|0,r.drawingBufferHeight/N.pixelRatio|0];function V(){if(!N._stopped&&N.autoResize){var t=e.parentNode,r=1,n=1;t&&t!==document.body?(r=t.clientWidth,n=t.clientHeight):(r=window.innerWidth,n=window.innerHeight);var a=0|Math.ceil(r*N.pixelRatio),i=0|Math.ceil(n*N.pixelRatio);if(a!==e.width||i!==e.height){e.width=a,e.height=i;var o=e.style;o.position=o.position||\"absolute\",o.left=\"0px\",o.top=\"0px\",o.width=r+\"px\",o.height=n+\"px\",I=!0}}}N.autoResize&&V();function U(){for(var t=E.length,e=P.length,n=0;n<e;++n)L[n]=0;t:for(n=0;n<t;++n){var a=E[n],i=a.pickSlots;if(i){for(var o=0;o<e;++o)if(L[o]+i<255){C[n]=o,a.setPickBase(L[o]+1),L[o]+=i;continue t}var l=s(r,F);C[n]=e,P.push(l),L.push(i),a.setPickBase(1),e+=1}else C[n]=-1}for(;e>0&&0===L[e-1];)L.pop(),P.pop().dispose()}function q(){if(N.contextLost)return!0;r.isContextLost()&&(N.contextLost=!0,N.mouseListener.enabled=!1,N.selection.object=null,N.oncontextloss&&N.oncontextloss())}window.addEventListener(\"resize\",V),N.update=function(t){N._stopped||(t=t||{},I=!0,z=!0)},N.add=function(t){N._stopped||(t.axes=A,E.push(t),C.push(-1),I=!0,z=!0,U())},N.remove=function(t){if(!N._stopped){var e=E.indexOf(t);e<0||(E.splice(e,1),C.pop(),I=!0,z=!0,U())}},N.dispose=function(){if(!N._stopped&&(N._stopped=!0,window.removeEventListener(\"resize\",V),e.removeEventListener(\"webglcontextlost\",q),N.mouseListener.enabled=!1,!N.contextLost)){A.dispose(),S.dispose();for(var t=0;t<E.length;++t)E[t].dispose();b.dispose();for(t=0;t<P.length;++t)P[t].dispose();_.dispose(),r=null,A=null,S=null,E=[]}},N._mouseRotating=!1,N._prevButtons=0,N.enableMouseListeners=function(){N.mouseListener=u(e,(function(t,e,r){if(!N._stopped){var n=P.length,a=E.length,i=x.object;x.distance=1/0,x.mouse[0]=e,x.mouse[1]=r,x.object=null,x.screen=null,x.dataCoordinate=x.dataPosition=null;var o=!1;if(t&&N._prevButtons)N._mouseRotating=!0;else{N._mouseRotating&&(z=!0),N._mouseRotating=!1;for(var s=0;s<n;++s){var l=P[s].query(e,j[1]-r-1,N.pickRadius);if(l){if(l.distance>x.distance)continue;for(var c=0;c<a;++c){var u=E[c];if(C[c]===s){var h=u.pick(l);h&&(x.buttons=t,x.screen=l.coord,x.distance=l.distance,x.object=u,x.index=h.distance,x.dataPosition=h.position,x.dataCoordinate=h.dataCoordinate,x.data=h,o=!0)}}}}}i&&i!==x.object&&(i.highlight&&i.highlight(null),I=!0),x.object&&(x.object.highlight&&x.object.highlight(x.data),I=!0),(o=o||x.object!==i)&&N.onselect&&N.onselect(x),1&t&&!(1&N._prevButtons)&&N.onclick&&N.onclick(x),N._prevButtons=t}}))},e.addEventListener(\"webglcontextlost\",q);var H=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],G=[H[0].slice(),H[1].slice()];function Y(){if(!q()){V();var t=N.camera.tick();R.view=N.camera.matrix,I=I||t,z=z||t,A.pixelRatio=N.pixelRatio,S.pixelRatio=N.pixelRatio;var e=E.length,n=H[0],a=H[1];n[0]=n[1]=n[2]=1/0,a[0]=a[1]=a[2]=-1/0;for(var o=0;o<e;++o){(L=E[o]).pixelRatio=N.pixelRatio,L.axes=N.axes,I=I||!!L.dirty,z=z||!!L.dirty;var s=L.bounds;if(s)for(var l=s[0],u=s[1],p=0;p<3;++p)n[p]=Math.min(n[p],l[p]),a[p]=Math.max(a[p],u[p])}var d=N.bounds;if(N.autoBounds)for(p=0;p<3;++p){if(a[p]<n[p])n[p]=-1,a[p]=1;else{n[p]===a[p]&&(n[p]-=1,a[p]+=1);var g=.05*(a[p]-n[p]);n[p]=n[p]-g,a[p]=a[p]+g}d[0][p]=n[p],d[1][p]=a[p]}var v=!1;for(p=0;p<3;++p)v=v||G[0][p]!==d[0][p]||G[1][p]!==d[1][p],G[0][p]=d[0][p],G[1][p]=d[1][p];if(z=z||v,I=I||v){if(v){var y=[0,0,0];for(o=0;o<3;++o)y[o]=m((d[1][o]-d[0][o])/10);A.autoTicks?A.update({bounds:d,tickSpacing:y}):A.update({bounds:d})}var T=r.drawingBufferWidth,k=r.drawingBufferHeight;F[0]=T,F[1]=k,j[0]=0|Math.max(T/N.pixelRatio,1),j[1]=0|Math.max(k/N.pixelRatio,1),function(t,e){var r=t.bounds,n=t.cameraParams,a=n.projection,i=n.model,o=t.gl.drawingBufferWidth,s=t.gl.drawingBufferHeight,l=t.zNear,c=t.zFar,u=t.fovy,p=o/s;e?(f(a,-p,p,-1,1,l,c),n._ortho=!0):(h(a,u,p,l,c),n._ortho=!1);for(var d=0;d<16;++d)i[d]=0;i[15]=1;var g=0;for(d=0;d<3;++d)g=Math.max(g,r[1][d]-r[0][d]);for(d=0;d<3;++d)t.autoScale?i[5*d]=t.aspect[d]/(r[1][d]-r[0][d]):i[5*d]=1/g,t.autoCenter&&(i[12+d]=.5*-i[5*d]*(r[0][d]+r[1][d]))}(N,w);for(o=0;o<e;++o){(L=E[o]).axesBounds=d,N.clipToBounds&&(L.clipBounds=d)}x.object&&(N.snapToData?S.position=x.dataCoordinate:S.position=x.dataPosition,S.bounds=d),z&&(z=!1,function(){if(!q()){r.colorMask(!0,!0,!0,!0),r.depthMask(!0),r.disable(r.BLEND),r.enable(r.DEPTH_TEST),r.depthFunc(r.LEQUAL);for(var t=E.length,e=P.length,n=0;n<e;++n){var a=P[n];a.shape=j,a.begin();for(var i=0;i<t;++i)if(C[i]===n){var o=E[i];o.drawPick&&(o.pixelRatio=1,o.drawPick(R))}a.end()}}}()),N.axesPixels=i(N.axes,R,T,k),N.onrender&&N.onrender(),r.bindFramebuffer(r.FRAMEBUFFER,null),r.viewport(0,0,T,k),N.clearRGBA(),r.depthMask(!0),r.colorMask(!0,!0,!0,!0),r.enable(r.DEPTH_TEST),r.depthFunc(r.LEQUAL),r.disable(r.BLEND),r.disable(r.CULL_FACE);var M=!1;A.enable&&(M=M||A.isTransparent(),A.draw(R)),S.axes=A,x.object&&S.draw(R),r.disable(r.CULL_FACE);for(o=0;o<e;++o){(L=E[o]).axes=A,L.pixelRatio=N.pixelRatio,L.isOpaque&&L.isOpaque()&&L.draw(R),L.isTransparent&&L.isTransparent()&&(M=!0)}if(M){b.shape=F,b.bind(),r.clear(r.DEPTH_BUFFER_BIT),r.colorMask(!1,!1,!1,!1),r.depthMask(!0),r.depthFunc(r.LESS),A.enable&&A.isTransparent()&&A.drawTransparent(R);for(o=0;o<e;++o){(L=E[o]).isOpaque&&L.isOpaque()&&L.draw(R)}r.enable(r.BLEND),r.blendEquation(r.FUNC_ADD),r.blendFunc(r.ONE,r.ONE_MINUS_SRC_ALPHA),r.colorMask(!0,!0,!0,!0),r.depthMask(!1),r.clearColor(0,0,0,0),r.clear(r.COLOR_BUFFER_BIT),A.isTransparent()&&A.drawTransparent(R);for(o=0;o<e;++o){var L;(L=E[o]).isTransparent&&L.isTransparent()&&L.drawTransparent(R)}r.bindFramebuffer(r.FRAMEBUFFER,null),r.blendFunc(r.ONE,r.ONE_MINUS_SRC_ALPHA),r.disable(r.DEPTH_TEST),_.bind(),b.color[0].bind(0),_.uniforms.accumBuffer=0,c(r),r.disable(r.BLEND)}I=!1;for(o=0;o<e;++o)E[o].dirty=!1}}}return N.enableMouseListeners(),function t(){if(N._stopped||N.contextLost)return;Y(),requestAnimationFrame(t)}(),N.redraw=function(){N._stopped||(I=!0,Y())},N},createCamera:n}},{\"./camera.js\":294,\"./lib/shader\":295,\"a-big-triangle\":62,\"gl-axes3d\":245,\"gl-axes3d/properties\":252,\"gl-fbo\":261,\"gl-mat4/ortho\":276,\"gl-mat4/perspective\":277,\"gl-select-static\":306,\"gl-spikes3d\":316,\"is-mobile\":420,\"mouse-change\":436}],297:[function(t,e,r){var n=t(\"glslify\");r.pointVertex=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position;\\n\\nuniform mat3 matrix;\\nuniform float pointSize;\\nuniform float pointCloud;\\n\\nhighp float rand(vec2 co) {\\n  highp float a = 12.9898;\\n  highp float b = 78.233;\\n  highp float c = 43758.5453;\\n  highp float d = dot(co.xy, vec2(a, b));\\n  highp float e = mod(d, 3.14);\\n  return fract(sin(e) * c);\\n}\\n\\nvoid main() {\\n  vec3 hgPosition = matrix * vec3(position, 1);\\n  gl_Position  = vec4(hgPosition.xy, 0, hgPosition.z);\\n    // if we don't jitter the point size a bit, overall point cloud\\n    // saturation 'jumps' on zooming, which is disturbing and confusing\\n  gl_PointSize = pointSize * ((19.5 + rand(position)) / 20.0);\\n  if(pointCloud != 0.0) { // pointCloud is truthy\\n    // get the same square surface as circle would be\\n    gl_PointSize *= 0.886;\\n  }\\n}\"]),r.pointFragment=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color, borderColor;\\nuniform float centerFraction;\\nuniform float pointCloud;\\n\\nvoid main() {\\n  float radius;\\n  vec4 baseColor;\\n  if(pointCloud != 0.0) { // pointCloud is truthy\\n    if(centerFraction == 1.0) {\\n      gl_FragColor = color;\\n    } else {\\n      gl_FragColor = mix(borderColor, color, centerFraction);\\n    }\\n  } else {\\n    radius = length(2.0 * gl_PointCoord.xy - 1.0);\\n    if(radius > 1.0) {\\n      discard;\\n    }\\n    baseColor = mix(borderColor, color, step(radius, centerFraction));\\n    gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a);\\n  }\\n}\\n\"]),r.pickVertex=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position;\\nattribute vec4 pickId;\\n\\nuniform mat3 matrix;\\nuniform float pointSize;\\nuniform vec4 pickOffset;\\n\\nvarying vec4 fragId;\\n\\nvoid main() {\\n  vec3 hgPosition = matrix * vec3(position, 1);\\n  gl_Position  = vec4(hgPosition.xy, 0, hgPosition.z);\\n  gl_PointSize = pointSize;\\n\\n  vec4 id = pickId + pickOffset;\\n  id.y += floor(id.x / 256.0);\\n  id.x -= floor(id.x / 256.0) * 256.0;\\n\\n  id.z += floor(id.y / 256.0);\\n  id.y -= floor(id.y / 256.0) * 256.0;\\n\\n  id.w += floor(id.z / 256.0);\\n  id.z -= floor(id.z / 256.0) * 256.0;\\n\\n  fragId = id;\\n}\\n\"]),r.pickFragment=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragId;\\n\\nvoid main() {\\n  float radius = length(2.0 * gl_PointCoord.xy - 1.0);\\n  if(radius > 1.0) {\\n    discard;\\n  }\\n  gl_FragColor = fragId / 255.0;\\n}\\n\"])},{glslify:408}],298:[function(t,e,r){\"use strict\";var n=t(\"gl-shader\"),a=t(\"gl-buffer\"),i=t(\"typedarray-pool\"),o=t(\"./lib/shader\");function s(t,e,r,n,a){this.plot=t,this.offsetBuffer=e,this.pickBuffer=r,this.shader=n,this.pickShader=a,this.sizeMin=.5,this.sizeMinCap=2,this.sizeMax=20,this.areaRatio=1,this.pointCount=0,this.color=[1,0,0,1],this.borderColor=[0,0,0,1],this.blend=!1,this.pickOffset=0,this.points=null}e.exports=function(t,e){var r=t.gl,i=a(r),l=a(r),c=n(r,o.pointVertex,o.pointFragment),u=n(r,o.pickVertex,o.pickFragment),h=new s(t,i,l,c,u);return h.update(e),t.addObject(h),h};var l,c,u=s.prototype;u.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},u.update=function(t){var e;function r(e,r){return e in t?t[e]:r}t=t||{},this.sizeMin=r(\"sizeMin\",.5),this.sizeMax=r(\"sizeMax\",20),this.color=r(\"color\",[1,0,0,1]).slice(),this.areaRatio=r(\"areaRatio\",1),this.borderColor=r(\"borderColor\",[0,0,0,1]).slice(),this.blend=r(\"blend\",!1);var n=t.positions.length>>>1,a=t.positions instanceof Float32Array,o=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,s=t.positions,l=a?s:i.mallocFloat32(s.length),c=o?t.idToIndex:i.mallocInt32(n);if(a||l.set(s),!o)for(l.set(s),e=0;e<n;e++)c[e]=e;this.points=s,this.offsetBuffer.update(l),this.pickBuffer.update(c),a||i.free(l),o||i.free(c),this.pointCount=n,this.pickOffset=0},u.unifiedDraw=(l=[1,0,0,0,1,0,0,0,1],c=[0,0,0,0],function(t){var e=void 0!==t,r=e?this.pickShader:this.shader,n=this.plot.gl,a=this.plot.dataBox;if(0===this.pointCount)return t;var i=a[2]-a[0],o=a[3]-a[1],s=function(t,e){var r,n=0,a=t.length>>>1;for(r=0;r<a;r++){var i=t[2*r],o=t[2*r+1];i>=e[0]&&i<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}(this.points,a),u=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(s,.33333)));l[0]=2/i,l[4]=2/o,l[6]=-2*a[0]/i-1,l[7]=-2*a[1]/o-1,this.offsetBuffer.bind(),r.bind(),r.attributes.position.pointer(),r.uniforms.matrix=l,r.uniforms.color=this.color,r.uniforms.borderColor=this.borderColor,r.uniforms.pointCloud=u<5,r.uniforms.pointSize=u,r.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),e&&(c[0]=255&t,c[1]=t>>8&255,c[2]=t>>16&255,c[3]=t>>24&255,this.pickBuffer.bind(),r.attributes.pickId.pointer(n.UNSIGNED_BYTE),r.uniforms.pickOffset=c,this.pickOffset=t);var h=n.getParameter(n.BLEND),f=n.getParameter(n.DITHER);return h&&!this.blend&&n.disable(n.BLEND),f&&n.disable(n.DITHER),n.drawArrays(n.POINTS,0,this.pointCount),h&&!this.blend&&n.enable(n.BLEND),f&&n.enable(n.DITHER),t+this.pointCount}),u.draw=u.unifiedDraw,u.drawPick=u.unifiedDraw,u.pick=function(t,e,r){var n=this.pickOffset,a=this.pointCount;if(r<n||r>=n+a)return null;var i=r-n,o=this.points;return{object:this,pointId:i,dataCoord:[o[2*i],o[2*i+1]]}}},{\"./lib/shader\":297,\"gl-buffer\":253,\"gl-shader\":307,\"typedarray-pool\":547}],299:[function(t,e,r){e.exports=function(t,e,r,n){var a,i,o,s,l,c=e[0],u=e[1],h=e[2],f=e[3],p=r[0],d=r[1],g=r[2],m=r[3];(i=c*p+u*d+h*g+f*m)<0&&(i=-i,p=-p,d=-d,g=-g,m=-m);1-i>1e-6?(a=Math.acos(i),o=Math.sin(a),s=Math.sin((1-n)*a)/o,l=Math.sin(n*a)/o):(s=1-n,l=n);return t[0]=s*c+l*p,t[1]=s*u+l*d,t[2]=s*h+l*g,t[3]=s*f+l*m,t}},{}],300:[function(t,e,r){\"use strict\";e.exports=function(t){return t||0===t?t.toString():\"\"}},{}],301:[function(t,e,r){\"use strict\";var n=t(\"vectorize-text\");e.exports=function(t,e,r){var i=a[e];i||(i=a[e]={});if(t in i)return i[t];var o={textAlign:\"center\",textBaseline:\"middle\",lineHeight:1,font:e,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},triangles:!0},s=n(t,o);o.triangles=!1;var l,c,u=n(t,o);if(r&&1!==r){for(l=0;l<s.positions.length;++l)for(c=0;c<s.positions[l].length;++c)s.positions[l][c]/=r;for(l=0;l<u.positions.length;++l)for(c=0;c<u.positions[l].length;++c)u.positions[l][c]/=r}var h=[[1/0,1/0],[-1/0,-1/0]],f=u.positions.length;for(l=0;l<f;++l){var p=u.positions[l];for(c=0;c<2;++c)h[0][c]=Math.min(h[0][c],p[c]),h[1][c]=Math.max(h[1][c],p[c])}return i[t]=[s,u,h]};var a={}},{\"vectorize-text\":552}],302:[function(t,e,r){var n=t(\"gl-shader\"),a=t(\"glslify\"),i=a([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\nuniform vec4 highlightId;\\nuniform float highlightScale;\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n  if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n    gl_Position = vec4(0,0,0,0);\\n  } else {\\n    float scale = 1.0;\\n    if(distance(highlightId, id) < 0.0001) {\\n      scale = highlightScale;\\n    }\\n\\n    vec4 worldPosition = model * vec4(position, 1);\\n    vec4 viewPosition = view * worldPosition;\\n    viewPosition = viewPosition / viewPosition.w;\\n    vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\\n\\n    gl_Position = clipPosition;\\n    interpColor = color;\\n    pickId = id;\\n    dataCoordinate = position;\\n  }\\n}\"]),o=a([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\nuniform vec2 screenSize;\\nuniform vec3 clipBounds[2];\\nuniform float highlightScale, pixelRatio;\\nuniform vec4 highlightId;\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n  if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n    gl_Position = vec4(0,0,0,0);\\n  } else {\\n    float scale = pixelRatio;\\n    if(distance(highlightId.bgr, id.bgr) < 0.001) {\\n      scale *= highlightScale;\\n    }\\n\\n    vec4 worldPosition = model * vec4(position, 1.0);\\n    vec4 viewPosition = view * worldPosition;\\n    vec4 clipPosition = projection * viewPosition;\\n    clipPosition /= clipPosition.w;\\n\\n    gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\\n    interpColor = color;\\n    pickId = id;\\n    dataCoordinate = position;\\n  }\\n}\"]),s=a([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\nuniform float highlightScale;\\nuniform vec4 highlightId;\\nuniform vec3 axes[2];\\nuniform mat4 model, view, projection;\\nuniform vec2 screenSize;\\nuniform vec3 clipBounds[2];\\nuniform float scale, pixelRatio;\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n  if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n    gl_Position = vec4(0,0,0,0);\\n  } else {\\n    float lscale = pixelRatio * scale;\\n    if(distance(highlightId, id) < 0.0001) {\\n      lscale *= highlightScale;\\n    }\\n\\n    vec4 clipCenter   = projection * view * model * vec4(position, 1);\\n    vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\\n    vec4 clipPosition = projection * view * model * vec4(dataPosition, 1);\\n\\n    gl_Position = clipPosition;\\n    interpColor = color;\\n    pickId = id;\\n    dataCoordinate = dataPosition;\\n  }\\n}\\n\"]),l=a([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 fragClipBounds[2];\\nuniform float opacity;\\n\\nvarying vec4 interpColor;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n  if (\\n    outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\\n    interpColor.a * opacity == 0.\\n  ) discard;\\n  gl_FragColor = interpColor * opacity;\\n}\\n\"]),c=a([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 fragClipBounds[2];\\nuniform float pickGroup;\\n\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n  if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\\n\\n  gl_FragColor = vec4(pickGroup, pickId.bgr);\\n}\"]),u=[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"glyph\",type:\"vec2\"},{name:\"id\",type:\"vec4\"}],h={vertex:i,fragment:l,attributes:u},f={vertex:o,fragment:l,attributes:u},p={vertex:s,fragment:l,attributes:u},d={vertex:i,fragment:c,attributes:u},g={vertex:o,fragment:c,attributes:u},m={vertex:s,fragment:c,attributes:u};function v(t,e){var r=n(t,e),a=r.attributes;return a.position.location=0,a.color.location=1,a.glyph.location=2,a.id.location=3,r}r.createPerspective=function(t){return v(t,h)},r.createOrtho=function(t){return v(t,f)},r.createProject=function(t){return v(t,p)},r.createPickPerspective=function(t){return v(t,d)},r.createPickOrtho=function(t){return v(t,g)},r.createPickProject=function(t){return v(t,m)}},{\"gl-shader\":307,glslify:408}],303:[function(t,e,r){\"use strict\";var n=t(\"is-string-blank\"),a=t(\"gl-buffer\"),i=t(\"gl-vao\"),o=t(\"typedarray-pool\"),s=t(\"gl-mat4/multiply\"),l=t(\"./lib/shaders\"),c=t(\"./lib/glyphs\"),u=t(\"./lib/get-simple-string\"),h=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function f(t,e){var r=t[0],n=t[1],a=t[2],i=t[3];return t[0]=e[0]*r+e[4]*n+e[8]*a+e[12]*i,t[1]=e[1]*r+e[5]*n+e[9]*a+e[13]*i,t[2]=e[2]*r+e[6]*n+e[10]*a+e[14]*i,t[3]=e[3]*r+e[7]*n+e[11]*a+e[15]*i,t}function p(t,e,r,n){return f(n,n),f(n,n),f(n,n)}function d(t,e){this.index=t,this.dataCoordinate=this.position=e}function g(t){return!0===t||t>1?1:t}function m(t,e,r,n,a,i,o,s,l,c,u,h){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=a,this.colorBuffer=i,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=c,this.pickOrthoShader=u,this.pickProjectShader=h,this.points=[],this._selectResult=new d(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.dirty=!0}e.exports=function(t){var e=t.gl,r=l.createPerspective(e),n=l.createOrtho(e),o=l.createProject(e),s=l.createPickPerspective(e),c=l.createPickOrtho(e),u=l.createPickProject(e),h=a(e),f=a(e),p=a(e),d=a(e),g=i(e,[{buffer:h,size:3,type:e.FLOAT},{buffer:f,size:4,type:e.FLOAT},{buffer:p,size:2,type:e.FLOAT},{buffer:d,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),v=new m(e,r,n,o,h,f,p,d,g,s,c,u);return v.update(t),v};var v=m.prototype;v.pickSlots=1,v.setPickBase=function(t){this.pickId=t},v.isTransparent=function(){if(this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectHasAlpha)return!0;return!1},v.isOpaque=function(){if(!this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&!this.projectHasAlpha)return!0;return!1};var y=[0,0],x=[0,0,0],b=[0,0,0],_=[0,0,0,1],w=[0,0,0,1],T=h.slice(),k=[0,0,0],A=[[0,0,0],[0,0,0]];function M(t){return t[0]=t[1]=t[2]=0,t}function S(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function E(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}function C(t,e,r,n){var a,i=e.axesProject,o=e.gl,l=t.uniforms,c=r.model||h,u=r.view||h,f=r.projection||h,d=e.axesBounds,g=function(t){for(var e=A,r=0;r<2;++r)for(var n=0;n<3;++n)e[r][n]=Math.max(Math.min(t[r][n],1e8),-1e8);return e}(e.clipBounds);a=e.axes&&e.axes.lastCubeProps?e.axes.lastCubeProps.axis:[1,1,1],y[0]=2/o.drawingBufferWidth,y[1]=2/o.drawingBufferHeight,t.bind(),l.view=u,l.projection=f,l.screenSize=y,l.highlightId=e.highlightId,l.highlightScale=e.highlightScale,l.clipBounds=g,l.pickGroup=e.pickId/255,l.pixelRatio=n;for(var m=0;m<3;++m)if(i[m]){l.scale=e.projectScale[m],l.opacity=e.projectOpacity[m];for(var v=T,C=0;C<16;++C)v[C]=0;for(C=0;C<4;++C)v[5*C]=1;v[5*m]=0,a[m]<0?v[12+m]=d[0][m]:v[12+m]=d[1][m],s(v,c,v),l.model=v;var L=(m+1)%3,P=(m+2)%3,I=M(x),z=M(b);I[L]=1,z[P]=1;var O=p(0,0,0,S(_,I)),D=p(0,0,0,S(w,z));if(Math.abs(O[1])>Math.abs(D[1])){var R=O;O=D,D=R,R=I,I=z,z=R;var F=L;L=P,P=F}O[0]<0&&(I[L]=-1),D[1]>0&&(z[P]=-1);var B=0,N=0;for(C=0;C<4;++C)B+=Math.pow(c[4*L+C],2),N+=Math.pow(c[4*P+C],2);I[L]/=Math.sqrt(B),z[P]/=Math.sqrt(N),l.axes[0]=I,l.axes[1]=z,l.fragClipBounds[0]=E(k,g[0],m,-1e8),l.fragClipBounds[1]=E(k,g[1],m,1e8),e.vao.bind(),e.vao.draw(o.TRIANGLES,e.vertexCount),e.lineWidth>0&&(o.lineWidth(e.lineWidth*n),e.vao.draw(o.LINES,e.lineVertexCount,e.vertexCount)),e.vao.unbind()}}var L=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function P(t,e,r,n,a,i,o){var s=r.gl;if((i===r.projectHasAlpha||o)&&C(e,r,n,a),i===r.hasAlpha||o){t.bind();var l=t.uniforms;l.model=n.model||h,l.view=n.view||h,l.projection=n.projection||h,y[0]=2/s.drawingBufferWidth,y[1]=2/s.drawingBufferHeight,l.screenSize=y,l.highlightId=r.highlightId,l.highlightScale=r.highlightScale,l.fragClipBounds=L,l.clipBounds=r.axes.bounds,l.opacity=r.opacity,l.pickGroup=r.pickId/255,l.pixelRatio=a,r.vao.bind(),r.vao.draw(s.TRIANGLES,r.vertexCount),r.lineWidth>0&&(s.lineWidth(r.lineWidth*a),r.vao.draw(s.LINES,r.lineVertexCount,r.vertexCount)),r.vao.unbind()}}function I(t,e,r,a){var i;i=Array.isArray(t)?e<t.length?t[e]:void 0:t,i=u(i);var o=!0;n(i)&&(i=\"\\u25bc\",o=!1);var s=c(i,r,a);return{mesh:s[0],lines:s[1],bounds:s[2],visible:o}}v.draw=function(t){P(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,this.pixelRatio,!1,!1)},v.drawTransparent=function(t){P(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,this.pixelRatio,!0,!1)},v.drawPick=function(t){P(this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader,this.pickProjectShader,this,t,1,!0,!0)},v.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[2]+(t.value[1]<<8)+(t.value[0]<<16);if(e>=this.pointCount||e<0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var a=0;a<3;++a)n.position[a]=n.dataCoordinate[a]=r[a];return n},v.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,a=e>>16&255;this.highlightId=[r/255,n/255,a/255,0]}else this.highlightId=[1,1,1,1]},v.update=function(t){if(\"perspective\"in(t=t||{})&&(this.useOrtho=!t.perspective),\"orthographic\"in t&&(this.useOrtho=!!t.orthographic),\"lineWidth\"in t&&(this.lineWidth=t.lineWidth),\"project\"in t)if(Array.isArray(t.project))this.axesProject=t.project;else{var e=!!t.project;this.axesProject=[e,e,e]}if(\"projectScale\"in t)if(Array.isArray(t.projectScale))this.projectScale=t.projectScale.slice();else{var r=+t.projectScale;this.projectScale=[r,r,r]}if(this.projectHasAlpha=!1,\"projectOpacity\"in t){if(Array.isArray(t.projectOpacity))this.projectOpacity=t.projectOpacity.slice();else{r=+t.projectOpacity;this.projectOpacity=[r,r,r]}for(var n=0;n<3;++n)this.projectOpacity[n]=g(this.projectOpacity[n]),this.projectOpacity[n]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,\"opacity\"in t&&(this.opacity=g(t.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var a,i,s=t.position,l=t.font||\"normal\",c=t.alignment||[0,0];if(2===c.length)a=c[0],i=c[1];else{a=[],i=[];for(n=0;n<c.length;++n)a[n]=c[n][0],i[n]=c[n][1]}var u=[1/0,1/0,1/0],h=[-1/0,-1/0,-1/0],f=t.glyph,p=t.color,d=t.size,m=t.angle,v=t.lineColor,y=-1,x=0,b=0,_=0;if(s.length){_=s.length;t:for(n=0;n<_;++n){for(var w=s[n],T=0;T<3;++T)if(isNaN(w[T])||!isFinite(w[T]))continue t;var k=(N=I(f,n,l,this.pixelRatio)).mesh,A=N.lines,M=N.bounds;x+=3*k.cells.length,b+=2*A.edges.length}}var S=x+b,E=o.mallocFloat(3*S),C=o.mallocFloat(4*S),L=o.mallocFloat(2*S),P=o.mallocUint32(S);if(S>0){var z=0,O=x,D=[0,0,0,1],R=[0,0,0,1],F=Array.isArray(p)&&Array.isArray(p[0]),B=Array.isArray(v)&&Array.isArray(v[0]);t:for(n=0;n<_;++n){y+=1;for(w=s[n],T=0;T<3;++T){if(isNaN(w[T])||!isFinite(w[T]))continue t;h[T]=Math.max(h[T],w[T]),u[T]=Math.min(u[T],w[T])}k=(N=I(f,n,l,this.pixelRatio)).mesh,A=N.lines,M=N.bounds;var N,j=N.visible;if(j)if(Array.isArray(p)){if(3===(V=F?n<p.length?p[n]:[0,0,0,0]:p).length){for(T=0;T<3;++T)D[T]=V[T];D[3]=1}else if(4===V.length){for(T=0;T<4;++T)D[T]=V[T];!this.hasAlpha&&V[3]<1&&(this.hasAlpha=!0)}}else D[0]=D[1]=D[2]=0,D[3]=1;else D=[1,1,1,0];if(j)if(Array.isArray(v)){var V;if(3===(V=B?n<v.length?v[n]:[0,0,0,0]:v).length){for(T=0;T<3;++T)R[T]=V[T];R[T]=1}else if(4===V.length){for(T=0;T<4;++T)R[T]=V[T];!this.hasAlpha&&V[3]<1&&(this.hasAlpha=!0)}}else R[0]=R[1]=R[2]=0,R[3]=1;else R=[1,1,1,0];var U=.5;j?Array.isArray(d)?U=n<d.length?+d[n]:12:d?U=+d:this.useOrtho&&(U=12):U=0;var q=0;Array.isArray(m)?q=n<m.length?+m[n]:0:m&&(q=+m);var H=Math.cos(q),G=Math.sin(q);for(w=s[n],T=0;T<3;++T)h[T]=Math.max(h[T],w[T]),u[T]=Math.min(u[T],w[T]);var Y=a,W=i;Y=0;Array.isArray(a)?Y=n<a.length?a[n]:0:a&&(Y=a);W=0;Array.isArray(i)?W=n<i.length?i[n]:0:i&&(W=i);var Z=[Y*=Y>0?1-M[0][0]:Y<0?1+M[1][0]:1,W*=W>0?1-M[0][1]:W<0?1+M[1][1]:1],X=k.cells||[],J=k.positions||[];for(T=0;T<X.length;++T)for(var K=X[T],Q=0;Q<3;++Q){for(var $=0;$<3;++$)E[3*z+$]=w[$];for($=0;$<4;++$)C[4*z+$]=D[$];P[z]=y;var tt=J[K[Q]];L[2*z]=U*(H*tt[0]-G*tt[1]+Z[0]),L[2*z+1]=U*(G*tt[0]+H*tt[1]+Z[1]),z+=1}for(X=A.edges,J=A.positions,T=0;T<X.length;++T)for(K=X[T],Q=0;Q<2;++Q){for($=0;$<3;++$)E[3*O+$]=w[$];for($=0;$<4;++$)C[4*O+$]=R[$];P[O]=y;tt=J[K[Q]];L[2*O]=U*(H*tt[0]-G*tt[1]+Z[0]),L[2*O+1]=U*(G*tt[0]+H*tt[1]+Z[1]),O+=1}}}this.bounds=[u,h],this.points=s,this.pointCount=s.length,this.vertexCount=x,this.lineVertexCount=b,this.pointBuffer.update(E),this.colorBuffer.update(C),this.glyphBuffer.update(L),this.idBuffer.update(P),o.free(E),o.free(C),o.free(L),o.free(P)},v.dispose=function(){this.shader.dispose(),this.orthoShader.dispose(),this.pickPerspectiveShader.dispose(),this.pickOrthoShader.dispose(),this.vao.dispose(),this.pointBuffer.dispose(),this.colorBuffer.dispose(),this.glyphBuffer.dispose(),this.idBuffer.dispose()}},{\"./lib/get-simple-string\":300,\"./lib/glyphs\":301,\"./lib/shaders\":302,\"gl-buffer\":253,\"gl-mat4/multiply\":275,\"gl-vao\":327,\"is-string-blank\":423,\"typedarray-pool\":547}],304:[function(t,e,r){\"use strict\";var n=t(\"glslify\");r.boxVertex=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 vertex;\\n\\nuniform vec2 cornerA, cornerB;\\n\\nvoid main() {\\n  gl_Position = vec4(mix(cornerA, cornerB, vertex), 0, 1);\\n}\\n\"]),r.boxFragment=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color;\\n\\nvoid main() {\\n  gl_FragColor = color;\\n}\\n\"])},{glslify:408}],305:[function(t,e,r){\"use strict\";var n=t(\"gl-shader\"),a=t(\"gl-buffer\"),i=t(\"./lib/shaders\");function o(t,e,r){this.plot=t,this.boxBuffer=e,this.boxShader=r,this.enabled=!0,this.selectBox=[1/0,1/0,-1/0,-1/0],this.borderColor=[0,0,0,1],this.innerFill=!1,this.innerColor=[0,0,0,.25],this.outerFill=!0,this.outerColor=[0,0,0,.5],this.borderWidth=10}e.exports=function(t,e){var r=t.gl,s=a(r,[0,0,0,1,1,0,1,1]),l=n(r,i.boxVertex,i.boxFragment),c=new o(t,s,l);return c.update(e),t.addOverlay(c),c};var s=o.prototype;s.draw=function(){if(this.enabled){var t=this.plot,e=this.selectBox,r=this.borderWidth,n=(this.innerFill,this.innerColor),a=(this.outerFill,this.outerColor),i=this.borderColor,o=t.box,s=t.screenBox,l=t.dataBox,c=t.viewBox,u=t.pixelRatio,h=(e[0]-l[0])*(c[2]-c[0])/(l[2]-l[0])+c[0],f=(e[1]-l[1])*(c[3]-c[1])/(l[3]-l[1])+c[1],p=(e[2]-l[0])*(c[2]-c[0])/(l[2]-l[0])+c[0],d=(e[3]-l[1])*(c[3]-c[1])/(l[3]-l[1])+c[1];if(h=Math.max(h,c[0]),f=Math.max(f,c[1]),p=Math.min(p,c[2]),d=Math.min(d,c[3]),!(p<h||d<f)){o.bind();var g=s[2]-s[0],m=s[3]-s[1];if(this.outerFill&&(o.drawBox(0,0,g,f,a),o.drawBox(0,f,h,d,a),o.drawBox(0,d,g,m,a),o.drawBox(p,f,g,d,a)),this.innerFill&&o.drawBox(h,f,p,d,n),r>0){var v=r*u;o.drawBox(h-v,f-v,p+v,f+v,i),o.drawBox(h-v,d-v,p+v,d+v,i),o.drawBox(h-v,f-v,h+v,d+v,i),o.drawBox(p-v,f-v,p+v,d+v,i)}}}},s.update=function(t){t=t||{},this.innerFill=!!t.innerFill,this.outerFill=!!t.outerFill,this.innerColor=(t.innerColor||[0,0,0,.5]).slice(),this.outerColor=(t.outerColor||[0,0,0,.5]).slice(),this.borderColor=(t.borderColor||[0,0,0,1]).slice(),this.borderWidth=t.borderWidth||0,this.selectBox=(t.selectBox||this.selectBox).slice()},s.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)}},{\"./lib/shaders\":304,\"gl-buffer\":253,\"gl-shader\":307}],306:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=e[0],i=e[1],o=n(t,r,i,{}),s=a.mallocUint8(r*i*4);return new l(t,o,s)};var n=t(\"gl-fbo\"),a=t(\"typedarray-pool\"),i=t(\"ndarray\"),o=t(\"bit-twiddle\").nextPow2;function s(t,e,r,n,a){this.coord=[t,e],this.id=r,this.value=n,this.distance=a}function l(t,e,r){this.gl=t,this.fbo=e,this.buffer=r,this._readTimeout=null;var n=this;this._readCallback=function(){n.gl&&(e.bind(),t.readPixels(0,0,e.shape[0],e.shape[1],t.RGBA,t.UNSIGNED_BYTE,n.buffer),n._readTimeout=null)}}var c=l.prototype;Object.defineProperty(c,\"shape\",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(t){if(this.gl){this.fbo.shape=t;var e=this.fbo.shape[0],r=this.fbo.shape[1];if(r*e*4>this.buffer.length){a.free(this.buffer);for(var n=this.buffer=a.mallocUint8(o(r*e*4)),i=0;i<r*e*4;++i)n[i]=255}return t}}}),c.begin=function(){var t=this.gl;this.shape;t&&(this.fbo.bind(),t.clearColor(1,1,1,1),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT))},c.end=function(){var t=this.gl;t&&(t.bindFramebuffer(t.FRAMEBUFFER,null),this._readTimeout||clearTimeout(this._readTimeout),this._readTimeout=setTimeout(this._readCallback,1))},c.query=function(t,e,r){if(!this.gl)return null;var n=this.fbo.shape.slice();t|=0,e|=0,\"number\"!=typeof r&&(r=1);var a=0|Math.min(Math.max(t-r,0),n[0]),o=0|Math.min(Math.max(t+r,0),n[0]),l=0|Math.min(Math.max(e-r,0),n[1]),c=0|Math.min(Math.max(e+r,0),n[1]);if(o<=a||c<=l)return null;var u=[o-a,c-l],h=i(this.buffer,[u[0],u[1],4],[4,4*n[0],1],4*(a+n[0]*l)),f=function(t,e,r){for(var n=1e8,a=-1,i=-1,o=t.shape[0],s=t.shape[1],l=0;l<o;l++)for(var c=0;c<s;c++){var u=t.get(l,c,0),h=t.get(l,c,1),f=t.get(l,c,2),p=t.get(l,c,3);if(u<255||h<255||f<255||p<255){var d=e-l,g=r-c,m=d*d+g*g;m<n&&(n=m,a=l,i=c)}}return[a,i,n]}(h.hi(u[0],u[1],1),r,r),p=f[0],d=f[1];return p<0||Math.pow(this.radius,2)<f[2]?null:new s(p+a|0,d+l|0,h.get(p,d,0),[h.get(p,d,1),h.get(p,d,2),h.get(p,d,3)],Math.sqrt(f[2]))},c.dispose=function(){this.gl&&(this.fbo.dispose(),a.free(this.buffer),this.gl=null,this._readTimeout&&clearTimeout(this._readTimeout))}},{\"bit-twiddle\":95,\"gl-fbo\":261,ndarray:448,\"typedarray-pool\":547}],307:[function(t,e,r){\"use strict\";var n=t(\"./lib/create-uniforms\"),a=t(\"./lib/create-attributes\"),i=t(\"./lib/reflect\"),o=t(\"./lib/shader-cache\"),s=t(\"./lib/runtime-reflect\"),l=t(\"./lib/GLError\");function c(t){this.gl=t,this.gl.lastAttribCount=0,this._vref=this._fref=this._relink=this.vertShader=this.fragShader=this.program=this.attributes=this.uniforms=this.types=null}var u=c.prototype;function h(t,e){return t.name<e.name?-1:1}u.bind=function(){var t;this.program||this._relink();var e=this.gl.getProgramParameter(this.program,this.gl.ACTIVE_ATTRIBUTES),r=this.gl.lastAttribCount;if(e>r)for(t=r;t<e;t++)this.gl.enableVertexAttribArray(t);else if(r>e)for(t=e;t<r;t++)this.gl.disableVertexAttribArray(t);this.gl.lastAttribCount=e,this.gl.useProgram(this.program)},u.dispose=function(){for(var t=this.gl.lastAttribCount,e=0;e<t;e++)this.gl.disableVertexAttribArray(e);this.gl.lastAttribCount=0,this._fref&&this._fref.dispose(),this._vref&&this._vref.dispose(),this.attributes=this.types=this.vertShader=this.fragShader=this.program=this._relink=this._fref=this._vref=null},u.update=function(t,e,r,c){if(!e||1===arguments.length){var u=t;t=u.vertex,e=u.fragment,r=u.uniforms,c=u.attributes}var f=this,p=f.gl,d=f._vref;f._vref=o.shader(p,p.VERTEX_SHADER,t),d&&d.dispose(),f.vertShader=f._vref.shader;var g=this._fref;if(f._fref=o.shader(p,p.FRAGMENT_SHADER,e),g&&g.dispose(),f.fragShader=f._fref.shader,!r||!c){var m=p.createProgram();if(p.attachShader(m,f.fragShader),p.attachShader(m,f.vertShader),p.linkProgram(m),!p.getProgramParameter(m,p.LINK_STATUS)){var v=p.getProgramInfoLog(m);throw new l(v,\"Error linking program:\"+v)}r=r||s.uniforms(p,m),c=c||s.attributes(p,m),p.deleteProgram(m)}(c=c.slice()).sort(h);var y,x=[],b=[],_=[];for(y=0;y<c.length;++y){var w=c[y];if(w.type.indexOf(\"mat\")>=0){for(var T=0|w.type.charAt(w.type.length-1),k=new Array(T),A=0;A<T;++A)k[A]=_.length,b.push(w.name+\"[\"+A+\"]\"),\"number\"==typeof w.location?_.push(w.location+A):Array.isArray(w.location)&&w.location.length===T&&\"number\"==typeof w.location[A]?_.push(0|w.location[A]):_.push(-1);x.push({name:w.name,type:w.type,locations:k})}else x.push({name:w.name,type:w.type,locations:[_.length]}),b.push(w.name),\"number\"==typeof w.location?_.push(0|w.location):_.push(-1)}var M=0;for(y=0;y<_.length;++y)if(_[y]<0){for(;_.indexOf(M)>=0;)M+=1;_[y]=M}var S=new Array(r.length);function E(){f.program=o.program(p,f._vref,f._fref,b,_);for(var t=0;t<r.length;++t)S[t]=p.getUniformLocation(f.program,r[t].name)}E(),f._relink=E,f.types={uniforms:i(r),attributes:i(c)},f.attributes=a(p,f,x,_),Object.defineProperty(f,\"uniforms\",n(p,f,r,S))},e.exports=function(t,e,r,n,a){var i=new c(t);return i.update(e,r,n,a),i}},{\"./lib/GLError\":308,\"./lib/create-attributes\":309,\"./lib/create-uniforms\":310,\"./lib/reflect\":311,\"./lib/runtime-reflect\":312,\"./lib/shader-cache\":313}],308:[function(t,e,r){function n(t,e,r){this.shortMessage=e||\"\",this.longMessage=r||\"\",this.rawError=t||\"\",this.message=\"gl-shader: \"+(e||t||\"\")+(r?\"\\n\"+r:\"\"),this.stack=(new Error).stack}n.prototype=new Error,n.prototype.name=\"GLError\",n.prototype.constructor=n,e.exports=n},{}],309:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,a){for(var i={},l=0,c=r.length;l<c;++l){var u=r[l],h=u.name,f=u.type,p=u.locations;switch(f){case\"bool\":case\"int\":case\"float\":o(t,e,p[0],a,1,i,h);break;default:if(f.indexOf(\"vec\")>=0){if((d=f.charCodeAt(f.length-1)-48)<2||d>4)throw new n(\"\",\"Invalid data type for attribute \"+h+\": \"+f);o(t,e,p[0],a,d,i,h)}else{if(!(f.indexOf(\"mat\")>=0))throw new n(\"\",\"Unknown data type for attribute \"+h+\": \"+f);var d;if((d=f.charCodeAt(f.length-1)-48)<2||d>4)throw new n(\"\",\"Invalid data type for attribute \"+h+\": \"+f);s(t,e,p,a,d,i,h)}}}return i};var n=t(\"./GLError\");function a(t,e,r,n,a,i){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=a,this._constFunc=i}var i=a.prototype;function o(t,e,r,n,i,o,s){for(var l=[\"gl\",\"v\"],c=[],u=0;u<i;++u)l.push(\"x\"+u),c.push(\"x\"+u);l.push(\"if(x0.length===void 0){return gl.vertexAttrib\"+i+\"f(v,\"+c.join()+\")}else{return gl.vertexAttrib\"+i+\"fv(v,x0)}\");var h=Function.apply(null,l),f=new a(t,e,r,n,i,h);Object.defineProperty(o,s,{set:function(e){return t.disableVertexAttribArray(n[r]),h(t,n[r],e),e},get:function(){return f},enumerable:!0})}function s(t,e,r,n,a,i,s){for(var l=new Array(a),c=new Array(a),u=0;u<a;++u)o(t,e,r[u],n,a,l,u),c[u]=l[u];Object.defineProperty(l,\"location\",{set:function(t){if(Array.isArray(t))for(var e=0;e<a;++e)c[e].location=t[e];else for(e=0;e<a;++e)c[e].location=t+e;return t},get:function(){for(var t=new Array(a),e=0;e<a;++e)t[e]=n[r[e]];return t},enumerable:!0}),l.pointer=function(e,i,o,s){e=e||t.FLOAT,i=!!i,o=o||a*a,s=s||0;for(var l=0;l<a;++l){var c=n[r[l]];t.vertexAttribPointer(c,a,e,i,o,s+l*a),t.enableVertexAttribArray(c)}};var h=new Array(a),f=t[\"vertexAttrib\"+a+\"fv\"];Object.defineProperty(i,s,{set:function(e){for(var i=0;i<a;++i){var o=n[r[i]];if(t.disableVertexAttribArray(o),Array.isArray(e[0]))f.call(t,o,e[i]);else{for(var s=0;s<a;++s)h[s]=e[a*i+s];f.call(t,o,h)}}return e},get:function(){return l},enumerable:!0})}i.pointer=function(t,e,r,n){var a=this._gl,i=this._locations[this._index];a.vertexAttribPointer(i,this._dimension,t||a.FLOAT,!!e,r||0,n||0),a.enableVertexAttribArray(i)},i.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(i,\"location\",{get:function(){return this._locations[this._index]},set:function(t){return t!==this._locations[this._index]&&(this._locations[this._index]=0|t,this._wrapper.program=null),0|t}})},{\"./GLError\":308}],310:[function(t,e,r){\"use strict\";var n=t(\"./reflect\"),a=t(\"./GLError\");function i(t){return new Function(\"y\",\"return function(){return y}\")(t)}function o(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}e.exports=function(t,e,r,s){function l(t,e,r){switch(r){case\"bool\":case\"int\":case\"sampler2D\":case\"samplerCube\":return\"gl.uniform1i(locations[\"+e+\"],obj\"+t+\")\";case\"float\":return\"gl.uniform1f(locations[\"+e+\"],obj\"+t+\")\";default:var n=r.indexOf(\"vec\");if(!(0<=n&&n<=1&&r.length===4+n)){if(0===r.indexOf(\"mat\")&&4===r.length){var i;if((i=r.charCodeAt(r.length-1)-48)<2||i>4)throw new a(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+r);return\"gl.uniformMatrix\"+i+\"fv(locations[\"+e+\"],false,obj\"+t+\")\"}throw new a(\"\",\"Unknown uniform data type for \"+name+\": \"+r)}if((i=r.charCodeAt(r.length-1)-48)<2||i>4)throw new a(\"\",\"Invalid data type\");switch(r.charAt(0)){case\"b\":case\"i\":return\"gl.uniform\"+i+\"iv(locations[\"+e+\"],obj\"+t+\")\";case\"v\":return\"gl.uniform\"+i+\"fv(locations[\"+e+\"],obj\"+t+\")\";default:throw new a(\"\",\"Unrecognized data type for vector \"+name+\": \"+r)}}}function c(e){for(var n=[\"return function updateProperty(obj){\"],a=function t(e,r){if(\"object\"!=typeof r)return[[e,r]];var n=[];for(var a in r){var i=r[a],o=e;parseInt(a)+\"\"===a?o+=\"[\"+a+\"]\":o+=\".\"+a,\"object\"==typeof i?n.push.apply(n,t(o,i)):n.push([o,i])}return n}(\"\",e),i=0;i<a.length;++i){var o=a[i],c=o[0],u=o[1];s[u]&&n.push(l(c,u,r[u].type))}return n.push(\"return obj}\"),new Function(\"gl\",\"locations\",n.join(\"\\n\"))(t,s)}function u(n,l,u){if(\"object\"==typeof u){var f=h(u);Object.defineProperty(n,l,{get:i(f),set:c(u),enumerable:!0,configurable:!1})}else s[u]?Object.defineProperty(n,l,{get:(p=u,new Function(\"gl\",\"wrapper\",\"locations\",\"return function(){return gl.getUniform(wrapper.program,locations[\"+p+\"])}\")(t,e,s)),set:c(u),enumerable:!0,configurable:!1}):n[l]=function(t){switch(t){case\"bool\":return!1;case\"int\":case\"sampler2D\":case\"samplerCube\":case\"float\":return 0;default:var e=t.indexOf(\"vec\");if(0<=e&&e<=1&&t.length===4+e){if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new a(\"\",\"Invalid data type\");return\"b\"===t.charAt(0)?o(r,!1):o(r,0)}if(0===t.indexOf(\"mat\")&&4===t.length){var r;if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new a(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+t);return o(r*r,0)}throw new a(\"\",\"Unknown uniform data type for \"+name+\": \"+t)}}(r[u].type);var p}function h(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r<t.length;++r)u(e,r,t[r])}else for(var n in e={},t)u(e,n,t[n]);return e}var f=n(r,!0);return{get:i(h(f)),set:c(f),enumerable:!0,configurable:!0}}},{\"./GLError\":308,\"./reflect\":311}],311:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r={},n=0;n<t.length;++n)for(var a=t[n].name.split(\".\"),i=r,o=0;o<a.length;++o){var s=a[o].split(\"[\");if(s.length>1){s[0]in i||(i[s[0]]=[]),i=i[s[0]];for(var l=1;l<s.length;++l){var c=parseInt(s[l]);l<s.length-1||o<a.length-1?(c in i||(l<s.length-1?i[c]=[]:i[c]={}),i=i[c]):i[c]=e?n:t[n].type}}else o<a.length-1?(s[0]in i||(i[s[0]]={}),i=i[s[0]]):i[s[0]]=e?n:t[n].type}return r}},{}],312:[function(t,e,r){\"use strict\";r.uniforms=function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_UNIFORMS),n=[],a=0;a<r;++a){var o=t.getActiveUniform(e,a);if(o){var s=i(t,o.type);if(o.size>1)for(var l=0;l<o.size;++l)n.push({name:o.name.replace(\"[0]\",\"[\"+l+\"]\"),type:s});else n.push({name:o.name,type:s})}}return n},r.attributes=function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES),n=[],a=0;a<r;++a){var o=t.getActiveAttrib(e,a);o&&n.push({name:o.name,type:i(t,o.type)})}return n};var n={FLOAT:\"float\",FLOAT_VEC2:\"vec2\",FLOAT_VEC3:\"vec3\",FLOAT_VEC4:\"vec4\",INT:\"int\",INT_VEC2:\"ivec2\",INT_VEC3:\"ivec3\",INT_VEC4:\"ivec4\",BOOL:\"bool\",BOOL_VEC2:\"bvec2\",BOOL_VEC3:\"bvec3\",BOOL_VEC4:\"bvec4\",FLOAT_MAT2:\"mat2\",FLOAT_MAT3:\"mat3\",FLOAT_MAT4:\"mat4\",SAMPLER_2D:\"sampler2D\",SAMPLER_CUBE:\"samplerCube\"},a=null;function i(t,e){if(!a){var r=Object.keys(n);a={};for(var i=0;i<r.length;++i){var o=r[i];a[t[o]]=n[o]}}return a[e]}},{}],313:[function(t,e,r){\"use strict\";r.shader=function(t,e,r){return u(t).getShaderReference(e,r)},r.program=function(t,e,r,n,a){return u(t).getProgram(e,r,n,a)};var n=t(\"./GLError\"),a=t(\"gl-format-compiler-error\"),i=new(\"undefined\"==typeof WeakMap?t(\"weakmap-shim\"):WeakMap),o=0;function s(t,e,r,n,a,i,o){this.id=t,this.src=e,this.type=r,this.shader=n,this.count=i,this.programs=[],this.cache=o}function l(t){this.gl=t,this.shaders=[{},{}],this.programs={}}s.prototype.dispose=function(){if(0==--this.count){for(var t=this.cache,e=t.gl,r=this.programs,n=0,a=r.length;n<a;++n){var i=t.programs[r[n]];i&&(delete t.programs[n],e.deleteProgram(i))}e.deleteShader(this.shader),delete t.shaders[this.type===e.FRAGMENT_SHADER|0][this.src]}};var c=l.prototype;function u(t){var e=i.get(t);return e||(e=new l(t),i.set(t,e)),e}c.getShaderReference=function(t,e){var r=this.gl,i=this.shaders[t===r.FRAGMENT_SHADER|0],l=i[e];if(l&&r.isShader(l.shader))l.count+=1;else{var c=function(t,e,r){var i=t.createShader(e);if(t.shaderSource(i,r),t.compileShader(i),!t.getShaderParameter(i,t.COMPILE_STATUS)){var o=t.getShaderInfoLog(i);try{var s=a(o,r,e)}catch(t){throw console.warn(\"Failed to format compiler error: \"+t),new n(o,\"Error compiling shader:\\n\"+o)}throw new n(o,s.short,s.long)}return i}(r,t,e);l=i[e]=new s(o++,e,t,c,[],1,this)}return l},c.getProgram=function(t,e,r,a){var i=[t.id,e.id,r.join(\":\"),a.join(\":\")].join(\"@\"),o=this.programs[i];return o&&this.gl.isProgram(o)||(this.programs[i]=o=function(t,e,r,a,i){var o=t.createProgram();t.attachShader(o,e),t.attachShader(o,r);for(var s=0;s<a.length;++s)t.bindAttribLocation(o,i[s],a[s]);if(t.linkProgram(o),!t.getProgramParameter(o,t.LINK_STATUS)){var l=t.getProgramInfoLog(o);throw new n(l,\"Error linking program: \"+l)}return o}(this.gl,t.shader,e.shader,r,a),t.programs.push(i),e.programs.push(i)),o}},{\"./GLError\":308,\"gl-format-compiler-error\":262,\"weakmap-shim\":557}],314:[function(t,e,r){\"use strict\";function n(t){this.plot=t,this.enable=[!0,!0,!1,!1],this.width=[1,1,1,1],this.color=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.center=[1/0,1/0]}e.exports=function(t,e){var r=new n(t);return r.update(e),t.addOverlay(r),r};var a=n.prototype;a.update=function(t){t=t||{},this.enable=(t.enable||[!0,!0,!1,!1]).slice(),this.width=(t.width||[1,1,1,1]).slice(),this.color=(t.color||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]).map((function(t){return t.slice()})),this.center=(t.center||[1/0,1/0]).slice(),this.plot.setOverlayDirty()},a.draw=function(){var t=this.enable,e=this.width,r=this.color,n=this.center,a=this.plot,i=a.line,o=a.dataBox,s=a.viewBox;if(i.bind(),o[0]<=n[0]&&n[0]<=o[2]&&o[1]<=n[1]&&n[1]<=o[3]){var l=s[0]+(n[0]-o[0])/(o[2]-o[0])*(s[2]-s[0]),c=s[1]+(n[1]-o[1])/(o[3]-o[1])*(s[3]-s[1]);t[0]&&i.drawLine(l,c,s[0],c,e[0],r[0]),t[1]&&i.drawLine(l,c,l,s[1],e[1],r[1]),t[2]&&i.drawLine(l,c,s[2],c,e[2],r[2]),t[3]&&i.drawLine(l,c,l,s[3],e[3],r[3])}},a.dispose=function(){this.plot.removeOverlay(this)}},{}],315:[function(t,e,r){\"use strict\";var n=t(\"glslify\"),a=t(\"gl-shader\"),i=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, color;\\nattribute float weight;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 coordinates[3];\\nuniform vec4 colors[3];\\nuniform vec2 screenShape;\\nuniform float lineWidth;\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n  vec3 vertexPosition = mix(coordinates[0],\\n    mix(coordinates[2], coordinates[1], 0.5 * (position + 1.0)), abs(position));\\n\\n  vec4 clipPos = projection * view * model * vec4(vertexPosition, 1.0);\\n  vec2 clipOffset = (projection * view * model * vec4(color, 0.0)).xy;\\n  vec2 delta = weight * clipOffset * screenShape;\\n  vec2 lineOffset = normalize(vec2(delta.y, -delta.x)) / screenShape;\\n\\n  gl_Position   = vec4(clipPos.xy + clipPos.w * 0.5 * lineWidth * lineOffset, clipPos.z, clipPos.w);\\n  fragColor     = color.x * colors[0] + color.y * colors[1] + color.z * colors[2];\\n}\\n\"]),o=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n  gl_FragColor = fragColor;\\n}\"]);e.exports=function(t){return a(t,i,o,null,[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec3\"},{name:\"weight\",type:\"float\"}])}},{\"gl-shader\":307,glslify:408}],316:[function(t,e,r){\"use strict\";var n=t(\"gl-buffer\"),a=t(\"gl-vao\"),i=t(\"./shaders/index\");e.exports=function(t,e){var r=[];function o(t,e,n,a,i,o){var s=[t,e,n,0,0,0,1];s[a+3]=1,s[a]=i,r.push.apply(r,s),s[6]=-1,r.push.apply(r,s),s[a]=o,r.push.apply(r,s),r.push.apply(r,s),s[6]=1,r.push.apply(r,s),s[a]=i,r.push.apply(r,s)}o(0,0,0,0,0,1),o(0,0,0,1,0,1),o(0,0,0,2,0,1),o(1,0,0,1,-1,1),o(1,0,0,2,-1,1),o(0,1,0,0,-1,1),o(0,1,0,2,-1,1),o(0,0,1,0,-1,1),o(0,0,1,1,-1,1);var l=n(t,r),c=a(t,[{type:t.FLOAT,buffer:l,size:3,offset:0,stride:28},{type:t.FLOAT,buffer:l,size:3,offset:12,stride:28},{type:t.FLOAT,buffer:l,size:1,offset:24,stride:28}]),u=i(t);u.attributes.position.location=0,u.attributes.color.location=1,u.attributes.weight.location=2;var h=new s(t,l,c,u);return h.update(e),h};var o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n,this.pixelRatio=1,this.bounds=[[-1e3,-1e3,-1e3],[1e3,1e3,1e3]],this.position=[0,0,0],this.lineWidth=[2,2,2],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.enabled=[!0,!0,!0],this.drawSides=[!0,!0,!0],this.axes=null}var l=s.prototype,c=[0,0,0],u=[0,0,0],h=[0,0];l.isTransparent=function(){return!1},l.drawTransparent=function(t){},l.draw=function(t){var e=this.gl,r=this.vao,n=this.shader;r.bind(),n.bind();var a,i=t.model||o,s=t.view||o,l=t.projection||o;this.axes&&(a=this.axes.lastCubeProps.axis);for(var f=c,p=u,d=0;d<3;++d)a&&a[d]<0?(f[d]=this.bounds[0][d],p[d]=this.bounds[1][d]):(f[d]=this.bounds[1][d],p[d]=this.bounds[0][d]);h[0]=e.drawingBufferWidth,h[1]=e.drawingBufferHeight,n.uniforms.model=i,n.uniforms.view=s,n.uniforms.projection=l,n.uniforms.coordinates=[this.position,f,p],n.uniforms.colors=this.colors,n.uniforms.screenShape=h;for(d=0;d<3;++d)n.uniforms.lineWidth=this.lineWidth[d]*this.pixelRatio,this.enabled[d]&&(r.draw(e.TRIANGLES,6,6*d),this.drawSides[d]&&r.draw(e.TRIANGLES,12,18+12*d));r.unbind()},l.update=function(t){t&&(\"bounds\"in t&&(this.bounds=t.bounds),\"position\"in t&&(this.position=t.position),\"lineWidth\"in t&&(this.lineWidth=t.lineWidth),\"colors\"in t&&(this.colors=t.colors),\"enabled\"in t&&(this.enabled=t.enabled),\"drawSides\"in t&&(this.drawSides=t.drawSides))},l.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{\"./shaders/index\":315,\"gl-buffer\":253,\"gl-vao\":327}],317:[function(t,e,r){var n=t(\"glslify\"),a=n([\"precision highp float;\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nvec3 getOrthogonalVector(vec3 v) {\\n  // Return up-vector for only-z vector.\\n  // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\\n  // From the above if-statement we have ||a|| > 0  U  ||b|| > 0.\\n  // Assign z = 0, x = -b, y = a:\\n  // a*-b + b*a + c*0 = -ba + ba + 0 = 0\\n  if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\\n    return normalize(vec3(-v.y, v.x, 0.0));\\n  } else {\\n    return normalize(vec3(0.0, v.z, -v.y));\\n  }\\n}\\n\\n// Calculate the tube vertex and normal at the given index.\\n//\\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\\n//\\n// Each tube segment is made up of a ring of vertices.\\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\\n// The indexes of tube segments run from 0 to 8.\\n//\\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\\n  float segmentCount = 8.0;\\n\\n  float angle = 2.0 * 3.14159 * (index / segmentCount);\\n\\n  vec3 u = getOrthogonalVector(d);\\n  vec3 v = normalize(cross(u, d));\\n\\n  vec3 x = u * cos(angle) * length(d);\\n  vec3 y = v * sin(angle) * length(d);\\n  vec3 v3 = x + y;\\n\\n  normal = normalize(v3);\\n\\n  return v3;\\n}\\n\\nattribute vec4 vector;\\nattribute vec4 color, position;\\nattribute vec2 uv;\\n\\nuniform float vectorScale, tubeScale;\\nuniform mat4 model, view, projection, inverseModel;\\nuniform vec3 eyePosition, lightPosition;\\n\\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  // Scale the vector magnitude to stay constant with\\n  // model & view changes.\\n  vec3 normal;\\n  vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\\n  vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\\n\\n  //Lighting geometry parameters\\n  vec4 cameraCoordinate = view * tubePosition;\\n  cameraCoordinate.xyz /= cameraCoordinate.w;\\n  f_lightDirection = lightPosition - cameraCoordinate.xyz;\\n  f_eyeDirection   = eyePosition - cameraCoordinate.xyz;\\n  f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\\n\\n  // vec4 m_position  = model * vec4(tubePosition, 1.0);\\n  vec4 t_position  = view * tubePosition;\\n  gl_Position      = projection * t_position;\\n\\n  f_color          = color;\\n  f_data           = tubePosition.xyz;\\n  f_position       = position.xyz;\\n  f_uv             = uv;\\n}\\n\"]),i=n([\"#extension GL_OES_standard_derivatives : enable\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(float x, float roughness) {\\n  float NdotH = max(x, 0.0001);\\n  float cos2Alpha = NdotH * NdotH;\\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n  float roughness2 = roughness * roughness;\\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n  return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\nfloat cookTorranceSpecular(\\n  vec3 lightDirection,\\n  vec3 viewDirection,\\n  vec3 surfaceNormal,\\n  float roughness,\\n  float fresnel) {\\n\\n  float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\\n  float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\\n\\n  //Half angle vector\\n  vec3 H = normalize(lightDirection + viewDirection);\\n\\n  //Geometric term\\n  float NdotH = max(dot(surfaceNormal, H), 0.0);\\n  float VdotH = max(dot(viewDirection, H), 0.000001);\\n  float LdotH = max(dot(lightDirection, H), 0.000001);\\n  float G1 = (2.0 * NdotH * VdotN) / VdotH;\\n  float G2 = (2.0 * NdotH * LdotN) / LdotH;\\n  float G = min(1.0, min(G1, G2));\\n  \\n  //Distribution term\\n  float D = beckmannDistribution(NdotH, roughness);\\n\\n  //Fresnel term\\n  float F = pow(1.0 - VdotN, fresnel);\\n\\n  //Multiply terms and done\\n  return  G * F * D / max(3.14159265 * VdotN, 0.000001);\\n}\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\\nuniform sampler2D texture;\\n\\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\\n  vec3 N = normalize(f_normal);\\n  vec3 L = normalize(f_lightDirection);\\n  vec3 V = normalize(f_eyeDirection);\\n\\n  if(gl_FrontFacing) {\\n    N = -N;\\n  }\\n\\n  float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n  vec4 surfaceColor = f_color * texture2D(texture, f_uv);\\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\\n\\n  gl_FragColor = litColor * opacity;\\n}\\n\"]),o=n([\"precision highp float;\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nvec3 getOrthogonalVector(vec3 v) {\\n  // Return up-vector for only-z vector.\\n  // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\\n  // From the above if-statement we have ||a|| > 0  U  ||b|| > 0.\\n  // Assign z = 0, x = -b, y = a:\\n  // a*-b + b*a + c*0 = -ba + ba + 0 = 0\\n  if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\\n    return normalize(vec3(-v.y, v.x, 0.0));\\n  } else {\\n    return normalize(vec3(0.0, v.z, -v.y));\\n  }\\n}\\n\\n// Calculate the tube vertex and normal at the given index.\\n//\\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\\n//\\n// Each tube segment is made up of a ring of vertices.\\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\\n// The indexes of tube segments run from 0 to 8.\\n//\\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\\n  float segmentCount = 8.0;\\n\\n  float angle = 2.0 * 3.14159 * (index / segmentCount);\\n\\n  vec3 u = getOrthogonalVector(d);\\n  vec3 v = normalize(cross(u, d));\\n\\n  vec3 x = u * cos(angle) * length(d);\\n  vec3 y = v * sin(angle) * length(d);\\n  vec3 v3 = x + y;\\n\\n  normal = normalize(v3);\\n\\n  return v3;\\n}\\n\\nattribute vec4 vector;\\nattribute vec4 position;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\nuniform float tubeScale;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n  vec3 normal;\\n  vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\\n  vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\\n\\n  gl_Position = projection * view * tubePosition;\\n  f_id        = id;\\n  f_position  = position.xyz;\\n}\\n\"]),s=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3  clipBounds[2];\\nuniform float pickId;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n  if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\\n\\n  gl_FragColor = vec4(pickId, f_id.xyz);\\n}\"]);r.meshShader={vertex:a,fragment:i,attributes:[{name:\"position\",type:\"vec4\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec4\"}]},r.pickShader={vertex:o,fragment:s,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec4\"}]}},{glslify:408}],318:[function(t,e,r){\"use strict\";var n=t(\"gl-vec3\"),a=t(\"gl-vec4\"),i=[\"xyz\",\"xzy\",\"yxz\",\"yzx\",\"zxy\",\"zyx\"],o=function(t,e,r,i){for(var o=0,s=0;s<t.length;s++)for(var l=t[s].velocities,c=0;c<l.length;c++)o=Math.max(o,n.length(l[c]));var u=t.map((function(t){return function(t,e,r,i){for(var o=t.points,s=t.velocities,l=t.divergences,c=[],u=[],h=[],f=[],p=[],d=[],g=0,m=0,v=a.create(),y=a.create(),x=0;x<o.length;x++){var b=o[x],_=s[x],w=l[x];0===e&&(w=.05*r),m=n.length(_)/i,v=a.create(),n.copy(v,_),v[3]=w;for(var T=0;T<8;T++)p[T]=[b[0],b[1],b[2],T];if(f.length>0)for(T=0;T<8;T++){var k=(T+1)%8;c.push(f[T],p[T],p[k],p[k],f[k],f[T]),h.push(y,v,v,v,y,y),d.push(g,m,m,m,g,g);var A=c.length;u.push([A-6,A-5,A-4],[A-3,A-2,A-1])}var M=f;f=p,p=M;var S=y;y=v,v=S;var E=g;g=m,m=E}return{positions:c,cells:u,vectors:h,vertexIntensity:d}}(t,r,i,o)})),h=[],f=[],p=[],d=[];for(s=0;s<u.length;s++){var g=u[s],m=h.length;h=h.concat(g.positions),p=p.concat(g.vectors),d=d.concat(g.vertexIntensity);for(c=0;c<g.cells.length;c++){var v=g.cells[c],y=[];f.push(y);for(var x=0;x<v.length;x++)y.push(v[x]+m)}}return{positions:h,cells:f,vectors:p,vertexIntensity:d,colormap:e}},s=function(t,e){var r,n=t.length;for(r=0;r<n;r++){var a=t[r];if(a===e)return r;if(a>e)return r-1}return r},l=function(t,e,r){return t<e?e:t>r?r:t},c=function(t){var e=1/0;t.sort((function(t,e){return t-e}));for(var r=t.length,n=1;n<r;n++){var a=Math.abs(t[n]-t[n-1]);a<e&&(e=a)}return e};e.exports=function(t,e){var r=t.startingPositions,a=t.maxLength||1e3,u=t.tubeSize||1,h=t.absoluteTubeSize,f=t.gridFill||\"+x+y+z\",p={};-1!==f.indexOf(\"-x\")&&(p.reversedX=!0),-1!==f.indexOf(\"-y\")&&(p.reversedY=!0),-1!==f.indexOf(\"-z\")&&(p.reversedZ=!0),p.filled=i.indexOf(f.replace(/-/g,\"\").replace(/\\+/g,\"\"));var d=t.getVelocity||function(e){return function(t,e,r){var a=e.vectors,i=e.meshgrid,o=t[0],c=t[1],u=t[2],h=i[0].length,f=i[1].length,p=i[2].length,d=s(i[0],o),g=s(i[1],c),m=s(i[2],u),v=d+1,y=g+1,x=m+1;if(d=l(d,0,h-1),v=l(v,0,h-1),g=l(g,0,f-1),y=l(y,0,f-1),m=l(m,0,p-1),x=l(x,0,p-1),d<0||g<0||m<0||v>h-1||y>f-1||x>p-1)return n.create();var b,_,w,T,k,A,M=i[0][d],S=i[0][v],E=i[1][g],C=i[1][y],L=i[2][m],P=(o-M)/(S-M),I=(c-E)/(C-E),z=(u-L)/(i[2][x]-L);switch(isFinite(P)||(P=.5),isFinite(I)||(I=.5),isFinite(z)||(z=.5),r.reversedX&&(d=h-1-d,v=h-1-v),r.reversedY&&(g=f-1-g,y=f-1-y),r.reversedZ&&(m=p-1-m,x=p-1-x),r.filled){case 5:k=m,A=x,w=g*p,T=y*p,b=d*p*f,_=v*p*f;break;case 4:k=m,A=x,b=d*p,_=v*p,w=g*p*h,T=y*p*h;break;case 3:w=g,T=y,k=m*f,A=x*f,b=d*f*p,_=v*f*p;break;case 2:w=g,T=y,b=d*f,_=v*f,k=m*f*h,A=x*f*h;break;case 1:b=d,_=v,k=m*h,A=x*h,w=g*h*p,T=y*h*p;break;default:b=d,_=v,w=g*h,T=y*h,k=m*h*f,A=x*h*f}var O=a[b+w+k],D=a[b+w+A],R=a[b+T+k],F=a[b+T+A],B=a[_+w+k],N=a[_+w+A],j=a[_+T+k],V=a[_+T+A],U=n.create(),q=n.create(),H=n.create(),G=n.create();n.lerp(U,O,B,P),n.lerp(q,D,N,P),n.lerp(H,R,j,P),n.lerp(G,F,V,P);var Y=n.create(),W=n.create();n.lerp(Y,U,H,I),n.lerp(W,q,G,I);var Z=n.create();return n.lerp(Z,Y,W,z),Z}(e,t,p)},g=t.getDivergence||function(t,e){var r=n.create(),a=1e-4;n.add(r,t,[a,0,0]);var i=d(r);n.subtract(i,i,e),n.scale(i,i,1/a),n.add(r,t,[0,a,0]);var o=d(r);n.subtract(o,o,e),n.scale(o,o,1/a),n.add(r,t,[0,0,a]);var s=d(r);return n.subtract(s,s,e),n.scale(s,s,1/a),n.add(r,i,o),n.add(r,r,s),r},m=[],v=e[0][0],y=e[0][1],x=e[0][2],b=e[1][0],_=e[1][1],w=e[1][2],T=function(t){var e=t[0],r=t[1],n=t[2];return!(e<v||e>b||r<y||r>_||n<x||n>w)},k=10*n.distance(e[0],e[1])/a,A=k*k,M=1,S=0,E=r.length;E>1&&(M=function(t){for(var e=[],r=[],n=[],a={},i={},o={},s=t.length,l=0;l<s;l++){var u=t[l],h=u[0],f=u[1],p=u[2];a[h]||(e.push(h),a[h]=!0),i[f]||(r.push(f),i[f]=!0),o[p]||(n.push(p),o[p]=!0)}var d=c(e),g=c(r),m=c(n),v=Math.min(d,g,m);return isFinite(v)?v:1}(r));for(var C=0;C<E;C++){var L=n.create();n.copy(L,r[C]);var P=[L],I=[],z=d(L),O=L;I.push(z);var D=[],R=g(L,z),F=n.length(R);isFinite(F)&&F>S&&(S=F),D.push(F),m.push({points:P,velocities:I,divergences:D});for(var B=0;B<100*a&&P.length<a&&T(L);){B++;var N=n.clone(z),j=n.squaredLength(N);if(0===j)break;if(j>A&&n.scale(N,N,k/Math.sqrt(j)),n.add(N,N,L),z=d(N),n.squaredDistance(O,N)-A>-1e-4*A){P.push(N),O=N,I.push(z);R=g(N,z),F=n.length(R);isFinite(F)&&F>S&&(S=F),D.push(F)}L=N}}var V=o(m,t.colormap,S,M);return h?V.tubeScale=h:(0===S&&(S=1),V.tubeScale=.5*u*M/S),V};var u=t(\"./lib/shaders\"),h=t(\"gl-cone3d\").createMesh;e.exports.createTubeMesh=function(t,e){return h(t,e,{shaders:u,traceType:\"streamtube\"})}},{\"./lib/shaders\":317,\"gl-cone3d\":254,\"gl-vec3\":346,\"gl-vec4\":382}],319:[function(t,e,r){var n=t(\"gl-shader\"),a=t(\"glslify\"),i=a([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec4 uv;\\nattribute vec3 f;\\nattribute vec3 normal;\\n\\nuniform vec3 objectOffset;\\nuniform mat4 model, view, projection, inverseModel;\\nuniform vec3 lightPosition, eyePosition;\\nuniform sampler2D colormap;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec2 planeCoordinate;\\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\\nvarying vec4 vColor;\\n\\nvoid main() {\\n  vec3 localCoordinate = vec3(uv.zw, f.x);\\n  worldCoordinate = objectOffset + localCoordinate;\\n  vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\\n  vec4 clipPosition = projection * view * worldPosition;\\n  gl_Position = clipPosition;\\n  kill = f.y;\\n  value = f.z;\\n  planeCoordinate = uv.xy;\\n\\n  vColor = texture2D(colormap, vec2(value, value));\\n\\n  //Lighting geometry parameters\\n  vec4 cameraCoordinate = view * worldPosition;\\n  cameraCoordinate.xyz /= cameraCoordinate.w;\\n  lightDirection = lightPosition - cameraCoordinate.xyz;\\n  eyeDirection   = eyePosition - cameraCoordinate.xyz;\\n  surfaceNormal  = normalize((vec4(normal,0) * inverseModel).xyz);\\n}\\n\"]),o=a([\"precision highp float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(float x, float roughness) {\\n  float NdotH = max(x, 0.0001);\\n  float cos2Alpha = NdotH * NdotH;\\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n  float roughness2 = roughness * roughness;\\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n  return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\nfloat beckmannSpecular(\\n  vec3 lightDirection,\\n  vec3 viewDirection,\\n  vec3 surfaceNormal,\\n  float roughness) {\\n  return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\\n}\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 lowerBound, upperBound;\\nuniform float contourTint;\\nuniform vec4 contourColor;\\nuniform sampler2D colormap;\\nuniform vec3 clipBounds[2];\\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\\nuniform float vertexColor;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\\nvarying vec4 vColor;\\n\\nvoid main() {\\n  if (\\n    kill > 0.0 ||\\n    vColor.a == 0.0 ||\\n    outOfRange(clipBounds[0], clipBounds[1], worldCoordinate)\\n  ) discard;\\n\\n  vec3 N = normalize(surfaceNormal);\\n  vec3 V = normalize(eyeDirection);\\n  vec3 L = normalize(lightDirection);\\n\\n  if(gl_FrontFacing) {\\n    N = -N;\\n  }\\n\\n  float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n  //decide how to interpolate color \\u2014 in vertex or in fragment\\n  vec4 surfaceColor =\\n    step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\\n    step(.5, vertexColor) * vColor;\\n\\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\\n\\n  gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\\n}\\n\"]),s=a([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec4 uv;\\nattribute float f;\\n\\nuniform vec3 objectOffset;\\nuniform mat3 permutation;\\nuniform mat4 model, view, projection;\\nuniform float height, zOffset;\\nuniform sampler2D colormap;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec2 planeCoordinate;\\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\\nvarying vec4 vColor;\\n\\nvoid main() {\\n  vec3 dataCoordinate = permutation * vec3(uv.xy, height);\\n  worldCoordinate = objectOffset + dataCoordinate;\\n  vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\\n\\n  vec4 clipPosition = projection * view * worldPosition;\\n  clipPosition.z += zOffset;\\n\\n  gl_Position = clipPosition;\\n  value = f + objectOffset.z;\\n  kill = -1.0;\\n  planeCoordinate = uv.zw;\\n\\n  vColor = texture2D(colormap, vec2(value, value));\\n\\n  //Don't do lighting for contours\\n  surfaceNormal   = vec3(1,0,0);\\n  eyeDirection    = vec3(0,1,0);\\n  lightDirection  = vec3(0,0,1);\\n}\\n\"]),l=a([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec2 shape;\\nuniform vec3 clipBounds[2];\\nuniform float pickId;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec2 planeCoordinate;\\nvarying vec3 surfaceNormal;\\n\\nvec2 splitFloat(float v) {\\n  float vh = 255.0 * v;\\n  float upper = floor(vh);\\n  float lower = fract(vh);\\n  return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\\n}\\n\\nvoid main() {\\n  if ((kill > 0.0) ||\\n      (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\\n\\n  vec2 ux = splitFloat(planeCoordinate.x / shape.x);\\n  vec2 uy = splitFloat(planeCoordinate.y / shape.y);\\n  gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\\n}\\n\"]);r.createShader=function(t){var e=n(t,i,o,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createPickShader=function(t){var e=n(t,i,l,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createContourShader=function(t){var e=n(t,s,o,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},r.createPickContourShader=function(t){var e=n(t,s,l,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},{\"gl-shader\":307,glslify:408}],320:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl,r=y(e),n=b(e),s=x(e),l=_(e),c=a(e),u=i(e,[{buffer:c,size:4,stride:40,offset:0},{buffer:c,size:3,stride:40,offset:16},{buffer:c,size:3,stride:40,offset:28}]),h=a(e),f=i(e,[{buffer:h,size:4,stride:20,offset:0},{buffer:h,size:1,stride:20,offset:16}]),p=a(e),d=i(e,[{buffer:p,size:2,type:e.FLOAT}]),g=o(e,1,256,e.RGBA,e.UNSIGNED_BYTE);g.minFilter=e.LINEAR,g.magFilter=e.LINEAR;var m=new M(e,[0,0],[[0,0,0],[0,0,0]],r,n,c,u,g,s,l,h,f,p,d,[0,0,0]),v={levels:[[],[],[]]};for(var w in t)v[w]=t[w];return v.colormap=v.colormap||\"jet\",m.update(v),m};var n=t(\"bit-twiddle\"),a=t(\"gl-buffer\"),i=t(\"gl-vao\"),o=t(\"gl-texture2d\"),s=t(\"typedarray-pool\"),l=t(\"colormap\"),c=t(\"ndarray-ops\"),u=t(\"ndarray-pack\"),h=t(\"ndarray\"),f=t(\"surface-nets\"),p=t(\"gl-mat4/multiply\"),d=t(\"gl-mat4/invert\"),g=t(\"binary-search-bounds\"),m=t(\"ndarray-gradient\"),v=t(\"./lib/shaders\"),y=v.createShader,x=v.createContourShader,b=v.createPickShader,_=v.createPickContourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],T=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],k=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];function A(t,e,r,n,a){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=a}!function(){for(var t=0;t<3;++t){var e=k[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();function M(t,e,r,n,a,i,o,l,c,u,f,p,d,g,m){this.gl=t,this.shape=e,this.bounds=r,this.objectOffset=m,this.intensityBounds=[],this._shader=n,this._pickShader=a,this._coordinateBuffer=i,this._vao=o,this._colorMap=l,this._contourShader=c,this._contourPickShader=u,this._contourBuffer=f,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new A([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=g,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[h(s.mallocFloat(1024),[0,0]),h(s.mallocFloat(1024),[0,0]),h(s.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.pixelRatio=1,this.opacity=1,this.opacityscale=!1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}var S=M.prototype;S.isTransparent=function(){return this.opacity<1||this.opacityscale},S.isOpaque=function(){if(this.opacityscale)return!1;if(this.opacity<1)return!1;if(this.opacity>=1)return!0;for(var t=0;t<3;++t)if(this._contourCounts[t].length>0)return!0;return!1},S.pickSlots=1,S.setPickBase=function(t){this.pickId=t};var E=[0,0,0],C={showSurface:!1,showContour:!1,projections:[w.slice(),w.slice(),w.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function L(t,e){var r,n,a,i=e.axes&&e.axes.lastCubeProps.axis||E,o=e.showSurface,s=e.showContour;for(r=0;r<3;++r)for(o=o||e.surfaceProject[r],n=0;n<3;++n)s=s||e.contourProject[r][n];for(r=0;r<3;++r){var l=C.projections[r];for(n=0;n<16;++n)l[n]=0;for(n=0;n<4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=e.axesBounds[+(i[r]>0)][r],p(l,t.model,l);var c=C.clipBounds[r];for(a=0;a<2;++a)for(n=0;n<3;++n)c[a][n]=t.clipBounds[a][n];c[0][r]=-1e8,c[1][r]=1e8}return C.showSurface=o,C.showContour=s,C}var P={model:w,view:w,projection:w,inverseModel:w.slice(),lowerBound:[0,0,0],upperBound:[0,0,0],colorMap:0,clipBounds:[[0,0,0],[0,0,0]],height:0,contourTint:0,contourColor:[0,0,0,1],permutation:[1,0,0,0,1,0,0,0,1],zOffset:-1e-4,objectOffset:[0,0,0],kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},I=w.slice(),z=[1,0,0,0,1,0,0,0,1];function O(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=P;n.model=t.model||w,n.view=t.view||w,n.projection=t.projection||w,n.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],n.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],n.objectOffset=this.objectOffset,n.contourColor=this.contourColor[0],n.inverseModel=d(n.inverseModel,n.model);for(var a=0;a<2;++a)for(var i=n.clipBounds[a],o=0;o<3;++o)i[o]=Math.min(Math.max(this.clipBounds[a][o],-1e8),1e8);n.kambient=this.ambientLight,n.kdiffuse=this.diffuseLight,n.kspecular=this.specularLight,n.roughness=this.roughness,n.fresnel=this.fresnel,n.opacity=this.opacity,n.height=0,n.permutation=z,n.vertexColor=this.vertexColor;var s=I;for(p(s,n.view,n.model),p(s,n.projection,s),d(s,s),a=0;a<3;++a)n.eyePosition[a]=s[12+a]/s[15];var l=s[15];for(a=0;a<3;++a)l+=this.lightPosition[a]*s[4*a+3];for(a=0;a<3;++a){var c=s[12+a];for(o=0;o<3;++o)c+=s[4*o+a]*this.lightPosition[o];n.lightPosition[a]=c/l}var u=L(n,this);if(u.showSurface){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),a=0;a<3;++a)this.surfaceProject[a]&&this.vertexCount&&(this._shader.uniforms.model=u.projections[a],this._shader.uniforms.clipBounds=u.clipBounds[a],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(u.showContour){var h=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,h.bind(),h.uniforms=n;var f=this._contourVAO;for(f.bind(),a=0;a<3;++a)for(h.uniforms.permutation=k[a],r.lineWidth(this.contourWidth[a]*this.pixelRatio),o=0;o<this.contourLevels[a].length;++o)o===this.highlightLevel[a]?(h.uniforms.contourColor=this.highlightColor[a],h.uniforms.contourTint=this.highlightTint[a]):0!==o&&o-1!==this.highlightLevel[a]||(h.uniforms.contourColor=this.contourColor[a],h.uniforms.contourTint=this.contourTint[a]),this._contourCounts[a][o]&&(h.uniforms.height=this.contourLevels[a][o],f.draw(r.LINES,this._contourCounts[a][o],this._contourOffsets[a][o]));for(a=0;a<3;++a)for(h.uniforms.model=u.projections[a],h.uniforms.clipBounds=u.clipBounds[a],o=0;o<3;++o)if(this.contourProject[a][o]){h.uniforms.permutation=k[o],r.lineWidth(this.contourWidth[o]*this.pixelRatio);for(var g=0;g<this.contourLevels[o].length;++g)g===this.highlightLevel[o]?(h.uniforms.contourColor=this.highlightColor[o],h.uniforms.contourTint=this.highlightTint[o]):0!==g&&g-1!==this.highlightLevel[o]||(h.uniforms.contourColor=this.contourColor[o],h.uniforms.contourTint=this.contourTint[o]),this._contourCounts[o][g]&&(h.uniforms.height=this.contourLevels[o][g],f.draw(r.LINES,this._contourCounts[o][g],this._contourOffsets[o][g]))}for(f.unbind(),(f=this._dynamicVAO).bind(),a=0;a<3;++a)if(0!==this._dynamicCounts[a])for(h.uniforms.model=n.model,h.uniforms.clipBounds=n.clipBounds,h.uniforms.permutation=k[a],r.lineWidth(this.dynamicWidth[a]*this.pixelRatio),h.uniforms.contourColor=this.dynamicColor[a],h.uniforms.contourTint=this.dynamicTint[a],h.uniforms.height=this.dynamicLevel[a],f.draw(r.LINES,this._dynamicCounts[a],this._dynamicOffsets[a]),o=0;o<3;++o)this.contourProject[o][a]&&(h.uniforms.model=u.projections[o],h.uniforms.clipBounds=u.clipBounds[o],f.draw(r.LINES,this._dynamicCounts[a],this._dynamicOffsets[a]));f.unbind()}}S.draw=function(t){return O.call(this,t,!1)},S.drawTransparent=function(t){return O.call(this,t,!0)};var D={model:w,view:w,projection:w,inverseModel:w,clipBounds:[[0,0,0],[0,0,0]],height:0,shape:[0,0],pickId:0,lowerBound:[0,0,0],upperBound:[0,0,0],zOffset:0,objectOffset:[0,0,0],permutation:[1,0,0,0,1,0,0,0,1],lightPosition:[0,0,0],eyePosition:[0,0,0]};function R(t,e){return Array.isArray(t)?[e(t[0]),e(t[1]),e(t[2])]:[e(t),e(t),e(t)]}function F(t){return Array.isArray(t)?3===t.length?[t[0],t[1],t[2],1]:[t[0],t[1],t[2],t[3]]:[0,0,0,1]}function B(t){if(Array.isArray(t)){if(Array.isArray(t))return[F(t[0]),F(t[1]),F(t[2])];var e=F(t);return[e.slice(),e.slice(),e.slice()]}}S.drawPick=function(t){t=t||{};var e=this.gl;e.disable(e.CULL_FACE);var r=D;r.model=t.model||w,r.view=t.view||w,r.projection=t.projection||w,r.shape=this._field[2].shape,r.pickId=this.pickId/255,r.lowerBound=this.bounds[0],r.upperBound=this.bounds[1],r.objectOffset=this.objectOffset,r.permutation=z;for(var n=0;n<2;++n)for(var a=r.clipBounds[n],i=0;i<3;++i)a[i]=Math.min(Math.max(this.clipBounds[n][i],-1e8),1e8);var o=L(r,this);if(o.showSurface){for(this._pickShader.bind(),this._pickShader.uniforms=r,this._vao.bind(),this._vao.draw(e.TRIANGLES,this._vertexCount),n=0;n<3;++n)this.surfaceProject[n]&&(this._pickShader.uniforms.model=o.projections[n],this._pickShader.uniforms.clipBounds=o.clipBounds[n],this._vao.draw(e.TRIANGLES,this._vertexCount));this._vao.unbind()}if(o.showContour){var s=this._contourPickShader;s.bind(),s.uniforms=r;var l=this._contourVAO;for(l.bind(),i=0;i<3;++i)for(e.lineWidth(this.contourWidth[i]*this.pixelRatio),s.uniforms.permutation=k[i],n=0;n<this.contourLevels[i].length;++n)this._contourCounts[i][n]&&(s.uniforms.height=this.contourLevels[i][n],l.draw(e.LINES,this._contourCounts[i][n],this._contourOffsets[i][n]));for(n=0;n<3;++n)for(s.uniforms.model=o.projections[n],s.uniforms.clipBounds=o.clipBounds[n],i=0;i<3;++i)if(this.contourProject[n][i]){s.uniforms.permutation=k[i],e.lineWidth(this.contourWidth[i]*this.pixelRatio);for(var c=0;c<this.contourLevels[i].length;++c)this._contourCounts[i][c]&&(s.uniforms.height=this.contourLevels[i][c],l.draw(e.LINES,this._contourCounts[i][c],this._contourOffsets[i][c]))}l.unbind()}},S.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=this._field[2].shape,r=this._pickResult,n=e[0]*(t.value[0]+(t.value[2]>>4)/16)/255,a=Math.floor(n),i=n-a,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;a+=1,s+=1;var c=r.position;c[0]=c[1]=c[2]=0;for(var u=0;u<2;++u)for(var h=u?i:1-i,f=0;f<2;++f)for(var p=a+u,d=s+f,m=h*(f?l:1-l),v=0;v<3;++v)c[v]+=this._field[v].get(p,d)*m;for(var y=this._pickResult.level,x=0;x<3;++x)if(y[x]=g.le(this.contourLevels[x],c[x]),y[x]<0)this.contourLevels[x].length>0&&(y[x]=0);else if(y[x]<this.contourLevels[x].length-1){var b=this.contourLevels[x][y[x]],_=this.contourLevels[x][y[x]+1];Math.abs(b-c[x])>Math.abs(_-c[x])&&(y[x]+=1)}for(r.index[0]=i<.5?a:a+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],v=0;v<3;++v)r.dataCoordinate[v]=this._field[v].get(r.index[0],r.index[1]);return r},S.padField=function(t,e){var r=e.shape.slice(),n=t.shape.slice();c.assign(t.lo(1,1).hi(r[0],r[1]),e),c.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),c.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),c.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),c.assign(t.lo(n[0]-1,1).hi(1,r[1]),e.lo(r[0]-1)),t.set(0,0,e.get(0,0)),t.set(0,n[1]-1,e.get(0,r[1]-1)),t.set(n[0]-1,0,e.get(r[0]-1,0)),t.set(n[0]-1,n[1]-1,e.get(r[0]-1,r[1]-1))},S.update=function(t){t=t||{},this.objectOffset=t.objectOffset||this.objectOffset,this.dirty=!0,\"contourWidth\"in t&&(this.contourWidth=R(t.contourWidth,Number)),\"showContour\"in t&&(this.showContour=R(t.showContour,Boolean)),\"showSurface\"in t&&(this.showSurface=!!t.showSurface),\"contourTint\"in t&&(this.contourTint=R(t.contourTint,Boolean)),\"contourColor\"in t&&(this.contourColor=B(t.contourColor)),\"contourProject\"in t&&(this.contourProject=R(t.contourProject,(function(t){return R(t,Boolean)}))),\"surfaceProject\"in t&&(this.surfaceProject=t.surfaceProject),\"dynamicColor\"in t&&(this.dynamicColor=B(t.dynamicColor)),\"dynamicTint\"in t&&(this.dynamicTint=R(t.dynamicTint,Number)),\"dynamicWidth\"in t&&(this.dynamicWidth=R(t.dynamicWidth,Number)),\"opacity\"in t&&(this.opacity=t.opacity),\"opacityscale\"in t&&(this.opacityscale=t.opacityscale),\"colorBounds\"in t&&(this.colorBounds=t.colorBounds),\"vertexColor\"in t&&(this.vertexColor=t.vertexColor?1:0);var e=t.field||t.coords&&t.coords[2]||null,r=!1;if(e||(e=this._field[2].shape[0]||this._field[2].shape[2]?this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):this._field[2].hi(0,0)),\"field\"in t||\"coords\"in t){var a=(e.shape[0]+2)*(e.shape[1]+2);a>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(a))),this._field[2]=h(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),this.padField(this._field[2],e),this.shape=e.shape.slice();for(var i=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(s.freeFloat(this._field[o].data),this._field[o].data=s.mallocFloat(this._field[2].size)),this._field[o]=h(this._field[o].data,[i[0]+2,i[1]+2]);if(t.coords){var p=t.coords;if(!Array.isArray(p)||3!==p.length)throw new Error(\"gl-surface: invalid coordinates for x/y\");for(o=0;o<2;++o){var d=p[o];for(b=0;b<2;++b)if(d.shape[b]!==i[b])throw new Error(\"gl-surface: coords have incorrect shape\");this.padField(this._field[o],d)}}else if(t.ticks){var g=t.ticks;if(!Array.isArray(g)||2!==g.length)throw new Error(\"gl-surface: invalid ticks\");for(o=0;o<2;++o){var v=g[o];if((Array.isArray(v)||v.length)&&(v=h(v)),v.shape[0]!==i[o])throw new Error(\"gl-surface: invalid tick length\");var y=h(v.data,i);y.stride[o]=v.stride[0],y.stride[1^o]=0,this.padField(this._field[o],y)}}else{for(o=0;o<2;++o){var x=[0,0];x[o]=1,this._field[o]=h(this._field[o].data,[i[0]+2,i[1]+2],x,0)}this._field[0].set(0,0,0);for(var b=0;b<i[0];++b)this._field[0].set(b+1,0,b);for(this._field[0].set(i[0]+1,0,i[0]-1),this._field[1].set(0,0,0),b=0;b<i[1];++b)this._field[1].set(0,b+1,b);this._field[1].set(0,i[1]+1,i[1]-1)}var _=this._field,w=h(s.mallocFloat(3*_[2].size*2),[3,i[0]+2,i[1]+2,2]);for(o=0;o<3;++o)m(w.pick(o),_[o],\"mirror\");var k=h(s.mallocFloat(3*_[2].size),[i[0]+2,i[1]+2,3]);for(o=0;o<i[0]+2;++o)for(b=0;b<i[1]+2;++b){var A=w.get(0,o,b,0),M=w.get(0,o,b,1),S=w.get(1,o,b,0),E=w.get(1,o,b,1),C=w.get(2,o,b,0),L=w.get(2,o,b,1),P=S*L-E*C,I=C*M-L*A,z=A*E-M*S,O=Math.sqrt(P*P+I*I+z*z);O<1e-8?(O=Math.max(Math.abs(P),Math.abs(I),Math.abs(z)))<1e-8?(z=1,I=P=0,O=1):O=1/O:O=1/Math.sqrt(O),k.set(o,b,0,P*O),k.set(o,b,1,I*O),k.set(o,b,2,z*O)}s.free(w.data);var D=[1/0,1/0,1/0],F=[-1/0,-1/0,-1/0],N=1/0,j=-1/0,V=(i[0]-1)*(i[1]-1)*6,U=s.mallocFloat(n.nextPow2(10*V)),q=0,H=0;for(o=0;o<i[0]-1;++o)t:for(b=0;b<i[1]-1;++b){for(var G=0;G<2;++G)for(var Y=0;Y<2;++Y)for(var W=0;W<3;++W){var Z=this._field[W].get(1+o+G,1+b+Y);if(isNaN(Z)||!isFinite(Z))continue t}for(W=0;W<6;++W){var X=o+T[W][0],J=b+T[W][1],K=this._field[0].get(X+1,J+1),Q=this._field[1].get(X+1,J+1);Z=this._field[2].get(X+1,J+1),P=k.get(X+1,J+1,0),I=k.get(X+1,J+1,1),z=k.get(X+1,J+1,2),t.intensity&&($=t.intensity.get(X,J));var $=t.intensity?t.intensity.get(X,J):Z+this.objectOffset[2];U[q++]=X,U[q++]=J,U[q++]=K,U[q++]=Q,U[q++]=Z,U[q++]=0,U[q++]=$,U[q++]=P,U[q++]=I,U[q++]=z,D[0]=Math.min(D[0],K+this.objectOffset[0]),D[1]=Math.min(D[1],Q+this.objectOffset[1]),D[2]=Math.min(D[2],Z+this.objectOffset[2]),N=Math.min(N,$),F[0]=Math.max(F[0],K+this.objectOffset[0]),F[1]=Math.max(F[1],Q+this.objectOffset[1]),F[2]=Math.max(F[2],Z+this.objectOffset[2]),j=Math.max(j,$),H+=1}}for(t.intensityBounds&&(N=+t.intensityBounds[0],j=+t.intensityBounds[1]),o=6;o<q;o+=10)U[o]=(U[o]-N)/(j-N);this._vertexCount=H,this._coordinateBuffer.update(U.subarray(0,q)),s.freeFloat(U),s.free(k.data),this.bounds=[D,F],this.intensity=t.intensity||this._field[2],this.intensityBounds[0]===N&&this.intensityBounds[1]===j||(r=!0),this.intensityBounds=[N,j]}if(\"levels\"in t){var tt=t.levels;for(tt=Array.isArray(tt[0])?tt.slice():[[],[],tt],o=0;o<3;++o)tt[o]=tt[o].slice(),tt[o].sort((function(t,e){return t-e}));for(o=0;o<3;++o)for(b=0;b<tt[o].length;++b)tt[o][b]-=this.objectOffset[o];t:for(o=0;o<3;++o){if(tt[o].length!==this.contourLevels[o].length){r=!0;break}for(b=0;b<tt[o].length;++b)if(tt[o][b]!==this.contourLevels[o][b]){r=!0;break t}}this.contourLevels=tt}if(r){_=this._field,i=this.shape;for(var et=[],rt=0;rt<3;++rt){var nt=this.contourLevels[rt],at=[],it=[],ot=[0,0,0];for(o=0;o<nt.length;++o){var st=f(this._field[rt],nt[o]);at.push(et.length/5|0),H=0;t:for(b=0;b<st.cells.length;++b){var lt=st.cells[b];for(W=0;W<2;++W){var ct=st.positions[lt[W]],ut=ct[0],ht=0|Math.floor(ut),ft=ut-ht,pt=ct[1],dt=0|Math.floor(pt),gt=pt-dt,mt=!1;e:for(var vt=0;vt<3;++vt){ot[vt]=0;var yt=(rt+vt+1)%3;for(G=0;G<2;++G){var xt=G?ft:1-ft;for(X=0|Math.min(Math.max(ht+G,0),i[0]),Y=0;Y<2;++Y){var bt=Y?gt:1-gt;if(J=0|Math.min(Math.max(dt+Y,0),i[1]),Z=vt<2?this._field[yt].get(X,J):(this.intensity.get(X,J)-this.intensityBounds[0])/(this.intensityBounds[1]-this.intensityBounds[0]),!isFinite(Z)||isNaN(Z)){mt=!0;break e}var _t=xt*bt;ot[vt]+=_t*Z}}}if(mt){if(W>0){for(var wt=0;wt<5;++wt)et.pop();H-=1}continue t}et.push(ot[0],ot[1],ct[0],ct[1],ot[2]),H+=1}}it.push(H)}this._contourOffsets[rt]=at,this._contourCounts[rt]=it}var Tt=s.mallocFloat(et.length);for(o=0;o<et.length;++o)Tt[o]=et[o];this._contourBuffer.update(Tt),s.freeFloat(Tt)}t.colormap&&this._colorMap.setPixels(function(t,e){var r=u([l({colormap:t,nshades:256,format:\"rgba\"}).map((function(t,r){var n=e?function(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;r<e.length;++r){if(e.length<2)return 1;if(e[r][0]===t)return e[r][1];if(e[r][0]>t&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}(r/255,e):1;return[t[0],t[1],t[2],255*n]}))]);return c.divseq(r,255),r}(t.colormap,this.opacityscale))},S.dispose=function(){this._shader.dispose(),this._vao.dispose(),this._coordinateBuffer.dispose(),this._colorMap.dispose(),this._contourBuffer.dispose(),this._contourVAO.dispose(),this._contourShader.dispose(),this._contourPickShader.dispose(),this._dynamicBuffer.dispose(),this._dynamicVAO.dispose();for(var t=0;t<3;++t)s.freeFloat(this._field[t].data)},S.highlight=function(t){var e,r;if(!t)return this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],void(this.highlightLevel=[-1,-1,-1]);for(e=0;e<3;++e)this.enableHighlight[e]?this.highlightLevel[e]=t.level[e]:this.highlightLevel[e]=-1;for(r=this.snapToData?t.dataCoordinate:t.position,e=0;e<3;++e)r[e]-=this.objectOffset[e];if(this.enableDynamic[0]&&r[0]!==this.dynamicLevel[0]||this.enableDynamic[1]&&r[1]!==this.dynamicLevel[1]||this.enableDynamic[2]&&r[2]!==this.dynamicLevel[2]){for(var n=0,a=this.shape,i=s.mallocFloat(12*a[0]*a[1]),o=0;o<3;++o)if(this.enableDynamic[o]){this.dynamicLevel[o]=r[o];var l=(o+1)%3,c=(o+2)%3,u=this._field[o],h=this._field[l],p=this._field[c],d=f(u,r[o]),g=d.cells,m=d.positions;for(this._dynamicOffsets[o]=n,e=0;e<g.length;++e)for(var v=g[e],y=0;y<2;++y){var x=m[v[y]],b=+x[0],_=0|b,w=0|Math.min(_+1,a[0]),T=b-_,k=1-T,A=+x[1],M=0|A,S=0|Math.min(M+1,a[1]),E=A-M,C=1-E,L=k*C,P=k*E,I=T*C,z=T*E,O=L*h.get(_,M)+P*h.get(_,S)+I*h.get(w,M)+z*h.get(w,S),D=L*p.get(_,M)+P*p.get(_,S)+I*p.get(w,M)+z*p.get(w,S);if(isNaN(O)||isNaN(D)){y&&(n-=1);break}i[2*n+0]=O,i[2*n+1]=D,n+=1}this._dynamicCounts[o]=n-this._dynamicOffsets[o]}else this.dynamicLevel[o]=NaN,this._dynamicCounts[o]=0;this._dynamicBuffer.update(i.subarray(0,2*n)),s.freeFloat(i)}}},{\"./lib/shaders\":319,\"binary-search-bounds\":94,\"bit-twiddle\":95,colormap:128,\"gl-buffer\":253,\"gl-mat4/invert\":273,\"gl-mat4/multiply\":275,\"gl-texture2d\":322,\"gl-vao\":327,ndarray:448,\"ndarray-gradient\":441,\"ndarray-ops\":443,\"ndarray-pack\":444,\"surface-nets\":522,\"typedarray-pool\":547}],321:[function(t,e,r){\"use strict\";var n=t(\"css-font\"),a=t(\"pick-by-alias\"),i=t(\"regl\"),o=t(\"gl-util/context\"),s=t(\"es6-weak-map\"),l=t(\"color-normalize\"),c=t(\"font-atlas\"),u=t(\"typedarray-pool\"),h=t(\"parse-rect\"),f=t(\"is-plain-obj\"),p=t(\"parse-unit\"),d=t(\"to-px\"),g=t(\"detect-kerning\"),m=t(\"object-assign\"),v=t(\"font-measure\"),y=t(\"flatten-vertex-data\"),x=t(\"bit-twiddle\").nextPow2,b=new s,_=!1;if(document.body){var w=document.body.appendChild(document.createElement(\"div\"));w.style.font=\"italic small-caps bold condensed 16px/2 cursive\",getComputedStyle(w).fontStretch&&(_=!0),document.body.removeChild(w)}var T=function(t){!function(t){return\"function\"==typeof t&&t._gl&&t.prop&&t.texture&&t.buffer}(t)?this.gl=o(t):(t={regl:t},this.gl=t.regl._gl),this.shader=b.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=t.regl||i({gl:this.gl}),this.charBuffer=this.regl.buffer({type:\"uint8\",usage:\"stream\"}),this.sizeBuffer=this.regl.buffer({type:\"float\",usage:\"stream\"}),this.shader||(this.shader=this.createShader(),b.set(this.gl,this.shader)),this.batch=[],this.fontSize=[],this.font=[],this.fontAtlas=[],this.draw=this.shader.draw.bind(this),this.render=function(){this.regl._refresh(),this.draw(this.batch)},this.canvas=this.gl.canvas,this.update(f(t)?t:{})};T.prototype.createShader=function(){var t=this.regl,e=t({blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},stencil:{enable:!1},depth:{enable:!1},count:t.prop(\"count\"),offset:t.prop(\"offset\"),attributes:{charOffset:{offset:4,stride:8,buffer:t.this(\"sizeBuffer\")},width:{offset:0,stride:8,buffer:t.this(\"sizeBuffer\")},char:t.this(\"charBuffer\"),position:t.this(\"position\")},uniforms:{atlasSize:function(t,e){return[e.atlas.width,e.atlas.height]},atlasDim:function(t,e){return[e.atlas.cols,e.atlas.rows]},atlas:function(t,e){return e.atlas.texture},charStep:function(t,e){return e.atlas.step},em:function(t,e){return e.atlas.em},color:t.prop(\"color\"),opacity:t.prop(\"opacity\"),viewport:t.this(\"viewportArray\"),scale:t.this(\"scale\"),align:t.prop(\"align\"),baseline:t.prop(\"baseline\"),translate:t.this(\"translate\"),positionOffset:t.prop(\"positionOffset\")},primitive:\"points\",viewport:t.this(\"viewport\"),vert:\"\\n\\t\\t\\tprecision highp float;\\n\\t\\t\\tattribute float width, charOffset, char;\\n\\t\\t\\tattribute vec2 position;\\n\\t\\t\\tuniform float fontSize, charStep, em, align, baseline;\\n\\t\\t\\tuniform vec4 viewport;\\n\\t\\t\\tuniform vec4 color;\\n\\t\\t\\tuniform vec2 atlasSize, atlasDim, scale, translate, positionOffset;\\n\\t\\t\\tvarying vec2 charCoord, charId;\\n\\t\\t\\tvarying float charWidth;\\n\\t\\t\\tvarying vec4 fontColor;\\n\\t\\t\\tvoid main () {\\n\\t\\t\\t\\t\"+(T.normalViewport?\"\":\"vec2 positionOffset = vec2(positionOffset.x,- positionOffset.y);\")+\"\\n\\n\\t\\t\\t\\tvec2 offset = floor(em * (vec2(align + charOffset, baseline)\\n\\t\\t\\t\\t\\t+ positionOffset))\\n\\t\\t\\t\\t\\t/ (viewport.zw * scale.xy);\\n\\n\\t\\t\\t\\tvec2 position = (position + translate) * scale;\\n\\t\\t\\t\\tposition += offset * scale;\\n\\n\\t\\t\\t\\t\"+(T.normalViewport?\"position.y = 1. - position.y;\":\"\")+\"\\n\\n\\t\\t\\t\\tcharCoord = position * viewport.zw + viewport.xy;\\n\\n\\t\\t\\t\\tgl_Position = vec4(position * 2. - 1., 0, 1);\\n\\n\\t\\t\\t\\tgl_PointSize = charStep;\\n\\n\\t\\t\\t\\tcharId.x = mod(char, atlasDim.x);\\n\\t\\t\\t\\tcharId.y = floor(char / atlasDim.x);\\n\\n\\t\\t\\t\\tcharWidth = width * em;\\n\\n\\t\\t\\t\\tfontColor = color / 255.;\\n\\t\\t\\t}\",frag:\"\\n\\t\\t\\tprecision highp float;\\n\\t\\t\\tuniform sampler2D atlas;\\n\\t\\t\\tuniform float fontSize, charStep, opacity;\\n\\t\\t\\tuniform vec2 atlasSize;\\n\\t\\t\\tuniform vec4 viewport;\\n\\t\\t\\tvarying vec4 fontColor;\\n\\t\\t\\tvarying vec2 charCoord, charId;\\n\\t\\t\\tvarying float charWidth;\\n\\n\\t\\t\\tfloat lightness(vec4 color) {\\n\\t\\t\\t\\treturn color.r * 0.299 + color.g * 0.587 + color.b * 0.114;\\n\\t\\t\\t}\\n\\n\\t\\t\\tvoid main () {\\n\\t\\t\\t\\tvec2 uv = gl_FragCoord.xy - charCoord + charStep * .5;\\n\\t\\t\\t\\tfloat halfCharStep = floor(charStep * .5 + .5);\\n\\n\\t\\t\\t\\t// invert y and shift by 1px (FF expecially needs that)\\n\\t\\t\\t\\tuv.y = charStep - uv.y;\\n\\n\\t\\t\\t\\t// ignore points outside of character bounding box\\n\\t\\t\\t\\tfloat halfCharWidth = ceil(charWidth * .5);\\n\\t\\t\\t\\tif (floor(uv.x) > halfCharStep + halfCharWidth ||\\n\\t\\t\\t\\t\\tfloor(uv.x) < halfCharStep - halfCharWidth) return;\\n\\n\\t\\t\\t\\tuv += charId * charStep;\\n\\t\\t\\t\\tuv = uv / atlasSize;\\n\\n\\t\\t\\t\\tvec4 color = fontColor;\\n\\t\\t\\t\\tvec4 mask = texture2D(atlas, uv);\\n\\n\\t\\t\\t\\tfloat maskY = lightness(mask);\\n\\t\\t\\t\\t// float colorY = lightness(color);\\n\\t\\t\\t\\tcolor.a *= maskY;\\n\\t\\t\\t\\tcolor.a *= opacity;\\n\\n\\t\\t\\t\\t// color.a += .1;\\n\\n\\t\\t\\t\\t// antialiasing, see yiq color space y-channel formula\\n\\t\\t\\t\\t// color.rgb += (1. - color.rgb) * (1. - mask.rgb);\\n\\n\\t\\t\\t\\tgl_FragColor = color;\\n\\t\\t\\t}\"});return{regl:t,draw:e,atlas:{}}},T.prototype.update=function(t){var e=this;if(\"string\"==typeof t)t={text:t};else if(!t)return;null!=(t=a(t,{position:\"position positions coord coords coordinates\",font:\"font fontFace fontface typeface cssFont css-font family fontFamily\",fontSize:\"fontSize fontsize size font-size\",text:\"text texts chars characters value values symbols\",align:\"align alignment textAlign textbaseline\",baseline:\"baseline textBaseline textbaseline\",direction:\"dir direction textDirection\",color:\"color colour fill fill-color fillColor textColor textcolor\",kerning:\"kerning kern\",range:\"range dataBox\",viewport:\"vp viewport viewBox viewbox viewPort\",opacity:\"opacity alpha transparency visible visibility opaque\",offset:\"offset positionOffset padding shift indent indentation\"},!0)).opacity&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map((function(t){return parseFloat(t)})):this.opacity=parseFloat(t.opacity)),null!=t.viewport&&(this.viewport=h(t.viewport),T.normalViewport&&(this.viewport.y=this.canvas.height-this.viewport.y-this.viewport.height),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null==this.viewport&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null!=t.kerning&&(this.kerning=t.kerning),null!=t.offset&&(\"number\"==typeof t.offset&&(t.offset=[t.offset,0]),this.positionOffset=y(t.offset)),t.direction&&(this.direction=t.direction),t.range&&(this.range=t.range,this.scale=[1/(t.range[2]-t.range[0]),1/(t.range[3]-t.range[1])],this.translate=[-t.range[0],-t.range[1]]),t.scale&&(this.scale=t.scale),t.translate&&(this.translate=t.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),this.font.length||t.font||(t.font=T.baseFontSize+\"px sans-serif\");var r,i=!1,o=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach((function(t,r){if(\"string\"==typeof t)try{t=n.parse(t)}catch(e){t=n.parse(T.baseFontSize+\"px \"+t)}else t=n.parse(n.stringify(t));var a=n.stringify({size:T.baseFontSize,family:t.family,stretch:_?t.stretch:void 0,variant:t.variant,weight:t.weight,style:t.style}),s=p(t.size),l=Math.round(s[0]*d(s[1]));if(l!==e.fontSize[r]&&(o=!0,e.fontSize[r]=l),!(e.font[r]&&a==e.font[r].baseString||(i=!0,e.font[r]=T.fonts[a],e.font[r]))){var c=t.family.join(\", \"),u=[t.style];t.style!=t.variant&&u.push(t.variant),t.variant!=t.weight&&u.push(t.weight),_&&t.weight!=t.stretch&&u.push(t.stretch),e.font[r]={baseString:a,family:c,weight:t.weight,stretch:t.stretch,style:t.style,variant:t.variant,width:{},kerning:{},metrics:v(c,{origin:\"top\",fontSize:T.baseFontSize,fontStyle:u.join(\" \")})},T.fonts[a]=e.font[r]}})),(i||o)&&this.font.forEach((function(r,a){var i=n.stringify({size:e.fontSize[a],family:r.family,stretch:_?r.stretch:void 0,variant:r.variant,weight:r.weight,style:r.style});if(e.fontAtlas[a]=e.shader.atlas[i],!e.fontAtlas[a]){var o=r.metrics;e.shader.atlas[i]=e.fontAtlas[a]={fontString:i,step:2*Math.ceil(e.fontSize[a]*o.bottom*.5),em:e.fontSize[a],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:e.regl.texture()}}null==t.text&&(t.text=e.text)})),\"string\"==typeof t.text&&t.position&&t.position.length>2){for(var s=Array(.5*t.position.length),f=0;f<s.length;f++)s[f]=t.text;t.text=s}if(null!=t.text||i){if(this.textOffsets=[0],Array.isArray(t.text)){this.count=t.text[0].length,this.counts=[this.count];for(var b=1;b<t.text.length;b++)this.textOffsets[b]=this.textOffsets[b-1]+t.text[b-1].length,this.count+=t.text[b].length,this.counts.push(t.text[b].length);this.text=t.text.join(\"\")}else this.text=t.text,this.count=this.text.length,this.counts=[this.count];r=[],this.font.forEach((function(t,n){T.atlasContext.font=t.baseString;for(var a=e.fontAtlas[n],i=0;i<e.text.length;i++){var o=e.text.charAt(i);if(null==a.ids[o]&&(a.ids[o]=a.chars.length,a.chars.push(o),r.push(o)),null==t.width[o]&&(t.width[o]=T.atlasContext.measureText(o).width/T.baseFontSize,e.kerning)){var s=[];for(var l in t.width)s.push(l+o,o+l);m(t.kerning,g(t.family,{pairs:s}))}}}))}if(t.position)if(t.position.length>2){for(var w=!t.position[0].length,k=u.mallocFloat(2*this.count),A=0,M=0;A<this.counts.length;A++){var S=this.counts[A];if(w)for(var E=0;E<S;E++)k[M++]=t.position[2*A],k[M++]=t.position[2*A+1];else for(var C=0;C<S;C++)k[M++]=t.position[A][0],k[M++]=t.position[A][1]}this.position.call?this.position({type:\"float\",data:k}):this.position=this.regl.buffer({type:\"float\",data:k}),u.freeFloat(k)}else this.position.destroy&&this.position.destroy(),this.position={constant:t.position};if(t.text||i){var L=u.mallocUint8(this.count),P=u.mallocFloat(2*this.count);this.textWidth=[];for(var I=0,z=0;I<this.counts.length;I++){for(var O=this.counts[I],D=this.font[I]||this.font[0],R=this.fontAtlas[I]||this.fontAtlas[0],F=0;F<O;F++){var B=this.text.charAt(z),N=this.text.charAt(z-1);if(L[z]=R.ids[B],P[2*z]=D.width[B],F){var j=P[2*z-2],V=P[2*z],U=P[2*z-1]+.5*j+.5*V;if(this.kerning){var q=D.kerning[N+B];q&&(U+=.001*q)}P[2*z+1]=U}else P[2*z+1]=.5*P[2*z];z++}this.textWidth.push(P.length?.5*P[2*z-2]+P[2*z-1]:0)}t.align||(t.align=this.align),this.charBuffer({data:L,type:\"uint8\",usage:\"stream\"}),this.sizeBuffer({data:P,type:\"float\",usage:\"stream\"}),u.freeUint8(L),u.freeFloat(P),r.length&&this.font.forEach((function(t,r){var n=e.fontAtlas[r],a=n.step,i=Math.floor(T.maxAtlasSize/a),o=Math.min(i,n.chars.length),s=Math.ceil(n.chars.length/o),l=x(o*a),u=x(s*a);n.width=l,n.height=u,n.rows=s,n.cols=o,n.em&&n.texture({data:c({canvas:T.atlasCanvas,font:n.fontString,chars:n.chars,shape:[l,u],step:[a,a]})})}))}if(t.align&&(this.align=t.align,this.alignOffset=this.textWidth.map((function(t,r){var n=Array.isArray(e.align)?e.align.length>1?e.align[r]:e.align[0]:e.align;if(\"number\"==typeof n)return n;switch(n){case\"right\":case\"end\":return-t;case\"center\":case\"centre\":case\"middle\":return.5*-t}return 0}))),null==this.baseline&&null==t.baseline&&(t.baseline=0),null!=t.baseline&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map((function(t,r){var n=(e.font[r]||e.font[0]).metrics,a=0;return a+=.5*n.bottom,a+=\"number\"==typeof t?t-n.baseline:-n[t],T.normalViewport||(a*=-1),a}))),null!=t.color)if(t.color||(t.color=\"transparent\"),\"string\"!=typeof t.color&&isNaN(t.color)){var H;if(\"number\"==typeof t.color[0]&&t.color.length>this.counts.length){var G=t.color.length;H=u.mallocUint8(G);for(var Y=(t.color.subarray||t.color.slice).bind(t.color),W=0;W<G;W+=4)H.set(l(Y(W,W+4),\"uint8\"),W)}else{var Z=t.color.length;H=u.mallocUint8(4*Z);for(var X=0;X<Z;X++)H.set(l(t.color[X]||0,\"uint8\"),4*X)}this.color=H}else this.color=l(t.color,\"uint8\");if(t.position||t.text||t.color||t.baseline||t.align||t.font||t.offset||t.opacity)if(this.color.length>4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2){var J=Math.max(.5*this.position.length||0,.25*this.color.length||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,.5*this.positionOffset.length||0);this.batch=Array(J);for(var K=0;K<this.batch.length;K++)this.batch[K]={count:this.counts.length>1?this.counts[K]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[K]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(4*K,4*K+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[K]:this.opacity,baseline:null!=this.baselineOffset[K]?this.baselineOffset[K]:this.baselineOffset[0],align:this.align?null!=this.alignOffset[K]?this.alignOffset[K]:this.alignOffset[0]:0,atlas:this.fontAtlas[K]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(2*K,2*K+2):this.positionOffset}}else this.count?this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]:this.batch=[]},T.prototype.destroy=function(){},T.prototype.kerning=!0,T.prototype.position={constant:new Float32Array(2)},T.prototype.translate=null,T.prototype.scale=null,T.prototype.font=null,T.prototype.text=\"\",T.prototype.positionOffset=[0,0],T.prototype.opacity=1,T.prototype.color=new Uint8Array([0,0,0,255]),T.prototype.alignOffset=[0,0],T.normalViewport=!1,T.maxAtlasSize=1024,T.atlasCanvas=document.createElement(\"canvas\"),T.atlasContext=T.atlasCanvas.getContext(\"2d\",{alpha:!1}),T.baseFontSize=64,T.fonts={},e.exports=T},{\"bit-twiddle\":95,\"color-normalize\":122,\"css-font\":141,\"detect-kerning\":167,\"es6-weak-map\":228,\"flatten-vertex-data\":239,\"font-atlas\":240,\"font-measure\":241,\"gl-util/context\":323,\"is-plain-obj\":422,\"object-assign\":452,\"parse-rect\":457,\"parse-unit\":459,\"pick-by-alias\":463,regl:492,\"to-px\":530,\"typedarray-pool\":547}],322:[function(t,e,r){\"use strict\";var n=t(\"ndarray\"),a=t(\"ndarray-ops\"),i=t(\"typedarray-pool\");e.exports=function(t){if(arguments.length<=1)throw new Error(\"gl-texture2d: Missing arguments for texture2d constructor\");o||c(t);if(\"number\"==typeof arguments[1])return v(t,arguments[1],arguments[2],arguments[3]||t.RGBA,arguments[4]||t.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return v(t,0|arguments[1][0],0|arguments[1][1],arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if(\"object\"==typeof arguments[1]){var e=arguments[1],r=u(e)?e:e.raw;if(r)return y(t,r,0|e.width,0|e.height,arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if(e.shape&&e.data&&e.stride)return x(t,e)}throw new Error(\"gl-texture2d: Invalid arguments for texture2d constructor\")};var o=null,s=null,l=null;function c(t){o=[t.LINEAR,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_NEAREST],s=[t.NEAREST,t.LINEAR,t.NEAREST_MIPMAP_NEAREST,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_LINEAR],l=[t.REPEAT,t.CLAMP_TO_EDGE,t.MIRRORED_REPEAT]}function u(t){return\"undefined\"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||\"undefined\"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||\"undefined\"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement||\"undefined\"!=typeof ImageData&&t instanceof ImageData}var h=function(t,e){a.muls(t,e,255)};function f(t,e,r){var n=t.gl,a=n.getParameter(n.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error(\"gl-texture2d: Invalid texture size\");return t._shape=[e,r],t.bind(),n.texImage2D(n.TEXTURE_2D,0,t.format,e,r,0,t.format,t.type,null),t._mipLevels=[0],t}function p(t,e,r,n,a,i){this.gl=t,this.handle=e,this.format=a,this.type=i,this._shape=[r,n],this._mipLevels=[0],this._magFilter=t.NEAREST,this._minFilter=t.NEAREST,this._wrapS=t.CLAMP_TO_EDGE,this._wrapT=t.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(t){return o.wrapS=t}},{get:function(){return o._wrapT},set:function(t){return o.wrapT=t}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(t){return o.width=t}},{get:function(){return o._shape[1]},set:function(t){return o.height=t}}]),this._shapeVector=l}var d=p.prototype;function g(t,e){return 3===t.length?1===e[2]&&e[1]===t[0]*t[2]&&e[0]===t[2]:1===e[0]&&e[1]===t[0]}function m(t){var e=t.createTexture();return t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),e}function v(t,e,r,n,a){var i=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>i||r<0||r>i)throw new Error(\"gl-texture2d: Invalid texture shape\");if(a===t.FLOAT&&!t.getExtension(\"OES_texture_float\"))throw new Error(\"gl-texture2d: Floating point textures not supported on this platform\");var o=m(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,a,null),new p(t,o,e,r,n,a)}function y(t,e,r,n,a,i){var o=m(t);return t.texImage2D(t.TEXTURE_2D,0,a,a,i,e),new p(t,o,r,n,a,i)}function x(t,e){var r=e.dtype,o=e.shape.slice(),s=t.getParameter(t.MAX_TEXTURE_SIZE);if(o[0]<0||o[0]>s||o[1]<0||o[1]>s)throw new Error(\"gl-texture2d: Invalid texture size\");var l=g(o,e.stride.slice()),c=0;\"float32\"===r?c=t.FLOAT:\"float64\"===r?(c=t.FLOAT,l=!1,r=\"float32\"):\"uint8\"===r?c=t.UNSIGNED_BYTE:(c=t.UNSIGNED_BYTE,l=!1,r=\"uint8\");var u,f,d=0;if(2===o.length)d=t.LUMINANCE,o=[o[0],o[1],1],e=n(e.data,o,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==o.length)throw new Error(\"gl-texture2d: Invalid shape for texture\");if(1===o[2])d=t.ALPHA;else if(2===o[2])d=t.LUMINANCE_ALPHA;else if(3===o[2])d=t.RGB;else{if(4!==o[2])throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");d=t.RGBA}}c!==t.FLOAT||t.getExtension(\"OES_texture_float\")||(c=t.UNSIGNED_BYTE,l=!1);var v=e.size;if(l)u=0===e.offset&&e.data.length===v?e.data:e.data.subarray(e.offset,e.offset+v);else{var y=[o[2],o[2]*o[0],1];f=i.malloc(v,r);var x=n(f,o,y,0);\"float32\"!==r&&\"float64\"!==r||c!==t.UNSIGNED_BYTE?a.assign(x,e):h(x,e),u=f.subarray(0,v)}var b=m(t);return t.texImage2D(t.TEXTURE_2D,0,d,o[0],o[1],0,d,c,u),l||i.free(f),new p(t,b,o[0],o[1],d,c)}Object.defineProperties(d,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension(\"OES_texture_float_linear\")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),this._minFilter=t}},magFilter:{get:function(){return this._magFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension(\"OES_texture_float_linear\")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),this._magFilter=t}},mipSamples:{get:function(){return this._anisoSamples},set:function(t){var e=this._anisoSamples;if(this._anisoSamples=0|Math.max(t,1),e!==this._anisoSamples){var r=this.gl.getExtension(\"EXT_texture_filter_anisotropic\");r&&this.gl.texParameterf(this.gl.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,t),this._wrapS=t}},wrapT:{get:function(){return this._wrapT},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,t),this._wrapT=t}},wrap:{get:function(){return this._wrapVector},set:function(t){if(Array.isArray(t)||(t=[t,t]),2!==t.length)throw new Error(\"gl-texture2d: Must specify wrap mode for rows and columns\");for(var e=0;e<2;++e)if(l.indexOf(t[e])<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+t);this._wrapS=t[0],this._wrapT=t[1];var r=this.gl;return this.bind(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,this._wrapS),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,this._wrapT),t}},shape:{get:function(){return this._shapeVector},set:function(t){if(Array.isArray(t)){if(2!==t.length)throw new Error(\"gl-texture2d: Invalid texture shape\")}else t=[0|t,0|t];return f(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return f(this,t|=0,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,f(this,this._shape[0],t),t}}}),d.bind=function(t){var e=this.gl;return void 0!==t&&e.activeTexture(e.TEXTURE0+(0|t)),e.bindTexture(e.TEXTURE_2D,this.handle),void 0!==t?0|t:e.getParameter(e.ACTIVE_TEXTURE)-e.TEXTURE0},d.dispose=function(){this.gl.deleteTexture(this.handle)},d.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var t=Math.min(this._shape[0],this._shape[1]),e=0;t>0;++e,t>>>=1)this._mipLevels.indexOf(e)<0&&this._mipLevels.push(e)},d.setPixels=function(t,e,r,o){var s=this.gl;this.bind(),Array.isArray(e)?(o=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),o=o||0;var l=u(t)?t:t.raw;if(l){this._mipLevels.indexOf(o)<0?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,e,r,this.format,this.type,l)}else{if(!(t.shape&&t.stride&&t.data))throw new Error(\"gl-texture2d: Unsupported data type\");if(t.shape.length<2||e+t.shape[1]>this._shape[1]>>>o||r+t.shape[0]>this._shape[0]>>>o||e<0||r<0)throw new Error(\"gl-texture2d: Texture dimensions are out of bounds\");!function(t,e,r,o,s,l,c,u){var f=u.dtype,p=u.shape.slice();if(p.length<2||p.length>3)throw new Error(\"gl-texture2d: Invalid ndarray, must be 2d or 3d\");var d=0,m=0,v=g(p,u.stride.slice());\"float32\"===f?d=t.FLOAT:\"float64\"===f?(d=t.FLOAT,v=!1,f=\"float32\"):\"uint8\"===f?d=t.UNSIGNED_BYTE:(d=t.UNSIGNED_BYTE,v=!1,f=\"uint8\");if(2===p.length)m=t.LUMINANCE,p=[p[0],p[1],1],u=n(u.data,p,[u.stride[0],u.stride[1],1],u.offset);else{if(3!==p.length)throw new Error(\"gl-texture2d: Invalid shape for texture\");if(1===p[2])m=t.ALPHA;else if(2===p[2])m=t.LUMINANCE_ALPHA;else if(3===p[2])m=t.RGB;else{if(4!==p[2])throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");m=t.RGBA}p[2]}m!==t.LUMINANCE&&m!==t.ALPHA||s!==t.LUMINANCE&&s!==t.ALPHA||(m=s);if(m!==s)throw new Error(\"gl-texture2d: Incompatible texture format for setPixels\");var y=u.size,x=c.indexOf(o)<0;x&&c.push(o);if(d===l&&v)0===u.offset&&u.data.length===y?x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,u.data):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,u.data):x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,u.data.subarray(u.offset,u.offset+y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,u.data.subarray(u.offset,u.offset+y));else{var b;b=l===t.FLOAT?i.mallocFloat32(y):i.mallocUint8(y);var _=n(b,p,[p[2],p[2]*p[0],1]);d===t.FLOAT&&l===t.UNSIGNED_BYTE?h(_,u):a.assign(_,u),x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,b.subarray(0,y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,b.subarray(0,y)),l===t.FLOAT?i.freeFloat32(b):i.freeUint8(b)}}(s,e,r,o,this.format,this.type,this._mipLevels,t)}}},{ndarray:448,\"ndarray-ops\":443,\"typedarray-pool\":547}],323:[function(t,e,r){(function(r){\"use strict\";var n=t(\"pick-by-alias\");function a(t){if(t.container)if(t.container==document.body)document.body.style.width||(t.canvas.width=t.width||t.pixelRatio*r.innerWidth),document.body.style.height||(t.canvas.height=t.height||t.pixelRatio*r.innerHeight);else{var e=t.container.getBoundingClientRect();t.canvas.width=t.width||e.right-e.left,t.canvas.height=t.height||e.bottom-e.top}}function i(t){return\"function\"==typeof t.getContext&&\"width\"in t&&\"height\"in t}function o(){var t=document.createElement(\"canvas\");return t.style.position=\"absolute\",t.style.top=0,t.style.left=0,t}e.exports=function(t){var e;if(t?\"string\"==typeof t&&(t={container:t}):t={},i(t)?t={container:t}:t=\"string\"==typeof(e=t).nodeName&&\"function\"==typeof e.appendChild&&\"function\"==typeof e.getBoundingClientRect?{container:t}:function(t){return\"function\"==typeof t.drawArrays||\"function\"==typeof t.drawElements}(t)?{gl:t}:n(t,{container:\"container target element el canvas holder parent parentNode wrapper use ref root node\",gl:\"gl context webgl glContext\",attrs:\"attributes attrs contextAttributes\",pixelRatio:\"pixelRatio pxRatio px ratio pxratio pixelratio\",width:\"w width\",height:\"h height\"},!0),t.pixelRatio||(t.pixelRatio=r.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if(\"string\"==typeof t.container){var s=document.querySelector(t.container);if(!s)throw Error(\"Element \"+t.container+\" is not found\");t.container=s}i(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=o(),t.container.appendChild(t.canvas),a(t))}else if(!t.canvas){if(\"undefined\"==typeof document)throw Error(\"Not DOM environment. Use headless-gl.\");t.container=document.body||document.documentElement,t.canvas=o(),t.container.appendChild(t.canvas),a(t)}if(!t.gl)try{t.gl=t.canvas.getContext(\"webgl\",t.attrs)}catch(e){try{t.gl=t.canvas.getContext(\"experimental-webgl\",t.attrs)}catch(e){t.gl=t.canvas.getContext(\"webgl-experimental\",t.attrs)}}return t.gl}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"pick-by-alias\":463}],324:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){e?e.bind():t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null);var n=0|t.getParameter(t.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw new Error(\"gl-vao: Too many vertex attributes\");for(var a=0;a<r.length;++a){var i=r[a];if(i.buffer){var o=i.buffer,s=i.size||4,l=i.type||t.FLOAT,c=!!i.normalized,u=i.stride||0,h=i.offset||0;o.bind(),t.enableVertexAttribArray(a),t.vertexAttribPointer(a,s,l,c,u,h)}else{if(\"number\"==typeof i)t.vertexAttrib1f(a,i);else if(1===i.length)t.vertexAttrib1f(a,i[0]);else if(2===i.length)t.vertexAttrib2f(a,i[0],i[1]);else if(3===i.length)t.vertexAttrib3f(a,i[0],i[1],i[2]);else{if(4!==i.length)throw new Error(\"gl-vao: Invalid vertex attribute\");t.vertexAttrib4f(a,i[0],i[1],i[2],i[3])}t.disableVertexAttribArray(a)}}for(;a<n;++a)t.disableVertexAttribArray(a)}else{t.bindBuffer(t.ARRAY_BUFFER,null);for(a=0;a<n;++a)t.disableVertexAttribArray(a)}}},{}],325:[function(t,e,r){\"use strict\";var n=t(\"./do-bind.js\");function a(t){this.gl=t,this._elements=null,this._attributes=null,this._elementsType=t.UNSIGNED_SHORT}a.prototype.bind=function(){n(this.gl,this._elements,this._attributes)},a.prototype.update=function(t,e,r){this._elements=e,this._attributes=t,this._elementsType=r||this.gl.UNSIGNED_SHORT},a.prototype.dispose=function(){},a.prototype.unbind=function(){},a.prototype.draw=function(t,e,r){r=r||0;var n=this.gl;this._elements?n.drawElements(t,e,this._elementsType,r):n.drawArrays(t,r,e)},e.exports=function(t){return new a(t)}},{\"./do-bind.js\":324}],326:[function(t,e,r){\"use strict\";var n=t(\"./do-bind.js\");function a(t,e,r,n,a,i){this.location=t,this.dimension=e,this.a=r,this.b=n,this.c=a,this.d=i}function i(t,e,r){this.gl=t,this._ext=e,this.handle=r,this._attribs=[],this._useElements=!1,this._elementsType=t.UNSIGNED_SHORT}a.prototype.bind=function(t){switch(this.dimension){case 1:t.vertexAttrib1f(this.location,this.a);break;case 2:t.vertexAttrib2f(this.location,this.a,this.b);break;case 3:t.vertexAttrib3f(this.location,this.a,this.b,this.c);break;case 4:t.vertexAttrib4f(this.location,this.a,this.b,this.c,this.d)}},i.prototype.bind=function(){this._ext.bindVertexArrayOES(this.handle);for(var t=0;t<this._attribs.length;++t)this._attribs[t].bind(this.gl)},i.prototype.unbind=function(){this._ext.bindVertexArrayOES(null)},i.prototype.dispose=function(){this._ext.deleteVertexArrayOES(this.handle)},i.prototype.update=function(t,e,r){if(this.bind(),n(this.gl,e,t),this.unbind(),this._attribs.length=0,t)for(var i=0;i<t.length;++i){var o=t[i];\"number\"==typeof o?this._attribs.push(new a(i,1,o)):Array.isArray(o)&&this._attribs.push(new a(i,o.length,o[0],o[1],o[2],o[3]))}this._useElements=!!e,this._elementsType=r||this.gl.UNSIGNED_SHORT},i.prototype.draw=function(t,e,r){r=r||0;var n=this.gl;this._useElements?n.drawElements(t,e,this._elementsType,r):n.drawArrays(t,r,e)},e.exports=function(t,e){return new i(t,e,e.createVertexArrayOES())}},{\"./do-bind.js\":324}],327:[function(t,e,r){\"use strict\";var n=t(\"./lib/vao-native.js\"),a=t(\"./lib/vao-emulated.js\");function i(t){this.bindVertexArrayOES=t.bindVertexArray.bind(t),this.createVertexArrayOES=t.createVertexArray.bind(t),this.deleteVertexArrayOES=t.deleteVertexArray.bind(t)}e.exports=function(t,e,r,o){var s,l=t.createVertexArray?new i(t):t.getExtension(\"OES_vertex_array_object\");return(s=l?n(t,l):a(t)).update(e,r,o),s}},{\"./lib/vao-emulated.js\":325,\"./lib/vao-native.js\":326}],328:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t}},{}],329:[function(t,e,r){e.exports=function(t,e){var r=n(t[0],t[1],t[2]),o=n(e[0],e[1],e[2]);a(r,r),a(o,o);var s=i(r,o);return s>1?0:Math.acos(s)};var n=t(\"./fromValues\"),a=t(\"./normalize\"),i=t(\"./dot\")},{\"./dot\":339,\"./fromValues\":345,\"./normalize\":356}],330:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}},{}],331:[function(t,e,r){e.exports=function(t){var e=new Float32Array(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},{}],332:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},{}],333:[function(t,e,r){e.exports=function(){var t=new Float32Array(3);return t[0]=0,t[1]=0,t[2]=0,t}},{}],334:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[0],s=r[1],l=r[2];return t[0]=a*l-i*s,t[1]=i*o-n*l,t[2]=n*s-a*o,t}},{}],335:[function(t,e,r){e.exports=t(\"./distance\")},{\"./distance\":336}],336:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2];return Math.sqrt(r*r+n*n+a*a)}},{}],337:[function(t,e,r){e.exports=t(\"./divide\")},{\"./divide\":338}],338:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}},{}],339:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},{}],340:[function(t,e,r){e.exports=1e-6},{}],341:[function(t,e,r){e.exports=function(t,e){var r=t[0],a=t[1],i=t[2],o=e[0],s=e[1],l=e[2];return Math.abs(r-o)<=n*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(a-s)<=n*Math.max(1,Math.abs(a),Math.abs(s))&&Math.abs(i-l)<=n*Math.max(1,Math.abs(i),Math.abs(l))};var n=t(\"./epsilon\")},{\"./epsilon\":340}],342:[function(t,e,r){e.exports=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}},{}],343:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}},{}],344:[function(t,e,r){e.exports=function(t,e,r,a,i,o){var s,l;e||(e=3);r||(r=0);l=a?Math.min(a*e+r,t.length):t.length;for(s=r;s<l;s+=e)n[0]=t[s],n[1]=t[s+1],n[2]=t[s+2],i(n,n,o),t[s]=n[0],t[s+1]=n[1],t[s+2]=n[2];return t};var n=t(\"./create\")()},{\"./create\":333}],345:[function(t,e,r){e.exports=function(t,e,r){var n=new Float32Array(3);return n[0]=t,n[1]=e,n[2]=r,n}},{}],346:[function(t,e,r){e.exports={EPSILON:t(\"./epsilon\"),create:t(\"./create\"),clone:t(\"./clone\"),angle:t(\"./angle\"),fromValues:t(\"./fromValues\"),copy:t(\"./copy\"),set:t(\"./set\"),equals:t(\"./equals\"),exactEquals:t(\"./exactEquals\"),add:t(\"./add\"),subtract:t(\"./subtract\"),sub:t(\"./sub\"),multiply:t(\"./multiply\"),mul:t(\"./mul\"),divide:t(\"./divide\"),div:t(\"./div\"),min:t(\"./min\"),max:t(\"./max\"),floor:t(\"./floor\"),ceil:t(\"./ceil\"),round:t(\"./round\"),scale:t(\"./scale\"),scaleAndAdd:t(\"./scaleAndAdd\"),distance:t(\"./distance\"),dist:t(\"./dist\"),squaredDistance:t(\"./squaredDistance\"),sqrDist:t(\"./sqrDist\"),length:t(\"./length\"),len:t(\"./len\"),squaredLength:t(\"./squaredLength\"),sqrLen:t(\"./sqrLen\"),negate:t(\"./negate\"),inverse:t(\"./inverse\"),normalize:t(\"./normalize\"),dot:t(\"./dot\"),cross:t(\"./cross\"),lerp:t(\"./lerp\"),random:t(\"./random\"),transformMat4:t(\"./transformMat4\"),transformMat3:t(\"./transformMat3\"),transformQuat:t(\"./transformQuat\"),rotateX:t(\"./rotateX\"),rotateY:t(\"./rotateY\"),rotateZ:t(\"./rotateZ\"),forEach:t(\"./forEach\")}},{\"./add\":328,\"./angle\":329,\"./ceil\":330,\"./clone\":331,\"./copy\":332,\"./create\":333,\"./cross\":334,\"./dist\":335,\"./distance\":336,\"./div\":337,\"./divide\":338,\"./dot\":339,\"./epsilon\":340,\"./equals\":341,\"./exactEquals\":342,\"./floor\":343,\"./forEach\":344,\"./fromValues\":345,\"./inverse\":347,\"./len\":348,\"./length\":349,\"./lerp\":350,\"./max\":351,\"./min\":352,\"./mul\":353,\"./multiply\":354,\"./negate\":355,\"./normalize\":356,\"./random\":357,\"./rotateX\":358,\"./rotateY\":359,\"./rotateZ\":360,\"./round\":361,\"./scale\":362,\"./scaleAndAdd\":363,\"./set\":364,\"./sqrDist\":365,\"./sqrLen\":366,\"./squaredDistance\":367,\"./squaredLength\":368,\"./sub\":369,\"./subtract\":370,\"./transformMat3\":371,\"./transformMat4\":372,\"./transformQuat\":373}],347:[function(t,e,r){e.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}},{}],348:[function(t,e,r){e.exports=t(\"./length\")},{\"./length\":349}],349:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)}},{}],350:[function(t,e,r){e.exports=function(t,e,r,n){var a=e[0],i=e[1],o=e[2];return t[0]=a+n*(r[0]-a),t[1]=i+n*(r[1]-i),t[2]=o+n*(r[2]-o),t}},{}],351:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t}},{}],352:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t}},{}],353:[function(t,e,r){e.exports=t(\"./multiply\")},{\"./multiply\":354}],354:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t}},{}],355:[function(t,e,r){e.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}},{}],356:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],a=e[2],i=r*r+n*n+a*a;i>0&&(i=1/Math.sqrt(i),t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i);return t}},{}],357:[function(t,e,r){e.exports=function(t,e){e=e||1;var r=2*Math.random()*Math.PI,n=2*Math.random()-1,a=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*a,t[1]=Math.sin(r)*a,t[2]=n*e,t}},{}],358:[function(t,e,r){e.exports=function(t,e,r,n){var a=r[1],i=r[2],o=e[1]-a,s=e[2]-i,l=Math.sin(n),c=Math.cos(n);return t[0]=e[0],t[1]=a+o*c-s*l,t[2]=i+o*l+s*c,t}},{}],359:[function(t,e,r){e.exports=function(t,e,r,n){var a=r[0],i=r[2],o=e[0]-a,s=e[2]-i,l=Math.sin(n),c=Math.cos(n);return t[0]=a+s*l+o*c,t[1]=e[1],t[2]=i+s*c-o*l,t}},{}],360:[function(t,e,r){e.exports=function(t,e,r,n){var a=r[0],i=r[1],o=e[0]-a,s=e[1]-i,l=Math.sin(n),c=Math.cos(n);return t[0]=a+o*c-s*l,t[1]=i+o*l+s*c,t[2]=e[2],t}},{}],361:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}},{}],362:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}},{}],363:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}},{}],364:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}},{}],365:[function(t,e,r){e.exports=t(\"./squaredDistance\")},{\"./squaredDistance\":367}],366:[function(t,e,r){e.exports=t(\"./squaredLength\")},{\"./squaredLength\":368}],367:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2];return r*r+n*n+a*a}},{}],368:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}},{}],369:[function(t,e,r){e.exports=t(\"./subtract\")},{\"./subtract\":370}],370:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}},{}],371:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2];return t[0]=n*r[0]+a*r[3]+i*r[6],t[1]=n*r[1]+a*r[4]+i*r[7],t[2]=n*r[2]+a*r[5]+i*r[8],t}},{}],372:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[3]*n+r[7]*a+r[11]*i+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*a+r[8]*i+r[12])/o,t[1]=(r[1]*n+r[5]*a+r[9]*i+r[13])/o,t[2]=(r[2]*n+r[6]*a+r[10]*i+r[14])/o,t}},{}],373:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*i-l*a,h=c*a+l*n-o*i,f=c*i+o*a-s*n,p=-o*n-s*a-l*i;return t[0]=u*c+p*-o+h*-l-f*-s,t[1]=h*c+p*-s+f*-o-u*-l,t[2]=f*c+p*-l+u*-s-h*-o,t}},{}],374:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}},{}],375:[function(t,e,r){e.exports=function(t){var e=new Float32Array(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}},{}],376:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},{}],377:[function(t,e,r){e.exports=function(){var t=new Float32Array(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}},{}],378:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2],i=e[3]-t[3];return Math.sqrt(r*r+n*n+a*a+i*i)}},{}],379:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t[3]=e[3]/r[3],t}},{}],380:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}},{}],381:[function(t,e,r){e.exports=function(t,e,r,n){var a=new Float32Array(4);return a[0]=t,a[1]=e,a[2]=r,a[3]=n,a}},{}],382:[function(t,e,r){e.exports={create:t(\"./create\"),clone:t(\"./clone\"),fromValues:t(\"./fromValues\"),copy:t(\"./copy\"),set:t(\"./set\"),add:t(\"./add\"),subtract:t(\"./subtract\"),multiply:t(\"./multiply\"),divide:t(\"./divide\"),min:t(\"./min\"),max:t(\"./max\"),scale:t(\"./scale\"),scaleAndAdd:t(\"./scaleAndAdd\"),distance:t(\"./distance\"),squaredDistance:t(\"./squaredDistance\"),length:t(\"./length\"),squaredLength:t(\"./squaredLength\"),negate:t(\"./negate\"),inverse:t(\"./inverse\"),normalize:t(\"./normalize\"),dot:t(\"./dot\"),lerp:t(\"./lerp\"),random:t(\"./random\"),transformMat4:t(\"./transformMat4\"),transformQuat:t(\"./transformQuat\")}},{\"./add\":374,\"./clone\":375,\"./copy\":376,\"./create\":377,\"./distance\":378,\"./divide\":379,\"./dot\":380,\"./fromValues\":381,\"./inverse\":383,\"./length\":384,\"./lerp\":385,\"./max\":386,\"./min\":387,\"./multiply\":388,\"./negate\":389,\"./normalize\":390,\"./random\":391,\"./scale\":392,\"./scaleAndAdd\":393,\"./set\":394,\"./squaredDistance\":395,\"./squaredLength\":396,\"./subtract\":397,\"./transformMat4\":398,\"./transformQuat\":399}],383:[function(t,e,r){e.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t}},{}],384:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],a=t[3];return Math.sqrt(e*e+r*r+n*n+a*a)}},{}],385:[function(t,e,r){e.exports=function(t,e,r,n){var a=e[0],i=e[1],o=e[2],s=e[3];return t[0]=a+n*(r[0]-a),t[1]=i+n*(r[1]-i),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t}},{}],386:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t[3]=Math.max(e[3],r[3]),t}},{}],387:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t[3]=Math.min(e[3],r[3]),t}},{}],388:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t}},{}],389:[function(t,e,r){e.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t}},{}],390:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=r*r+n*n+a*a+i*i;o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=a*o,t[3]=i*o);return t}},{}],391:[function(t,e,r){var n=t(\"./normalize\"),a=t(\"./scale\");e.exports=function(t,e){return e=e||1,t[0]=Math.random(),t[1]=Math.random(),t[2]=Math.random(),t[3]=Math.random(),n(t,t),a(t,t,e),t}},{\"./normalize\":390,\"./scale\":392}],392:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}},{}],393:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t}},{}],394:[function(t,e,r){e.exports=function(t,e,r,n,a){return t[0]=e,t[1]=r,t[2]=n,t[3]=a,t}},{}],395:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2],i=e[3]-t[3];return r*r+n*n+a*a+i*i}},{}],396:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],a=t[3];return e*e+r*r+n*n+a*a}},{}],397:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t}},{}],398:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3];return t[0]=r[0]*n+r[4]*a+r[8]*i+r[12]*o,t[1]=r[1]*n+r[5]*a+r[9]*i+r[13]*o,t[2]=r[2]*n+r[6]*a+r[10]*i+r[14]*o,t[3]=r[3]*n+r[7]*a+r[11]*i+r[15]*o,t}},{}],399:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*i-l*a,h=c*a+l*n-o*i,f=c*i+o*a-s*n,p=-o*n-s*a-l*i;return t[0]=u*c+p*-o+h*-l-f*-s,t[1]=h*c+p*-s+f*-o-u*-l,t[2]=f*c+p*-l+u*-s-h*-o,t[3]=e[3],t}},{}],400:[function(t,e,r){var n=t(\"glsl-tokenizer\"),a=t(\"atob-lite\");e.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r<e.length;r++){var i=e[r];if(\"preprocessor\"===i.type){var o=i.data.match(/\\#define\\s+SHADER_NAME(_B64)?\\s+(.+)$/);if(o&&o[2]){var s=o[1],l=o[2];return(s?a(l):l).trim()}}}}},{\"atob-lite\":75,\"glsl-tokenizer\":407}],401:[function(t,e,r){e.exports=function(t){var e,r,c,u=0,h=0,f=999,p=[],d=[],g=1,m=0,v=0,y=!1,x=!1,b=\"\",_=i,w=n;\"300 es\"===(t=t||{}).version&&(_=s,w=o);var T={},k={};for(u=0;u<_.length;u++)T[_[u]]=!0;for(u=0;u<w.length;u++)k[w[u]]=!0;return function(t){return d=[],null!==t?function(t){u=0,t.toString&&(t=t.toString());var r;b+=t.replace(/\\r\\n/g,\"\\n\"),c=b.length;for(;e=b[u],u<c;){switch(r=u,f){case 0:u=C();break;case 1:case 2:u=E();break;case 3:u=L();break;case 4:u=z();break;case 11:u=I();break;case 5:u=O();break;case 9999:u=D();break;case 9:u=S();break;case 999:u=M()}if(r!==u)switch(b[r]){case\"\\n\":m=0,++g;break;default:++m}}return h+=u,b=b.slice(u),d}(t):function(t){p.length&&A(p.join(\"\"));return f=10,A(\"(eof)\"),d}()};function A(t){t.length&&d.push({type:l[f],data:t,position:v,line:g,column:m})}function M(){return p=p.length?[]:p,\"/\"===r&&\"*\"===e?(v=h+u-1,f=0,r=e,u+1):\"/\"===r&&\"/\"===e?(v=h+u-1,f=1,r=e,u+1):\"#\"===e?(f=2,v=h+u,u):/\\s/.test(e)?(f=9,v=h+u,u):(y=/\\d/.test(e),x=/[^\\w_]/.test(e),v=h+u,f=y?4:x?3:9999,u)}function S(){return/[^\\s]/g.test(e)?(A(p.join(\"\")),f=999,u):(p.push(e),r=e,u+1)}function E(){return\"\\r\"!==e&&\"\\n\"!==e||\"\\\\\"===r?(p.push(e),r=e,u+1):(A(p.join(\"\")),f=999,u)}function C(){return\"/\"===e&&\"*\"===r?(p.push(e),A(p.join(\"\")),f=999,u+1):(p.push(e),r=e,u+1)}function L(){if(\".\"===r&&/\\d/.test(e))return f=5,u;if(\"/\"===r&&\"*\"===e)return f=0,u;if(\"/\"===r&&\"/\"===e)return f=1,u;if(\".\"===e&&p.length){for(;P(p););return f=5,u}if(\";\"===e||\")\"===e||\"(\"===e){if(p.length)for(;P(p););return A(e),f=999,u+1}var t=2===p.length&&\"=\"!==e;if(/[\\w_\\d\\s]/.test(e)||t){for(;P(p););return f=999,u}return p.push(e),r=e,u+1}function P(t){for(var e,r,n=0;;){if(e=a.indexOf(t.slice(0,t.length+n).join(\"\")),r=a[e],-1===e){if(n--+t.length>0)continue;r=t.slice(0,1).join(\"\")}return A(r),v+=r.length,(p=p.slice(r.length)).length}}function I(){return/[^a-fA-F0-9]/.test(e)?(A(p.join(\"\")),f=999,u):(p.push(e),r=e,u+1)}function z(){return\".\"===e||/[eE]/.test(e)?(p.push(e),f=5,r=e,u+1):\"x\"===e&&1===p.length&&\"0\"===p[0]?(f=11,p.push(e),r=e,u+1):/[^\\d]/.test(e)?(A(p.join(\"\")),f=999,u):(p.push(e),r=e,u+1)}function O(){return\"f\"===e&&(p.push(e),r=e,u+=1),/[eE]/.test(e)?(p.push(e),r=e,u+1):(\"-\"!==e&&\"+\"!==e||!/[eE]/.test(r))&&/[^\\d]/.test(e)?(A(p.join(\"\")),f=999,u):(p.push(e),r=e,u+1)}function D(){if(/[^\\d\\w_]/.test(e)){var t=p.join(\"\");return f=k[t]?8:T[t]?7:6,A(p.join(\"\")),f=999,u}return p.push(e),r=e,u+1}};var n=t(\"./lib/literals\"),a=t(\"./lib/operators\"),i=t(\"./lib/builtins\"),o=t(\"./lib/literals-300es\"),s=t(\"./lib/builtins-300es\"),l=[\"block-comment\",\"line-comment\",\"preprocessor\",\"operator\",\"integer\",\"float\",\"ident\",\"builtin\",\"keyword\",\"whitespace\",\"eof\",\"integer\"]},{\"./lib/builtins\":403,\"./lib/builtins-300es\":402,\"./lib/literals\":405,\"./lib/literals-300es\":404,\"./lib/operators\":406}],402:[function(t,e,r){var n=t(\"./builtins\");n=n.slice().filter((function(t){return!/^(gl\\_|texture)/.test(t)})),e.exports=n.concat([\"gl_VertexID\",\"gl_InstanceID\",\"gl_Position\",\"gl_PointSize\",\"gl_FragCoord\",\"gl_FrontFacing\",\"gl_FragDepth\",\"gl_PointCoord\",\"gl_MaxVertexAttribs\",\"gl_MaxVertexUniformVectors\",\"gl_MaxVertexOutputVectors\",\"gl_MaxFragmentInputVectors\",\"gl_MaxVertexTextureImageUnits\",\"gl_MaxCombinedTextureImageUnits\",\"gl_MaxTextureImageUnits\",\"gl_MaxFragmentUniformVectors\",\"gl_MaxDrawBuffers\",\"gl_MinProgramTexelOffset\",\"gl_MaxProgramTexelOffset\",\"gl_DepthRangeParameters\",\"gl_DepthRange\",\"trunc\",\"round\",\"roundEven\",\"isnan\",\"isinf\",\"floatBitsToInt\",\"floatBitsToUint\",\"intBitsToFloat\",\"uintBitsToFloat\",\"packSnorm2x16\",\"unpackSnorm2x16\",\"packUnorm2x16\",\"unpackUnorm2x16\",\"packHalf2x16\",\"unpackHalf2x16\",\"outerProduct\",\"transpose\",\"determinant\",\"inverse\",\"texture\",\"textureSize\",\"textureProj\",\"textureLod\",\"textureOffset\",\"texelFetch\",\"texelFetchOffset\",\"textureProjOffset\",\"textureLodOffset\",\"textureProjLod\",\"textureProjLodOffset\",\"textureGrad\",\"textureGradOffset\",\"textureProjGrad\",\"textureProjGradOffset\"])},{\"./builtins\":403}],403:[function(t,e,r){e.exports=[\"abs\",\"acos\",\"all\",\"any\",\"asin\",\"atan\",\"ceil\",\"clamp\",\"cos\",\"cross\",\"dFdx\",\"dFdy\",\"degrees\",\"distance\",\"dot\",\"equal\",\"exp\",\"exp2\",\"faceforward\",\"floor\",\"fract\",\"gl_BackColor\",\"gl_BackLightModelProduct\",\"gl_BackLightProduct\",\"gl_BackMaterial\",\"gl_BackSecondaryColor\",\"gl_ClipPlane\",\"gl_ClipVertex\",\"gl_Color\",\"gl_DepthRange\",\"gl_DepthRangeParameters\",\"gl_EyePlaneQ\",\"gl_EyePlaneR\",\"gl_EyePlaneS\",\"gl_EyePlaneT\",\"gl_Fog\",\"gl_FogCoord\",\"gl_FogFragCoord\",\"gl_FogParameters\",\"gl_FragColor\",\"gl_FragCoord\",\"gl_FragData\",\"gl_FragDepth\",\"gl_FragDepthEXT\",\"gl_FrontColor\",\"gl_FrontFacing\",\"gl_FrontLightModelProduct\",\"gl_FrontLightProduct\",\"gl_FrontMaterial\",\"gl_FrontSecondaryColor\",\"gl_LightModel\",\"gl_LightModelParameters\",\"gl_LightModelProducts\",\"gl_LightProducts\",\"gl_LightSource\",\"gl_LightSourceParameters\",\"gl_MaterialParameters\",\"gl_MaxClipPlanes\",\"gl_MaxCombinedTextureImageUnits\",\"gl_MaxDrawBuffers\",\"gl_MaxFragmentUniformComponents\",\"gl_MaxLights\",\"gl_MaxTextureCoords\",\"gl_MaxTextureImageUnits\",\"gl_MaxTextureUnits\",\"gl_MaxVaryingFloats\",\"gl_MaxVertexAttribs\",\"gl_MaxVertexTextureImageUnits\",\"gl_MaxVertexUniformComponents\",\"gl_ModelViewMatrix\",\"gl_ModelViewMatrixInverse\",\"gl_ModelViewMatrixInverseTranspose\",\"gl_ModelViewMatrixTranspose\",\"gl_ModelViewProjectionMatrix\",\"gl_ModelViewProjectionMatrixInverse\",\"gl_ModelViewProjectionMatrixInverseTranspose\",\"gl_ModelViewProjectionMatrixTranspose\",\"gl_MultiTexCoord0\",\"gl_MultiTexCoord1\",\"gl_MultiTexCoord2\",\"gl_MultiTexCoord3\",\"gl_MultiTexCoord4\",\"gl_MultiTexCoord5\",\"gl_MultiTexCoord6\",\"gl_MultiTexCoord7\",\"gl_Normal\",\"gl_NormalMatrix\",\"gl_NormalScale\",\"gl_ObjectPlaneQ\",\"gl_ObjectPlaneR\",\"gl_ObjectPlaneS\",\"gl_ObjectPlaneT\",\"gl_Point\",\"gl_PointCoord\",\"gl_PointParameters\",\"gl_PointSize\",\"gl_Position\",\"gl_ProjectionMatrix\",\"gl_ProjectionMatrixInverse\",\"gl_ProjectionMatrixInverseTranspose\",\"gl_ProjectionMatrixTranspose\",\"gl_SecondaryColor\",\"gl_TexCoord\",\"gl_TextureEnvColor\",\"gl_TextureMatrix\",\"gl_TextureMatrixInverse\",\"gl_TextureMatrixInverseTranspose\",\"gl_TextureMatrixTranspose\",\"gl_Vertex\",\"greaterThan\",\"greaterThanEqual\",\"inversesqrt\",\"length\",\"lessThan\",\"lessThanEqual\",\"log\",\"log2\",\"matrixCompMult\",\"max\",\"min\",\"mix\",\"mod\",\"normalize\",\"not\",\"notEqual\",\"pow\",\"radians\",\"reflect\",\"refract\",\"sign\",\"sin\",\"smoothstep\",\"sqrt\",\"step\",\"tan\",\"texture2D\",\"texture2DLod\",\"texture2DProj\",\"texture2DProjLod\",\"textureCube\",\"textureCubeLod\",\"texture2DLodEXT\",\"texture2DProjLodEXT\",\"textureCubeLodEXT\",\"texture2DGradEXT\",\"texture2DProjGradEXT\",\"textureCubeGradEXT\"]},{}],404:[function(t,e,r){var n=t(\"./literals\");e.exports=n.slice().concat([\"layout\",\"centroid\",\"smooth\",\"case\",\"mat2x2\",\"mat2x3\",\"mat2x4\",\"mat3x2\",\"mat3x3\",\"mat3x4\",\"mat4x2\",\"mat4x3\",\"mat4x4\",\"uvec2\",\"uvec3\",\"uvec4\",\"samplerCubeShadow\",\"sampler2DArray\",\"sampler2DArrayShadow\",\"isampler2D\",\"isampler3D\",\"isamplerCube\",\"isampler2DArray\",\"usampler2D\",\"usampler3D\",\"usamplerCube\",\"usampler2DArray\",\"coherent\",\"restrict\",\"readonly\",\"writeonly\",\"resource\",\"atomic_uint\",\"noperspective\",\"patch\",\"sample\",\"subroutine\",\"common\",\"partition\",\"active\",\"filter\",\"image1D\",\"image2D\",\"image3D\",\"imageCube\",\"iimage1D\",\"iimage2D\",\"iimage3D\",\"iimageCube\",\"uimage1D\",\"uimage2D\",\"uimage3D\",\"uimageCube\",\"image1DArray\",\"image2DArray\",\"iimage1DArray\",\"iimage2DArray\",\"uimage1DArray\",\"uimage2DArray\",\"image1DShadow\",\"image2DShadow\",\"image1DArrayShadow\",\"image2DArrayShadow\",\"imageBuffer\",\"iimageBuffer\",\"uimageBuffer\",\"sampler1DArray\",\"sampler1DArrayShadow\",\"isampler1D\",\"isampler1DArray\",\"usampler1D\",\"usampler1DArray\",\"isampler2DRect\",\"usampler2DRect\",\"samplerBuffer\",\"isamplerBuffer\",\"usamplerBuffer\",\"sampler2DMS\",\"isampler2DMS\",\"usampler2DMS\",\"sampler2DMSArray\",\"isampler2DMSArray\",\"usampler2DMSArray\"])},{\"./literals\":405}],405:[function(t,e,r){e.exports=[\"precision\",\"highp\",\"mediump\",\"lowp\",\"attribute\",\"const\",\"uniform\",\"varying\",\"break\",\"continue\",\"do\",\"for\",\"while\",\"if\",\"else\",\"in\",\"out\",\"inout\",\"float\",\"int\",\"uint\",\"void\",\"bool\",\"true\",\"false\",\"discard\",\"return\",\"mat2\",\"mat3\",\"mat4\",\"vec2\",\"vec3\",\"vec4\",\"ivec2\",\"ivec3\",\"ivec4\",\"bvec2\",\"bvec3\",\"bvec4\",\"sampler1D\",\"sampler2D\",\"sampler3D\",\"samplerCube\",\"sampler1DShadow\",\"sampler2DShadow\",\"struct\",\"asm\",\"class\",\"union\",\"enum\",\"typedef\",\"template\",\"this\",\"packed\",\"goto\",\"switch\",\"default\",\"inline\",\"noinline\",\"volatile\",\"public\",\"static\",\"extern\",\"external\",\"interface\",\"long\",\"short\",\"double\",\"half\",\"fixed\",\"unsigned\",\"input\",\"output\",\"hvec2\",\"hvec3\",\"hvec4\",\"dvec2\",\"dvec3\",\"dvec4\",\"fvec2\",\"fvec3\",\"fvec4\",\"sampler2DRect\",\"sampler3DRect\",\"sampler2DRectShadow\",\"sizeof\",\"cast\",\"namespace\",\"using\"]},{}],406:[function(t,e,r){e.exports=[\"<<=\",\">>=\",\"++\",\"--\",\"<<\",\">>\",\"<=\",\">=\",\"==\",\"!=\",\"&&\",\"||\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"&=\",\"^^\",\"^=\",\"|=\",\"(\",\")\",\"[\",\"]\",\".\",\"!\",\"~\",\"*\",\"/\",\"%\",\"+\",\"-\",\"<\",\">\",\"&\",\"^\",\"|\",\"?\",\":\",\"=\",\",\",\";\",\"{\",\"}\"]},{}],407:[function(t,e,r){var n=t(\"./index\");e.exports=function(t,e){var r=n(e),a=[];return a=(a=a.concat(r(t))).concat(r(null))}},{\"./index\":401}],408:[function(t,e,r){e.exports=function(t){\"string\"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n<t.length-1;n++)r.push(t[n],e[n]||\"\");return r.push(t[n]),r.join(\"\")}},{}],409:[function(t,e,r){(function(r){\"use strict\";var n,a=t(\"is-browser\");n=\"function\"==typeof r.matchMedia?!r.matchMedia(\"(hover: none)\").matches:a,e.exports=n}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"is-browser\":417}],410:[function(t,e,r){\"use strict\";var n=t(\"is-browser\");e.exports=n&&function(){var t=!1;try{var e=Object.defineProperty({},\"passive\",{get:function(){t=!0}});window.addEventListener(\"test\",null,e),window.removeEventListener(\"test\",null,e)}catch(e){t=!1}return t}()},{\"is-browser\":417}],411:[function(t,e,r){r.read=function(t,e,r,n,a){var i,o,s=8*a-n-1,l=(1<<s)-1,c=l>>1,u=-7,h=r?a-1:0,f=r?-1:1,p=t[e+h];for(h+=f,i=p&(1<<-u)-1,p>>=-u,u+=s;u>0;i=256*i+t[e+h],h+=f,u-=8);for(o=i&(1<<-u)-1,i>>=-u,u+=n;u>0;o=256*o+t[e+h],h+=f,u-=8);if(0===i)i=1-c;else{if(i===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),i-=c}return(p?-1:1)*o*Math.pow(2,i-n)},r.write=function(t,e,r,n,a,i){var o,s,l,c=8*i-a-1,u=(1<<c)-1,h=u>>1,f=23===a?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:i-1,d=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(e*l-1)*Math.pow(2,a),o+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,a),o=0));a>=8;t[r+p]=255&s,p+=d,s/=256,a-=8);for(o=o<<a|s,c+=a;c>0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*g}},{}],412:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=t.length;if(0===r)throw new Error(\"Must have at least d+1 points\");var a=t[0].length;if(r<=a)throw new Error(\"Must input at least d+1 points\");var o=t.slice(0,a+1),s=n.apply(void 0,o);if(0===s)throw new Error(\"Input not in general position\");for(var l=new Array(a+1),u=0;u<=a;++u)l[u]=u;s<0&&(l[0]=1,l[1]=0);var h=new i(l,new Array(a+1),!1),f=h.adjacent,p=new Array(a+2);for(u=0;u<=a;++u){for(var d=l.slice(),g=0;g<=a;++g)g===u&&(d[g]=-1);var m=d[0];d[0]=d[1],d[1]=m;var v=new i(d,new Array(a+1),!0);f[u]=v,p[u]=v}p[a+1]=h;for(u=0;u<=a;++u){d=f[u].vertices;var y=f[u].adjacent;for(g=0;g<=a;++g){var x=d[g];if(x<0)y[g]=h;else for(var b=0;b<=a;++b)f[b].vertices.indexOf(x)<0&&(y[g]=f[b])}}var _=new c(a,o,p),w=!!e;for(u=a+1;u<r;++u)_.insert(t[u],w);return _.boundary()};var n=t(\"robust-orientation\"),a=t(\"simplicial-complex\").compareCells;function i(t,e,r){this.vertices=t,this.adjacent=e,this.boundary=r,this.lastVisited=-1}function o(t,e,r){this.vertices=t,this.cell=e,this.index=r}function s(t,e){return a(t.vertices,e.vertices)}i.prototype.flip=function(){var t=this.vertices[0];this.vertices[0]=this.vertices[1],this.vertices[1]=t;var e=this.adjacent[0];this.adjacent[0]=this.adjacent[1],this.adjacent[1]=e};var l=[];function c(t,e,r){this.dimension=t,this.vertices=e,this.simplices=r,this.interior=r.filter((function(t){return!t.boundary})),this.tuple=new Array(t+1);for(var a=0;a<=t;++a)this.tuple[a]=this.vertices[a];var i=l[t];i||(i=l[t]=function(t){for(var e=[\"function orient(){var tuple=this.tuple;return test(\"],r=0;r<=t;++r)r>0&&e.push(\",\"),e.push(\"tuple[\",r,\"]\");e.push(\")}return orient\");var a=new Function(\"test\",e.join(\"\")),i=n[t+1];return i||(i=n),a(i)}(t)),this.orient=i}var u=c.prototype;u.handleBoundaryDegeneracy=function(t,e){var r=this.dimension,n=this.vertices.length-1,a=this.tuple,i=this.vertices,o=[t];for(t.lastVisited=-n;o.length>0;){(t=o.pop()).vertices;for(var s=t.adjacent,l=0;l<=r;++l){var c=s[l];if(c.boundary&&!(c.lastVisited<=-n)){for(var u=c.vertices,h=0;h<=r;++h){var f=u[h];a[h]=f<0?e:i[f]}var p=this.orient();if(p>0)return c;c.lastVisited=-n,0===p&&o.push(c)}}}return null},u.walk=function(t,e){var r=this.vertices.length-1,n=this.dimension,a=this.vertices,i=this.tuple,o=e?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[o];t:for(;!s.boundary;){for(var l=s.vertices,c=s.adjacent,u=0;u<=n;++u)i[u]=a[l[u]];s.lastVisited=r;for(u=0;u<=n;++u){var h=c[u];if(!(h.lastVisited>=r)){var f=i[u];i[u]=t;var p=this.orient();if(i[u]=f,p<0){s=h;continue t}h.boundary?h.lastVisited=-r:h.lastVisited=r}}return}return s},u.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,a=this.vertices,l=this.tuple,c=this.interior,u=this.simplices,h=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,c.push(e);for(var f=[];h.length>0;){var p=(e=h.pop()).vertices,d=e.adjacent,g=p.indexOf(r);if(!(g<0))for(var m=0;m<=n;++m)if(m!==g){var v=d[m];if(v.boundary&&!(v.lastVisited>=r)){var y=v.vertices;if(v.lastVisited!==-r){for(var x=0,b=0;b<=n;++b)y[b]<0?(x=b,l[b]=t):l[b]=a[y[b]];if(this.orient()>0){y[x]=r,v.boundary=!1,c.push(v),h.push(v),v.lastVisited=r;continue}v.lastVisited=-r}var _=v.adjacent,w=p.slice(),T=d.slice(),k=new i(w,T,!0);u.push(k);var A=_.indexOf(e);if(!(A<0)){_[A]=k,T[g]=v,w[m]=-1,T[m]=e,d[m]=k,k.flip();for(b=0;b<=n;++b){var M=w[b];if(!(M<0||M===r)){for(var S=new Array(n-1),E=0,C=0;C<=n;++C){var L=w[C];L<0||C===b||(S[E++]=L)}f.push(new o(S,k,b))}}}}}}f.sort(s);for(m=0;m+1<f.length;m+=2){var P=f[m],I=f[m+1],z=P.index,O=I.index;z<0||O<0||(P.cell.adjacent[P.index]=I.cell,I.cell.adjacent[I.index]=P.cell)}},u.insert=function(t,e){var r=this.vertices;r.push(t);var n=this.walk(t,e);if(n){for(var a=this.dimension,i=this.tuple,o=0;o<=a;++o){var s=n.vertices[o];i[o]=s<0?t:r[s]}var l=this.orient(i);l<0||(0!==l||(n=this.handleBoundaryDegeneracy(n,t)))&&this.addPeaks(t,n)}},u.boundary=function(){for(var t=this.dimension,e=[],r=this.simplices,n=r.length,a=0;a<n;++a){var i=r[a];if(i.boundary){for(var o=new Array(t),s=i.vertices,l=0,c=0,u=0;u<=t;++u)s[u]>=0?o[l++]=s[u]:c=1&u;if(c===(1&t)){var h=o[0];o[0]=o[1],o[1]=h}e.push(o)}}return e}},{\"robust-orientation\":500,\"simplicial-complex\":510}],413:[function(t,e,r){\"use strict\";var n=t(\"binary-search-bounds\");function a(t,e,r,n,a){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=a,this.count=(e?e.count:0)+(r?r.count:0)+n.length}e.exports=function(t){if(!t||0===t.length)return new v(null);return new v(m(t))};var i=a.prototype;function o(t,e){t.mid=e.mid,t.left=e.left,t.right=e.right,t.leftPoints=e.leftPoints,t.rightPoints=e.rightPoints,t.count=e.count}function s(t,e){var r=m(e);t.mid=r.mid,t.left=r.left,t.right=r.right,t.leftPoints=r.leftPoints,t.rightPoints=r.rightPoints,t.count=r.count}function l(t,e){var r=t.intervals([]);r.push(e),s(t,r)}function c(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?0:(r.splice(n,1),s(t,r),1)}function u(t,e,r){for(var n=0;n<t.length&&t[n][0]<=e;++n){var a=r(t[n]);if(a)return a}}function h(t,e,r){for(var n=t.length-1;n>=0&&t[n][1]>=e;--n){var a=r(t[n]);if(a)return a}}function f(t,e){for(var r=0;r<t.length;++r){var n=e(t[r]);if(n)return n}}function p(t,e){return t-e}function d(t,e){var r=t[0]-e[0];return r||t[1]-e[1]}function g(t,e){var r=t[1]-e[1];return r||t[0]-e[0]}function m(t){if(0===t.length)return null;for(var e=[],r=0;r<t.length;++r)e.push(t[r][0],t[r][1]);e.sort(p);var n=e[e.length>>1],i=[],o=[],s=[];for(r=0;r<t.length;++r){var l=t[r];l[1]<n?i.push(l):n<l[0]?o.push(l):s.push(l)}var c=s,u=s.slice();return c.sort(d),u.sort(g),new a(n,m(i),m(o),c,u)}function v(t){this.root=t}i.intervals=function(t){return t.push.apply(t,this.leftPoints),this.left&&this.left.intervals(t),this.right&&this.right.intervals(t),t},i.insert=function(t){var e=this.count-this.leftPoints.length;if(this.count+=1,t[1]<this.mid)this.left?4*(this.left.count+1)>3*(e+1)?l(this,t):this.left.insert(t):this.left=m([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?l(this,t):this.right.insert(t):this.right=m([t]);else{var r=n.ge(this.leftPoints,t,d),a=n.ge(this.rightPoints,t,g);this.leftPoints.splice(r,0,t),this.rightPoints.splice(a,0,t)}},i.remove=function(t){var e=this.count-this.leftPoints;if(t[1]<this.mid)return this.left?4*(this.right?this.right.count:0)>3*(e-1)?c(this,t):2===(s=this.left.remove(t))?(this.left=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(t[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(e-1)?c(this,t):2===(s=this.right.remove(t))?(this.right=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(1===this.count)return this.leftPoints[0]===t?2:0;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,a=this.left;a.right;)r=a,a=a.right;if(r===this)a.right=this.right;else{var i=this.left,s=this.right;r.count-=a.count,r.right=a.left,a.left=i,a.right=s}o(this,a),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?o(this,this.left):o(this,this.right);return 1}for(i=n.ge(this.leftPoints,t,d);i<this.leftPoints.length&&this.leftPoints[i][0]===t[0];++i)if(this.leftPoints[i]===t){this.count-=1,this.leftPoints.splice(i,1);for(s=n.ge(this.rightPoints,t,g);s<this.rightPoints.length&&this.rightPoints[s][1]===t[1];++s)if(this.rightPoints[s]===t)return this.rightPoints.splice(s,1),1}return 0},i.queryPoint=function(t,e){if(t<this.mid){if(this.left)if(r=this.left.queryPoint(t,e))return r;return u(this.leftPoints,t,e)}if(t>this.mid){var r;if(this.right)if(r=this.right.queryPoint(t,e))return r;return h(this.rightPoints,t,e)}return f(this.leftPoints,e)},i.queryInterval=function(t,e,r){var n;if(t<this.mid&&this.left&&(n=this.left.queryInterval(t,e,r)))return n;if(e>this.mid&&this.right&&(n=this.right.queryInterval(t,e,r)))return n;return e<this.mid?u(this.leftPoints,e,r):t>this.mid?h(this.rightPoints,t,r):f(this.leftPoints,r)};var y=v.prototype;y.insert=function(t){this.root?this.root.insert(t):this.root=new a(t[0],null,null,[t],[t])},y.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),0!==e}return!1},y.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},y.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(y,\"count\",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(y,\"intervals\",{get:function(){return this.root?this.root.intervals([]):[]}})},{\"binary-search-bounds\":414}],414:[function(t,e,r){arguments[4][238][0].apply(r,arguments)},{dup:238}],415:[function(t,e,r){\"use strict\";e.exports=function(t,e){e=e||new Array(t.length);for(var r=0;r<t.length;++r)e[t[r]]=r;return e}},{}],416:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=r;return e}},{}],417:[function(t,e,r){e.exports=!0},{}],418:[function(t,e,r){function n(t){return!!t.constructor&&\"function\"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}\n",
       "/*!\n",
       " * Determine if an object is a Buffer\n",
       " *\n",
       " * @author   Feross Aboukhadijeh <https://feross.org>\n",
       " * @license  MIT\n",
       " */\n",
       "e.exports=function(t){return null!=t&&(n(t)||function(t){return\"function\"==typeof t.readFloatLE&&\"function\"==typeof t.slice&&n(t.slice(0,0))}(t)||!!t._isBuffer)}},{}],419:[function(t,e,r){\"use strict\";e.exports=\"undefined\"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\\//.test(navigator.appVersion))},{}],420:[function(t,e,r){\"use strict\";e.exports=i,e.exports.isMobile=i,e.exports.default=i;var n=/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series[46]0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,a=/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series[46]0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i;function i(t){t||(t={});var e=t.ua;if(e||\"undefined\"==typeof navigator||(e=navigator.userAgent),e&&e.headers&&\"string\"==typeof e.headers[\"user-agent\"]&&(e=e.headers[\"user-agent\"]),\"string\"!=typeof e)return!1;var r=t.tablet?a.test(e):n.test(e);return!r&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==e.indexOf(\"Macintosh\")&&-1!==e.indexOf(\"Safari\")&&(r=!0),r}},{}],421:[function(t,e,r){\"use strict\";e.exports=function(t){var e=typeof t;return null!==t&&(\"object\"===e||\"function\"===e)}},{}],422:[function(t,e,r){\"use strict\";var n=Object.prototype.toString;e.exports=function(t){var e;return\"[object Object]\"===n.call(t)&&(null===(e=Object.getPrototypeOf(t))||e===Object.getPrototypeOf({}))}},{}],423:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e,r=t.length,n=0;n<r;n++)if(((e=t.charCodeAt(n))<9||e>13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},{}],424:[function(t,e,r){\"use strict\";e.exports=function(t){return\"string\"==typeof t&&(t=t.trim(),!!(/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\\dz]$/i.test(t)&&t.length>4))}},{}],425:[function(t,e,r){e.exports=function(t,e,r){return t*(1-r)+e*r}},{}],426:[function(t,e,r){!function(t,n){\"object\"==typeof r&&\"undefined\"!=typeof e?e.exports=n():(t=t||self).mapboxgl=n()}(this,(function(){\"use strict\";var t,e,r;function n(n,a){if(t)if(e){var i=\"var sharedChunk = {}; (\"+t+\")(sharedChunk); (\"+e+\")(sharedChunk);\",o={};t(o),(r=a(o)).workerUrl=window.URL.createObjectURL(new Blob([i],{type:\"text/javascript\"}))}else e=a;else t=a}return n(0,(function(t){function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r=n;function n(t,e,r,n){this.cx=3*t,this.bx=3*(r-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=n,this.p2x=r,this.p2y=n}n.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},n.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},n.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},n.prototype.solveCurveX=function(t,e){var r,n,a,i,o;for(void 0===e&&(e=1e-6),a=t,o=0;o<8;o++){if(i=this.sampleCurveX(a)-t,Math.abs(i)<e)return a;var s=this.sampleCurveDerivativeX(a);if(Math.abs(s)<1e-6)break;a-=i/s}if((a=t)<(r=0))return r;if(a>(n=1))return n;for(;r<n;){if(i=this.sampleCurveX(a),Math.abs(i-t)<e)return a;t>i?r=a:n=a,a=.5*(n-r)+r}return a},n.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))};var a=i;function i(t,e){this.x=t,this.y=e}function o(t,e,n,a){var i=new r(t,e,n,a);return function(t){return i.solve(t)}}i.prototype={clone:function(){return new i(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[2]*this.x+t[3]*this.y;return this.x=t[0]*this.x+t[1]*this.y,this.y=e,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=r*this.x+e*this.y;return this.x=e*this.x-r*this.y,this.y=n,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),a=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=e.x+r*(this.x-e.x)-n*(this.y-e.y),this.y=a,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},i.convert=function(t){return t instanceof i?t:Array.isArray(t)?new i(t[0],t[1]):t};var s=o(.25,.1,.25,1);function l(t,e,r){return Math.min(r,Math.max(e,t))}function c(t,e,r){var n=r-e,a=((t-e)%n+n)%n+e;return a===e?r:a}function u(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,a=e;n<a.length;n+=1){var i=a[n];for(var o in i)t[o]=i[o]}return t}var h=1;function f(){return h++}function p(){return function t(e){return e?(e^16*Math.random()>>e/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,t)}()}function d(t){return!!t&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t)}function g(t,e){t.forEach((function(t){e[t]&&(e[t]=e[t].bind(e))}))}function m(t,e){return-1!==t.indexOf(e,t.length-e.length)}function v(t,e,r){var n={};for(var a in t)n[a]=e.call(r||this,t[a],a,t);return n}function y(t,e,r){var n={};for(var a in t)e.call(r||this,t[a],a,t)&&(n[a]=t[a]);return n}function x(t){return Array.isArray(t)?t.map(x):\"object\"==typeof t&&t?v(t,x):t}var b={};function _(t){b[t]||(\"undefined\"!=typeof console&&console.warn(t),b[t]=!0)}function w(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function T(t){for(var e=0,r=0,n=t.length,a=n-1,i=void 0,o=void 0;r<n;a=r++)e+=((o=t[a]).x-(i=t[r]).x)*(i.y+o.y);return e}function k(){return\"undefined\"!=typeof WorkerGlobalScope&&\"undefined\"!=typeof self&&self instanceof WorkerGlobalScope}function A(t){var e={};if(t.replace(/(?:^|(?:\\s*\\,\\s*))([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,(function(t,r,n,a){var i=n||a;return e[r]=!i||i.toLowerCase(),\"\"})),e[\"max-age\"]){var r=parseInt(e[\"max-age\"],10);isNaN(r)?delete e[\"max-age\"]:e[\"max-age\"]=r}return e}var M=null;function S(t){if(null==M){var e=t.navigator?t.navigator.userAgent:null;M=!!t.safari||!(!e||!(/\\b(iPad|iPhone|iPod)\\b/.test(e)||e.match(\"Safari\")&&!e.match(\"Chrome\")))}return M}function E(t){try{var e=self[t];return e.setItem(\"_mapbox_test_\",1),e.removeItem(\"_mapbox_test_\"),!0}catch(t){return!1}}var C,L,P,I,z=self.performance&&self.performance.now?self.performance.now.bind(self.performance):Date.now.bind(Date),O=self.requestAnimationFrame||self.mozRequestAnimationFrame||self.webkitRequestAnimationFrame||self.msRequestAnimationFrame,D=self.cancelAnimationFrame||self.mozCancelAnimationFrame||self.webkitCancelAnimationFrame||self.msCancelAnimationFrame,R={now:z,frame:function(t){var e=O(t);return{cancel:function(){return D(e)}}},getImageData:function(t,e){void 0===e&&(e=0);var r=self.document.createElement(\"canvas\"),n=r.getContext(\"2d\");if(!n)throw new Error(\"failed to create canvas 2d context\");return r.width=t.width,r.height=t.height,n.drawImage(t,0,0,t.width,t.height),n.getImageData(-e,-e,t.width+2*e,t.height+2*e)},resolveURL:function(t){return C||(C=self.document.createElement(\"a\")),C.href=t,C.href},hardwareConcurrency:self.navigator.hardwareConcurrency||4,get devicePixelRatio(){return self.devicePixelRatio},get prefersReducedMotion(){return!!self.matchMedia&&(null==L&&(L=self.matchMedia(\"(prefers-reduced-motion: reduce)\")),L.matches)}},F={API_URL:\"https://api.mapbox.com\",get EVENTS_URL(){return this.API_URL?0===this.API_URL.indexOf(\"https://api.mapbox.cn\")?\"https://events.mapbox.cn/events/v2\":0===this.API_URL.indexOf(\"https://api.mapbox.com\")?\"https://events.mapbox.com/events/v2\":null:null},FEEDBACK_URL:\"https://apps.mapbox.com/feedback\",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},B={supported:!1,testSupport:function(t){!N&&I&&(j?V(t):P=t)}},N=!1,j=!1;function V(t){var e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,I),t.isContextLost())return;B.supported=!0}catch(t){}t.deleteTexture(e),N=!0}self.document&&((I=self.document.createElement(\"img\")).onload=function(){P&&V(P),P=null,j=!0},I.onerror=function(){N=!0,P=null},I.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\");var U=\"01\",q=function(t,e){this._transformRequestFn=t,this._customAccessToken=e,this._createSkuToken()};function H(t){return 0===t.indexOf(\"mapbox:\")}q.prototype._createSkuToken=function(){var t=function(){for(var t=\"\",e=0;e<10;e++)t+=\"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\"[Math.floor(62*Math.random())];return{token:[\"1\",U,t].join(\"\"),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=t.token,this._skuTokenExpiresAt=t.tokenExpiresAt},q.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},q.prototype.transformRequest=function(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}},q.prototype.normalizeStyleURL=function(t,e){if(!H(t))return t;var r=Z(t);return r.path=\"/styles/v1\"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},q.prototype.normalizeGlyphsURL=function(t,e){if(!H(t))return t;var r=Z(t);return r.path=\"/fonts/v1\"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},q.prototype.normalizeSourceURL=function(t,e){if(!H(t))return t;var r=Z(t);return r.path=\"/v4/\"+r.authority+\".json\",r.params.push(\"secure\"),this._makeAPIURL(r,this._customAccessToken||e)},q.prototype.normalizeSpriteURL=function(t,e,r,n){var a=Z(t);return H(t)?(a.path=\"/styles/v1\"+a.path+\"/sprite\"+e+r,this._makeAPIURL(a,this._customAccessToken||n)):(a.path+=\"\"+e+r,X(a))},q.prototype.normalizeTileURL=function(t,e){if(this._isSkuTokenExpired()&&this._createSkuToken(),t&&!H(t))return t;var r=Z(t);r.path=r.path.replace(/(\\.(png|jpg)\\d*)(?=$)/,(R.devicePixelRatio>=2||512===e?\"@2x\":\"\")+(B.supported?\".webp\":\"$1\")),r.path=r.path.replace(/^.+\\/v4\\//,\"/\"),r.path=\"/v4\"+r.path;var n=this._customAccessToken||function(t){for(var e=0,r=t;e<r.length;e+=1){var n=r[e].match(/^access_token=(.*)$/);if(n)return n[1]}return null}(r.params)||F.ACCESS_TOKEN;return F.REQUIRE_ACCESS_TOKEN&&n&&this._skuToken&&r.params.push(\"sku=\"+this._skuToken),this._makeAPIURL(r,n)},q.prototype.canonicalizeTileURL=function(t,e){var r=Z(t);if(!r.path.match(/(^\\/v4\\/)/)||!r.path.match(/\\.[\\w]+$/))return t;var n=\"mapbox://tiles/\";n+=r.path.replace(\"/v4/\",\"\");var a=r.params;return e&&(a=a.filter((function(t){return!t.match(/^access_token=/)}))),a.length&&(n+=\"?\"+a.join(\"&\")),n},q.prototype.canonicalizeTileset=function(t,e){for(var r=!!e&&H(e),n=[],a=0,i=t.tiles||[];a<i.length;a+=1){var o=i[a];Y(o)?n.push(this.canonicalizeTileURL(o,r)):n.push(o)}return n},q.prototype._makeAPIURL=function(t,e){var r=\"See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes\",n=Z(F.API_URL);if(t.protocol=n.protocol,t.authority=n.authority,\"/\"!==n.path&&(t.path=\"\"+n.path+t.path),!F.REQUIRE_ACCESS_TOKEN)return X(t);if(!(e=e||F.ACCESS_TOKEN))throw new Error(\"An API access token is required to use Mapbox GL. \"+r);if(\"s\"===e[0])throw new Error(\"Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). \"+r);return t.params=t.params.filter((function(t){return-1===t.indexOf(\"access_token\")})),t.params.push(\"access_token=\"+e),X(t)};var G=/^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/|\\?|$)/i;function Y(t){return G.test(t)}var W=/^(\\w+):\\/\\/([^/?]*)(\\/[^?]+)?\\??(.+)?/;function Z(t){var e=t.match(W);if(!e)throw new Error(\"Unable to parse URL object\");return{protocol:e[1],authority:e[2],path:e[3]||\"/\",params:e[4]?e[4].split(\"&\"):[]}}function X(t){var e=t.params.length?\"?\"+t.params.join(\"&\"):\"\";return t.protocol+\"://\"+t.authority+t.path+e}function J(t){if(!t)return null;var e=t.split(\".\");if(!e||3!==e.length)return null;try{return JSON.parse(decodeURIComponent(self.atob(e[1]).split(\"\").map((function(t){return\"%\"+(\"00\"+t.charCodeAt(0).toString(16)).slice(-2)})).join(\"\")))}catch(t){return null}}var K=function(t){this.type=t,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null};K.prototype.getStorageKey=function(t){var e,r=J(F.ACCESS_TOKEN);return e=r&&r.u?self.btoa(encodeURIComponent(r.u).replace(/%([0-9A-F]{2})/g,(function(t,e){return String.fromCharCode(Number(\"0x\"+e))}))):F.ACCESS_TOKEN||\"\",t?\"mapbox.eventData.\"+t+\":\"+e:\"mapbox.eventData:\"+e},K.prototype.fetchEventData=function(){var t=E(\"localStorage\"),e=this.getStorageKey(),r=this.getStorageKey(\"uuid\");if(t)try{var n=self.localStorage.getItem(e);n&&(this.eventData=JSON.parse(n));var a=self.localStorage.getItem(r);a&&(this.anonId=a)}catch(t){_(\"Unable to read from LocalStorage\")}},K.prototype.saveEventData=function(){var t=E(\"localStorage\"),e=this.getStorageKey(),r=this.getStorageKey(\"uuid\");if(t)try{self.localStorage.setItem(r,this.anonId),Object.keys(this.eventData).length>=1&&self.localStorage.setItem(e,JSON.stringify(this.eventData))}catch(t){_(\"Unable to write to LocalStorage\")}},K.prototype.processRequests=function(t){},K.prototype.postEvent=function(t,e,r,n){var a=this;if(F.EVENTS_URL){var i=Z(F.EVENTS_URL);i.params.push(\"access_token=\"+(n||F.ACCESS_TOKEN||\"\"));var o={event:this.type,created:new Date(t).toISOString(),sdkIdentifier:\"mapbox-gl-js\",sdkVersion:\"1.10.1\",skuId:U,userId:this.anonId},s=e?u(o,e):o,l={url:X(i),headers:{\"Content-Type\":\"text/plain\"},body:JSON.stringify([s])};this.pendingRequest=xt(l,(function(t){a.pendingRequest=null,r(t),a.saveEventData(),a.processRequests(n)}))}},K.prototype.queueRequest=function(t,e){this.queue.push(t),this.processRequests(e)};var Q,$,tt=function(t){function e(){t.call(this,\"map.load\"),this.success={},this.skuToken=\"\"}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.postMapLoadEvent=function(t,e,r,n){this.skuToken=r,(F.EVENTS_URL&&n||F.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return H(t)||Y(t)})))&&this.queueRequest({id:e,timestamp:Date.now()},n)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){var r=this.queue.shift(),n=r.id,a=r.timestamp;n&&this.success[n]||(this.anonId||this.fetchEventData(),d(this.anonId)||(this.anonId=p()),this.postEvent(a,{skuToken:this.skuToken},(function(t){t||n&&(e.success[n]=!0)}),t))}},e}(K),et=new(function(t){function e(e){t.call(this,\"appUserTurnstile\"),this._customAccessToken=e}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.postTurnstileEvent=function(t,e){F.EVENTS_URL&&F.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return H(t)||Y(t)}))&&this.queueRequest(Date.now(),e)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();var r=J(F.ACCESS_TOKEN),n=r?r.u:F.ACCESS_TOKEN,a=n!==this.eventData.tokenU;d(this.anonId)||(this.anonId=p(),a=!0);var i=this.queue.shift();if(this.eventData.lastSuccess){var o=new Date(this.eventData.lastSuccess),s=new Date(i),l=(i-this.eventData.lastSuccess)/864e5;a=a||l>=1||l<-1||o.getDate()!==s.getDate()}else a=!0;if(!a)return this.processRequests();this.postEvent(i,{\"enabled.telemetry\":!1},(function(t){t||(e.eventData.lastSuccess=i,e.eventData.tokenU=n)}),t)}},e}(K)),rt=et.postTurnstileEvent.bind(et),nt=new tt,at=nt.postMapLoadEvent.bind(nt),it=500,ot=50;function st(){self.caches&&!Q&&(Q=self.caches.open(\"mapbox-tiles\"))}function lt(t){var e=t.indexOf(\"?\");return e<0?t:t.slice(0,e)}var ct,ut=1/0;function ht(){return null==ct&&(ct=self.OffscreenCanvas&&new self.OffscreenCanvas(1,1).getContext(\"2d\")&&\"function\"==typeof self.createImageBitmap),ct}var ft={Unknown:\"Unknown\",Style:\"Style\",Source:\"Source\",Tile:\"Tile\",Glyphs:\"Glyphs\",SpriteImage:\"SpriteImage\",SpriteJSON:\"SpriteJSON\",Image:\"Image\"};\"function\"==typeof Object.freeze&&Object.freeze(ft);var pt,dt,gt=function(t){function e(e,r,n){401===r&&Y(n)&&(e+=\": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes\"),t.call(this,e),this.status=r,this.url=n,this.name=this.constructor.name,this.message=e}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.toString=function(){return this.name+\": \"+this.message+\" (\"+this.status+\"): \"+this.url},e}(Error),mt=k()?function(){return self.worker&&self.worker.referrer}:function(){return(\"blob:\"===self.location.protocol?self.parent:self).location.href},vt=function(t,e){if(!(/^file:/.test(r=t.url)||/^file:/.test(mt())&&!/^\\w+:/.test(r))){if(self.fetch&&self.Request&&self.AbortController&&self.Request.prototype.hasOwnProperty(\"signal\"))return function(t,e){var r,n=new self.AbortController,a=new self.Request(t.url,{method:t.method||\"GET\",body:t.body,credentials:t.credentials,headers:t.headers,referrer:mt(),signal:n.signal}),i=!1,o=!1,s=(r=a.url).indexOf(\"sku=\")>0&&Y(r);\"json\"===t.type&&a.headers.set(\"Accept\",\"application/json\");var l=function(r,n,i){if(!o){if(r&&\"SecurityError\"!==r.message&&_(r),n&&i)return c(n);var l=Date.now();self.fetch(a).then((function(r){if(r.ok){var n=s?r.clone():null;return c(r,n,l)}return e(new gt(r.statusText,r.status,t.url))})).catch((function(t){20!==t.code&&e(new Error(t.message))}))}},c=function(r,n,s){(\"arrayBuffer\"===t.type?r.arrayBuffer():\"json\"===t.type?r.json():r.text()).then((function(t){o||(n&&s&&function(t,e,r){if(st(),Q){var n={status:e.status,statusText:e.statusText,headers:new self.Headers};e.headers.forEach((function(t,e){return n.headers.set(e,t)}));var a=A(e.headers.get(\"Cache-Control\")||\"\");a[\"no-store\"]||(a[\"max-age\"]&&n.headers.set(\"Expires\",new Date(r+1e3*a[\"max-age\"]).toUTCString()),new Date(n.headers.get(\"Expires\")).getTime()-r<42e4||function(t,e){if(void 0===$)try{new Response(new ReadableStream),$=!0}catch(t){$=!1}$?e(t.body):t.blob().then(e)}(e,(function(e){var r=new self.Response(e,n);st(),Q&&Q.then((function(e){return e.put(lt(t.url),r)})).catch((function(t){return _(t.message)}))})))}}(a,n,s),i=!0,e(null,t,r.headers.get(\"Cache-Control\"),r.headers.get(\"Expires\")))})).catch((function(t){o||e(new Error(t.message))}))};return s?function(t,e){if(st(),!Q)return e(null);var r=lt(t.url);Q.then((function(t){t.match(r).then((function(n){var a=function(t){if(!t)return!1;var e=new Date(t.headers.get(\"Expires\")||0),r=A(t.headers.get(\"Cache-Control\")||\"\");return e>Date.now()&&!r[\"no-cache\"]}(n);t.delete(r),a&&t.put(r,n.clone()),e(null,n,a)})).catch(e)})).catch(e)}(a,l):l(null,null),{cancel:function(){o=!0,i||n.abort()}}}(t,e);if(k()&&self.worker&&self.worker.actor)return self.worker.actor.send(\"getResource\",t,e,void 0,!0)}var r;return function(t,e){var r=new self.XMLHttpRequest;for(var n in r.open(t.method||\"GET\",t.url,!0),\"arrayBuffer\"===t.type&&(r.responseType=\"arraybuffer\"),t.headers)r.setRequestHeader(n,t.headers[n]);return\"json\"===t.type&&(r.responseType=\"text\",r.setRequestHeader(\"Accept\",\"application/json\")),r.withCredentials=\"include\"===t.credentials,r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){if((r.status>=200&&r.status<300||0===r.status)&&null!==r.response){var n=r.response;if(\"json\"===t.type)try{n=JSON.parse(r.response)}catch(t){return e(t)}e(null,n,r.getResponseHeader(\"Cache-Control\"),r.getResponseHeader(\"Expires\"))}else e(new gt(r.statusText,r.status,t.url))},r.send(t.body),{cancel:function(){return r.abort()}}}(t,e)},yt=function(t,e){return vt(u(t,{type:\"arrayBuffer\"}),e)},xt=function(t,e){return vt(u(t,{method:\"POST\"}),e)};pt=[],dt=0;var bt=function(t,e){if(B.supported&&(t.headers||(t.headers={}),t.headers.accept=\"image/webp,*/*\"),dt>=F.MAX_PARALLEL_IMAGE_REQUESTS){var r={requestParameters:t,callback:e,cancelled:!1,cancel:function(){this.cancelled=!0}};return pt.push(r),r}dt++;var n=!1,a=function(){if(!n)for(n=!0,dt--;pt.length&&dt<F.MAX_PARALLEL_IMAGE_REQUESTS;){var t=pt.shift();t.cancelled||(t.cancel=bt(t.requestParameters,t.callback).cancel)}},i=yt(t,(function(t,r,n,i){a(),t?e(t):r&&(ht()?function(t,e){var r=new self.Blob([new Uint8Array(t)],{type:\"image/png\"});self.createImageBitmap(r).then((function(t){e(null,t)})).catch((function(t){e(new Error(\"Could not load image because of \"+t.message+\". Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"))}))}(r,e):function(t,e,r,n){var a=new self.Image,i=self.URL;a.onload=function(){e(null,a),i.revokeObjectURL(a.src)},a.onerror=function(){return e(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"))};var o=new self.Blob([new Uint8Array(t)],{type:\"image/png\"});a.cacheControl=r,a.expires=n,a.src=t.byteLength?i.createObjectURL(o):\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\"}(r,e,n,i))}));return{cancel:function(){i.cancel(),a()}}};function _t(t,e,r){r[t]&&-1!==r[t].indexOf(e)||(r[t]=r[t]||[],r[t].push(e))}function wt(t,e,r){if(r&&r[t]){var n=r[t].indexOf(e);-1!==n&&r[t].splice(n,1)}}var Tt=function(t,e){void 0===e&&(e={}),u(this,e),this.type=t},kt=function(t){function e(e,r){void 0===r&&(r={}),t.call(this,\"error\",u({error:e},r))}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(Tt),At=function(){};At.prototype.on=function(t,e){return this._listeners=this._listeners||{},_t(t,e,this._listeners),this},At.prototype.off=function(t,e){return wt(t,e,this._listeners),wt(t,e,this._oneTimeListeners),this},At.prototype.once=function(t,e){return this._oneTimeListeners=this._oneTimeListeners||{},_t(t,e,this._oneTimeListeners),this},At.prototype.fire=function(t,e){\"string\"==typeof t&&(t=new Tt(t,e||{}));var r=t.type;if(this.listens(r)){t.target=this;for(var n=0,a=this._listeners&&this._listeners[r]?this._listeners[r].slice():[];n<a.length;n+=1)a[n].call(this,t);for(var i=0,o=this._oneTimeListeners&&this._oneTimeListeners[r]?this._oneTimeListeners[r].slice():[];i<o.length;i+=1){var s=o[i];wt(r,s,this._oneTimeListeners),s.call(this,t)}var l=this._eventedParent;l&&(u(t,\"function\"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),l.fire(t))}else t instanceof kt&&console.error(t.error);return this},At.prototype.listens=function(t){return this._listeners&&this._listeners[t]&&this._listeners[t].length>0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},At.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this};var Mt={$version:8,$root:{version:{required:!0,type:\"enum\",values:[8]},name:{type:\"string\"},metadata:{type:\"*\"},center:{type:\"array\",value:\"number\"},zoom:{type:\"number\"},bearing:{type:\"number\",default:0,period:360,units:\"degrees\"},pitch:{type:\"number\",default:0,units:\"degrees\"},light:{type:\"light\"},sources:{required:!0,type:\"sources\"},sprite:{type:\"string\"},glyphs:{type:\"string\"},transition:{type:\"transition\"},layers:{required:!0,type:\"array\",value:\"layer\"}},sources:{\"*\":{type:\"source\"}},source:[\"source_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\"],source_vector:{type:{required:!0,type:\"enum\",values:{vector:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},attribution:{type:\"string\"},promoteId:{type:\"promoteId\"},\"*\":{type:\"*\"}},source_raster:{type:{required:!0,type:\"enum\",values:{raster:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},attribution:{type:\"string\"},\"*\":{type:\"*\"}},source_raster_dem:{type:{required:!0,type:\"enum\",values:{\"raster-dem\":{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},attribution:{type:\"string\"},encoding:{type:\"enum\",values:{terrarium:{},mapbox:{}},default:\"mapbox\"},\"*\":{type:\"*\"}},source_geojson:{type:{required:!0,type:\"enum\",values:{geojson:{}}},data:{type:\"*\"},maxzoom:{type:\"number\",default:18},attribution:{type:\"string\"},buffer:{type:\"number\",default:128,maximum:512,minimum:0},tolerance:{type:\"number\",default:.375},cluster:{type:\"boolean\",default:!1},clusterRadius:{type:\"number\",default:50,minimum:0},clusterMaxZoom:{type:\"number\"},clusterProperties:{type:\"*\"},lineMetrics:{type:\"boolean\",default:!1},generateId:{type:\"boolean\",default:!1},promoteId:{type:\"promoteId\"}},source_video:{type:{required:!0,type:\"enum\",values:{video:{}}},urls:{required:!0,type:\"array\",value:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},source_image:{type:{required:!0,type:\"enum\",values:{image:{}}},url:{required:!0,type:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},layer:{id:{type:\"string\",required:!0},type:{type:\"enum\",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},\"fill-extrusion\":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:\"*\"},source:{type:\"string\"},\"source-layer\":{type:\"string\"},minzoom:{type:\"number\",minimum:0,maximum:24},maxzoom:{type:\"number\",minimum:0,maximum:24},filter:{type:\"filter\"},layout:{type:\"layout\"},paint:{type:\"paint\"}},layout:[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],layout_background:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_fill:{\"fill-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_circle:{\"circle-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_heatmap:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_line:{\"line-cap\":{type:\"enum\",values:{butt:{},round:{},square:{}},default:\"butt\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-join\":{type:\"enum\",values:{bevel:{},round:{},miter:{}},default:\"miter\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"line-miter-limit\":{type:\"number\",default:2,requires:[{\"line-join\":\"miter\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-round-limit\":{type:\"number\",default:1.05,requires:[{\"line-join\":\"round\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_symbol:{\"symbol-placement\":{type:\"enum\",values:{point:{},line:{},\"line-center\":{}},default:\"point\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-spacing\":{type:\"number\",default:250,minimum:1,units:\"pixels\",requires:[{\"symbol-placement\":\"line\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-avoid-edges\":{type:\"boolean\",default:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"symbol-z-order\":{type:\"enum\",values:{auto:{},\"viewport-y\":{},source:{}},default:\"auto\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-optional\":{type:\"boolean\",default:!1,requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-size\":{type:\"number\",default:1,minimum:0,units:\"factor of the original icon size\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-text-fit\":{type:\"enum\",values:{none:{},width:{},height:{},both:{}},default:\"none\",requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-text-fit-padding\":{type:\"array\",value:\"number\",length:4,default:[0,0,0,0],units:\"pixels\",requires:[\"icon-image\",\"text-field\",{\"icon-text-fit\":[\"both\",\"width\",\"height\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-image\":{type:\"resolvedImage\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-keep-upright\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"icon-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0],requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-field\":{type:\"formatted\",default:\"\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-font\":{type:\"array\",value:\"string\",default:[\"Open Sans Regular\",\"Arial Unicode MS Regular\"],requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-size\":{type:\"number\",default:16,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-width\":{type:\"number\",default:10,minimum:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-line-height\":{type:\"number\",default:1.2,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-letter-spacing\":{type:\"number\",default:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-justify\":{type:\"enum\",values:{auto:{},left:{},center:{},right:{}},default:\"center\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-radial-offset\":{type:\"number\",units:\"ems\",default:0,requires:[\"text-field\"],\"property-type\":\"data-driven\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]}},\"text-variable-anchor\":{type:\"array\",value:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"text-field\",{\"!\":\"text-variable-anchor\"}],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-angle\":{type:\"number\",default:45,units:\"degrees\",requires:[\"text-field\",{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-writing-mode\":{type:\"array\",value:\"enum\",values:{horizontal:{},vertical:{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-keep-upright\":{type:\"boolean\",default:!0,requires:[\"text-field\",{\"text-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-transform\":{type:\"enum\",values:{none:{},uppercase:{},lowercase:{}},default:\"none\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-offset\":{type:\"array\",value:\"number\",units:\"ems\",length:2,default:[0,0],requires:[\"text-field\",{\"!\":\"text-radial-offset\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-optional\":{type:\"boolean\",default:!1,requires:[\"text-field\",\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_raster:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_hillshade:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},filter:{type:\"array\",value:\"*\"},filter_operator:{type:\"enum\",values:{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},in:{},\"!in\":{},all:{},any:{},none:{},has:{},\"!has\":{},within:{}}},geometry_type:{type:\"enum\",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:\"expression\"},stops:{type:\"array\",value:\"function_stop\"},base:{type:\"number\",default:1,minimum:0},property:{type:\"string\",default:\"$zoom\"},type:{type:\"enum\",values:{identity:{},exponential:{},interval:{},categorical:{}},default:\"exponential\"},colorSpace:{type:\"enum\",values:{rgb:{},lab:{},hcl:{}},default:\"rgb\"},default:{type:\"*\",required:!1}},function_stop:{type:\"array\",minimum:0,maximum:24,value:[\"number\",\"color\"],length:2},expression:{type:\"array\",value:\"*\",minimum:1},expression_name:{type:\"enum\",values:{let:{group:\"Variable binding\"},var:{group:\"Variable binding\"},literal:{group:\"Types\"},array:{group:\"Types\"},at:{group:\"Lookup\"},in:{group:\"Lookup\"},\"index-of\":{group:\"Lookup\"},slice:{group:\"Lookup\"},case:{group:\"Decision\"},match:{group:\"Decision\"},coalesce:{group:\"Decision\"},step:{group:\"Ramps, scales, curves\"},interpolate:{group:\"Ramps, scales, curves\"},\"interpolate-hcl\":{group:\"Ramps, scales, curves\"},\"interpolate-lab\":{group:\"Ramps, scales, curves\"},ln2:{group:\"Math\"},pi:{group:\"Math\"},e:{group:\"Math\"},typeof:{group:\"Types\"},string:{group:\"Types\"},number:{group:\"Types\"},boolean:{group:\"Types\"},object:{group:\"Types\"},collator:{group:\"Types\"},format:{group:\"Types\"},image:{group:\"Types\"},\"number-format\":{group:\"Types\"},\"to-string\":{group:\"Types\"},\"to-number\":{group:\"Types\"},\"to-boolean\":{group:\"Types\"},\"to-rgba\":{group:\"Color\"},\"to-color\":{group:\"Types\"},rgb:{group:\"Color\"},rgba:{group:\"Color\"},get:{group:\"Lookup\"},has:{group:\"Lookup\"},length:{group:\"Lookup\"},properties:{group:\"Feature data\"},\"feature-state\":{group:\"Feature data\"},\"geometry-type\":{group:\"Feature data\"},id:{group:\"Feature data\"},zoom:{group:\"Zoom\"},\"heatmap-density\":{group:\"Heatmap\"},\"line-progress\":{group:\"Feature data\"},accumulated:{group:\"Feature data\"},\"+\":{group:\"Math\"},\"*\":{group:\"Math\"},\"-\":{group:\"Math\"},\"/\":{group:\"Math\"},\"%\":{group:\"Math\"},\"^\":{group:\"Math\"},sqrt:{group:\"Math\"},log10:{group:\"Math\"},ln:{group:\"Math\"},log2:{group:\"Math\"},sin:{group:\"Math\"},cos:{group:\"Math\"},tan:{group:\"Math\"},asin:{group:\"Math\"},acos:{group:\"Math\"},atan:{group:\"Math\"},min:{group:\"Math\"},max:{group:\"Math\"},round:{group:\"Math\"},abs:{group:\"Math\"},ceil:{group:\"Math\"},floor:{group:\"Math\"},distance:{group:\"Math\"},\"==\":{group:\"Decision\"},\"!=\":{group:\"Decision\"},\">\":{group:\"Decision\"},\"<\":{group:\"Decision\"},\">=\":{group:\"Decision\"},\"<=\":{group:\"Decision\"},all:{group:\"Decision\"},any:{group:\"Decision\"},\"!\":{group:\"Decision\"},within:{group:\"Decision\"},\"is-supported-script\":{group:\"String\"},upcase:{group:\"String\"},downcase:{group:\"String\"},concat:{group:\"String\"},\"resolved-locale\":{group:\"String\"}}},light:{anchor:{type:\"enum\",default:\"viewport\",values:{map:{},viewport:{}},\"property-type\":\"data-constant\",transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]}},position:{type:\"array\",default:[1.15,210,30],length:3,value:\"number\",\"property-type\":\"data-constant\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]}},color:{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},intensity:{type:\"number\",\"property-type\":\"data-constant\",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0}},paint:[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],paint_fill:{\"fill-antialias\":{type:\"boolean\",default:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-outline-color\":{type:\"color\",transition:!0,requires:[{\"!\":\"fill-pattern\"},{\"fill-antialias\":!0}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-extrusion-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-extrusion-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"fill-extrusion-height\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-base\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,requires:[\"fill-extrusion-height\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-vertical-gradient\":{type:\"boolean\",default:!0,transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_line:{\"line-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"line-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-width\":{type:\"number\",default:1,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-gap-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-offset\":{type:\"number\",default:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-dasharray\":{type:\"array\",value:\"number\",minimum:0,transition:!0,units:\"line widths\",requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"line-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"line-gradient\":{type:\"color\",transition:!1,requires:[{\"!\":\"line-dasharray\"},{\"!\":\"line-pattern\"},{source:\"geojson\",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:[\"line-progress\"]},\"property-type\":\"color-ramp\"}},paint_circle:{\"circle-radius\":{type:\"number\",default:5,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-blur\":{type:\"number\",default:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"circle-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-scale\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-stroke-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"}},paint_heatmap:{\"heatmap-radius\":{type:\"number\",default:30,minimum:1,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-weight\":{type:\"number\",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-intensity\":{type:\"number\",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"heatmap-color\":{type:\"color\",default:[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,\"rgba(0, 0, 255, 0)\",.1,\"royalblue\",.3,\"cyan\",.5,\"lime\",.7,\"yellow\",1,\"red\"],transition:!1,expression:{interpolated:!0,parameters:[\"heatmap-density\"]},\"property-type\":\"color-ramp\"},\"heatmap-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_symbol:{\"icon-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"icon-image\",\"icon-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-color\":{type:\"color\",default:\"#000000\",transition:!0,overridable:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"text-field\",\"text-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_raster:{\"raster-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-hue-rotate\":{type:\"number\",default:0,period:360,transition:!0,units:\"degrees\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-min\":{type:\"number\",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-max\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-saturation\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-contrast\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-resampling\":{type:\"enum\",values:{linear:{},nearest:{}},default:\"linear\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-fade-duration\":{type:\"number\",default:300,minimum:0,transition:!1,units:\"milliseconds\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_hillshade:{\"hillshade-illumination-direction\":{type:\"number\",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-illumination-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-exaggeration\":{type:\"number\",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-shadow-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-highlight-color\":{type:\"color\",default:\"#FFFFFF\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-accent-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_background:{\"background-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"background-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"background-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"background-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},transition:{duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}},\"property-type\":{\"data-driven\":{type:\"property-type\"},\"cross-faded\":{type:\"property-type\"},\"cross-faded-data-driven\":{type:\"property-type\"},\"color-ramp\":{type:\"property-type\"},\"data-constant\":{type:\"property-type\"},constant:{type:\"property-type\"}},promoteId:{\"*\":{type:\"string\"}}},St=function(t,e,r,n){this.message=(t?t+\": \":\"\")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__)};function Et(t){var e=t.value;return e?[new St(t.key,e,\"constants have been deprecated as of v8\")]:[]}function Ct(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,a=e;n<a.length;n+=1){var i=a[n];for(var o in i)t[o]=i[o]}return t}function Lt(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}function Pt(t){if(Array.isArray(t))return t.map(Pt);if(t instanceof Object&&!(t instanceof Number||t instanceof String||t instanceof Boolean)){var e={};for(var r in t)e[r]=Pt(t[r]);return e}return Lt(t)}var It=function(t){function e(e,r){t.call(this,r),this.message=r,this.key=e}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(Error),zt=function(t,e){void 0===e&&(e=[]),this.parent=t,this.bindings={};for(var r=0,n=e;r<n.length;r+=1){var a=n[r];this.bindings[a[0]]=a[1]}};zt.prototype.concat=function(t){return new zt(this,t)},zt.prototype.get=function(t){if(this.bindings[t])return this.bindings[t];if(this.parent)return this.parent.get(t);throw new Error(t+\" not found in scope.\")},zt.prototype.has=function(t){return!!this.bindings[t]||!!this.parent&&this.parent.has(t)};var Ot={kind:\"null\"},Dt={kind:\"number\"},Rt={kind:\"string\"},Ft={kind:\"boolean\"},Bt={kind:\"color\"},Nt={kind:\"object\"},jt={kind:\"value\"},Vt={kind:\"collator\"},Ut={kind:\"formatted\"},qt={kind:\"resolvedImage\"};function Ht(t,e){return{kind:\"array\",itemType:t,N:e}}function Gt(t){if(\"array\"===t.kind){var e=Gt(t.itemType);return\"number\"==typeof t.N?\"array<\"+e+\", \"+t.N+\">\":\"value\"===t.itemType.kind?\"array\":\"array<\"+e+\">\"}return t.kind}var Yt=[Ot,Dt,Rt,Ft,Bt,Ut,Nt,Ht(jt),qt];function Wt(t,e){if(\"error\"===e.kind)return null;if(\"array\"===t.kind){if(\"array\"===e.kind&&(0===e.N&&\"value\"===e.itemType.kind||!Wt(t.itemType,e.itemType))&&(\"number\"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if(\"value\"===t.kind)for(var r=0,n=Yt;r<n.length;r+=1)if(!Wt(n[r],e))return null}return\"Expected \"+Gt(t)+\" but found \"+Gt(e)+\" instead.\"}function Zt(t,e){return e.some((function(e){return e.kind===t.kind}))}function Xt(t,e){return e.some((function(e){return\"null\"===e?null===t:\"array\"===e?Array.isArray(t):\"object\"===e?t&&!Array.isArray(t)&&\"object\"==typeof t:e===typeof t}))}var Jt=e((function(t,e){var r={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function n(t){return(t=Math.round(t))<0?0:t>255?255:t}function a(t){return n(\"%\"===t[t.length-1]?parseFloat(t)/100*255:parseInt(t))}function i(t){return(e=\"%\"===t[t.length-1]?parseFloat(t)/100:parseFloat(t))<0?0:e>1?1:e;var e}function o(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}try{e.parseCSSColor=function(t){var e,s=t.replace(/ /g,\"\").toLowerCase();if(s in r)return r[s].slice();if(\"#\"===s[0])return 4===s.length?(e=parseInt(s.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===s.length&&(e=parseInt(s.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=s.indexOf(\"(\"),c=s.indexOf(\")\");if(-1!==l&&c+1===s.length){var u=s.substr(0,l),h=s.substr(l+1,c-(l+1)).split(\",\"),f=1;switch(u){case\"rgba\":if(4!==h.length)return null;f=i(h.pop());case\"rgb\":return 3!==h.length?null:[a(h[0]),a(h[1]),a(h[2]),f];case\"hsla\":if(4!==h.length)return null;f=i(h.pop());case\"hsl\":if(3!==h.length)return null;var p=(parseFloat(h[0])%360+360)%360/360,d=i(h[1]),g=i(h[2]),m=g<=.5?g*(d+1):g+d-g*d,v=2*g-m;return[n(255*o(v,m,p+1/3)),n(255*o(v,m,p)),n(255*o(v,m,p-1/3)),f];default:return null}}return null}}catch(t){}})).parseCSSColor,Kt=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};Kt.parse=function(t){if(t){if(t instanceof Kt)return t;if(\"string\"==typeof t){var e=Jt(t);if(e)return new Kt(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},Kt.prototype.toString=function(){var t=this.toArray(),e=t[1],r=t[2],n=t[3];return\"rgba(\"+Math.round(t[0])+\",\"+Math.round(e)+\",\"+Math.round(r)+\",\"+n+\")\"},Kt.prototype.toArray=function(){var t=this.a;return 0===t?[0,0,0,0]:[255*this.r/t,255*this.g/t,255*this.b/t,t]},Kt.black=new Kt(0,0,0,1),Kt.white=new Kt(1,1,1,1),Kt.transparent=new Kt(0,0,0,0),Kt.red=new Kt(1,0,0,1);var Qt=function(t,e,r){this.sensitivity=t?e?\"variant\":\"case\":e?\"accent\":\"base\",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"})};Qt.prototype.compare=function(t,e){return this.collator.compare(t,e)},Qt.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var $t=function(t,e,r,n,a){this.text=t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=a},te=function(t){this.sections=t};te.fromString=function(t){return new te([new $t(t,null,null,null,null)])},te.prototype.isEmpty=function(){return 0===this.sections.length||!this.sections.some((function(t){return 0!==t.text.length||t.image&&0!==t.image.name.length}))},te.factory=function(t){return t instanceof te?t:te.fromString(t)},te.prototype.toString=function(){return 0===this.sections.length?\"\":this.sections.map((function(t){return t.text})).join(\"\")},te.prototype.serialize=function(){for(var t=[\"format\"],e=0,r=this.sections;e<r.length;e+=1){var n=r[e];if(n.image)t.push([\"image\",n.image.name]);else{t.push(n.text);var a={};n.fontStack&&(a[\"text-font\"]=[\"literal\",n.fontStack.split(\",\")]),n.scale&&(a[\"font-scale\"]=n.scale),n.textColor&&(a[\"text-color\"]=[\"rgba\"].concat(n.textColor.toArray())),t.push(a)}}return t};var ee=function(t){this.name=t.name,this.available=t.available};function re(t,e,r,n){return\"number\"==typeof t&&t>=0&&t<=255&&\"number\"==typeof e&&e>=0&&e<=255&&\"number\"==typeof r&&r>=0&&r<=255?void 0===n||\"number\"==typeof n&&n>=0&&n<=1?null:\"Invalid rgba value [\"+[t,e,r,n].join(\", \")+\"]: 'a' must be between 0 and 1.\":\"Invalid rgba value [\"+(\"number\"==typeof n?[t,e,r,n]:[t,e,r]).join(\", \")+\"]: 'r', 'g', and 'b' must be between 0 and 255.\"}function ne(t){if(null===t)return!0;if(\"string\"==typeof t)return!0;if(\"boolean\"==typeof t)return!0;if(\"number\"==typeof t)return!0;if(t instanceof Kt)return!0;if(t instanceof Qt)return!0;if(t instanceof te)return!0;if(t instanceof ee)return!0;if(Array.isArray(t)){for(var e=0,r=t;e<r.length;e+=1)if(!ne(r[e]))return!1;return!0}if(\"object\"==typeof t){for(var n in t)if(!ne(t[n]))return!1;return!0}return!1}function ae(t){if(null===t)return Ot;if(\"string\"==typeof t)return Rt;if(\"boolean\"==typeof t)return Ft;if(\"number\"==typeof t)return Dt;if(t instanceof Kt)return Bt;if(t instanceof Qt)return Vt;if(t instanceof te)return Ut;if(t instanceof ee)return qt;if(Array.isArray(t)){for(var e,r=t.length,n=0,a=t;n<a.length;n+=1){var i=ae(a[n]);if(e){if(e===i)continue;e=jt;break}e=i}return Ht(e||jt,r)}return Nt}function ie(t){var e=typeof t;return null===t?\"\":\"string\"===e||\"number\"===e||\"boolean\"===e?String(t):t instanceof Kt||t instanceof te||t instanceof ee?t.toString():JSON.stringify(t)}ee.prototype.toString=function(){return this.name},ee.fromString=function(t){return t?new ee({name:t,available:!1}):null},ee.prototype.serialize=function(){return[\"image\",this.name]};var oe=function(t,e){this.type=t,this.value=e};oe.parse=function(t,e){if(2!==t.length)return e.error(\"'literal' expression requires exactly one argument, but found \"+(t.length-1)+\" instead.\");if(!ne(t[1]))return e.error(\"invalid value\");var r=t[1],n=ae(r),a=e.expectedType;return\"array\"!==n.kind||0!==n.N||!a||\"array\"!==a.kind||\"number\"==typeof a.N&&0!==a.N||(n=a),new oe(n,r)},oe.prototype.evaluate=function(){return this.value},oe.prototype.eachChild=function(){},oe.prototype.outputDefined=function(){return!0},oe.prototype.serialize=function(){return\"array\"===this.type.kind||\"object\"===this.type.kind?[\"literal\",this.value]:this.value instanceof Kt?[\"rgba\"].concat(this.value.toArray()):this.value instanceof te?this.value.serialize():this.value};var se=function(t){this.name=\"ExpressionEvaluationError\",this.message=t};se.prototype.toJSON=function(){return this.message};var le={string:Rt,number:Dt,boolean:Ft,object:Nt},ce=function(t,e){this.type=t,this.args=e};ce.parse=function(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");var r,n=1,a=t[0];if(\"array\"===a){var i,o;if(t.length>2){var s=t[1];if(\"string\"!=typeof s||!(s in le)||\"object\"===s)return e.error('The item type argument of \"array\" must be one of string, number, boolean',1);i=le[s],n++}else i=jt;if(t.length>3){if(null!==t[2]&&(\"number\"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to \"array\" must be a positive integer literal',2);o=t[2],n++}r=Ht(i,o)}else r=le[a];for(var l=[];n<t.length;n++){var c=e.parse(t[n],n,jt);if(!c)return null;l.push(c)}return new ce(r,l)},ce.prototype.evaluate=function(t){for(var e=0;e<this.args.length;e++){var r=this.args[e].evaluate(t);if(!Wt(this.type,ae(r)))return r;if(e===this.args.length-1)throw new se(\"Expected value to be of type \"+Gt(this.type)+\", but found \"+Gt(ae(r))+\" instead.\")}return null},ce.prototype.eachChild=function(t){this.args.forEach(t)},ce.prototype.outputDefined=function(){return this.args.every((function(t){return t.outputDefined()}))},ce.prototype.serialize=function(){var t=this.type,e=[t.kind];if(\"array\"===t.kind){var r=t.itemType;if(\"string\"===r.kind||\"number\"===r.kind||\"boolean\"===r.kind){e.push(r.kind);var n=t.N;(\"number\"==typeof n||this.args.length>1)&&e.push(n)}}return e.concat(this.args.map((function(t){return t.serialize()})))};var ue=function(t){this.type=Ut,this.sections=t};ue.parse=function(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");var r=t[1];if(!Array.isArray(r)&&\"object\"==typeof r)return e.error(\"First argument must be an image or text section.\");for(var n=[],a=!1,i=1;i<=t.length-1;++i){var o=t[i];if(a&&\"object\"==typeof o&&!Array.isArray(o)){a=!1;var s=null;if(o[\"font-scale\"]&&!(s=e.parse(o[\"font-scale\"],1,Dt)))return null;var l=null;if(o[\"text-font\"]&&!(l=e.parse(o[\"text-font\"],1,Ht(Rt))))return null;var c=null;if(o[\"text-color\"]&&!(c=e.parse(o[\"text-color\"],1,Bt)))return null;var u=n[n.length-1];u.scale=s,u.font=l,u.textColor=c}else{var h=e.parse(t[i],1,jt);if(!h)return null;var f=h.type.kind;if(\"string\"!==f&&\"value\"!==f&&\"null\"!==f&&\"resolvedImage\"!==f)return e.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");a=!0,n.push({content:h,scale:null,font:null,textColor:null})}}return new ue(n)},ue.prototype.evaluate=function(t){return new te(this.sections.map((function(e){var r=e.content.evaluate(t);return ae(r)===qt?new $t(\"\",r,null,null,null):new $t(ie(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(\",\"):null,e.textColor?e.textColor.evaluate(t):null)})))},ue.prototype.eachChild=function(t){for(var e=0,r=this.sections;e<r.length;e+=1){var n=r[e];t(n.content),n.scale&&t(n.scale),n.font&&t(n.font),n.textColor&&t(n.textColor)}},ue.prototype.outputDefined=function(){return!1},ue.prototype.serialize=function(){for(var t=[\"format\"],e=0,r=this.sections;e<r.length;e+=1){var n=r[e];t.push(n.content.serialize());var a={};n.scale&&(a[\"font-scale\"]=n.scale.serialize()),n.font&&(a[\"text-font\"]=n.font.serialize()),n.textColor&&(a[\"text-color\"]=n.textColor.serialize()),t.push(a)}return t};var he=function(t){this.type=qt,this.input=t};he.parse=function(t,e){if(2!==t.length)return e.error(\"Expected two arguments.\");var r=e.parse(t[1],1,Rt);return r?new he(r):e.error(\"No image name provided.\")},he.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=ee.fromString(e);return r&&t.availableImages&&(r.available=t.availableImages.indexOf(e)>-1),r},he.prototype.eachChild=function(t){t(this.input)},he.prototype.outputDefined=function(){return!1},he.prototype.serialize=function(){return[\"image\",this.input.serialize()]};var fe={\"to-boolean\":Ft,\"to-color\":Bt,\"to-number\":Dt,\"to-string\":Rt},pe=function(t,e){this.type=t,this.args=e};pe.parse=function(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");var r=t[0];if((\"to-boolean\"===r||\"to-string\"===r)&&2!==t.length)return e.error(\"Expected one argument.\");for(var n=fe[r],a=[],i=1;i<t.length;i++){var o=e.parse(t[i],i,jt);if(!o)return null;a.push(o)}return new pe(n,a)},pe.prototype.evaluate=function(t){if(\"boolean\"===this.type.kind)return Boolean(this.args[0].evaluate(t));if(\"color\"===this.type.kind){for(var e,r,n=0,a=this.args;n<a.length;n+=1){if(r=null,(e=a[n].evaluate(t))instanceof Kt)return e;if(\"string\"==typeof e){var i=t.parseColor(e);if(i)return i}else if(Array.isArray(e)&&!(r=e.length<3||e.length>4?\"Invalid rbga value \"+JSON.stringify(e)+\": expected an array containing either three or four numeric values.\":re(e[0],e[1],e[2],e[3])))return new Kt(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new se(r||\"Could not parse color from value '\"+(\"string\"==typeof e?e:String(JSON.stringify(e)))+\"'\")}if(\"number\"===this.type.kind){for(var o=null,s=0,l=this.args;s<l.length;s+=1){if(null===(o=l[s].evaluate(t)))return 0;var c=Number(o);if(!isNaN(c))return c}throw new se(\"Could not convert \"+JSON.stringify(o)+\" to number.\")}return\"formatted\"===this.type.kind?te.fromString(ie(this.args[0].evaluate(t))):\"resolvedImage\"===this.type.kind?ee.fromString(ie(this.args[0].evaluate(t))):ie(this.args[0].evaluate(t))},pe.prototype.eachChild=function(t){this.args.forEach(t)},pe.prototype.outputDefined=function(){return this.args.every((function(t){return t.outputDefined()}))},pe.prototype.serialize=function(){if(\"formatted\"===this.type.kind)return new ue([{content:this.args[0],scale:null,font:null,textColor:null}]).serialize();if(\"resolvedImage\"===this.type.kind)return new he(this.args[0]).serialize();var t=[\"to-\"+this.type.kind];return this.eachChild((function(e){t.push(e.serialize())})),t};var de=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],ge=function(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null};ge.prototype.id=function(){return this.feature&&\"id\"in this.feature?this.feature.id:null},ge.prototype.geometryType=function(){return this.feature?\"number\"==typeof this.feature.type?de[this.feature.type]:this.feature.type:null},ge.prototype.geometry=function(){return this.feature&&\"geometry\"in this.feature?this.feature.geometry:null},ge.prototype.canonicalID=function(){return this.canonical},ge.prototype.properties=function(){return this.feature&&this.feature.properties||{}},ge.prototype.parseColor=function(t){var e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=Kt.parse(t)),e};var me=function(t,e,r,n){this.name=t,this.type=e,this._evaluate=r,this.args=n};me.prototype.evaluate=function(t){return this._evaluate(t,this.args)},me.prototype.eachChild=function(t){this.args.forEach(t)},me.prototype.outputDefined=function(){return!1},me.prototype.serialize=function(){return[this.name].concat(this.args.map((function(t){return t.serialize()})))},me.parse=function(t,e){var r,n=t[0],a=me.definitions[n];if(!a)return e.error('Unknown expression \"'+n+'\". If you wanted a literal array, use [\"literal\", [...]].',0);for(var i=Array.isArray(a)?a[0]:a.type,o=Array.isArray(a)?[[a[1],a[2]]]:a.overloads,s=o.filter((function(e){var r=e[0];return!Array.isArray(r)||r.length===t.length-1})),l=null,c=0,u=s;c<u.length;c+=1){var h=u[c],f=h[0],p=h[1];l=new Be(e.registry,e.path,null,e.scope);for(var d=[],g=!1,m=1;m<t.length;m++){var v=t[m],y=Array.isArray(f)?f[m-1]:f.type,x=l.parse(v,1+d.length,y);if(!x){g=!0;break}d.push(x)}if(!g)if(Array.isArray(f)&&f.length!==d.length)l.error(\"Expected \"+f.length+\" arguments, but found \"+d.length+\" instead.\");else{for(var b=0;b<d.length;b++){var _=Array.isArray(f)?f[b]:f.type,w=d[b];l.concat(b+1).checkSubtype(_,w.type)}if(0===l.errors.length)return new me(n,i,p,d)}}if(1===s.length)(r=e.errors).push.apply(r,l.errors);else{for(var T=(s.length?s:o).map((function(t){var e;return e=t[0],Array.isArray(e)?\"(\"+e.map(Gt).join(\", \")+\")\":\"(\"+Gt(e.type)+\"...)\"})).join(\" | \"),k=[],A=1;A<t.length;A++){var M=e.parse(t[A],1+k.length);if(!M)return null;k.push(Gt(M.type))}e.error(\"Expected arguments of type \"+T+\", but found (\"+k.join(\", \")+\") instead.\")}return null},me.register=function(t,e){for(var r in me.definitions=e,e)t[r]=me};var ve=function(t,e,r){this.type=Vt,this.locale=r,this.caseSensitive=t,this.diacriticSensitive=e};function ye(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[2]=Math.max(t[2],e[0]),t[3]=Math.max(t[3],e[1])}function xe(t,e){return!(t[0]<=e[0]||t[2]>=e[2]||t[1]<=e[1]||t[3]>=e[3])}function be(t,e){var r=(180+t[0])/360,n=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t[1]*Math.PI/360)))/360,a=Math.pow(2,e.z);return[Math.round(r*a*8192),Math.round(n*a*8192)]}function _e(t,e,r){return e[1]>t[1]!=r[1]>t[1]&&t[0]<(r[0]-e[0])*(t[1]-e[1])/(r[1]-e[1])+e[0]}function we(t,e){for(var r,n,a,i,o,s,l,c=!1,u=0,h=e.length;u<h;u++)for(var f=e[u],p=0,d=f.length;p<d-1;p++){if((i=(r=t)[0]-(n=f[p])[0])*(l=r[1]-(a=f[p+1])[1])-(s=r[0]-a[0])*(o=r[1]-n[1])==0&&i*s<=0&&o*l<=0)return!1;_e(t,f[p],f[p+1])&&(c=!c)}return c}function Te(t,e){for(var r=0;r<e.length;r++)if(we(t,e[r]))return!0;return!1}function ke(t,e,r,n){var a=n[0]-r[0],i=n[1]-r[1],o=(t[0]-r[0])*i-a*(t[1]-r[1]),s=(e[0]-r[0])*i-a*(e[1]-r[1]);return o>0&&s<0||o<0&&s>0}function Ae(t,e,r){for(var n=0,a=r;n<a.length;n+=1)for(var i=a[n],o=0;o<i.length-1;++o)if(0!=(h=[(u=i[o+1])[0]-(c=i[o])[0],u[1]-c[1]])[0]*(f=[(l=e)[0]-(s=t)[0],l[1]-s[1]])[1]-h[1]*f[0]&&ke(s,l,c,u)&&ke(c,u,s,l))return!0;var s,l,c,u,h,f;return!1}function Me(t,e){for(var r=0;r<t.length;++r)if(!we(t[r],e))return!1;for(var n=0;n<t.length-1;++n)if(Ae(t[n],t[n+1],e))return!1;return!0}function Se(t,e){for(var r=0;r<e.length;r++)if(Me(t,e[r]))return!0;return!1}function Ee(t,e,r){for(var n=[],a=0;a<t.length;a++){for(var i=[],o=0;o<t[a].length;o++){var s=be(t[a][o],r);ye(e,s),i.push(s)}n.push(i)}return n}function Ce(t,e,r){for(var n=[],a=0;a<t.length;a++){var i=Ee(t[a],e,r);n.push(i)}return n}function Le(t,e,r,n){if(t[0]<r[0]||t[0]>r[2]){var a=.5*n,i=t[0]-r[0]>a?-n:r[0]-t[0]>a?n:0;0===i&&(i=t[0]-r[2]>a?-n:r[2]-t[0]>a?n:0),t[0]+=i}ye(e,t)}function Pe(t,e,r,n){for(var a=8192*Math.pow(2,n.z),i=[8192*n.x,8192*n.y],o=[],s=0,l=t;s<l.length;s+=1)for(var c=0,u=l[s];c<u.length;c+=1){var h=u[c],f=[h.x+i[0],h.y+i[1]];Le(f,e,r,a),o.push(f)}return o}function Ie(t,e,r,n){for(var a,i=8192*Math.pow(2,n.z),o=[8192*n.x,8192*n.y],s=[],l=0,c=t;l<c.length;l+=1){for(var u=[],h=0,f=c[l];h<f.length;h+=1){var p=f[h],d=[p.x+o[0],p.y+o[1]];ye(e,d),u.push(d)}s.push(u)}if(e[2]-e[0]<=i/2){(a=e)[0]=a[1]=1/0,a[2]=a[3]=-1/0;for(var g=0,m=s;g<m.length;g+=1)for(var v=0,y=m[g];v<y.length;v+=1)Le(y[v],e,r,i)}return s}ve.parse=function(t,e){if(2!==t.length)return e.error(\"Expected one argument.\");var r=t[1];if(\"object\"!=typeof r||Array.isArray(r))return e.error(\"Collator options argument must be an object.\");var n=e.parse(void 0!==r[\"case-sensitive\"]&&r[\"case-sensitive\"],1,Ft);if(!n)return null;var a=e.parse(void 0!==r[\"diacritic-sensitive\"]&&r[\"diacritic-sensitive\"],1,Ft);if(!a)return null;var i=null;return r.locale&&!(i=e.parse(r.locale,1,Rt))?null:new ve(n,a,i)},ve.prototype.evaluate=function(t){return new Qt(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)},ve.prototype.eachChild=function(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale)},ve.prototype.outputDefined=function(){return!1},ve.prototype.serialize=function(){var t={};return t[\"case-sensitive\"]=this.caseSensitive.serialize(),t[\"diacritic-sensitive\"]=this.diacriticSensitive.serialize(),this.locale&&(t.locale=this.locale.serialize()),[\"collator\",t]};var ze=function(t,e){this.type=Ft,this.geojson=t,this.geometries=e};function Oe(t){if(t instanceof me){if(\"get\"===t.name&&1===t.args.length)return!1;if(\"feature-state\"===t.name)return!1;if(\"has\"===t.name&&1===t.args.length)return!1;if(\"properties\"===t.name||\"geometry-type\"===t.name||\"id\"===t.name)return!1;if(/^filter-/.test(t.name))return!1}if(t instanceof ze)return!1;var e=!0;return t.eachChild((function(t){e&&!Oe(t)&&(e=!1)})),e}function De(t){if(t instanceof me&&\"feature-state\"===t.name)return!1;var e=!0;return t.eachChild((function(t){e&&!De(t)&&(e=!1)})),e}function Re(t,e){if(t instanceof me&&e.indexOf(t.name)>=0)return!1;var r=!0;return t.eachChild((function(t){r&&!Re(t,e)&&(r=!1)})),r}ze.parse=function(t,e){if(2!==t.length)return e.error(\"'within' expression requires exactly one argument, but found \"+(t.length-1)+\" instead.\");if(ne(t[1])){var r=t[1];if(\"FeatureCollection\"===r.type)for(var n=0;n<r.features.length;++n){var a=r.features[n].geometry.type;if(\"Polygon\"===a||\"MultiPolygon\"===a)return new ze(r,r.features[n].geometry)}else if(\"Feature\"===r.type){var i=r.geometry.type;if(\"Polygon\"===i||\"MultiPolygon\"===i)return new ze(r,r.geometry)}else if(\"Polygon\"===r.type||\"MultiPolygon\"===r.type)return new ze(r,r)}return e.error(\"'within' expression requires valid geojson object that contains polygon geometry type.\")},ze.prototype.evaluate=function(t){if(null!=t.geometry()&&null!=t.canonicalID()){if(\"Point\"===t.geometryType())return function(t,e){var r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],a=t.canonicalID();if(\"Polygon\"===e.type){var i=Ee(e.coordinates,n,a),o=Pe(t.geometry(),r,n,a);if(!xe(r,n))return!1;for(var s=0,l=o;s<l.length;s+=1)if(!we(l[s],i))return!1}if(\"MultiPolygon\"===e.type){var c=Ce(e.coordinates,n,a),u=Pe(t.geometry(),r,n,a);if(!xe(r,n))return!1;for(var h=0,f=u;h<f.length;h+=1)if(!Te(f[h],c))return!1}return!0}(t,this.geometries);if(\"LineString\"===t.geometryType())return function(t,e){var r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],a=t.canonicalID();if(\"Polygon\"===e.type){var i=Ee(e.coordinates,n,a),o=Ie(t.geometry(),r,n,a);if(!xe(r,n))return!1;for(var s=0,l=o;s<l.length;s+=1)if(!Me(l[s],i))return!1}if(\"MultiPolygon\"===e.type){var c=Ce(e.coordinates,n,a),u=Ie(t.geometry(),r,n,a);if(!xe(r,n))return!1;for(var h=0,f=u;h<f.length;h+=1)if(!Se(f[h],c))return!1}return!0}(t,this.geometries)}return!1},ze.prototype.eachChild=function(){},ze.prototype.outputDefined=function(){return!0},ze.prototype.serialize=function(){return[\"within\",this.geojson]};var Fe=function(t,e){this.type=e.type,this.name=t,this.boundExpression=e};Fe.parse=function(t,e){if(2!==t.length||\"string\"!=typeof t[1])return e.error(\"'var' expression requires exactly one string literal argument.\");var r=t[1];return e.scope.has(r)?new Fe(r,e.scope.get(r)):e.error('Unknown variable \"'+r+'\". Make sure \"'+r+'\" has been bound in an enclosing \"let\" expression before using it.',1)},Fe.prototype.evaluate=function(t){return this.boundExpression.evaluate(t)},Fe.prototype.eachChild=function(){},Fe.prototype.outputDefined=function(){return!1},Fe.prototype.serialize=function(){return[\"var\",this.name]};var Be=function(t,e,r,n,a){void 0===e&&(e=[]),void 0===n&&(n=new zt),void 0===a&&(a=[]),this.registry=t,this.path=e,this.key=e.map((function(t){return\"[\"+t+\"]\"})).join(\"\"),this.scope=n,this.errors=a,this.expectedType=r};function Ne(t,e){for(var r,n=t.length-1,a=0,i=n,o=0;a<=i;)if((r=t[o=Math.floor((a+i)/2)])<=e){if(o===n||e<t[o+1])return o;a=o+1}else{if(!(r>e))throw new se(\"Input is not a number.\");i=o-1}return 0}Be.prototype.parse=function(t,e,r,n,a){return void 0===a&&(a={}),e?this.concat(e,r,n)._parse(t,a):this._parse(t,a)},Be.prototype._parse=function(t,e){function r(t,e,r){return\"assert\"===r?new ce(e,[t]):\"coerce\"===r?new pe(e,[t]):t}if(null!==t&&\"string\"!=typeof t&&\"boolean\"!=typeof t&&\"number\"!=typeof t||(t=[\"literal\",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');var n=t[0];if(\"string\"!=typeof n)return this.error(\"Expression name must be a string, but found \"+typeof n+' instead. If you wanted a literal array, use [\"literal\", [...]].',0),null;var a=this.registry[n];if(a){var i=a.parse(t,this);if(!i)return null;if(this.expectedType){var o=this.expectedType,s=i.type;if(\"string\"!==o.kind&&\"number\"!==o.kind&&\"boolean\"!==o.kind&&\"object\"!==o.kind&&\"array\"!==o.kind||\"value\"!==s.kind)if(\"color\"!==o.kind&&\"formatted\"!==o.kind&&\"resolvedImage\"!==o.kind||\"value\"!==s.kind&&\"string\"!==s.kind){if(this.checkSubtype(o,s))return null}else i=r(i,o,e.typeAnnotation||\"coerce\");else i=r(i,o,e.typeAnnotation||\"assert\")}if(!(i instanceof oe)&&\"resolvedImage\"!==i.type.kind&&function t(e){if(e instanceof Fe)return t(e.boundExpression);if(e instanceof me&&\"error\"===e.name)return!1;if(e instanceof ve)return!1;if(e instanceof ze)return!1;var r=e instanceof pe||e instanceof ce,n=!0;return e.eachChild((function(e){n=r?n&&t(e):n&&e instanceof oe})),!!n&&Oe(e)&&Re(e,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"])}(i)){var l=new ge;try{i=new oe(i.type,i.evaluate(l))}catch(t){return this.error(t.message),null}}return i}return this.error('Unknown expression \"'+n+'\". If you wanted a literal array, use [\"literal\", [...]].',0)}return this.error(void 0===t?\"'undefined' value invalid. Use null instead.\":\"object\"==typeof t?'Bare objects invalid. Use [\"literal\", {...}] instead.':\"Expected an array, but found \"+typeof t+\" instead.\")},Be.prototype.concat=function(t,e,r){var n=\"number\"==typeof t?this.path.concat(t):this.path,a=r?this.scope.concat(r):this.scope;return new Be(this.registry,n,e||null,a,this.errors)},Be.prototype.error=function(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];var n=\"\"+this.key+e.map((function(t){return\"[\"+t+\"]\"})).join(\"\");this.errors.push(new It(n,t))},Be.prototype.checkSubtype=function(t,e){var r=Wt(t,e);return r&&this.error(r),r};var je=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,a=r;n<a.length;n+=1){var i=a[n],o=i[1];this.labels.push(i[0]),this.outputs.push(o)}};function Ve(t,e,r){return t*(1-r)+e*r}je.parse=function(t,e){if(t.length-1<4)return e.error(\"Expected at least 4 arguments, but found only \"+(t.length-1)+\".\");if((t.length-1)%2!=0)return e.error(\"Expected an even number of arguments.\");var r=e.parse(t[1],1,Dt);if(!r)return null;var n=[],a=null;e.expectedType&&\"value\"!==e.expectedType.kind&&(a=e.expectedType);for(var i=1;i<t.length;i+=2){var o=1===i?-1/0:t[i],s=t[i+1],l=i,c=i+1;if(\"number\"!=typeof o)return e.error('Input/output pairs for \"step\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',l);if(n.length&&n[n.length-1][0]>=o)return e.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',l);var u=e.parse(s,c,a);if(!u)return null;a=a||u.type,n.push([o,u])}return new je(a,r,n)},je.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var a=e.length;return n>=e[a-1]?r[a-1].evaluate(t):r[Ne(e,n)].evaluate(t)},je.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e])},je.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))},je.prototype.serialize=function(){for(var t=[\"step\",this.input.serialize()],e=0;e<this.labels.length;e++)e>0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t};var Ue=Object.freeze({__proto__:null,number:Ve,color:function(t,e,r){return new Kt(Ve(t.r,e.r,r),Ve(t.g,e.g,r),Ve(t.b,e.b,r),Ve(t.a,e.a,r))},array:function(t,e,r){return t.map((function(t,n){return Ve(t,e[n],r)}))}}),qe=6/29*3*(6/29),He=Math.PI/180,Ge=180/Math.PI;function Ye(t){return t>.008856451679035631?Math.pow(t,1/3):t/qe+4/29}function We(t){return t>6/29?t*t*t:qe*(t-4/29)}function Ze(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Xe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Je(t){var e=Xe(t.r),r=Xe(t.g),n=Xe(t.b),a=Ye((.4124564*e+.3575761*r+.1804375*n)/.95047),i=Ye((.2126729*e+.7151522*r+.072175*n)/1);return{l:116*i-16,a:500*(a-i),b:200*(i-Ye((.0193339*e+.119192*r+.9503041*n)/1.08883)),alpha:t.a}}function Ke(t){var e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=1*We(e),r=.95047*We(r),n=1.08883*We(n),new Kt(Ze(3.2404542*r-1.5371385*e-.4985314*n),Ze(-.969266*r+1.8760108*e+.041556*n),Ze(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}function Qe(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}var $e={forward:Je,reverse:Ke,interpolate:function(t,e,r){return{l:Ve(t.l,e.l,r),a:Ve(t.a,e.a,r),b:Ve(t.b,e.b,r),alpha:Ve(t.alpha,e.alpha,r)}}},tr={forward:function(t){var e=Je(t),r=e.l,n=e.a,a=e.b,i=Math.atan2(a,n)*Ge;return{h:i<0?i+360:i,c:Math.sqrt(n*n+a*a),l:r,alpha:t.a}},reverse:function(t){var e=t.h*He,r=t.c;return Ke({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:Qe(t.h,e.h,r),c:Ve(t.c,e.c,r),l:Ve(t.l,e.l,r),alpha:Ve(t.alpha,e.alpha,r)}}},er=Object.freeze({__proto__:null,lab:$e,hcl:tr}),rr=function(t,e,r,n,a){this.type=t,this.operator=e,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(var i=0,o=a;i<o.length;i+=1){var s=o[i],l=s[1];this.labels.push(s[0]),this.outputs.push(l)}};function nr(t,e,r,n){var a=n-r,i=t-r;return 0===a?0:1===e?i/a:(Math.pow(e,i)-1)/(Math.pow(e,a)-1)}rr.interpolationFactor=function(t,e,n,a){var i=0;if(\"exponential\"===t.name)i=nr(e,t.base,n,a);else if(\"linear\"===t.name)i=nr(e,1,n,a);else if(\"cubic-bezier\"===t.name){var o=t.controlPoints;i=new r(o[0],o[1],o[2],o[3]).solve(nr(e,1,n,a))}return i},rr.parse=function(t,e){var r=t[0],n=t[1],a=t[2],i=t.slice(3);if(!Array.isArray(n)||0===n.length)return e.error(\"Expected an interpolation type expression.\",1);if(\"linear\"===n[0])n={name:\"linear\"};else if(\"exponential\"===n[0]){var o=n[1];if(\"number\"!=typeof o)return e.error(\"Exponential interpolation requires a numeric base.\",1,1);n={name:\"exponential\",base:o}}else{if(\"cubic-bezier\"!==n[0])return e.error(\"Unknown interpolation type \"+String(n[0]),1,0);var s=n.slice(1);if(4!==s.length||s.some((function(t){return\"number\"!=typeof t||t<0||t>1})))return e.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);n={name:\"cubic-bezier\",controlPoints:s}}if(t.length-1<4)return e.error(\"Expected at least 4 arguments, but found only \"+(t.length-1)+\".\");if((t.length-1)%2!=0)return e.error(\"Expected an even number of arguments.\");if(!(a=e.parse(a,2,Dt)))return null;var l=[],c=null;\"interpolate-hcl\"===r||\"interpolate-lab\"===r?c=Bt:e.expectedType&&\"value\"!==e.expectedType.kind&&(c=e.expectedType);for(var u=0;u<i.length;u+=2){var h=i[u],f=i[u+1],p=u+3,d=u+4;if(\"number\"!=typeof h)return e.error('Input/output pairs for \"interpolate\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',p);if(l.length&&l[l.length-1][0]>=h)return e.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',p);var g=e.parse(f,d,c);if(!g)return null;c=c||g.type,l.push([h,g])}return\"number\"===c.kind||\"color\"===c.kind||\"array\"===c.kind&&\"number\"===c.itemType.kind&&\"number\"==typeof c.N?new rr(c,r,n,a,l):e.error(\"Type \"+Gt(c)+\" is not interpolatable.\")},rr.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var a=e.length;if(n>=e[a-1])return r[a-1].evaluate(t);var i=Ne(e,n),o=rr.interpolationFactor(this.interpolation,n,e[i],e[i+1]),s=r[i].evaluate(t),l=r[i+1].evaluate(t);return\"interpolate\"===this.operator?Ue[this.type.kind.toLowerCase()](s,l,o):\"interpolate-hcl\"===this.operator?tr.reverse(tr.interpolate(tr.forward(s),tr.forward(l),o)):$e.reverse($e.interpolate($e.forward(s),$e.forward(l),o))},rr.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e])},rr.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))},rr.prototype.serialize=function(){var t;t=\"linear\"===this.interpolation.name?[\"linear\"]:\"exponential\"===this.interpolation.name?1===this.interpolation.base?[\"linear\"]:[\"exponential\",this.interpolation.base]:[\"cubic-bezier\"].concat(this.interpolation.controlPoints);for(var e=[this.operator,t,this.input.serialize()],r=0;r<this.labels.length;r++)e.push(this.labels[r],this.outputs[r].serialize());return e};var ar=function(t,e){this.type=t,this.args=e};ar.parse=function(t,e){if(t.length<2)return e.error(\"Expectected at least one argument.\");var r=null,n=e.expectedType;n&&\"value\"!==n.kind&&(r=n);for(var a=[],i=0,o=t.slice(1);i<o.length;i+=1){var s=e.parse(o[i],1+a.length,r,void 0,{typeAnnotation:\"omit\"});if(!s)return null;r=r||s.type,a.push(s)}var l=n&&a.some((function(t){return Wt(n,t.type)}));return new ar(l?jt:r,a)},ar.prototype.evaluate=function(t){for(var e,r=null,n=0,a=0,i=this.args;a<i.length&&(n++,(r=i[a].evaluate(t))&&r instanceof ee&&!r.available&&(e||(e=r.name),r=null,n===this.args.length&&(r=e)),null===r);a+=1);return r},ar.prototype.eachChild=function(t){this.args.forEach(t)},ar.prototype.outputDefined=function(){return this.args.every((function(t){return t.outputDefined()}))},ar.prototype.serialize=function(){var t=[\"coalesce\"];return this.eachChild((function(e){t.push(e.serialize())})),t};var ir=function(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e};ir.prototype.evaluate=function(t){return this.result.evaluate(t)},ir.prototype.eachChild=function(t){for(var e=0,r=this.bindings;e<r.length;e+=1)t(r[e][1]);t(this.result)},ir.parse=function(t,e){if(t.length<4)return e.error(\"Expected at least 3 arguments, but found \"+(t.length-1)+\" instead.\");for(var r=[],n=1;n<t.length-1;n+=2){var a=t[n];if(\"string\"!=typeof a)return e.error(\"Expected string, but found \"+typeof a+\" instead.\",n);if(/[^a-zA-Z0-9_]/.test(a))return e.error(\"Variable names must contain only alphanumeric characters or '_'.\",n);var i=e.parse(t[n+1],n+1);if(!i)return null;r.push([a,i])}var o=e.parse(t[t.length-1],t.length-1,e.expectedType,r);return o?new ir(r,o):null},ir.prototype.outputDefined=function(){return this.result.outputDefined()},ir.prototype.serialize=function(){for(var t=[\"let\"],e=0,r=this.bindings;e<r.length;e+=1){var n=r[e];t.push(n[0],n[1].serialize())}return t.push(this.result.serialize()),t};var or=function(t,e,r){this.type=t,this.index=e,this.input=r};or.parse=function(t,e){if(3!==t.length)return e.error(\"Expected 2 arguments, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1,Dt),n=e.parse(t[2],2,Ht(e.expectedType||jt));return r&&n?new or(n.type.itemType,r,n):null},or.prototype.evaluate=function(t){var e=this.index.evaluate(t),r=this.input.evaluate(t);if(e<0)throw new se(\"Array index out of bounds: \"+e+\" < 0.\");if(e>=r.length)throw new se(\"Array index out of bounds: \"+e+\" > \"+(r.length-1)+\".\");if(e!==Math.floor(e))throw new se(\"Array index must be an integer, but found \"+e+\" instead.\");return r[e]},or.prototype.eachChild=function(t){t(this.index),t(this.input)},or.prototype.outputDefined=function(){return!1},or.prototype.serialize=function(){return[\"at\",this.index.serialize(),this.input.serialize()]};var sr=function(t,e){this.type=Ft,this.needle=t,this.haystack=e};sr.parse=function(t,e){if(3!==t.length)return e.error(\"Expected 2 arguments, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1,jt),n=e.parse(t[2],2,jt);return r&&n?Zt(r.type,[Ft,Rt,Dt,Ot,jt])?new sr(r,n):e.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+Gt(r.type)+\" instead\"):null},sr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r)return!1;if(!Xt(e,[\"boolean\",\"string\",\"number\",\"null\"]))throw new se(\"Expected first argument to be of type boolean, string, number or null, but found \"+Gt(ae(e))+\" instead.\");if(!Xt(r,[\"string\",\"array\"]))throw new se(\"Expected second argument to be of type array or string, but found \"+Gt(ae(r))+\" instead.\");return r.indexOf(e)>=0},sr.prototype.eachChild=function(t){t(this.needle),t(this.haystack)},sr.prototype.outputDefined=function(){return!0},sr.prototype.serialize=function(){return[\"in\",this.needle.serialize(),this.haystack.serialize()]};var lr=function(t,e,r){this.type=Dt,this.needle=t,this.haystack=e,this.fromIndex=r};lr.parse=function(t,e){if(t.length<=2||t.length>=5)return e.error(\"Expected 3 or 4 arguments, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1,jt),n=e.parse(t[2],2,jt);if(!r||!n)return null;if(!Zt(r.type,[Ft,Rt,Dt,Ot,jt]))return e.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+Gt(r.type)+\" instead\");if(4===t.length){var a=e.parse(t[3],3,Dt);return a?new lr(r,n,a):null}return new lr(r,n)},lr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!Xt(e,[\"boolean\",\"string\",\"number\",\"null\"]))throw new se(\"Expected first argument to be of type boolean, string, number or null, but found \"+Gt(ae(e))+\" instead.\");if(!Xt(r,[\"string\",\"array\"]))throw new se(\"Expected second argument to be of type array or string, but found \"+Gt(ae(r))+\" instead.\");if(this.fromIndex){var n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)},lr.prototype.eachChild=function(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)},lr.prototype.outputDefined=function(){return!1},lr.prototype.serialize=function(){if(null!=this.fromIndex&&void 0!==this.fromIndex){var t=this.fromIndex.serialize();return[\"index-of\",this.needle.serialize(),this.haystack.serialize(),t]}return[\"index-of\",this.needle.serialize(),this.haystack.serialize()]};var cr=function(t,e,r,n,a,i){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=a,this.otherwise=i};cr.parse=function(t,e){if(t.length<5)return e.error(\"Expected at least 4 arguments, but found only \"+(t.length-1)+\".\");if(t.length%2!=1)return e.error(\"Expected an even number of arguments.\");var r,n;e.expectedType&&\"value\"!==e.expectedType.kind&&(n=e.expectedType);for(var a={},i=[],o=2;o<t.length-1;o+=2){var s=t[o],l=t[o+1];Array.isArray(s)||(s=[s]);var c=e.concat(o);if(0===s.length)return c.error(\"Expected at least one branch label.\");for(var u=0,h=s;u<h.length;u+=1){var f=h[u];if(\"number\"!=typeof f&&\"string\"!=typeof f)return c.error(\"Branch labels must be numbers or strings.\");if(\"number\"==typeof f&&Math.abs(f)>Number.MAX_SAFE_INTEGER)return c.error(\"Branch labels must be integers no larger than \"+Number.MAX_SAFE_INTEGER+\".\");if(\"number\"==typeof f&&Math.floor(f)!==f)return c.error(\"Numeric branch labels must be integer values.\");if(r){if(c.checkSubtype(r,ae(f)))return null}else r=ae(f);if(void 0!==a[String(f)])return c.error(\"Branch labels must be unique.\");a[String(f)]=i.length}var p=e.parse(l,o,n);if(!p)return null;n=n||p.type,i.push(p)}var d=e.parse(t[1],1,jt);if(!d)return null;var g=e.parse(t[t.length-1],t.length-1,n);return g?\"value\"!==d.type.kind&&e.concat(1).checkSubtype(r,d.type)?null:new cr(r,n,d,a,i,g):null},cr.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(ae(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},cr.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},cr.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))&&this.otherwise.outputDefined()},cr.prototype.serialize=function(){for(var t=this,e=[\"match\",this.input.serialize()],r=[],n={},a=0,i=Object.keys(this.cases).sort();a<i.length;a+=1){var o=i[a];void 0===(h=n[this.cases[o]])?(n[this.cases[o]]=r.length,r.push([this.cases[o],[o]])):r[h][1].push(o)}for(var s=function(e){return\"number\"===t.inputType.kind?Number(e):e},l=0,c=r;l<c.length;l+=1){var u=c[l],h=u[0],f=u[1];e.push(1===f.length?s(f[0]):f.map(s)),e.push(this.outputs[outputIndex$1].serialize())}return e.push(this.otherwise.serialize()),e};var ur=function(t,e,r){this.type=t,this.branches=e,this.otherwise=r};ur.parse=function(t,e){if(t.length<4)return e.error(\"Expected at least 3 arguments, but found only \"+(t.length-1)+\".\");if(t.length%2!=0)return e.error(\"Expected an odd number of arguments.\");var r;e.expectedType&&\"value\"!==e.expectedType.kind&&(r=e.expectedType);for(var n=[],a=1;a<t.length-1;a+=2){var i=e.parse(t[a],a,Ft);if(!i)return null;var o=e.parse(t[a+1],a+1,r);if(!o)return null;n.push([i,o]),r=r||o.type}var s=e.parse(t[t.length-1],t.length-1,r);return s?new ur(r,n,s):null},ur.prototype.evaluate=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],a=n[1];if(n[0].evaluate(t))return a.evaluate(t)}return this.otherwise.evaluate(t)},ur.prototype.eachChild=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],a=n[1];t(n[0]),t(a)}t(this.otherwise)},ur.prototype.outputDefined=function(){return this.branches.every((function(t){return t[1].outputDefined()}))&&this.otherwise.outputDefined()},ur.prototype.serialize=function(){var t=[\"case\"];return this.eachChild((function(e){t.push(e.serialize())})),t};var hr=function(t,e,r,n){this.type=t,this.input=e,this.beginIndex=r,this.endIndex=n};function fr(t,e){return\"==\"===t||\"!=\"===t?\"boolean\"===e.kind||\"string\"===e.kind||\"number\"===e.kind||\"null\"===e.kind||\"value\"===e.kind:\"string\"===e.kind||\"number\"===e.kind||\"value\"===e.kind}function pr(t,e,r,n){return 0===n.compare(e,r)}function dr(t,e,r){var n=\"==\"!==t&&\"!=\"!==t;return function(){function a(t,e,r){this.type=Ft,this.lhs=t,this.rhs=e,this.collator=r,this.hasUntypedArgument=\"value\"===t.type.kind||\"value\"===e.type.kind}return a.parse=function(t,e){if(3!==t.length&&4!==t.length)return e.error(\"Expected two or three arguments.\");var r=t[0],i=e.parse(t[1],1,jt);if(!i)return null;if(!fr(r,i.type))return e.concat(1).error('\"'+r+\"\\\" comparisons are not supported for type '\"+Gt(i.type)+\"'.\");var o=e.parse(t[2],2,jt);if(!o)return null;if(!fr(r,o.type))return e.concat(2).error('\"'+r+\"\\\" comparisons are not supported for type '\"+Gt(o.type)+\"'.\");if(i.type.kind!==o.type.kind&&\"value\"!==i.type.kind&&\"value\"!==o.type.kind)return e.error(\"Cannot compare types '\"+Gt(i.type)+\"' and '\"+Gt(o.type)+\"'.\");n&&(\"value\"===i.type.kind&&\"value\"!==o.type.kind?i=new ce(o.type,[i]):\"value\"!==i.type.kind&&\"value\"===o.type.kind&&(o=new ce(i.type,[o])));var s=null;if(4===t.length){if(\"string\"!==i.type.kind&&\"string\"!==o.type.kind&&\"value\"!==i.type.kind&&\"value\"!==o.type.kind)return e.error(\"Cannot use collator to compare non-string types.\");if(!(s=e.parse(t[3],3,Vt)))return null}return new a(i,o,s)},a.prototype.evaluate=function(a){var i=this.lhs.evaluate(a),o=this.rhs.evaluate(a);if(n&&this.hasUntypedArgument){var s=ae(i),l=ae(o);if(s.kind!==l.kind||\"string\"!==s.kind&&\"number\"!==s.kind)throw new se('Expected arguments for \"'+t+'\" to be (string, string) or (number, number), but found ('+s.kind+\", \"+l.kind+\") instead.\")}if(this.collator&&!n&&this.hasUntypedArgument){var c=ae(i),u=ae(o);if(\"string\"!==c.kind||\"string\"!==u.kind)return e(a,i,o)}return this.collator?r(a,i,o,this.collator.evaluate(a)):e(a,i,o)},a.prototype.eachChild=function(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator)},a.prototype.outputDefined=function(){return!0},a.prototype.serialize=function(){var e=[t];return this.eachChild((function(t){e.push(t.serialize())})),e},a}()}hr.parse=function(t,e){if(t.length<=2||t.length>=5)return e.error(\"Expected 3 or 4 arguments, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1,jt),n=e.parse(t[2],2,Dt);if(!r||!n)return null;if(!Zt(r.type,[Ht(jt),Rt,jt]))return e.error(\"Expected first argument to be of type array or string, but found \"+Gt(r.type)+\" instead\");if(4===t.length){var a=e.parse(t[3],3,Dt);return a?new hr(r.type,r,n,a):null}return new hr(r.type,r,n)},hr.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!Xt(e,[\"string\",\"array\"]))throw new se(\"Expected first argument to be of type array or string, but found \"+Gt(ae(e))+\" instead.\");if(this.endIndex){var n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)},hr.prototype.eachChild=function(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)},hr.prototype.outputDefined=function(){return!1},hr.prototype.serialize=function(){if(null!=this.endIndex&&void 0!==this.endIndex){var t=this.endIndex.serialize();return[\"slice\",this.input.serialize(),this.beginIndex.serialize(),t]}return[\"slice\",this.input.serialize(),this.beginIndex.serialize()]};var gr=dr(\"==\",(function(t,e,r){return e===r}),pr),mr=dr(\"!=\",(function(t,e,r){return e!==r}),(function(t,e,r,n){return!pr(0,e,r,n)})),vr=dr(\"<\",(function(t,e,r){return e<r}),(function(t,e,r,n){return n.compare(e,r)<0})),yr=dr(\">\",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),xr=dr(\"<=\",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),br=dr(\">=\",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0})),_r=function(t,e,r,n,a){this.type=Rt,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=a};_r.parse=function(t,e){if(3!==t.length)return e.error(\"Expected two arguments.\");var r=e.parse(t[1],1,Dt);if(!r)return null;var n=t[2];if(\"object\"!=typeof n||Array.isArray(n))return e.error(\"NumberFormat options argument must be an object.\");var a=null;if(n.locale&&!(a=e.parse(n.locale,1,Rt)))return null;var i=null;if(n.currency&&!(i=e.parse(n.currency,1,Rt)))return null;var o=null;if(n[\"min-fraction-digits\"]&&!(o=e.parse(n[\"min-fraction-digits\"],1,Dt)))return null;var s=null;return n[\"max-fraction-digits\"]&&!(s=e.parse(n[\"max-fraction-digits\"],1,Dt))?null:new _r(r,a,i,o,s)},_r.prototype.evaluate=function(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))},_r.prototype.eachChild=function(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)},_r.prototype.outputDefined=function(){return!1},_r.prototype.serialize=function(){var t={};return this.locale&&(t.locale=this.locale.serialize()),this.currency&&(t.currency=this.currency.serialize()),this.minFractionDigits&&(t[\"min-fraction-digits\"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(t[\"max-fraction-digits\"]=this.maxFractionDigits.serialize()),[\"number-format\",this.number.serialize(),t]};var wr=function(t){this.type=Dt,this.input=t};wr.parse=function(t,e){if(2!==t.length)return e.error(\"Expected 1 argument, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1);return r?\"array\"!==r.type.kind&&\"string\"!==r.type.kind&&\"value\"!==r.type.kind?e.error(\"Expected argument of type string or array, but found \"+Gt(r.type)+\" instead.\"):new wr(r):null},wr.prototype.evaluate=function(t){var e=this.input.evaluate(t);if(\"string\"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new se(\"Expected value to be of type string or array, but found \"+Gt(ae(e))+\" instead.\")},wr.prototype.eachChild=function(t){t(this.input)},wr.prototype.outputDefined=function(){return!1},wr.prototype.serialize=function(){var t=[\"length\"];return this.eachChild((function(e){t.push(e.serialize())})),t};var Tr={\"==\":gr,\"!=\":mr,\">\":yr,\"<\":vr,\">=\":br,\"<=\":xr,array:ce,at:or,boolean:ce,case:ur,coalesce:ar,collator:ve,format:ue,image:he,in:sr,\"index-of\":lr,interpolate:rr,\"interpolate-hcl\":rr,\"interpolate-lab\":rr,length:wr,let:ir,literal:oe,match:cr,number:ce,\"number-format\":_r,object:ce,slice:hr,step:je,string:ce,\"to-boolean\":pe,\"to-color\":pe,\"to-number\":pe,\"to-string\":pe,var:Fe,within:ze};function kr(t,e){var r=e[0],n=e[1],a=e[2],i=e[3];r=r.evaluate(t),n=n.evaluate(t),a=a.evaluate(t);var o=i?i.evaluate(t):1,s=re(r,n,a,o);if(s)throw new se(s);return new Kt(r/255*o,n/255*o,a/255*o,o)}function Ar(t,e){return t in e}function Mr(t,e){var r=e[t];return void 0===r?null:r}function Sr(t){return{type:t}}function Er(t){return{result:\"success\",value:t}}function Cr(t){return{result:\"error\",value:t}}function Lr(t){return\"data-driven\"===t[\"property-type\"]||\"cross-faded-data-driven\"===t[\"property-type\"]}function Pr(t){return!!t.expression&&t.expression.parameters.indexOf(\"zoom\")>-1}function Ir(t){return!!t.expression&&t.expression.interpolated}function zr(t){return t instanceof Number?\"number\":t instanceof String?\"string\":t instanceof Boolean?\"boolean\":Array.isArray(t)?\"array\":null===t?\"null\":typeof t}function Or(t){return\"object\"==typeof t&&null!==t&&!Array.isArray(t)}function Dr(t){return t}function Rr(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function Fr(t,e,r,n,a){return Rr(typeof r===a?n[r]:void 0,t.default,e.default)}function Br(t,e,r){if(\"number\"!==zr(r))return Rr(t.default,e.default);var n=t.stops.length;if(1===n)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[n-1][0])return t.stops[n-1][1];var a=Ne(t.stops.map((function(t){return t[0]})),r);return t.stops[a][1]}function Nr(t,e,r){var n=void 0!==t.base?t.base:1;if(\"number\"!==zr(r))return Rr(t.default,e.default);var a=t.stops.length;if(1===a)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[a-1][0])return t.stops[a-1][1];var i=Ne(t.stops.map((function(t){return t[0]})),r),o=function(t,e,r,n){var a=n-r,i=t-r;return 0===a?0:1===e?i/a:(Math.pow(e,i)-1)/(Math.pow(e,a)-1)}(r,n,t.stops[i][0],t.stops[i+1][0]),s=t.stops[i][1],l=t.stops[i+1][1],c=Ue[e.type]||Dr;if(t.colorSpace&&\"rgb\"!==t.colorSpace){var u=er[t.colorSpace];c=function(t,e){return u.reverse(u.interpolate(u.forward(t),u.forward(e),o))}}return\"function\"==typeof s.evaluate?{evaluate:function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var r=s.evaluate.apply(void 0,t),n=l.evaluate.apply(void 0,t);if(void 0!==r&&void 0!==n)return c(r,n,o)}}:c(s,l,o)}function jr(t,e,r){return\"color\"===e.type?r=Kt.parse(r):\"formatted\"===e.type?r=te.fromString(r.toString()):\"resolvedImage\"===e.type?r=ee.fromString(r.toString()):zr(r)===e.type||\"enum\"===e.type&&e.values[r]||(r=void 0),Rr(r,t.default,e.default)}me.register(Tr,{error:[{kind:\"error\"},[Rt],function(t,e){throw new se(e[0].evaluate(t))}],typeof:[Rt,[jt],function(t,e){return Gt(ae(e[0].evaluate(t)))}],\"to-rgba\":[Ht(Dt,4),[Bt],function(t,e){return e[0].evaluate(t).toArray()}],rgb:[Bt,[Dt,Dt,Dt],kr],rgba:[Bt,[Dt,Dt,Dt,Dt],kr],has:{type:Ft,overloads:[[[Rt],function(t,e){return Ar(e[0].evaluate(t),t.properties())}],[[Rt,Nt],function(t,e){var r=e[1];return Ar(e[0].evaluate(t),r.evaluate(t))}]]},get:{type:jt,overloads:[[[Rt],function(t,e){return Mr(e[0].evaluate(t),t.properties())}],[[Rt,Nt],function(t,e){var r=e[1];return Mr(e[0].evaluate(t),r.evaluate(t))}]]},\"feature-state\":[jt,[Rt],function(t,e){return Mr(e[0].evaluate(t),t.featureState||{})}],properties:[Nt,[],function(t){return t.properties()}],\"geometry-type\":[Rt,[],function(t){return t.geometryType()}],id:[jt,[],function(t){return t.id()}],zoom:[Dt,[],function(t){return t.globals.zoom}],\"heatmap-density\":[Dt,[],function(t){return t.globals.heatmapDensity||0}],\"line-progress\":[Dt,[],function(t){return t.globals.lineProgress||0}],accumulated:[jt,[],function(t){return void 0===t.globals.accumulated?null:t.globals.accumulated}],\"+\":[Dt,Sr(Dt),function(t,e){for(var r=0,n=0,a=e;n<a.length;n+=1)r+=a[n].evaluate(t);return r}],\"*\":[Dt,Sr(Dt),function(t,e){for(var r=1,n=0,a=e;n<a.length;n+=1)r*=a[n].evaluate(t);return r}],\"-\":{type:Dt,overloads:[[[Dt,Dt],function(t,e){var r=e[1];return e[0].evaluate(t)-r.evaluate(t)}],[[Dt],function(t,e){return-e[0].evaluate(t)}]]},\"/\":[Dt,[Dt,Dt],function(t,e){var r=e[1];return e[0].evaluate(t)/r.evaluate(t)}],\"%\":[Dt,[Dt,Dt],function(t,e){var r=e[1];return e[0].evaluate(t)%r.evaluate(t)}],ln2:[Dt,[],function(){return Math.LN2}],pi:[Dt,[],function(){return Math.PI}],e:[Dt,[],function(){return Math.E}],\"^\":[Dt,[Dt,Dt],function(t,e){var r=e[1];return Math.pow(e[0].evaluate(t),r.evaluate(t))}],sqrt:[Dt,[Dt],function(t,e){return Math.sqrt(e[0].evaluate(t))}],log10:[Dt,[Dt],function(t,e){return Math.log(e[0].evaluate(t))/Math.LN10}],ln:[Dt,[Dt],function(t,e){return Math.log(e[0].evaluate(t))}],log2:[Dt,[Dt],function(t,e){return Math.log(e[0].evaluate(t))/Math.LN2}],sin:[Dt,[Dt],function(t,e){return Math.sin(e[0].evaluate(t))}],cos:[Dt,[Dt],function(t,e){return Math.cos(e[0].evaluate(t))}],tan:[Dt,[Dt],function(t,e){return Math.tan(e[0].evaluate(t))}],asin:[Dt,[Dt],function(t,e){return Math.asin(e[0].evaluate(t))}],acos:[Dt,[Dt],function(t,e){return Math.acos(e[0].evaluate(t))}],atan:[Dt,[Dt],function(t,e){return Math.atan(e[0].evaluate(t))}],min:[Dt,Sr(Dt),function(t,e){return Math.min.apply(Math,e.map((function(e){return e.evaluate(t)})))}],max:[Dt,Sr(Dt),function(t,e){return Math.max.apply(Math,e.map((function(e){return e.evaluate(t)})))}],abs:[Dt,[Dt],function(t,e){return Math.abs(e[0].evaluate(t))}],round:[Dt,[Dt],function(t,e){var r=e[0].evaluate(t);return r<0?-Math.round(-r):Math.round(r)}],floor:[Dt,[Dt],function(t,e){return Math.floor(e[0].evaluate(t))}],ceil:[Dt,[Dt],function(t,e){return Math.ceil(e[0].evaluate(t))}],\"filter-==\":[Ft,[Rt,jt],function(t,e){var r=e[0],n=e[1];return t.properties()[r.value]===n.value}],\"filter-id-==\":[Ft,[jt],function(t,e){var r=e[0];return t.id()===r.value}],\"filter-type-==\":[Ft,[Rt],function(t,e){var r=e[0];return t.geometryType()===r.value}],\"filter-<\":[Ft,[Rt,jt],function(t,e){var r=e[0],n=e[1],a=t.properties()[r.value],i=n.value;return typeof a==typeof i&&a<i}],\"filter-id-<\":[Ft,[jt],function(t,e){var r=e[0],n=t.id(),a=r.value;return typeof n==typeof a&&n<a}],\"filter->\":[Ft,[Rt,jt],function(t,e){var r=e[0],n=e[1],a=t.properties()[r.value],i=n.value;return typeof a==typeof i&&a>i}],\"filter-id->\":[Ft,[jt],function(t,e){var r=e[0],n=t.id(),a=r.value;return typeof n==typeof a&&n>a}],\"filter-<=\":[Ft,[Rt,jt],function(t,e){var r=e[0],n=e[1],a=t.properties()[r.value],i=n.value;return typeof a==typeof i&&a<=i}],\"filter-id-<=\":[Ft,[jt],function(t,e){var r=e[0],n=t.id(),a=r.value;return typeof n==typeof a&&n<=a}],\"filter->=\":[Ft,[Rt,jt],function(t,e){var r=e[0],n=e[1],a=t.properties()[r.value],i=n.value;return typeof a==typeof i&&a>=i}],\"filter-id->=\":[Ft,[jt],function(t,e){var r=e[0],n=t.id(),a=r.value;return typeof n==typeof a&&n>=a}],\"filter-has\":[Ft,[jt],function(t,e){return e[0].value in t.properties()}],\"filter-has-id\":[Ft,[],function(t){return null!==t.id()&&void 0!==t.id()}],\"filter-type-in\":[Ft,[Ht(Rt)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],\"filter-id-in\":[Ft,[Ht(jt)],function(t,e){return e[0].value.indexOf(t.id())>=0}],\"filter-in-small\":[Ft,[Rt,Ht(jt)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],\"filter-in-large\":[Ft,[Rt,Ht(jt)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var a=r+n>>1;if(e[a]===t)return!0;e[a]>t?n=a-1:r=a+1}return!1}(t.properties()[r.value],n.value,0,n.value.length-1)}],all:{type:Ft,overloads:[[[Ft,Ft],function(t,e){var r=e[1];return e[0].evaluate(t)&&r.evaluate(t)}],[Sr(Ft),function(t,e){for(var r=0,n=e;r<n.length;r+=1)if(!n[r].evaluate(t))return!1;return!0}]]},any:{type:Ft,overloads:[[[Ft,Ft],function(t,e){var r=e[1];return e[0].evaluate(t)||r.evaluate(t)}],[Sr(Ft),function(t,e){for(var r=0,n=e;r<n.length;r+=1)if(n[r].evaluate(t))return!0;return!1}]]},\"!\":[Ft,[Ft],function(t,e){return!e[0].evaluate(t)}],\"is-supported-script\":[Ft,[Rt],function(t,e){var r=t.globals&&t.globals.isSupportedScript;return!r||r(e[0].evaluate(t))}],upcase:[Rt,[Rt],function(t,e){return e[0].evaluate(t).toUpperCase()}],downcase:[Rt,[Rt],function(t,e){return e[0].evaluate(t).toLowerCase()}],concat:[Rt,Sr(jt),function(t,e){return e.map((function(e){return ie(e.evaluate(t))})).join(\"\")}],\"resolved-locale\":[Rt,[Vt],function(t,e){return e[0].evaluate(t).resolvedLocale()}]});var Vr=function(t,e){this.expression=t,this._warningHistory={},this._evaluator=new ge,this._defaultValue=e?function(t){return\"color\"===t.type&&Or(t.default)?new Kt(0,0,0,0):\"color\"===t.type?Kt.parse(t.default)||null:void 0===t.default?null:t.default}(e):null,this._enumValues=e&&\"enum\"===e.type?e.values:null};function Ur(t){return Array.isArray(t)&&t.length>0&&\"string\"==typeof t[0]&&t[0]in Tr}function qr(t,e){var r=new Be(Tr,[],e?function(t){var e={color:Bt,string:Rt,number:Dt,enum:Rt,boolean:Ft,formatted:Ut,resolvedImage:qt};return\"array\"===t.type?Ht(e[t.value]||jt,t.length):e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&\"string\"===e.type?{typeAnnotation:\"coerce\"}:void 0);return n?Er(new Vr(n,e)):Cr(r.errors)}Vr.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,a,i){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=a||null,this._evaluator.formattedSection=i,this.expression.evaluate(this._evaluator)},Vr.prototype.evaluate=function(t,e,r,n,a,i){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=a||null,this._evaluator.formattedSection=i||null;try{var o=this.expression.evaluate(this._evaluator);if(null==o||\"number\"==typeof o&&o!=o)return this._defaultValue;if(this._enumValues&&!(o in this._enumValues))throw new se(\"Expected value to be one of \"+Object.keys(this._enumValues).map((function(t){return JSON.stringify(t)})).join(\", \")+\", but found \"+JSON.stringify(o)+\" instead.\");return o}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,\"undefined\"!=typeof console&&console.warn(t.message)),this._defaultValue}};var Hr=function(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent=\"constant\"!==t&&!De(e.expression)};Hr.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,a,i){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,a,i)},Hr.prototype.evaluate=function(t,e,r,n,a,i){return this._styleExpression.evaluate(t,e,r,n,a,i)};var Gr=function(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent=\"camera\"!==t&&!De(e.expression),this.interpolationType=n};function Yr(t,e){if(\"error\"===(t=qr(t,e)).result)return t;var r=t.value.expression,n=Oe(r);if(!n&&!Lr(e))return Cr([new It(\"\",\"data expressions not supported\")]);var a=Re(r,[\"zoom\"]);if(!a&&!Pr(e))return Cr([new It(\"\",\"zoom expressions not supported\")]);var i=function t(e){var r=null;if(e instanceof ir)r=t(e.result);else if(e instanceof ar)for(var n=0,a=e.args;n<a.length&&!(r=t(a[n]));n+=1);else(e instanceof je||e instanceof rr)&&e.input instanceof me&&\"zoom\"===e.input.name&&(r=e);return r instanceof It||e.eachChild((function(e){var n=t(e);n instanceof It?r=n:!r&&n?r=new It(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):r&&n&&r!==n&&(r=new It(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'))})),r}(r);return i||a?i instanceof It?Cr([i]):i instanceof rr&&!Ir(e)?Cr([new It(\"\",'\"interpolate\" expressions cannot be used with this property')]):Er(i?new Gr(n?\"camera\":\"composite\",t.value,i.labels,i instanceof rr?i.interpolation:void 0):new Hr(n?\"constant\":\"source\",t.value)):Cr([new It(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')])}Gr.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,a,i){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,a,i)},Gr.prototype.evaluate=function(t,e,r,n,a,i){return this._styleExpression.evaluate(t,e,r,n,a,i)},Gr.prototype.interpolationFactor=function(t,e,r){return this.interpolationType?rr.interpolationFactor(this.interpolationType,t,e,r):0};var Wr=function(t,e){this._parameters=t,this._specification=e,Ct(this,function t(e,r){var n,a,i,o=\"color\"===r.type,s=e.stops&&\"object\"==typeof e.stops[0][0],l=s||!(s||void 0!==e.property),c=e.type||(Ir(r)?\"exponential\":\"interval\");if(o&&((e=Ct({},e)).stops&&(e.stops=e.stops.map((function(t){return[t[0],Kt.parse(t[1])]}))),e.default=Kt.parse(e.default?e.default:r.default)),e.colorSpace&&\"rgb\"!==e.colorSpace&&!er[e.colorSpace])throw new Error(\"Unknown color space: \"+e.colorSpace);if(\"exponential\"===c)n=Nr;else if(\"interval\"===c)n=Br;else if(\"categorical\"===c){n=Fr,a=Object.create(null);for(var u=0,h=e.stops;u<h.length;u+=1){var f=h[u];a[f[0]]=f[1]}i=typeof e.stops[0][0]}else{if(\"identity\"!==c)throw new Error('Unknown function type \"'+c+'\"');n=jr}if(s){for(var p={},d=[],g=0;g<e.stops.length;g++){var m=e.stops[g],v=m[0].zoom;void 0===p[v]&&(p[v]={zoom:v,type:e.type,property:e.property,default:e.default,stops:[]},d.push(v)),p[v].stops.push([m[0].value,m[1]])}for(var y=[],x=0,b=d;x<b.length;x+=1){var _=b[x];y.push([p[_].zoom,t(p[_],r)])}var w={name:\"linear\"};return{kind:\"composite\",interpolationType:w,interpolationFactor:rr.interpolationFactor.bind(void 0,w),zoomStops:y.map((function(t){return t[0]})),evaluate:function(t,n){var a=t.zoom;return Nr({stops:y,base:e.base},r,a).evaluate(a,n)}}}if(l){var T=\"exponential\"===c?{name:\"exponential\",base:void 0!==e.base?e.base:1}:null;return{kind:\"camera\",interpolationType:T,interpolationFactor:rr.interpolationFactor.bind(void 0,T),zoomStops:e.stops.map((function(t){return t[0]})),evaluate:function(t){return n(e,r,t.zoom,a,i)}}}return{kind:\"source\",evaluate:function(t,o){var s=o&&o.properties?o.properties[e.property]:void 0;return void 0===s?Rr(e.default,r.default):n(e,r,s,a,i)}}}(this._parameters,this._specification))};function Zr(t){var e=t.key,r=t.value,n=t.valueSpec||{},a=t.objectElementValidators||{},i=t.style,o=t.styleSpec,s=[],l=zr(r);if(\"object\"!==l)return[new St(e,r,\"object expected, \"+l+\" found\")];for(var c in r){var u=c.split(\".\")[0],h=n[u]||n[\"*\"],f=void 0;if(a[u])f=a[u];else if(n[u])f=bn;else if(a[\"*\"])f=a[\"*\"];else{if(!n[\"*\"]){s.push(new St(e,r[c],'unknown property \"'+c+'\"'));continue}f=bn}s=s.concat(f({key:(e?e+\".\":e)+c,value:r[c],valueSpec:h,style:i,styleSpec:o,object:r,objectKey:c},r))}for(var p in n)a[p]||n[p].required&&void 0===n[p].default&&void 0===r[p]&&s.push(new St(e,r,'missing required property \"'+p+'\"'));return s}function Xr(t){var e=t.value,r=t.valueSpec,n=t.style,a=t.styleSpec,i=t.key,o=t.arrayElementValidator||bn;if(\"array\"!==zr(e))return[new St(i,e,\"array expected, \"+zr(e)+\" found\")];if(r.length&&e.length!==r.length)return[new St(i,e,\"array length \"+r.length+\" expected, length \"+e.length+\" found\")];if(r[\"min-length\"]&&e.length<r[\"min-length\"])return[new St(i,e,\"array length at least \"+r[\"min-length\"]+\" expected, length \"+e.length+\" found\")];var s={type:r.value,values:r.values};a.$version<7&&(s.function=r.function),\"object\"===zr(r.value)&&(s=r.value);for(var l=[],c=0;c<e.length;c++)l=l.concat(o({array:e,arrayIndex:c,value:e[c],valueSpec:s,style:n,styleSpec:a,key:i+\"[\"+c+\"]\"}));return l}function Jr(t){var e=t.key,r=t.value,n=t.valueSpec,a=zr(r);return\"number\"===a&&r!=r&&(a=\"NaN\"),\"number\"!==a?[new St(e,r,\"number expected, \"+a+\" found\")]:\"minimum\"in n&&r<n.minimum?[new St(e,r,r+\" is less than the minimum value \"+n.minimum)]:\"maximum\"in n&&r>n.maximum?[new St(e,r,r+\" is greater than the maximum value \"+n.maximum)]:[]}function Kr(t){var e,r,n,a=t.valueSpec,i=Lt(t.value.type),o={},s=\"categorical\"!==i&&void 0===t.value.property,l=!s,c=\"array\"===zr(t.value.stops)&&\"array\"===zr(t.value.stops[0])&&\"object\"===zr(t.value.stops[0][0]),u=Zr({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if(\"identity\"===i)return[new St(t.key,t.value,'identity function may not have a \"stops\" property')];var e=[],r=t.value;return e=e.concat(Xr({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:h})),\"array\"===zr(r)&&0===r.length&&e.push(new St(t.key,r,\"array must have at least one stop\")),e},default:function(t){return bn({key:t.key,value:t.value,valueSpec:a,style:t.style,styleSpec:t.styleSpec})}}});return\"identity\"===i&&s&&u.push(new St(t.key,t.value,'missing required property \"property\"')),\"identity\"===i||t.value.stops||u.push(new St(t.key,t.value,'missing required property \"stops\"')),\"exponential\"===i&&t.valueSpec.expression&&!Ir(t.valueSpec)&&u.push(new St(t.key,t.value,\"exponential functions not supported\")),t.styleSpec.$version>=8&&(l&&!Lr(t.valueSpec)?u.push(new St(t.key,t.value,\"property functions not supported\")):s&&!Pr(t.valueSpec)&&u.push(new St(t.key,t.value,\"zoom functions not supported\"))),\"categorical\"!==i&&!c||void 0!==t.value.property||u.push(new St(t.key,t.value,'\"property\" property is required')),u;function h(t){var e=[],i=t.value,s=t.key;if(\"array\"!==zr(i))return[new St(s,i,\"array expected, \"+zr(i)+\" found\")];if(2!==i.length)return[new St(s,i,\"array length 2 expected, length \"+i.length+\" found\")];if(c){if(\"object\"!==zr(i[0]))return[new St(s,i,\"object expected, \"+zr(i[0])+\" found\")];if(void 0===i[0].zoom)return[new St(s,i,\"object stop key must have zoom\")];if(void 0===i[0].value)return[new St(s,i,\"object stop key must have value\")];if(n&&n>Lt(i[0].zoom))return[new St(s,i[0].zoom,\"stop zoom values must appear in ascending order\")];Lt(i[0].zoom)!==n&&(n=Lt(i[0].zoom),r=void 0,o={}),e=e.concat(Zr({key:s+\"[0]\",value:i[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:Jr,value:f}}))}else e=e.concat(f({key:s+\"[0]\",value:i[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},i));return Ur(Pt(i[1]))?e.concat([new St(s+\"[1]\",i[1],\"expressions are not allowed in function stops.\")]):e.concat(bn({key:s+\"[1]\",value:i[1],valueSpec:a,style:t.style,styleSpec:t.styleSpec}))}function f(t,n){var s=zr(t.value),l=Lt(t.value),c=null!==t.value?t.value:n;if(e){if(s!==e)return[new St(t.key,c,s+\" stop domain type must match previous stop domain type \"+e)]}else e=s;if(\"number\"!==s&&\"string\"!==s&&\"boolean\"!==s)return[new St(t.key,c,\"stop domain value must be a number, string, or boolean\")];if(\"number\"!==s&&\"categorical\"!==i){var u=\"number expected, \"+s+\" found\";return Lr(a)&&void 0===i&&(u+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new St(t.key,c,u)]}return\"categorical\"!==i||\"number\"!==s||isFinite(l)&&Math.floor(l)===l?\"categorical\"!==i&&\"number\"===s&&void 0!==r&&l<r?[new St(t.key,c,\"stop domain values must appear in ascending order\")]:(r=l,\"categorical\"===i&&l in o?[new St(t.key,c,\"stop domain values must be unique\")]:(o[l]=!0,[])):[new St(t.key,c,\"integer expected, found \"+l)]}}function Qr(t){var e=(\"property\"===t.expressionContext?Yr:qr)(Pt(t.value),t.valueSpec);if(\"error\"===e.result)return e.value.map((function(e){return new St(\"\"+t.key+e.key,t.value,e.message)}));var r=e.value.expression||e.value._styleExpression.expression;if(\"property\"===t.expressionContext&&\"text-font\"===t.propertyKey&&!r.outputDefined())return[new St(t.key,t.value,'Invalid data expression for \"'+t.propertyKey+'\". Output values must be contained as literals within the expression.')];if(\"property\"===t.expressionContext&&\"layout\"===t.propertyType&&!De(r))return[new St(t.key,t.value,'\"feature-state\" data expressions are not supported with layout properties.')];if(\"filter\"===t.expressionContext&&!De(r))return[new St(t.key,t.value,'\"feature-state\" data expressions are not supported with filters.')];if(t.expressionContext&&0===t.expressionContext.indexOf(\"cluster\")){if(!Re(r,[\"zoom\",\"feature-state\"]))return[new St(t.key,t.value,'\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.')];if(\"cluster-initial\"===t.expressionContext&&!Oe(r))return[new St(t.key,t.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")]}return[]}function $r(t){var e=t.key,r=t.value,n=t.valueSpec,a=[];return Array.isArray(n.values)?-1===n.values.indexOf(Lt(r))&&a.push(new St(e,r,\"expected one of [\"+n.values.join(\", \")+\"], \"+JSON.stringify(r)+\" found\")):-1===Object.keys(n.values).indexOf(Lt(r))&&a.push(new St(e,r,\"expected one of [\"+Object.keys(n.values).join(\", \")+\"], \"+JSON.stringify(r)+\" found\")),a}function tn(t){if(!0===t||!1===t)return!0;if(!Array.isArray(t)||0===t.length)return!1;switch(t[0]){case\"has\":return t.length>=2&&\"$id\"!==t[1]&&\"$type\"!==t[1];case\"in\":return t.length>=3&&(\"string\"!=typeof t[1]||Array.isArray(t[2]));case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case\"any\":case\"all\":for(var e=0,r=t.slice(1);e<r.length;e+=1){var n=r[e];if(!tn(n)&&\"boolean\"!=typeof n)return!1}return!0;default:return!0}}Wr.deserialize=function(t){return new Wr(t._parameters,t._specification)},Wr.serialize=function(t){return{_parameters:t._parameters,_specification:t._specification}};var en={type:\"boolean\",default:!1,transition:!1,\"property-type\":\"data-driven\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]}};function rn(t){if(null==t)return{filter:function(){return!0},needGeometry:!1};tn(t)||(t=an(t));var e=qr(t,en);if(\"error\"===e.result)throw new Error(e.value.map((function(t){return t.key+\": \"+t.message})).join(\", \"));return{filter:function(t,r,n){return e.value.evaluate(t,r,{},n)},needGeometry:function t(e){if(!Array.isArray(e))return!1;if(\"within\"===e[0])return!0;for(var r=1;r<e.length;r++)if(t(e[r]))return!0;return!1}(t)}}function nn(t,e){return t<e?-1:t>e?1:0}function an(t){if(!t)return!0;var e,r=t[0];return t.length<=1?\"any\"!==r:\"==\"===r?on(t[1],t[2],\"==\"):\"!=\"===r?cn(on(t[1],t[2],\"==\")):\"<\"===r||\">\"===r||\"<=\"===r||\">=\"===r?on(t[1],t[2],r):\"any\"===r?(e=t.slice(1),[\"any\"].concat(e.map(an))):\"all\"===r?[\"all\"].concat(t.slice(1).map(an)):\"none\"===r?[\"all\"].concat(t.slice(1).map(an).map(cn)):\"in\"===r?sn(t[1],t.slice(2)):\"!in\"===r?cn(sn(t[1],t.slice(2))):\"has\"===r?ln(t[1]):\"!has\"===r?cn(ln(t[1])):\"within\"!==r||t}function on(t,e,r){switch(t){case\"$type\":return[\"filter-type-\"+r,e];case\"$id\":return[\"filter-id-\"+r,e];default:return[\"filter-\"+r,t,e]}}function sn(t,e){if(0===e.length)return!1;switch(t){case\"$type\":return[\"filter-type-in\",[\"literal\",e]];case\"$id\":return[\"filter-id-in\",[\"literal\",e]];default:return e.length>200&&!e.some((function(t){return typeof t!=typeof e[0]}))?[\"filter-in-large\",t,[\"literal\",e.sort(nn)]]:[\"filter-in-small\",t,[\"literal\",e]]}}function ln(t){switch(t){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",t]}}function cn(t){return[\"!\",t]}function un(t){return tn(Pt(t.value))?Qr(Ct({},t,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):function t(e){var r=e.value,n=e.key;if(\"array\"!==zr(r))return[new St(n,r,\"array expected, \"+zr(r)+\" found\")];var a,i=e.styleSpec,o=[];if(r.length<1)return[new St(n,r,\"filter array must have at least 1 element\")];switch(o=o.concat($r({key:n+\"[0]\",value:r[0],valueSpec:i.filter_operator,style:e.style,styleSpec:e.styleSpec})),Lt(r[0])){case\"<\":case\"<=\":case\">\":case\">=\":r.length>=2&&\"$type\"===Lt(r[1])&&o.push(new St(n,r,'\"$type\" cannot be use with operator \"'+r[0]+'\"'));case\"==\":case\"!=\":3!==r.length&&o.push(new St(n,r,'filter array for operator \"'+r[0]+'\" must have 3 elements'));case\"in\":case\"!in\":r.length>=2&&\"string\"!==(a=zr(r[1]))&&o.push(new St(n+\"[1]\",r[1],\"string expected, \"+a+\" found\"));for(var s=2;s<r.length;s++)a=zr(r[s]),\"$type\"===Lt(r[1])?o=o.concat($r({key:n+\"[\"+s+\"]\",value:r[s],valueSpec:i.geometry_type,style:e.style,styleSpec:e.styleSpec})):\"string\"!==a&&\"number\"!==a&&\"boolean\"!==a&&o.push(new St(n+\"[\"+s+\"]\",r[s],\"string, number, or boolean expected, \"+a+\" found\"));break;case\"any\":case\"all\":case\"none\":for(var l=1;l<r.length;l++)o=o.concat(t({key:n+\"[\"+l+\"]\",value:r[l],style:e.style,styleSpec:e.styleSpec}));break;case\"has\":case\"!has\":a=zr(r[1]),2!==r.length?o.push(new St(n,r,'filter array for \"'+r[0]+'\" operator must have 2 elements')):\"string\"!==a&&o.push(new St(n+\"[1]\",r[1],\"string expected, \"+a+\" found\"));break;case\"within\":a=zr(r[1]),2!==r.length?o.push(new St(n,r,'filter array for \"'+r[0]+'\" operator must have 2 elements')):\"object\"!==a&&o.push(new St(n+\"[1]\",r[1],\"object expected, \"+a+\" found\"))}return o}(t)}function hn(t,e){var r=t.key,n=t.style,a=t.styleSpec,i=t.value,o=t.objectKey,s=a[e+\"_\"+t.layerType];if(!s)return[];var l=o.match(/^(.*)-transition$/);if(\"paint\"===e&&l&&s[l[1]]&&s[l[1]].transition)return bn({key:r,value:i,valueSpec:a.transition,style:n,styleSpec:a});var c,u=t.valueSpec||s[o];if(!u)return[new St(r,i,'unknown property \"'+o+'\"')];if(\"string\"===zr(i)&&Lr(u)&&!u.tokens&&(c=/^{([^}]+)}$/.exec(i)))return[new St(r,i,'\"'+o+'\" does not support interpolation syntax\\nUse an identity property function instead: `{ \"type\": \"identity\", \"property\": '+JSON.stringify(c[1])+\" }`.\")];var h=[];return\"symbol\"===t.layerType&&(\"text-field\"===o&&n&&!n.glyphs&&h.push(new St(r,i,'use of \"text-field\" requires a style \"glyphs\" property')),\"text-font\"===o&&Or(Pt(i))&&\"identity\"===Lt(i.type)&&h.push(new St(r,i,'\"text-font\" does not support identity functions'))),h.concat(bn({key:t.key,value:i,valueSpec:u,style:n,styleSpec:a,expressionContext:\"property\",propertyType:e,propertyKey:o}))}function fn(t){return hn(t,\"paint\")}function pn(t){return hn(t,\"layout\")}function dn(t){var e=[],r=t.value,n=t.key,a=t.style,i=t.styleSpec;r.type||r.ref||e.push(new St(n,r,'either \"type\" or \"ref\" is required'));var o,s=Lt(r.type),l=Lt(r.ref);if(r.id)for(var c=Lt(r.id),u=0;u<t.arrayIndex;u++){var h=a.layers[u];Lt(h.id)===c&&e.push(new St(n,r.id,'duplicate layer id \"'+r.id+'\", previously used at line '+h.id.__line__))}if(\"ref\"in r)[\"type\",\"source\",\"source-layer\",\"filter\",\"layout\"].forEach((function(t){t in r&&e.push(new St(n,r[t],'\"'+t+'\" is prohibited for ref layers'))})),a.layers.forEach((function(t){Lt(t.id)===l&&(o=t)})),o?o.ref?e.push(new St(n,r.ref,\"ref cannot reference another ref layer\")):s=Lt(o.type):e.push(new St(n,r.ref,'ref layer \"'+l+'\" not found'));else if(\"background\"!==s)if(r.source){var f=a.sources&&a.sources[r.source],p=f&&Lt(f.type);f?\"vector\"===p&&\"raster\"===s?e.push(new St(n,r.source,'layer \"'+r.id+'\" requires a raster source')):\"raster\"===p&&\"raster\"!==s?e.push(new St(n,r.source,'layer \"'+r.id+'\" requires a vector source')):\"vector\"!==p||r[\"source-layer\"]?\"raster-dem\"===p&&\"hillshade\"!==s?e.push(new St(n,r.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):\"line\"!==s||!r.paint||!r.paint[\"line-gradient\"]||\"geojson\"===p&&f.lineMetrics||e.push(new St(n,r,'layer \"'+r.id+'\" specifies a line-gradient, which requires a GeoJSON source with `lineMetrics` enabled.')):e.push(new St(n,r,'layer \"'+r.id+'\" must specify a \"source-layer\"')):e.push(new St(n,r.source,'source \"'+r.source+'\" not found'))}else e.push(new St(n,r,'missing required property \"source\"'));return e=e.concat(Zr({key:n,value:r,valueSpec:i.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":function(){return[]},type:function(){return bn({key:n+\".type\",value:r.type,valueSpec:i.layer.type,style:t.style,styleSpec:t.styleSpec,object:r,objectKey:\"type\"})},filter:un,layout:function(t){return Zr({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":function(t){return pn(Ct({layerType:s},t))}}})},paint:function(t){return Zr({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":function(t){return fn(Ct({layerType:s},t))}}})}}}))}function gn(t){var e=t.value,r=t.key,n=zr(e);return\"string\"!==n?[new St(r,e,\"string expected, \"+n+\" found\")]:[]}var mn={promoteId:function(t){var e=t.key,r=t.value;if(\"string\"===zr(r))return gn({key:e,value:r});var n=[];for(var a in r)n.push.apply(n,gn({key:e+\".\"+a,value:r[a]}));return n}};function vn(t){var e=t.value,r=t.key,n=t.styleSpec,a=t.style;if(!e.type)return[new St(r,e,'\"type\" is required')];var i,o=Lt(e.type);switch(o){case\"vector\":case\"raster\":case\"raster-dem\":return Zr({key:r,value:e,valueSpec:n[\"source_\"+o.replace(\"-\",\"_\")],style:t.style,styleSpec:n,objectElementValidators:mn});case\"geojson\":if(i=Zr({key:r,value:e,valueSpec:n.source_geojson,style:a,styleSpec:n,objectElementValidators:mn}),e.cluster)for(var s in e.clusterProperties){var l=e.clusterProperties[s],c=l[0],u=\"string\"==typeof c?[c,[\"accumulated\"],[\"get\",s]]:c;i.push.apply(i,Qr({key:r+\".\"+s+\".map\",value:l[1],expressionContext:\"cluster-map\"})),i.push.apply(i,Qr({key:r+\".\"+s+\".reduce\",value:u,expressionContext:\"cluster-reduce\"}))}return i;case\"video\":return Zr({key:r,value:e,valueSpec:n.source_video,style:a,styleSpec:n});case\"image\":return Zr({key:r,value:e,valueSpec:n.source_image,style:a,styleSpec:n});case\"canvas\":return[new St(r,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")];default:return $r({key:r+\".type\",value:e.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:a,styleSpec:n})}}function yn(t){var e=t.value,r=t.styleSpec,n=r.light,a=t.style,i=[],o=zr(e);if(void 0===e)return i;if(\"object\"!==o)return i.concat([new St(\"light\",e,\"object expected, \"+o+\" found\")]);for(var s in e){var l=s.match(/^(.*)-transition$/);i=i.concat(l&&n[l[1]]&&n[l[1]].transition?bn({key:s,value:e[s],valueSpec:r.transition,style:a,styleSpec:r}):n[s]?bn({key:s,value:e[s],valueSpec:n[s],style:a,styleSpec:r}):[new St(s,e[s],'unknown property \"'+s+'\"')])}return i}var xn={\"*\":function(){return[]},array:Xr,boolean:function(t){var e=t.value,r=t.key,n=zr(e);return\"boolean\"!==n?[new St(r,e,\"boolean expected, \"+n+\" found\")]:[]},number:Jr,color:function(t){var e=t.key,r=t.value,n=zr(r);return\"string\"!==n?[new St(e,r,\"color expected, \"+n+\" found\")]:null===Jt(r)?[new St(e,r,'color expected, \"'+r+'\" found')]:[]},constants:Et,enum:$r,filter:un,function:Kr,layer:dn,object:Zr,source:vn,light:yn,string:gn,formatted:function(t){return 0===gn(t).length?[]:Qr(t)},resolvedImage:function(t){return 0===gn(t).length?[]:Qr(t)}};function bn(t){var e=t.value,r=t.valueSpec,n=t.styleSpec;return r.expression&&Or(Lt(e))?Kr(t):r.expression&&Ur(Pt(e))?Qr(t):r.type&&xn[r.type]?xn[r.type](t):Zr(Ct({},t,{valueSpec:r.type?n[r.type]:r}))}function _n(t){var e=t.value,r=t.key,n=gn(t);return n.length||(-1===e.indexOf(\"{fontstack}\")&&n.push(new St(r,e,'\"glyphs\" url must include a \"{fontstack}\" token')),-1===e.indexOf(\"{range}\")&&n.push(new St(r,e,'\"glyphs\" url must include a \"{range}\" token'))),n}function wn(t,e){void 0===e&&(e=Mt);var r=[];return r=r.concat(bn({key:\"\",value:t,valueSpec:e.$root,styleSpec:e,style:t,objectElementValidators:{glyphs:_n,\"*\":function(){return[]}}})),t.constants&&(r=r.concat(Et({key:\"constants\",value:t.constants,style:t,styleSpec:e}))),Tn(r)}function Tn(t){return[].concat(t).sort((function(t,e){return t.line-e.line}))}function kn(t){return function(){for(var e=[],r=arguments.length;r--;)e[r]=arguments[r];return Tn(t.apply(this,e))}}wn.source=kn(vn),wn.light=kn(yn),wn.layer=kn(dn),wn.filter=kn(un),wn.paintProperty=kn(fn),wn.layoutProperty=kn(pn);var An=wn,Mn=An.light,Sn=An.paintProperty,En=An.layoutProperty;function Cn(t,e){var r=!1;if(e&&e.length)for(var n=0,a=e;n<a.length;n+=1)t.fire(new kt(new Error(a[n].message))),r=!0;return r}var Ln=Pn;function Pn(t,e,r){var n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;var a=new Int32Array(this.arrayBuffer);t=a[0],this.d=(e=a[1])+2*(r=a[2]);for(var i=0;i<this.d*this.d;i++){var o=a[3+i],s=a[3+i+1];n.push(o===s?null:a.subarray(o,s))}var l=a[3+n.length+1];this.keys=a.subarray(a[3+n.length],l),this.bboxes=a.subarray(l),this.insert=this._insertReadonly}else{this.d=e+2*r;for(var c=0;c<this.d*this.d;c++)n.push([]);this.keys=[],this.bboxes=[]}this.n=e,this.extent=t,this.padding=r,this.scale=e/t,this.uid=0;var u=r/e*t;this.min=-u,this.max=t+u}Pn.prototype.insert=function(t,e,r,n,a){this._forEachCell(e,r,n,a,this._insertCell,this.uid++),this.keys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(a)},Pn.prototype._insertReadonly=function(){throw\"Cannot insert into a GridIndex created from an ArrayBuffer.\"},Pn.prototype._insertCell=function(t,e,r,n,a,i){this.cells[a].push(i)},Pn.prototype.query=function(t,e,r,n,a){var i=this.min,o=this.max;if(t<=i&&e<=i&&o<=r&&o<=n&&!a)return Array.prototype.slice.call(this.keys);var s=[];return this._forEachCell(t,e,r,n,this._queryCell,s,{},a),s},Pn.prototype._queryCell=function(t,e,r,n,a,i,o,s){var l=this.cells[a];if(null!==l)for(var c=this.keys,u=this.bboxes,h=0;h<l.length;h++){var f=l[h];if(void 0===o[f]){var p=4*f;(s?s(u[p+0],u[p+1],u[p+2],u[p+3]):t<=u[p+2]&&e<=u[p+3]&&r>=u[p+0]&&n>=u[p+1])?(o[f]=!0,i.push(c[f])):o[f]=!1}}},Pn.prototype._forEachCell=function(t,e,r,n,a,i,o,s){for(var l=this._convertToCellCoord(t),c=this._convertToCellCoord(e),u=this._convertToCellCoord(r),h=this._convertToCellCoord(n),f=l;f<=u;f++)for(var p=c;p<=h;p++){var d=this.d*p+f;if((!s||s(this._convertFromCellCoord(f),this._convertFromCellCoord(p),this._convertFromCellCoord(f+1),this._convertFromCellCoord(p+1)))&&a.call(this,t,e,r,n,d,i,o,s))return}},Pn.prototype._convertFromCellCoord=function(t){return(t-this.padding)/this.scale},Pn.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},Pn.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=3+this.cells.length+1+1,r=0,n=0;n<this.cells.length;n++)r+=this.cells[n].length;var a=new Int32Array(e+r+this.keys.length+this.bboxes.length);a[0]=this.extent,a[1]=this.n,a[2]=this.padding;for(var i=e,o=0;o<t.length;o++){var s=t[o];a[3+o]=i,a.set(s,i),i+=s.length}return a[3+t.length]=i,a.set(this.keys,i),a[3+t.length+1]=i+=this.keys.length,a.set(this.bboxes,i),i+=this.bboxes.length,a.buffer};var In=self.ImageData,zn=self.ImageBitmap,On={};function Dn(t,e,r){void 0===r&&(r={}),Object.defineProperty(e,\"_classRegistryKey\",{value:t,writeable:!1}),On[t]={klass:e,omit:r.omit||[],shallow:r.shallow||[]}}for(var Rn in Dn(\"Object\",Object),Ln.serialize=function(t,e){var r=t.toArrayBuffer();return e&&e.push(r),{buffer:r}},Ln.deserialize=function(t){return new Ln(t.buffer)},Dn(\"Grid\",Ln),Dn(\"Color\",Kt),Dn(\"Error\",Error),Dn(\"ResolvedImage\",ee),Dn(\"StylePropertyFunction\",Wr),Dn(\"StyleExpression\",Vr,{omit:[\"_evaluator\"]}),Dn(\"ZoomDependentExpression\",Gr),Dn(\"ZoomConstantExpression\",Hr),Dn(\"CompoundExpression\",me,{omit:[\"_evaluate\"]}),Tr)Tr[Rn]._classRegistryKey||Dn(\"Expression_\"+Rn,Tr[Rn]);function Fn(t){return t&&\"undefined\"!=typeof ArrayBuffer&&(t instanceof ArrayBuffer||t.constructor&&\"ArrayBuffer\"===t.constructor.name)}function Bn(t){return zn&&t instanceof zn}function Nn(t,e){if(null==t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp)return t;if(Fn(t)||Bn(t))return e&&e.push(t),t;if(ArrayBuffer.isView(t)){var r=t;return e&&e.push(r.buffer),r}if(t instanceof In)return e&&e.push(t.data.buffer),t;if(Array.isArray(t)){for(var n=[],a=0,i=t;a<i.length;a+=1)n.push(Nn(i[a],e));return n}if(\"object\"==typeof t){var o=t.constructor,s=o._classRegistryKey;if(!s)throw new Error(\"can't serialize object of unregistered class\");var l=o.serialize?o.serialize(t,e):{};if(!o.serialize){for(var c in t)if(t.hasOwnProperty(c)&&!(On[s].omit.indexOf(c)>=0)){var u=t[c];l[c]=On[s].shallow.indexOf(c)>=0?u:Nn(u,e)}t instanceof Error&&(l.message=t.message)}if(l.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return\"Object\"!==s&&(l.$name=s),l}throw new Error(\"can't serialize object of type \"+typeof t)}function jn(t){if(null==t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||Fn(t)||Bn(t)||ArrayBuffer.isView(t)||t instanceof In)return t;if(Array.isArray(t))return t.map(jn);if(\"object\"==typeof t){var e=t.$name||\"Object\",r=On[e].klass;if(!r)throw new Error(\"can't deserialize unregistered class \"+e);if(r.deserialize)return r.deserialize(t);for(var n=Object.create(r.prototype),a=0,i=Object.keys(t);a<i.length;a+=1){var o=i[a];if(\"$name\"!==o){var s=t[o];n[o]=On[e].shallow.indexOf(o)>=0?s:jn(s)}}return n}throw new Error(\"can't deserialize object of type \"+typeof t)}var Vn=function(){this.first=!0};Vn.prototype.update=function(t,e){var r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoom<r&&(this.lastIntegerZoom=r,this.lastIntegerZoomTime=e),t!==this.lastZoom&&(this.lastZoom=t,this.lastFloorZoom=r,!0))};var Un={\"Latin-1 Supplement\":function(t){return t>=128&&t<=255},Arabic:function(t){return t>=1536&&t<=1791},\"Arabic Supplement\":function(t){return t>=1872&&t<=1919},\"Arabic Extended-A\":function(t){return t>=2208&&t<=2303},\"Hangul Jamo\":function(t){return t>=4352&&t<=4607},\"Unified Canadian Aboriginal Syllabics\":function(t){return t>=5120&&t<=5759},Khmer:function(t){return t>=6016&&t<=6143},\"Unified Canadian Aboriginal Syllabics Extended\":function(t){return t>=6320&&t<=6399},\"General Punctuation\":function(t){return t>=8192&&t<=8303},\"Letterlike Symbols\":function(t){return t>=8448&&t<=8527},\"Number Forms\":function(t){return t>=8528&&t<=8591},\"Miscellaneous Technical\":function(t){return t>=8960&&t<=9215},\"Control Pictures\":function(t){return t>=9216&&t<=9279},\"Optical Character Recognition\":function(t){return t>=9280&&t<=9311},\"Enclosed Alphanumerics\":function(t){return t>=9312&&t<=9471},\"Geometric Shapes\":function(t){return t>=9632&&t<=9727},\"Miscellaneous Symbols\":function(t){return t>=9728&&t<=9983},\"Miscellaneous Symbols and Arrows\":function(t){return t>=11008&&t<=11263},\"CJK Radicals Supplement\":function(t){return t>=11904&&t<=12031},\"Kangxi Radicals\":function(t){return t>=12032&&t<=12255},\"Ideographic Description Characters\":function(t){return t>=12272&&t<=12287},\"CJK Symbols and Punctuation\":function(t){return t>=12288&&t<=12351},Hiragana:function(t){return t>=12352&&t<=12447},Katakana:function(t){return t>=12448&&t<=12543},Bopomofo:function(t){return t>=12544&&t<=12591},\"Hangul Compatibility Jamo\":function(t){return t>=12592&&t<=12687},Kanbun:function(t){return t>=12688&&t<=12703},\"Bopomofo Extended\":function(t){return t>=12704&&t<=12735},\"CJK Strokes\":function(t){return t>=12736&&t<=12783},\"Katakana Phonetic Extensions\":function(t){return t>=12784&&t<=12799},\"Enclosed CJK Letters and Months\":function(t){return t>=12800&&t<=13055},\"CJK Compatibility\":function(t){return t>=13056&&t<=13311},\"CJK Unified Ideographs Extension A\":function(t){return t>=13312&&t<=19903},\"Yijing Hexagram Symbols\":function(t){return t>=19904&&t<=19967},\"CJK Unified Ideographs\":function(t){return t>=19968&&t<=40959},\"Yi Syllables\":function(t){return t>=40960&&t<=42127},\"Yi Radicals\":function(t){return t>=42128&&t<=42191},\"Hangul Jamo Extended-A\":function(t){return t>=43360&&t<=43391},\"Hangul Syllables\":function(t){return t>=44032&&t<=55215},\"Hangul Jamo Extended-B\":function(t){return t>=55216&&t<=55295},\"Private Use Area\":function(t){return t>=57344&&t<=63743},\"CJK Compatibility Ideographs\":function(t){return t>=63744&&t<=64255},\"Arabic Presentation Forms-A\":function(t){return t>=64336&&t<=65023},\"Vertical Forms\":function(t){return t>=65040&&t<=65055},\"CJK Compatibility Forms\":function(t){return t>=65072&&t<=65103},\"Small Form Variants\":function(t){return t>=65104&&t<=65135},\"Arabic Presentation Forms-B\":function(t){return t>=65136&&t<=65279},\"Halfwidth and Fullwidth Forms\":function(t){return t>=65280&&t<=65519}};function qn(t){for(var e=0,r=t;e<r.length;e+=1)if(Hn(r[e].charCodeAt(0)))return!0;return!1}function Hn(t){return!(746!==t&&747!==t&&(t<4352||!(Un[\"Bopomofo Extended\"](t)||Un.Bopomofo(t)||Un[\"CJK Compatibility Forms\"](t)&&!(t>=65097&&t<=65103)||Un[\"CJK Compatibility Ideographs\"](t)||Un[\"CJK Compatibility\"](t)||Un[\"CJK Radicals Supplement\"](t)||Un[\"CJK Strokes\"](t)||!(!Un[\"CJK Symbols and Punctuation\"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||Un[\"CJK Unified Ideographs Extension A\"](t)||Un[\"CJK Unified Ideographs\"](t)||Un[\"Enclosed CJK Letters and Months\"](t)||Un[\"Hangul Compatibility Jamo\"](t)||Un[\"Hangul Jamo Extended-A\"](t)||Un[\"Hangul Jamo Extended-B\"](t)||Un[\"Hangul Jamo\"](t)||Un[\"Hangul Syllables\"](t)||Un.Hiragana(t)||Un[\"Ideographic Description Characters\"](t)||Un.Kanbun(t)||Un[\"Kangxi Radicals\"](t)||Un[\"Katakana Phonetic Extensions\"](t)||Un.Katakana(t)&&12540!==t||!(!Un[\"Halfwidth and Fullwidth Forms\"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!Un[\"Small Form Variants\"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||Un[\"Unified Canadian Aboriginal Syllabics\"](t)||Un[\"Unified Canadian Aboriginal Syllabics Extended\"](t)||Un[\"Vertical Forms\"](t)||Un[\"Yijing Hexagram Symbols\"](t)||Un[\"Yi Syllables\"](t)||Un[\"Yi Radicals\"](t))))}function Gn(t){return!(Hn(t)||function(t){return!!(Un[\"Latin-1 Supplement\"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||Un[\"General Punctuation\"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||Un[\"Letterlike Symbols\"](t)||Un[\"Number Forms\"](t)||Un[\"Miscellaneous Technical\"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||Un[\"Control Pictures\"](t)&&9251!==t||Un[\"Optical Character Recognition\"](t)||Un[\"Enclosed Alphanumerics\"](t)||Un[\"Geometric Shapes\"](t)||Un[\"Miscellaneous Symbols\"](t)&&!(t>=9754&&t<=9759)||Un[\"Miscellaneous Symbols and Arrows\"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||Un[\"CJK Symbols and Punctuation\"](t)||Un.Katakana(t)||Un[\"Private Use Area\"](t)||Un[\"CJK Compatibility Forms\"](t)||Un[\"Small Form Variants\"](t)||Un[\"Halfwidth and Fullwidth Forms\"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function Yn(t){return t>=1424&&t<=2303||Un[\"Arabic Presentation Forms-A\"](t)||Un[\"Arabic Presentation Forms-B\"](t)}function Wn(t,e){return!(!e&&Yn(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||Un.Khmer(t))}function Zn(t){for(var e=0,r=t;e<r.length;e+=1)if(Yn(r[e].charCodeAt(0)))return!0;return!1}var Xn=null,Jn=\"unavailable\",Kn=null,Qn=function(t){t&&\"string\"==typeof t&&t.indexOf(\"NetworkError\")>-1&&(Jn=\"error\"),Xn&&Xn(t)};function $n(){ta.fire(new Tt(\"pluginStateChange\",{pluginStatus:Jn,pluginURL:Kn}))}var ta=new At,ea=function(){return Jn},ra=function(){if(\"deferred\"!==Jn||!Kn)throw new Error(\"rtl-text-plugin cannot be downloaded unless a pluginURL is specified\");Jn=\"loading\",$n(),Kn&&yt({url:Kn},(function(t){t?Qn(t):(Jn=\"loaded\",$n())}))},na={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return\"loaded\"===Jn||null!=na.applyArabicShaping},isLoading:function(){return\"loading\"===Jn},setState:function(t){Jn=t.pluginStatus,Kn=t.pluginURL},isParsed:function(){return null!=na.applyArabicShaping&&null!=na.processBidirectionalText&&null!=na.processStyledBidirectionalText},getPluginURL:function(){return Kn}},aa=function(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Vn,this.transition={})};aa.prototype.isSupportedScript=function(t){return function(t,e){for(var r=0,n=t;r<n.length;r+=1)if(!Wn(n[r].charCodeAt(0),e))return!1;return!0}(t,na.isLoaded())},aa.prototype.crossFadingFactor=function(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},aa.prototype.getCrossfadeParameters=function(){var t=this.zoom,e=t-Math.floor(t),r=this.crossFadingFactor();return t>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*e}};var ia=function(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(Or(t))return new Wr(t,e);if(Ur(t)){var r=Yr(t,e);if(\"error\"===r.result)throw new Error(r.value.map((function(t){return t.key+\": \"+t.message})).join(\", \"));return r.value}var n=t;return\"string\"==typeof t&&\"color\"===e.type&&(n=Kt.parse(t)),{kind:\"constant\",evaluate:function(){return n}}}(void 0===e?t.specification.default:e,t.specification)};ia.prototype.isDataDriven=function(){return\"source\"===this.expression.kind||\"composite\"===this.expression.kind},ia.prototype.possiblyEvaluate=function(t,e,r){return this.property.possiblyEvaluate(this,t,e,r)};var oa=function(t){this.property=t,this.value=new ia(t,void 0)};oa.prototype.transitioned=function(t,e){return new la(this.property,this.value,e,u({},t.transition,this.transition),t.now)},oa.prototype.untransitioned=function(){return new la(this.property,this.value,null,{},0)};var sa=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};sa.prototype.getValue=function(t){return x(this._values[t].value.value)},sa.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new oa(this._values[t].property)),this._values[t].value=new ia(this._values[t].property,null===e?void 0:x(e))},sa.prototype.getTransition=function(t){return x(this._values[t].transition)},sa.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new oa(this._values[t].property)),this._values[t].transition=x(e)||void 0},sa.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],a=this.getValue(n);void 0!==a&&(t[n]=a);var i=this.getTransition(n);void 0!==i&&(t[n+\"-transition\"]=i)}return t},sa.prototype.transitioned=function(t,e){for(var r=new ca(this._properties),n=0,a=Object.keys(this._values);n<a.length;n+=1){var i=a[n];r._values[i]=this._values[i].transitioned(t,e._values[i])}return r},sa.prototype.untransitioned=function(){for(var t=new ca(this._properties),e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e];t._values[n]=this._values[n].untransitioned()}return t};var la=function(t,e,r,n,a){this.property=t,this.value=e,this.begin=a+n.delay||0,this.end=this.begin+n.duration||0,t.specification.transition&&(n.delay||n.duration)&&(this.prior=r)};la.prototype.possiblyEvaluate=function(t,e,r){var n=t.now||0,a=this.value.possiblyEvaluate(t,e,r),i=this.prior;if(i){if(n>this.end)return this.prior=null,a;if(this.value.isDataDriven())return this.prior=null,a;if(n<this.begin)return i.possiblyEvaluate(t,e,r);var o=(n-this.begin)/(this.end-this.begin);return this.property.interpolate(i.possiblyEvaluate(t,e,r),a,function(t){if(t<=0)return 0;if(t>=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}(o))}return a};var ca=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)};ca.prototype.possiblyEvaluate=function(t,e,r){for(var n=new fa(this._properties),a=0,i=Object.keys(this._values);a<i.length;a+=1){var o=i[a];n._values[o]=this._values[o].possiblyEvaluate(t,e,r)}return n},ca.prototype.hasTransition=function(){for(var t=0,e=Object.keys(this._values);t<e.length;t+=1)if(this._values[e[t]].prior)return!0;return!1};var ua=function(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues)};ua.prototype.getValue=function(t){return x(this._values[t].value)},ua.prototype.setValue=function(t,e){this._values[t]=new ia(this._values[t].property,null===e?void 0:x(e))},ua.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],a=this.getValue(n);void 0!==a&&(t[n]=a)}return t},ua.prototype.possiblyEvaluate=function(t,e,r){for(var n=new fa(this._properties),a=0,i=Object.keys(this._values);a<i.length;a+=1){var o=i[a];n._values[o]=this._values[o].possiblyEvaluate(t,e,r)}return n};var ha=function(t,e,r){this.property=t,this.value=e,this.parameters=r};ha.prototype.isConstant=function(){return\"constant\"===this.value.kind},ha.prototype.constantOr=function(t){return\"constant\"===this.value.kind?this.value.value:t},ha.prototype.evaluate=function(t,e,r,n){return this.property.evaluate(this.value,this.parameters,t,e,r,n)};var fa=function(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues)};fa.prototype.get=function(t){return this._values[t]};var pa=function(t){this.specification=t};pa.prototype.possiblyEvaluate=function(t,e){return t.expression.evaluate(e)},pa.prototype.interpolate=function(t,e,r){var n=Ue[this.specification.type];return n?n(t,e,r):t};var da=function(t,e){this.specification=t,this.overrides=e};da.prototype.possiblyEvaluate=function(t,e,r,n){return new ha(this,\"constant\"===t.expression.kind||\"camera\"===t.expression.kind?{kind:\"constant\",value:t.expression.evaluate(e,null,{},r,n)}:t.expression,e)},da.prototype.interpolate=function(t,e,r){if(\"constant\"!==t.value.kind||\"constant\"!==e.value.kind)return t;if(void 0===t.value.value||void 0===e.value.value)return new ha(this,{kind:\"constant\",value:void 0},t.parameters);var n=Ue[this.specification.type];return n?new ha(this,{kind:\"constant\",value:n(t.value.value,e.value.value,r)},t.parameters):t},da.prototype.evaluate=function(t,e,r,n,a,i){return\"constant\"===t.kind?t.value:t.evaluate(e,r,n,a,i)};var ga=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.possiblyEvaluate=function(t,e,r,n){if(void 0===t.value)return new ha(this,{kind:\"constant\",value:void 0},e);if(\"constant\"===t.expression.kind){var a=t.expression.evaluate(e,null,{},r,n),i=\"resolvedImage\"===t.property.specification.type&&\"string\"!=typeof a?a.name:a,o=this._calculate(i,i,i,e);return new ha(this,{kind:\"constant\",value:o},e)}if(\"camera\"===t.expression.kind){var s=this._calculate(t.expression.evaluate({zoom:e.zoom-1}),t.expression.evaluate({zoom:e.zoom}),t.expression.evaluate({zoom:e.zoom+1}),e);return new ha(this,{kind:\"constant\",value:s},e)}return new ha(this,t.expression,e)},e.prototype.evaluate=function(t,e,r,n,a,i){if(\"source\"===t.kind){var o=t.evaluate(e,r,n,a,i);return this._calculate(o,o,o,e)}return\"composite\"===t.kind?this._calculate(t.evaluate({zoom:Math.floor(e.zoom)-1},r,n),t.evaluate({zoom:Math.floor(e.zoom)},r,n),t.evaluate({zoom:Math.floor(e.zoom)+1},r,n),e):t.value},e.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},e.prototype.interpolate=function(t){return t},e}(da),ma=function(t){this.specification=t};ma.prototype.possiblyEvaluate=function(t,e,r,n){if(void 0!==t.value){if(\"constant\"===t.expression.kind){var a=t.expression.evaluate(e,null,{},r,n);return this._calculate(a,a,a,e)}return this._calculate(t.expression.evaluate(new aa(Math.floor(e.zoom-1),e)),t.expression.evaluate(new aa(Math.floor(e.zoom),e)),t.expression.evaluate(new aa(Math.floor(e.zoom+1),e)),e)}},ma.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},ma.prototype.interpolate=function(t){return t};var va=function(t){this.specification=t};va.prototype.possiblyEvaluate=function(t,e,r,n){return!!t.expression.evaluate(e,null,{},r,n)},va.prototype.interpolate=function(){return!1};var ya=function(t){for(var e in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],t){var r=t[e];r.specification.overridable&&this.overridableProperties.push(e);var n=this.defaultPropertyValues[e]=new ia(r,void 0),a=this.defaultTransitionablePropertyValues[e]=new oa(r);this.defaultTransitioningPropertyValues[e]=a.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({})}};Dn(\"DataDrivenProperty\",da),Dn(\"DataConstantProperty\",pa),Dn(\"CrossFadedDataDrivenProperty\",ga),Dn(\"CrossFadedProperty\",ma),Dn(\"ColorRampProperty\",va);var xa=function(t){function e(e,r){if(t.call(this),this.id=e.id,this.type=e.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},\"custom\"!==e.type&&(this.metadata=(e=e).metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,\"background\"!==e.type&&(this.source=e.source,this.sourceLayer=e[\"source-layer\"],this.filter=e.filter),r.layout&&(this._unevaluatedLayout=new ua(r.layout)),r.paint)){for(var n in this._transitionablePaint=new sa(r.paint),e.paint)this.setPaintProperty(n,e.paint[n],{validate:!1});for(var a in e.layout)this.setLayoutProperty(a,e.layout[a],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new fa(r.paint)}}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},e.prototype.getLayoutProperty=function(t){return\"visibility\"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){void 0===r&&(r={}),null!=e&&this._validate(En,\"layers.\"+this.id+\".layout.\"+t,t,e,r)||(\"visibility\"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e)},e.prototype.getPaintProperty=function(t){return m(t,\"-transition\")?this._transitionablePaint.getTransition(t.slice(0,-\"-transition\".length)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e&&this._validate(Sn,\"layers.\"+this.id+\".paint.\"+t,t,e,r))return!1;if(m(t,\"-transition\"))return this._transitionablePaint.setTransition(t.slice(0,-\"-transition\".length),e||void 0),!1;var n=this._transitionablePaint._values[t],a=\"cross-faded-data-driven\"===n.property.specification[\"property-type\"],i=n.value.isDataDriven(),o=n.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);var s=this._transitionablePaint._values[t].value;return s.isDataDriven()||i||a||this._handleOverridablePaintPropertyUpdate(t,o,s)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){},e.prototype._handleOverridablePaintPropertyUpdate=function(t,e,r){return!1},e.prototype.isHidden=function(t){return!!(this.minzoom&&t<this.minzoom)||!!(this.maxzoom&&t>=this.maxzoom)||\"none\"===this.visibility},e.prototype.updateTransitions=function(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)},e.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},e.prototype.recalculate=function(t,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e)},e.prototype.serialize=function(){var t={id:this.id,type:this.type,source:this.source,\"source-layer\":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),y(t,(function(t,e){return!(void 0===t||\"layout\"===e&&!Object.keys(t).length||\"paint\"===e&&!Object.keys(t).length)}))},e.prototype._validate=function(t,e,r,n,a){return void 0===a&&(a={}),(!a||!1!==a.validate)&&Cn(this,t.call(An,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:Mt,style:{glyphs:!0,sprite:!0}}))},e.prototype.is3D=function(){return!1},e.prototype.isTileClipped=function(){return!1},e.prototype.hasOffscreenPass=function(){return!1},e.prototype.resize=function(){},e.prototype.isStateDependent=function(){for(var t in this.paint._values){var e=this.paint.get(t);if(e instanceof ha&&Lr(e.property.specification)&&(\"source\"===e.value.kind||\"composite\"===e.value.kind)&&e.value.isStateDependent)return!0}return!1},e}(At),ba={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},_a=function(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},wa=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};function Ta(t,e){void 0===e&&(e=1);var r=0,n=0;return{members:t.map((function(t){var a=ba[t.type].BYTES_PER_ELEMENT,i=r=ka(r,Math.max(e,a)),o=t.components||1;return n=Math.max(n,a),r+=a*o,{name:t.name,type:t.type,components:o,offset:i}})),size:ka(r,Math.max(n,e)),alignment:e}}function ka(t,e){return Math.ceil(t/e)*e}wa.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},wa.deserialize=function(t){var e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e},wa.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},wa.prototype.clear=function(){this.length=0},wa.prototype.resize=function(t){this.reserve(t),this.length=t},wa.prototype.reserve=function(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},wa.prototype._refreshViews=function(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")};var Aa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t},e}(wa);Aa.prototype.bytesPerElement=4,Dn(\"StructArrayLayout2i4\",Aa);var Ma=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,a){var i=4*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,this.int16[i+3]=a,t},e}(wa);Ma.prototype.bytesPerElement=8,Dn(\"StructArrayLayout4i8\",Ma);var Sa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,a,i)},e.prototype.emplace=function(t,e,r,n,a,i,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=a,this.int16[s+4]=i,this.int16[s+5]=o,t},e}(wa);Sa.prototype.bytesPerElement=12,Dn(\"StructArrayLayout2i4i12\",Sa);var Ea=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,a,i)},e.prototype.emplace=function(t,e,r,n,a,i,o){var s=4*t,l=8*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=a,this.uint8[l+6]=i,this.uint8[l+7]=o,t},e}(wa);Ea.prototype.bytesPerElement=8,Dn(\"StructArrayLayout2i4ub8\",Ea);var Ca=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i,o,s,l,c){var u=this.length;return this.resize(u+1),this.emplace(u,t,e,r,n,a,i,o,s,l,c)},e.prototype.emplace=function(t,e,r,n,a,i,o,s,l,c,u){var h=9*t,f=18*t;return this.uint16[h+0]=e,this.uint16[h+1]=r,this.uint16[h+2]=n,this.uint16[h+3]=a,this.uint16[h+4]=i,this.uint16[h+5]=o,this.uint16[h+6]=s,this.uint16[h+7]=l,this.uint8[f+16]=c,this.uint8[f+17]=u,t},e}(wa);Ca.prototype.bytesPerElement=18,Dn(\"StructArrayLayout8ui2ub18\",Ca);var La=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i,o,s,l,c,u,h){var f=this.length;return this.resize(f+1),this.emplace(f,t,e,r,n,a,i,o,s,l,c,u,h)},e.prototype.emplace=function(t,e,r,n,a,i,o,s,l,c,u,h,f){var p=12*t;return this.int16[p+0]=e,this.int16[p+1]=r,this.int16[p+2]=n,this.int16[p+3]=a,this.uint16[p+4]=i,this.uint16[p+5]=o,this.uint16[p+6]=s,this.uint16[p+7]=l,this.int16[p+8]=c,this.int16[p+9]=u,this.int16[p+10]=h,this.int16[p+11]=f,t},e}(wa);La.prototype.bytesPerElement=24,Dn(\"StructArrayLayout4i4ui4i24\",La);var Pa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var a=3*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,t},e}(wa);Pa.prototype.bytesPerElement=12,Dn(\"StructArrayLayout3f12\",Pa);var Ia=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){return this.uint32[1*t+0]=e,t},e}(wa);Ia.prototype.bytesPerElement=4,Dn(\"StructArrayLayout1ul4\",Ia);var za=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i,o,s,l){var c=this.length;return this.resize(c+1),this.emplace(c,t,e,r,n,a,i,o,s,l)},e.prototype.emplace=function(t,e,r,n,a,i,o,s,l,c){var u=10*t,h=5*t;return this.int16[u+0]=e,this.int16[u+1]=r,this.int16[u+2]=n,this.int16[u+3]=a,this.int16[u+4]=i,this.int16[u+5]=o,this.uint32[h+3]=s,this.uint16[u+8]=l,this.uint16[u+9]=c,t},e}(wa);za.prototype.bytesPerElement=20,Dn(\"StructArrayLayout6i1ul2ui20\",za);var Oa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,a,i)},e.prototype.emplace=function(t,e,r,n,a,i,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=a,this.int16[s+4]=i,this.int16[s+5]=o,t},e}(wa);Oa.prototype.bytesPerElement=12,Dn(\"StructArrayLayout2i2i2i12\",Oa);var Da=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n,a)},e.prototype.emplace=function(t,e,r,n,a,i){var o=4*t,s=8*t;return this.float32[o+0]=e,this.float32[o+1]=r,this.float32[o+2]=n,this.int16[s+6]=a,this.int16[s+7]=i,t},e}(wa);Da.prototype.bytesPerElement=16,Dn(\"StructArrayLayout2f1f2i16\",Da);var Ra=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,a){var i=12*t,o=3*t;return this.uint8[i+0]=e,this.uint8[i+1]=r,this.float32[o+1]=n,this.float32[o+2]=a,t},e}(wa);Ra.prototype.bytesPerElement=12,Dn(\"StructArrayLayout2ub2f12\",Ra);var Fa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var a=3*t;return this.uint16[a+0]=e,this.uint16[a+1]=r,this.uint16[a+2]=n,t},e}(wa);Fa.prototype.bytesPerElement=6,Dn(\"StructArrayLayout3ui6\",Fa);var Ba=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,m){var v=this.length;return this.resize(v+1),this.emplace(v,t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,m)},e.prototype.emplace=function(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,m,v){var y=24*t,x=12*t,b=48*t;return this.int16[y+0]=e,this.int16[y+1]=r,this.uint16[y+2]=n,this.uint16[y+3]=a,this.uint32[x+2]=i,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[y+10]=l,this.uint16[y+11]=c,this.uint16[y+12]=u,this.float32[x+7]=h,this.float32[x+8]=f,this.uint8[b+36]=p,this.uint8[b+37]=d,this.uint8[b+38]=g,this.uint32[x+10]=m,this.int16[y+22]=v,t},e}(wa);Ba.prototype.bytesPerElement=48,Dn(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",Ba);var Na=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,m,v,y,x,b,_,w,T,k,A,M,S){var E=this.length;return this.resize(E+1),this.emplace(E,t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,m,v,y,x,b,_,w,T,k,A,M,S)},e.prototype.emplace=function(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,m,v,y,x,b,_,w,T,k,A,M,S,E){var C=34*t,L=17*t;return this.int16[C+0]=e,this.int16[C+1]=r,this.int16[C+2]=n,this.int16[C+3]=a,this.int16[C+4]=i,this.int16[C+5]=o,this.int16[C+6]=s,this.int16[C+7]=l,this.uint16[C+8]=c,this.uint16[C+9]=u,this.uint16[C+10]=h,this.uint16[C+11]=f,this.uint16[C+12]=p,this.uint16[C+13]=d,this.uint16[C+14]=g,this.uint16[C+15]=m,this.uint16[C+16]=v,this.uint16[C+17]=y,this.uint16[C+18]=x,this.uint16[C+19]=b,this.uint16[C+20]=_,this.uint16[C+21]=w,this.uint16[C+22]=T,this.uint32[L+12]=k,this.float32[L+13]=A,this.float32[L+14]=M,this.float32[L+15]=S,this.float32[L+16]=E,t},e}(wa);Na.prototype.bytesPerElement=68,Dn(\"StructArrayLayout8i15ui1ul4f68\",Na);var ja=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){return this.float32[1*t+0]=e,t},e}(wa);ja.prototype.bytesPerElement=4,Dn(\"StructArrayLayout1f4\",ja);var Va=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var a=3*t;return this.int16[a+0]=e,this.int16[a+1]=r,this.int16[a+2]=n,t},e}(wa);Va.prototype.bytesPerElement=6,Dn(\"StructArrayLayout3i6\",Va);var Ua=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var a=4*t;return this.uint32[2*t+0]=e,this.uint16[a+2]=r,this.uint16[a+3]=n,t},e}(wa);Ua.prototype.bytesPerElement=8,Dn(\"StructArrayLayout1ul2ui8\",Ua);var qa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t},e}(wa);qa.prototype.bytesPerElement=4,Dn(\"StructArrayLayout2ui4\",qa);var Ha=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){return this.uint16[1*t+0]=e,t},e}(wa);Ha.prototype.bytesPerElement=2,Dn(\"StructArrayLayout1ui2\",Ha);var Ga=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t},e}(wa);Ga.prototype.bytesPerElement=8,Dn(\"StructArrayLayout2f8\",Ga);var Ya=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,a){var i=4*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,this.float32[i+3]=a,t},e}(wa);Ya.prototype.bytesPerElement=16,Dn(\"StructArrayLayout4f16\",Ya);var Wa=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},anchorPoint:{configurable:!0}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.anchorPoint.get=function(){return new a(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}(_a);Wa.prototype.size=20;var Za=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.get=function(t){return new Wa(this,t)},e}(za);Dn(\"CollisionBoxArray\",Za);var Xa=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0},associatedIconIndex:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},r.placedOrientation.set=function(t){this._structArray.uint8[this._pos1+37]=t},r.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+38]=t},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+10]=t},r.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(e.prototype,r),e}(_a);Xa.prototype.size=48;var Ja=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.get=function(t){return new Xa(this,t)},e}(Ba);Dn(\"PlacedSymbolArray\",Ja);var Ka=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},placedIconSymbolIndex:{configurable:!0},verticalPlacedIconSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},verticalIconBoxStartIndex:{configurable:!0},verticalIconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},numVerticalIconVertices:{configurable:!0},useRuntimeCollisionCircles:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},textOffset0:{configurable:!0},textOffset1:{configurable:!0},collisionCircleDiameter:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},r.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},r.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},r.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},r.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},r.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},r.key.get=function(){return this._structArray.uint16[this._pos2+8]},r.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},r.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},r.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},r.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},r.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},r.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},r.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},r.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},r.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},r.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},r.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},r.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},r.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+12]=t},r.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},r.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},r.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},r.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(e.prototype,r),e}(_a);Ka.prototype.size=68;var Qa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.get=function(t){return new Ka(this,t)},e}(Na);Dn(\"SymbolInstanceArray\",Qa);var $a=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getoffsetX=function(t){return this.float32[1*t+0]},e}(ja);Dn(\"GlyphOffsetArray\",$a);var ti=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getx=function(t){return this.int16[3*t+0]},e.prototype.gety=function(t){return this.int16[3*t+1]},e.prototype.gettileUnitDistanceFromAnchor=function(t){return this.int16[3*t+2]},e}(Va);Dn(\"SymbolLineVertexArray\",ti);var ei=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(e.prototype,r),e}(_a);ei.prototype.size=8;var ri=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.get=function(t){return new ei(this,t)},e}(Ua);Dn(\"FeatureIndexArray\",ri);var ni=Ta([{name:\"a_pos\",components:2,type:\"Int16\"}],4).members,ai=function(t){void 0===t&&(t=[]),this.segments=t};function ii(t,e){return 256*(t=l(Math.floor(t),0,255))+l(Math.floor(e),0,255)}ai.prototype.prepareSegment=function(t,e,r,n){var a=this.segments[this.segments.length-1];return t>ai.MAX_VERTEX_ARRAY_LENGTH&&_(\"Max vertices per segment is \"+ai.MAX_VERTEX_ARRAY_LENGTH+\": bucket requested \"+t),(!a||a.vertexLength+t>ai.MAX_VERTEX_ARRAY_LENGTH||a.sortKey!==n)&&(a={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(a.sortKey=n),this.segments.push(a)),a},ai.prototype.get=function(){return this.segments},ai.prototype.destroy=function(){for(var t=0,e=this.segments;t<e.length;t+=1){var r=e[t];for(var n in r.vaos)r.vaos[n].destroy()}},ai.simpleSegment=function(t,e,r,n){return new ai([{vertexOffset:t,primitiveOffset:e,vertexLength:r,primitiveLength:n,vaos:{},sortKey:0}])},ai.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Dn(\"SegmentVector\",ai);var oi=Ta([{name:\"a_pattern_from\",components:4,type:\"Uint16\"},{name:\"a_pattern_to\",components:4,type:\"Uint16\"},{name:\"a_pixel_ratio_from\",components:1,type:\"Uint8\"},{name:\"a_pixel_ratio_to\",components:1,type:\"Uint8\"}]),si=e((function(t){t.exports=function(t,e){var r,n,a,i,o,s,l,c;for(n=t.length-(r=3&t.length),a=e,o=3432918353,s=461845907,c=0;c<n;)l=255&t.charCodeAt(c)|(255&t.charCodeAt(++c))<<8|(255&t.charCodeAt(++c))<<16|(255&t.charCodeAt(++c))<<24,++c,a=27492+(65535&(i=5*(65535&(a=(a^=l=(65535&(l=(l=(65535&l)*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|a>>>19))+((5*(a>>>16)&65535)<<16)&4294967295))+((58964+(i>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&t.charCodeAt(c+2))<<16;case 2:l^=(255&t.charCodeAt(c+1))<<8;case 1:a^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(c)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return a^=t.length,a=2246822507*(65535&(a^=a>>>16))+((2246822507*(a>>>16)&65535)<<16)&4294967295,a=3266489909*(65535&(a^=a>>>13))+((3266489909*(a>>>16)&65535)<<16)&4294967295,(a^=a>>>16)>>>0}})),li=e((function(t){t.exports=function(t,e){for(var r,n=t.length,a=e^n,i=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(i)|(255&t.charCodeAt(++i))<<8|(255&t.charCodeAt(++i))<<16|(255&t.charCodeAt(++i))<<24))+((1540483477*(r>>>16)&65535)<<16),a=1540483477*(65535&a)+((1540483477*(a>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++i;switch(n){case 3:a^=(255&t.charCodeAt(i+2))<<16;case 2:a^=(255&t.charCodeAt(i+1))<<8;case 1:a=1540483477*(65535&(a^=255&t.charCodeAt(i)))+((1540483477*(a>>>16)&65535)<<16)}return a=1540483477*(65535&(a^=a>>>13))+((1540483477*(a>>>16)&65535)<<16),(a^=a>>>15)>>>0}})),ci=si,ui=li;ci.murmur3=si,ci.murmur2=ui;var hi=function(){this.ids=[],this.positions=[],this.indexed=!1};hi.prototype.add=function(t,e,r,n){this.ids.push(pi(t)),this.positions.push(e,r,n)},hi.prototype.getPositions=function(t){for(var e=pi(t),r=0,n=this.ids.length-1;r<n;){var a=r+n>>1;this.ids[a]>=e?n=a:r=a+1}for(var i=[];this.ids[r]===e;)i.push({index:this.positions[3*r],start:this.positions[3*r+1],end:this.positions[3*r+2]}),r++;return i},hi.serialize=function(t,e){var r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return function t(e,r,n,a){for(;n<a;){for(var i=e[n+a>>1],o=n-1,s=a+1;;){do{o++}while(e[o]<i);do{s--}while(e[s]>i);if(o>=s)break;di(e,o,s),di(r,3*o,3*s),di(r,3*o+1,3*s+1),di(r,3*o+2,3*s+2)}s-n<a-s?(t(e,r,n,s),n=s+1):(t(e,r,s+1,a),a=s)}}(r,n,0,r.length-1),e&&e.push(r.buffer,n.buffer),{ids:r,positions:n}},hi.deserialize=function(t){var e=new hi;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e};var fi=Math.pow(2,53)-1;function pi(t){var e=+t;return!isNaN(e)&&e<=fi?e:ci(String(t))}function di(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}Dn(\"FeaturePositionMap\",hi);var gi=function(t,e){this.gl=t.gl,this.location=e},mi=function(t){function e(e,r){t.call(this,e,r),this.current=0}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){this.current!==t&&(this.current=t,this.gl.uniform1i(this.location,t))},e}(gi),vi=function(t){function e(e,r){t.call(this,e,r),this.current=0}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){this.current!==t&&(this.current=t,this.gl.uniform1f(this.location,t))},e}(gi),yi=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0]}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]||(this.current=t,this.gl.uniform2f(this.location,t[0],t[1]))},e}(gi),xi=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0,0]}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]&&t[2]===this.current[2]||(this.current=t,this.gl.uniform3f(this.location,t[0],t[1],t[2]))},e}(gi),bi=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0,0,0]}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]&&t[2]===this.current[2]&&t[3]===this.current[3]||(this.current=t,this.gl.uniform4f(this.location,t[0],t[1],t[2],t[3]))},e}(gi),_i=function(t){function e(e,r){t.call(this,e,r),this.current=Kt.transparent}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){t.r===this.current.r&&t.g===this.current.g&&t.b===this.current.b&&t.a===this.current.a||(this.current=t,this.gl.uniform4f(this.location,t.r,t.g,t.b,t.a))},e}(gi),wi=new Float32Array(16),Ti=function(t){function e(e,r){t.call(this,e,r),this.current=wi}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){if(t[12]!==this.current[12]||t[0]!==this.current[0])return this.current=t,void this.gl.uniformMatrix4fv(this.location,!1,t);for(var e=1;e<16;e++)if(t[e]!==this.current[e]){this.current=t,this.gl.uniformMatrix4fv(this.location,!1,t);break}},e}(gi);function ki(t){return[ii(255*t.r,255*t.g),ii(255*t.b,255*t.a)]}var Ai=function(t,e,r){this.value=t,this.uniformNames=e.map((function(t){return\"u_\"+t})),this.type=r};Ai.prototype.setUniform=function(t,e,r){t.set(r.constantOr(this.value))},Ai.prototype.getBinding=function(t,e,r){return\"color\"===this.type?new _i(t,e):new vi(t,e)};var Mi=function(t,e){this.uniformNames=e.map((function(t){return\"u_\"+t})),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1};Mi.prototype.setConstantPatternPositions=function(t,e){this.pixelRatioFrom=e.pixelRatio,this.pixelRatioTo=t.pixelRatio,this.patternFrom=e.tlbr,this.patternTo=t.tlbr},Mi.prototype.setUniform=function(t,e,r,n){var a=\"u_pattern_to\"===n?this.patternTo:\"u_pattern_from\"===n?this.patternFrom:\"u_pixel_ratio_to\"===n?this.pixelRatioTo:\"u_pixel_ratio_from\"===n?this.pixelRatioFrom:null;a&&t.set(a)},Mi.prototype.getBinding=function(t,e,r){return\"u_pattern\"===r.substr(0,9)?new bi(t,e):new vi(t,e)};var Si=function(t,e,r,n){this.expression=t,this.type=r,this.maxValue=0,this.paintVertexAttributes=e.map((function(t){return{name:\"a_\"+t,type:\"Float32\",components:\"color\"===r?2:1,offset:0}})),this.paintVertexArray=new n};Si.prototype.populatePaintArray=function(t,e,r,n,a){var i=this.paintVertexArray.length,o=this.expression.evaluate(new aa(0),e,{},n,[],a);this.paintVertexArray.resize(t),this._setPaintValue(i,t,o)},Si.prototype.updatePaintArray=function(t,e,r,n){var a=this.expression.evaluate({zoom:0},r,n);this._setPaintValue(t,e,a)},Si.prototype._setPaintValue=function(t,e,r){if(\"color\"===this.type)for(var n=ki(r),a=t;a<e;a++)this.paintVertexArray.emplace(a,n[0],n[1]);else{for(var i=t;i<e;i++)this.paintVertexArray.emplace(i,r);this.maxValue=Math.max(this.maxValue,Math.abs(r))}},Si.prototype.upload=function(t){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))},Si.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()};var Ei=function(t,e,r,n,a,i){this.expression=t,this.uniformNames=e.map((function(t){return\"u_\"+t+\"_t\"})),this.type=r,this.useIntegerZoom=n,this.zoom=a,this.maxValue=0,this.paintVertexAttributes=e.map((function(t){return{name:\"a_\"+t,type:\"Float32\",components:\"color\"===r?4:2,offset:0}})),this.paintVertexArray=new i};Ei.prototype.populatePaintArray=function(t,e,r,n,a){var i=this.expression.evaluate(new aa(this.zoom),e,{},n,[],a),o=this.expression.evaluate(new aa(this.zoom+1),e,{},n,[],a),s=this.paintVertexArray.length;this.paintVertexArray.resize(t),this._setPaintValue(s,t,i,o)},Ei.prototype.updatePaintArray=function(t,e,r,n){var a=this.expression.evaluate({zoom:this.zoom},r,n),i=this.expression.evaluate({zoom:this.zoom+1},r,n);this._setPaintValue(t,e,a,i)},Ei.prototype._setPaintValue=function(t,e,r,n){if(\"color\"===this.type)for(var a=ki(r),i=ki(n),o=t;o<e;o++)this.paintVertexArray.emplace(o,a[0],a[1],i[0],i[1]);else{for(var s=t;s<e;s++)this.paintVertexArray.emplace(s,r,n);this.maxValue=Math.max(this.maxValue,Math.abs(r),Math.abs(n))}},Ei.prototype.upload=function(t){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))},Ei.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},Ei.prototype.setUniform=function(t,e){var r=this.useIntegerZoom?Math.floor(e.zoom):e.zoom,n=l(this.expression.interpolationFactor(r,this.zoom,this.zoom+1),0,1);t.set(n)},Ei.prototype.getBinding=function(t,e,r){return new vi(t,e)};var Ci=function(t,e,r,n,a,i){this.expression=t,this.type=e,this.useIntegerZoom=r,this.zoom=n,this.layerId=i,this.zoomInPaintVertexArray=new a,this.zoomOutPaintVertexArray=new a};Ci.prototype.populatePaintArray=function(t,e,r){var n=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(t),this.zoomOutPaintVertexArray.resize(t),this._setPaintValues(n,t,e.patterns&&e.patterns[this.layerId],r)},Ci.prototype.updatePaintArray=function(t,e,r,n,a){this._setPaintValues(t,e,r.patterns&&r.patterns[this.layerId],a)},Ci.prototype._setPaintValues=function(t,e,r,n){if(n&&r){var a=n[r.min],i=n[r.mid],o=n[r.max];if(a&&i&&o)for(var s=t;s<e;s++)this.zoomInPaintVertexArray.emplace(s,i.tl[0],i.tl[1],i.br[0],i.br[1],a.tl[0],a.tl[1],a.br[0],a.br[1],i.pixelRatio,a.pixelRatio),this.zoomOutPaintVertexArray.emplace(s,i.tl[0],i.tl[1],i.br[0],i.br[1],o.tl[0],o.tl[1],o.br[0],o.br[1],i.pixelRatio,o.pixelRatio)}},Ci.prototype.upload=function(t){this.zoomInPaintVertexArray&&this.zoomInPaintVertexArray.arrayBuffer&&this.zoomOutPaintVertexArray&&this.zoomOutPaintVertexArray.arrayBuffer&&(this.zoomInPaintVertexBuffer=t.createVertexBuffer(this.zoomInPaintVertexArray,oi.members,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=t.createVertexBuffer(this.zoomOutPaintVertexArray,oi.members,this.expression.isStateDependent))},Ci.prototype.destroy=function(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy(),this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy()};var Li=function(t,e,r,n){this.binders={},this.layoutAttributes=n,this._buffers=[];var a=[];for(var i in t.paint._values)if(r(i)){var o=t.paint.get(i);if(o instanceof ha&&Lr(o.property.specification)){var s=Ii(i,t.type),l=o.value,c=o.property.specification.type,u=o.property.useIntegerZoom,h=o.property.specification[\"property-type\"],f=\"cross-faded\"===h||\"cross-faded-data-driven\"===h;if(\"constant\"===l.kind)this.binders[i]=f?new Mi(l.value,s):new Ai(l.value,s,c),a.push(\"/u_\"+i);else if(\"source\"===l.kind||f){var p=zi(i,c,\"source\");this.binders[i]=f?new Ci(l,c,u,e,p,t.id):new Si(l,s,c,p),a.push(\"/a_\"+i)}else{var d=zi(i,c,\"composite\");this.binders[i]=new Ei(l,s,c,u,e,d),a.push(\"/z_\"+i)}}}this.cacheKey=a.sort().join(\"\")};Li.prototype.getMaxValue=function(t){var e=this.binders[t];return e instanceof Si||e instanceof Ei?e.maxValue:0},Li.prototype.populatePaintArrays=function(t,e,r,n,a){for(var i in this.binders){var o=this.binders[i];(o instanceof Si||o instanceof Ei||o instanceof Ci)&&o.populatePaintArray(t,e,r,n,a)}},Li.prototype.setConstantPatternPositions=function(t,e){for(var r in this.binders){var n=this.binders[r];n instanceof Mi&&n.setConstantPatternPositions(t,e)}},Li.prototype.updatePaintArrays=function(t,e,r,n,a){var i=!1;for(var o in t)for(var s=0,l=e.getPositions(o);s<l.length;s+=1){var c=l[s],u=r.feature(c.index);for(var h in this.binders){var f=this.binders[h];if((f instanceof Si||f instanceof Ei||f instanceof Ci)&&!0===f.expression.isStateDependent){var p=n.paint.get(h);f.expression=p.value,f.updatePaintArray(c.start,c.end,u,t[o],a),i=!0}}}return i},Li.prototype.defines=function(){var t=[];for(var e in this.binders){var r=this.binders[e];(r instanceof Ai||r instanceof Mi)&&t.push.apply(t,r.uniformNames.map((function(t){return\"#define HAS_UNIFORM_\"+t})))}return t},Li.prototype.getPaintVertexBuffers=function(){return this._buffers},Li.prototype.getUniforms=function(t,e){var r=[];for(var n in this.binders){var a=this.binders[n];if(a instanceof Ai||a instanceof Mi||a instanceof Ei)for(var i=0,o=a.uniformNames;i<o.length;i+=1){var s=o[i];if(e[s]){var l=a.getBinding(t,e[s],s);r.push({name:s,property:n,binding:l})}}}return r},Li.prototype.setUniforms=function(t,e,r,n){for(var a=0,i=e;a<i.length;a+=1){var o=i[a],s=o.name,l=o.property;this.binders[l].setUniform(o.binding,n,r.get(l),s)}},Li.prototype.updatePaintBuffers=function(t){for(var e in this._buffers=[],this.binders){var r=this.binders[e];if(t&&r instanceof Ci){var n=2===t.fromScale?r.zoomInPaintVertexBuffer:r.zoomOutPaintVertexBuffer;n&&this._buffers.push(n)}else(r instanceof Si||r instanceof Ei)&&r.paintVertexBuffer&&this._buffers.push(r.paintVertexBuffer)}},Li.prototype.upload=function(t){for(var e in this.binders){var r=this.binders[e];(r instanceof Si||r instanceof Ei||r instanceof Ci)&&r.upload(t)}this.updatePaintBuffers()},Li.prototype.destroy=function(){for(var t in this.binders){var e=this.binders[t];(e instanceof Si||e instanceof Ei||e instanceof Ci)&&e.destroy()}};var Pi=function(t,e,r,n){void 0===n&&(n=function(){return!0}),this.programConfigurations={};for(var a=0,i=e;a<i.length;a+=1){var o=i[a];this.programConfigurations[o.id]=new Li(o,r,n,t)}this.needsUpload=!1,this._featureMap=new hi,this._bufferOffset=0};function Ii(t,e){return{\"text-opacity\":[\"opacity\"],\"icon-opacity\":[\"opacity\"],\"text-color\":[\"fill_color\"],\"icon-color\":[\"fill_color\"],\"text-halo-color\":[\"halo_color\"],\"icon-halo-color\":[\"halo_color\"],\"text-halo-blur\":[\"halo_blur\"],\"icon-halo-blur\":[\"halo_blur\"],\"text-halo-width\":[\"halo_width\"],\"icon-halo-width\":[\"halo_width\"],\"line-gap-width\":[\"gapwidth\"],\"line-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-extrusion-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"]}[t]||[t.replace(e+\"-\",\"\").replace(/-/g,\"_\")]}function zi(t,e,r){var n={color:{source:Ga,composite:Ya},number:{source:ja,composite:Ga}},a=function(t){return{\"line-pattern\":{source:Ca,composite:Ca},\"fill-pattern\":{source:Ca,composite:Ca},\"fill-extrusion-pattern\":{source:Ca,composite:Ca}}[t]}(t);return a&&a[r]||n[e][r]}Pi.prototype.populatePaintArrays=function(t,e,r,n,a,i){for(var o in this.programConfigurations)this.programConfigurations[o].populatePaintArrays(t,e,n,a,i);void 0!==e.id&&this._featureMap.add(e.id,r,this._bufferOffset,t),this._bufferOffset=t,this.needsUpload=!0},Pi.prototype.updatePaintArrays=function(t,e,r,n){for(var a=0,i=r;a<i.length;a+=1){var o=i[a];this.needsUpload=this.programConfigurations[o.id].updatePaintArrays(t,this._featureMap,e,o,n)||this.needsUpload}},Pi.prototype.get=function(t){return this.programConfigurations[t]},Pi.prototype.upload=function(t){if(this.needsUpload){for(var e in this.programConfigurations)this.programConfigurations[e].upload(t);this.needsUpload=!1}},Pi.prototype.destroy=function(){for(var t in this.programConfigurations)this.programConfigurations[t].destroy()},Dn(\"ConstantBinder\",Ai),Dn(\"CrossFadedConstantBinder\",Mi),Dn(\"SourceExpressionBinder\",Si),Dn(\"CrossFadedCompositeBinder\",Ci),Dn(\"CompositeExpressionBinder\",Ei),Dn(\"ProgramConfiguration\",Li,{omit:[\"_buffers\"]}),Dn(\"ProgramConfigurationSet\",Pi);var Oi={min:-1*Math.pow(2,14),max:Math.pow(2,14)-1};function Di(t){for(var e=8192/t.extent,r=t.loadGeometry(),n=0;n<r.length;n++)for(var a=r[n],i=0;i<a.length;i++){var o=a[i];o.x=Math.round(o.x*e),o.y=Math.round(o.y*e),(o.x<Oi.min||o.x>Oi.max||o.y<Oi.min||o.y>Oi.max)&&(_(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\"),o.x=l(o.x,Oi.min,Oi.max),o.y=l(o.y,Oi.min,Oi.max))}return r}function Ri(t,e,r,n,a){t.emplaceBack(2*e+(n+1)/2,2*r+(a+1)/2)}var Fi=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new Aa,this.indexArray=new Fa,this.segments=new ai,this.programConfigurations=new Pi(ni,t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function Bi(t,e){for(var r=0;r<t.length;r++)if(Wi(e,t[r]))return!0;for(var n=0;n<e.length;n++)if(Wi(t,e[n]))return!0;return!!Ui(t,e)}function Ni(t,e,r){return!!Wi(t,e)||!!Hi(e,t,r)}function ji(t,e){if(1===t.length)return Yi(e,t[0]);for(var r=0;r<e.length;r++)for(var n=e[r],a=0;a<n.length;a++)if(Wi(t,n[a]))return!0;for(var i=0;i<t.length;i++)if(Yi(e,t[i]))return!0;for(var o=0;o<e.length;o++)if(Ui(t,e[o]))return!0;return!1}function Vi(t,e,r){if(t.length>1){if(Ui(t,e))return!0;for(var n=0;n<e.length;n++)if(Hi(e[n],t,r))return!0}for(var a=0;a<t.length;a++)if(Hi(t[a],e,r))return!0;return!1}function Ui(t,e){if(0===t.length||0===e.length)return!1;for(var r=0;r<t.length-1;r++)for(var n=t[r],a=t[r+1],i=0;i<e.length-1;i++)if(qi(n,a,e[i],e[i+1]))return!0;return!1}function qi(t,e,r,n){return w(t,r,n)!==w(e,r,n)&&w(t,e,r)!==w(t,e,n)}function Hi(t,e,r){var n=r*r;if(1===e.length)return t.distSqr(e[0])<n;for(var a=1;a<e.length;a++)if(Gi(t,e[a-1],e[a])<n)return!0;return!1}function Gi(t,e,r){var n=e.distSqr(r);if(0===n)return t.distSqr(e);var a=((t.x-e.x)*(r.x-e.x)+(t.y-e.y)*(r.y-e.y))/n;return t.distSqr(a<0?e:a>1?r:r.sub(e)._mult(a)._add(e))}function Yi(t,e){for(var r,n,a,i=!1,o=0;o<t.length;o++)for(var s=0,l=(r=t[o]).length-1;s<r.length;l=s++)(n=r[s]).y>e.y!=(a=r[l]).y>e.y&&e.x<(a.x-n.x)*(e.y-n.y)/(a.y-n.y)+n.x&&(i=!i);return i}function Wi(t,e){for(var r=!1,n=0,a=t.length-1;n<t.length;a=n++){var i=t[n],o=t[a];i.y>e.y!=o.y>e.y&&e.x<(o.x-i.x)*(e.y-i.y)/(o.y-i.y)+i.x&&(r=!r)}return r}function Zi(t,e,r){var n=r[0],a=r[2];if(t.x<n.x&&e.x<n.x||t.x>a.x&&e.x>a.x||t.y<n.y&&e.y<n.y||t.y>a.y&&e.y>a.y)return!1;var i=w(t,e,r[0]);return i!==w(t,e,r[1])||i!==w(t,e,r[2])||i!==w(t,e,r[3])}function Xi(t,e,r){var n=e.paint.get(t).value;return\"constant\"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function Ji(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function Ki(t,e,r,n,i){if(!e[0]&&!e[1])return t;var o=a.convert(e)._mult(i);\"viewport\"===r&&o._rotate(-n);for(var s=[],l=0;l<t.length;l++)s.push(t[l].sub(o));return s}Fi.prototype.populate=function(t,e,r){var n=this.layers[0],a=[],i=null;\"circle\"===n.type&&(i=n.layout.get(\"circle-sort-key\"));for(var o=0,s=t;o<s.length;o+=1){var l=s[o],c=l.feature,u=l.id,h=l.index,f=l.sourceLayerIndex,p=this.layers[0]._featureFilter.needGeometry,d={type:c.type,id:u,properties:c.properties,geometry:p?Di(c):[]};if(this.layers[0]._featureFilter.filter(new aa(this.zoom),d,r)){p||(d.geometry=Di(c));var g=i?i.evaluate(d,{},r):void 0;a.push({id:u,properties:c.properties,type:c.type,sourceLayerIndex:f,index:h,geometry:d.geometry,patterns:{},sortKey:g})}}i&&a.sort((function(t,e){return t.sortKey-e.sortKey}));for(var m=0,v=a;m<v.length;m+=1){var y=v[m],x=y.geometry,b=y.index,_=y.sourceLayerIndex,w=t[b].feature;this.addFeature(y,x,b,r),e.featureIndex.insert(w,x,b,_,this.index)}},Fi.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)},Fi.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},Fi.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},Fi.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,ni),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0},Fi.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},Fi.prototype.addFeature=function(t,e,r,n){for(var a=0,i=e;a<i.length;a+=1)for(var o=0,s=i[a];o<s.length;o+=1){var l=s[o],c=l.x,u=l.y;if(!(c<0||c>=8192||u<0||u>=8192)){var h=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),f=h.vertexLength;Ri(this.layoutVertexArray,c,u,-1,-1),Ri(this.layoutVertexArray,c,u,1,-1),Ri(this.layoutVertexArray,c,u,1,1),Ri(this.layoutVertexArray,c,u,-1,1),this.indexArray.emplaceBack(f,f+1,f+2),this.indexArray.emplaceBack(f,f+3,f+2),h.vertexLength+=4,h.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n)},Dn(\"CircleBucket\",Fi,{omit:[\"layers\"]});var Qi=new ya({\"circle-sort-key\":new da(Mt.layout_circle[\"circle-sort-key\"])}),$i={paint:new ya({\"circle-radius\":new da(Mt.paint_circle[\"circle-radius\"]),\"circle-color\":new da(Mt.paint_circle[\"circle-color\"]),\"circle-blur\":new da(Mt.paint_circle[\"circle-blur\"]),\"circle-opacity\":new da(Mt.paint_circle[\"circle-opacity\"]),\"circle-translate\":new pa(Mt.paint_circle[\"circle-translate\"]),\"circle-translate-anchor\":new pa(Mt.paint_circle[\"circle-translate-anchor\"]),\"circle-pitch-scale\":new pa(Mt.paint_circle[\"circle-pitch-scale\"]),\"circle-pitch-alignment\":new pa(Mt.paint_circle[\"circle-pitch-alignment\"]),\"circle-stroke-width\":new da(Mt.paint_circle[\"circle-stroke-width\"]),\"circle-stroke-color\":new da(Mt.paint_circle[\"circle-stroke-color\"]),\"circle-stroke-opacity\":new da(Mt.paint_circle[\"circle-stroke-opacity\"])}),layout:Qi},to=\"undefined\"!=typeof Float32Array?Float32Array:Array;function eo(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function ro(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],p=e[10],d=e[11],g=e[12],m=e[13],v=e[14],y=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*h+w*g,t[1]=x*a+b*l+_*f+w*m,t[2]=x*i+b*c+_*p+w*v,t[3]=x*o+b*u+_*d+w*y,t[4]=(x=r[4])*n+(b=r[5])*s+(_=r[6])*h+(w=r[7])*g,t[5]=x*a+b*l+_*f+w*m,t[6]=x*i+b*c+_*p+w*v,t[7]=x*o+b*u+_*d+w*y,t[8]=(x=r[8])*n+(b=r[9])*s+(_=r[10])*h+(w=r[11])*g,t[9]=x*a+b*l+_*f+w*m,t[10]=x*i+b*c+_*p+w*v,t[11]=x*o+b*u+_*d+w*y,t[12]=(x=r[12])*n+(b=r[13])*s+(_=r[14])*h+(w=r[15])*g,t[13]=x*a+b*l+_*f+w*m,t[14]=x*i+b*c+_*p+w*v,t[15]=x*o+b*u+_*d+w*y,t}Math.hypot||(Math.hypot=function(){for(var t=arguments,e=0,r=arguments.length;r--;)e+=t[r]*t[r];return Math.sqrt(e)});var no,ao=ro;function io(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3];return t[0]=r[0]*n+r[4]*a+r[8]*i+r[12]*o,t[1]=r[1]*n+r[5]*a+r[9]*i+r[13]*o,t[2]=r[2]*n+r[6]*a+r[10]*i+r[14]*o,t[3]=r[3]*n+r[7]*a+r[11]*i+r[15]*o,t}no=new to(3),to!=Float32Array&&(no[0]=0,no[1]=0,no[2]=0),function(){var t=new to(4);to!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0)}();var oo=(function(){var t=new to(2);to!=Float32Array&&(t[0]=0,t[1]=0)}(),function(t){function e(e){t.call(this,e,$i)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.createBucket=function(t){return new Fi(t)},e.prototype.queryRadius=function(t){var e=t;return Xi(\"circle-radius\",this,e)+Xi(\"circle-stroke-width\",this,e)+Ji(this.paint.get(\"circle-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,a,i,o,s){for(var l=Ki(t,this.paint.get(\"circle-translate\"),this.paint.get(\"circle-translate-anchor\"),i.angle,o),c=this.paint.get(\"circle-radius\").evaluate(e,r)+this.paint.get(\"circle-stroke-width\").evaluate(e,r),u=\"map\"===this.paint.get(\"circle-pitch-alignment\"),h=u?l:function(t,e){return t.map((function(t){return so(t,e)}))}(l,s),f=u?c*o:c,p=0,d=n;p<d.length;p+=1)for(var g=0,m=d[p];g<m.length;g+=1){var v=m[g],y=u?v:so(v,s),x=f,b=io([],[v.x,v.y,0,1],s);if(\"viewport\"===this.paint.get(\"circle-pitch-scale\")&&\"map\"===this.paint.get(\"circle-pitch-alignment\")?x*=b[3]/i.cameraToCenterDistance:\"map\"===this.paint.get(\"circle-pitch-scale\")&&\"viewport\"===this.paint.get(\"circle-pitch-alignment\")&&(x*=i.cameraToCenterDistance/b[3]),Ni(h,y,x))return!0}return!1},e}(xa));function so(t,e){var r=io([],[t.x,t.y,0,1],e);return new a(r[0]/r[3],r[1]/r[3])}var lo=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(Fi);function co(t,e,r,n){var a=e.width,i=e.height;if(n){if(n instanceof Uint8ClampedArray)n=new Uint8Array(n.buffer);else if(n.length!==a*i*r)throw new RangeError(\"mismatched image size\")}else n=new Uint8Array(a*i*r);return t.width=a,t.height=i,t.data=n,t}function uo(t,e,r){var n=e.width,a=e.height;if(n!==t.width||a!==t.height){var i=co({},{width:n,height:a},r);ho(t,i,{x:0,y:0},{x:0,y:0},{width:Math.min(t.width,n),height:Math.min(t.height,a)},r),t.width=n,t.height=a,t.data=i.data}}function ho(t,e,r,n,a,i){if(0===a.width||0===a.height)return e;if(a.width>t.width||a.height>t.height||r.x>t.width-a.width||r.y>t.height-a.height)throw new RangeError(\"out of range source coordinates for image copy\");if(a.width>e.width||a.height>e.height||n.x>e.width-a.width||n.y>e.height-a.height)throw new RangeError(\"out of range destination coordinates for image copy\");for(var o=t.data,s=e.data,l=0;l<a.height;l++)for(var c=((r.y+l)*t.width+r.x)*i,u=((n.y+l)*e.width+n.x)*i,h=0;h<a.width*i;h++)s[u+h]=o[c+h];return e}Dn(\"HeatmapBucket\",lo,{omit:[\"layers\"]});var fo=function(t,e){co(this,t,1,e)};fo.prototype.resize=function(t){uo(this,t,1)},fo.prototype.clone=function(){return new fo({width:this.width,height:this.height},new Uint8Array(this.data))},fo.copy=function(t,e,r,n,a){ho(t,e,r,n,a,1)};var po=function(t,e){co(this,t,4,e)};po.prototype.resize=function(t){uo(this,t,4)},po.prototype.replace=function(t,e){e?this.data.set(t):this.data=t instanceof Uint8ClampedArray?new Uint8Array(t.buffer):t},po.prototype.clone=function(){return new po({width:this.width,height:this.height},new Uint8Array(this.data))},po.copy=function(t,e,r,n,a){ho(t,e,r,n,a,4)},Dn(\"AlphaImage\",fo),Dn(\"RGBAImage\",po);var go={paint:new ya({\"heatmap-radius\":new da(Mt.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new da(Mt.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new pa(Mt.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new va(Mt.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new pa(Mt.paint_heatmap[\"heatmap-opacity\"])})};function mo(t,e){for(var r=new Uint8Array(1024),n={},a=0,i=0;a<256;a++,i+=4){n[e]=a/255;var o=t.evaluate(n);r[i+0]=Math.floor(255*o.r/o.a),r[i+1]=Math.floor(255*o.g/o.a),r[i+2]=Math.floor(255*o.b/o.a),r[i+3]=Math.floor(255*o.a)}return new po({width:256,height:1},r)}var vo=function(t){function e(e){t.call(this,e,go),this._updateColorRamp()}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.createBucket=function(t){return new lo(t)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){\"heatmap-color\"===t&&this._updateColorRamp()},e.prototype._updateColorRamp=function(){this.colorRamp=mo(this._transitionablePaint._values[\"heatmap-color\"].value.expression,\"heatmapDensity\"),this.colorRampTexture=null},e.prototype.resize=function(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null)},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return!1},e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get(\"heatmap-opacity\")&&\"none\"!==this.visibility},e}(xa),yo={paint:new ya({\"hillshade-illumination-direction\":new pa(Mt.paint_hillshade[\"hillshade-illumination-direction\"]),\"hillshade-illumination-anchor\":new pa(Mt.paint_hillshade[\"hillshade-illumination-anchor\"]),\"hillshade-exaggeration\":new pa(Mt.paint_hillshade[\"hillshade-exaggeration\"]),\"hillshade-shadow-color\":new pa(Mt.paint_hillshade[\"hillshade-shadow-color\"]),\"hillshade-highlight-color\":new pa(Mt.paint_hillshade[\"hillshade-highlight-color\"]),\"hillshade-accent-color\":new pa(Mt.paint_hillshade[\"hillshade-accent-color\"])})},xo=function(t){function e(e){t.call(this,e,yo)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get(\"hillshade-exaggeration\")&&\"none\"!==this.visibility},e}(xa),bo=Ta([{name:\"a_pos\",components:2,type:\"Int16\"}],4).members,_o=To,wo=To;function To(t,e,r){r=r||2;var n,a,i,o,s,l,c,u=e&&e.length,h=u?e[0]*r:t.length,f=ko(t,0,h,r,!0),p=[];if(!f||f.next===f.prev)return p;if(u&&(f=function(t,e,r,n){var a,i,o,s=[];for(a=0,i=e.length;a<i;a++)(o=ko(t,e[a]*n,a<i-1?e[a+1]*n:t.length,n,!1))===o.next&&(o.steiner=!0),s.push(Do(o));for(s.sort(Po),a=0;a<s.length;a++)Io(s[a],r),r=Ao(r,r.next);return r}(t,e,f,r)),t.length>80*r){n=i=t[0],a=o=t[1];for(var d=r;d<h;d+=r)(s=t[d])<n&&(n=s),(l=t[d+1])<a&&(a=l),s>i&&(i=s),l>o&&(o=l);c=0!==(c=Math.max(i-n,o-a))?1/c:0}return Mo(f,p,r,n,a,c),p}function ko(t,e,r,n,a){var i,o;if(a===Zo(t,e,r,n)>0)for(i=e;i<r;i+=n)o=Go(i,t[i],t[i+1],o);else for(i=r-n;i>=e;i-=n)o=Go(i,t[i],t[i+1],o);return o&&No(o,o.next)&&(Yo(o),o=o.next),o}function Ao(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!No(n,n.next)&&0!==Bo(n.prev,n,n.next))n=n.next;else{if(Yo(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function Mo(t,e,r,n,a,i,o){if(t){!o&&i&&function(t,e,r,n){var a=t;do{null===a.z&&(a.z=Oo(a.x,a.y,e,r,n)),a.prevZ=a.prev,a.nextZ=a.next,a=a.next}while(a!==t);a.prevZ.nextZ=null,a.prevZ=null,function(t){var e,r,n,a,i,o,s,l,c=1;do{for(r=t,t=null,i=null,o=0;r;){for(o++,n=r,s=0,e=0;e<c&&(s++,n=n.nextZ);e++);for(l=c;s>0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(a=r,r=r.nextZ,s--):(a=n,n=n.nextZ,l--),i?i.nextZ=a:t=a,a.prevZ=i,i=a;r=n}i.nextZ=null,c*=2}while(o>1)}(a)}(t,n,a,i);for(var s,l,c=t;t.prev!==t.next;)if(s=t.prev,l=t.next,i?Eo(t,n,a,i):So(t))e.push(s.i/r),e.push(t.i/r),e.push(l.i/r),Yo(t),t=l.next,c=l.next;else if((t=l)===c){o?1===o?Mo(t=Co(Ao(t),e,r),e,r,n,a,i,2):2===o&&Lo(t,e,r,n,a,i):Mo(Ao(t),e,r,n,a,i,1);break}}}function So(t){var e=t.prev,r=t,n=t.next;if(Bo(e,r,n)>=0)return!1;for(var a=t.next.next;a!==t.prev;){if(Ro(e.x,e.y,r.x,r.y,n.x,n.y,a.x,a.y)&&Bo(a.prev,a,a.next)>=0)return!1;a=a.next}return!0}function Eo(t,e,r,n){var a=t.prev,i=t,o=t.next;if(Bo(a,i,o)>=0)return!1;for(var s=a.x>i.x?a.x>o.x?a.x:o.x:i.x>o.x?i.x:o.x,l=a.y>i.y?a.y>o.y?a.y:o.y:i.y>o.y?i.y:o.y,c=Oo(a.x<i.x?a.x<o.x?a.x:o.x:i.x<o.x?i.x:o.x,a.y<i.y?a.y<o.y?a.y:o.y:i.y<o.y?i.y:o.y,e,r,n),u=Oo(s,l,e,r,n),h=t.prevZ,f=t.nextZ;h&&h.z>=c&&f&&f.z<=u;){if(h!==t.prev&&h!==t.next&&Ro(a.x,a.y,i.x,i.y,o.x,o.y,h.x,h.y)&&Bo(h.prev,h,h.next)>=0)return!1;if(h=h.prevZ,f!==t.prev&&f!==t.next&&Ro(a.x,a.y,i.x,i.y,o.x,o.y,f.x,f.y)&&Bo(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(;h&&h.z>=c;){if(h!==t.prev&&h!==t.next&&Ro(a.x,a.y,i.x,i.y,o.x,o.y,h.x,h.y)&&Bo(h.prev,h,h.next)>=0)return!1;h=h.prevZ}for(;f&&f.z<=u;){if(f!==t.prev&&f!==t.next&&Ro(a.x,a.y,i.x,i.y,o.x,o.y,f.x,f.y)&&Bo(f.prev,f,f.next)>=0)return!1;f=f.nextZ}return!0}function Co(t,e,r){var n=t;do{var a=n.prev,i=n.next.next;!No(a,i)&&jo(a,n,n.next,i)&&qo(a,i)&&qo(i,a)&&(e.push(a.i/r),e.push(n.i/r),e.push(i.i/r),Yo(n),Yo(n.next),n=t=i),n=n.next}while(n!==t);return Ao(n)}function Lo(t,e,r,n,a,i){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&Fo(o,s)){var l=Ho(o,s);return o=Ao(o,o.next),l=Ao(l,l.next),Mo(o,e,r,n,a,i),void Mo(l,e,r,n,a,i)}s=s.next}o=o.next}while(o!==t)}function Po(t,e){return t.x-e.x}function Io(t,e){if(e=function(t,e){var r,n=e,a=t.x,i=t.y,o=-1/0;do{if(i<=n.y&&i>=n.next.y&&n.next.y!==n.y){var s=n.x+(i-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=a&&s>o){if(o=s,s===a){if(i===n.y)return n;if(i===n.next.y)return n.next}r=n.x<n.next.x?n:n.next}}n=n.next}while(n!==e);if(!r)return null;if(a===o)return r;var l,c=r,u=r.x,h=r.y,f=1/0;n=r;do{a>=n.x&&n.x>=u&&a!==n.x&&Ro(i<h?a:o,i,u,h,i<h?o:a,i,n.x,n.y)&&(l=Math.abs(i-n.y)/(a-n.x),qo(n,t)&&(l<f||l===f&&(n.x>r.x||n.x===r.x&&zo(r,n)))&&(r=n,f=l)),n=n.next}while(n!==c);return r}(t,e)){var r=Ho(e,t);Ao(e,e.next),Ao(r,r.next)}}function zo(t,e){return Bo(t.prev,t,e.prev)<0&&Bo(e.next,t,t.next)<0}function Oo(t,e,r,n,a){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*a)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*a)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Do(t){var e=t,r=t;do{(e.x<r.x||e.x===r.x&&e.y<r.y)&&(r=e),e=e.next}while(e!==t);return r}function Ro(t,e,r,n,a,i,o,s){return(a-o)*(e-s)-(t-o)*(i-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(i-s)-(a-o)*(n-s)>=0}function Fo(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&jo(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(qo(t,e)&&qo(e,t)&&function(t,e){var r=t,n=!1,a=(t.x+e.x)/2,i=(t.y+e.y)/2;do{r.y>i!=r.next.y>i&&r.next.y!==r.y&&a<(r.next.x-r.x)*(i-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(Bo(t.prev,t,e.prev)||Bo(t,e.prev,e))||No(t,e)&&Bo(t.prev,t,t.next)>0&&Bo(e.prev,e,e.next)>0)}function Bo(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function No(t,e){return t.x===e.x&&t.y===e.y}function jo(t,e,r,n){var a=Uo(Bo(t,e,r)),i=Uo(Bo(t,e,n)),o=Uo(Bo(r,n,t)),s=Uo(Bo(r,n,e));return a!==i&&o!==s||!(0!==a||!Vo(t,r,e))||!(0!==i||!Vo(t,n,e))||!(0!==o||!Vo(r,t,n))||!(0!==s||!Vo(r,e,n))}function Vo(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function Uo(t){return t>0?1:t<0?-1:0}function qo(t,e){return Bo(t.prev,t,t.next)<0?Bo(t,e,t.next)>=0&&Bo(t,t.prev,e)>=0:Bo(t,e,t.prev)<0||Bo(t,t.next,e)<0}function Ho(t,e){var r=new Wo(t.i,t.x,t.y),n=new Wo(e.i,e.x,e.y),a=t.next,i=e.prev;return t.next=e,e.prev=t,r.next=a,a.prev=r,n.next=r,r.prev=n,i.next=n,n.prev=i,n}function Go(t,e,r,n){var a=new Wo(t,e,r);return n?(a.next=n.next,a.prev=n,n.next.prev=a,n.next=a):(a.prev=a,a.next=a),a}function Yo(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function Wo(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Zo(t,e,r,n){for(var a=0,i=e,o=r-n;i<r;i+=n)a+=(t[o]-t[i])*(t[i+1]+t[o+1]),o=i;return a}function Xo(t,e,r,n,a){!function t(e,r,n,a,i){for(;a>n;){if(a-n>600){var o=a-n+1,s=r-n+1,l=Math.log(o),c=.5*Math.exp(2*l/3),u=.5*Math.sqrt(l*c*(o-c)/o)*(s-o/2<0?-1:1);t(e,r,Math.max(n,Math.floor(r-s*c/o+u)),Math.min(a,Math.floor(r+(o-s)*c/o+u)),i)}var h=e[r],f=n,p=a;for(Jo(e,n,r),i(e[a],h)>0&&Jo(e,n,a);f<p;){for(Jo(e,f,p),f++,p--;i(e[f],h)<0;)f++;for(;i(e[p],h)>0;)p--}0===i(e[n],h)?Jo(e,n,p):Jo(e,++p,a),p<=r&&(n=p+1),r<=p&&(a=p-1)}}(t,e,r||0,n||t.length-1,a||Ko)}function Jo(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function Ko(t,e){return t<e?-1:t>e?1:0}function Qo(t,e){var r=t.length;if(r<=1)return[t];for(var n,a,i=[],o=0;o<r;o++){var s=T(t[o]);0!==s&&(t[o].area=Math.abs(s),void 0===a&&(a=s<0),a===s<0?(n&&i.push(n),n=[t[o]]):n.push(t[o]))}if(n&&i.push(n),e>1)for(var l=0;l<i.length;l++)i[l].length<=e||(Xo(i[l],e,1,i[l].length-1,$o),i[l]=i[l].slice(0,e));return i}function $o(t,e){return e.area-t.area}function ts(t,e,r){for(var n=r.patternDependencies,a=!1,i=0,o=e;i<o.length;i+=1){var s=o[i].paint.get(t+\"-pattern\");s.isConstant()||(a=!0);var l=s.constantOr(null);l&&(a=!0,n[l.to]=!0,n[l.from]=!0)}return a}function es(t,e,r,n,a){for(var i=a.patternDependencies,o=0,s=e;o<s.length;o+=1){var l=s[o],c=l.paint.get(t+\"-pattern\").value;if(\"constant\"!==c.kind){var u=c.evaluate({zoom:n-1},r,{},a.availableImages),h=c.evaluate({zoom:n},r,{},a.availableImages),f=c.evaluate({zoom:n+1},r,{},a.availableImages);h=h&&h.name?h.name:h,f=f&&f.name?f.name:f,i[u=u&&u.name?u.name:u]=!0,i[h]=!0,i[f]=!0,r.patterns[l.id]={min:u,mid:h,max:f}}}return r}To.deviation=function(t,e,r,n){var a=e&&e.length,i=Math.abs(Zo(t,0,a?e[0]*r:t.length,r));if(a)for(var o=0,s=e.length;o<s;o++)i-=Math.abs(Zo(t,e[o]*r,o<s-1?e[o+1]*r:t.length,r));var l=0;for(o=0;o<n.length;o+=3){var c=n[o]*r,u=n[o+1]*r,h=n[o+2]*r;l+=Math.abs((t[c]-t[h])*(t[u+1]-t[c+1])-(t[c]-t[u])*(t[h+1]-t[c+1]))}return 0===i&&0===l?0:Math.abs((l-i)/i)},To.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,a=0;a<t.length;a++){for(var i=0;i<t[a].length;i++)for(var o=0;o<e;o++)r.vertices.push(t[a][i][o]);a>0&&r.holes.push(n+=t[a-1].length)}return r},_o.default=wo;var rs=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Aa,this.indexArray=new Fa,this.indexArray2=new qa,this.programConfigurations=new Pi(bo,t.layers,t.zoom),this.segments=new ai,this.segments2=new ai,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};rs.prototype.populate=function(t,e,r){this.hasPattern=ts(\"fill\",this.layers,e);for(var n=this.layers[0].layout.get(\"fill-sort-key\"),a=[],i=0,o=t;i<o.length;i+=1){var s=o[i],l=s.feature,c=s.id,u=s.index,h=s.sourceLayerIndex,f=this.layers[0]._featureFilter.needGeometry,p={type:l.type,id:c,properties:l.properties,geometry:f?Di(l):[]};if(this.layers[0]._featureFilter.filter(new aa(this.zoom),p,r)){f||(p.geometry=Di(l));var d=n?n.evaluate(p,{},r,e.availableImages):void 0;a.push({id:c,properties:l.properties,type:l.type,sourceLayerIndex:h,index:u,geometry:p.geometry,patterns:{},sortKey:d})}}n&&a.sort((function(t,e){return t.sortKey-e.sortKey}));for(var g=0,m=a;g<m.length;g+=1){var v=m[g],y=v.geometry,x=v.index,b=v.sourceLayerIndex;if(this.hasPattern){var _=es(\"fill\",this.layers,v,this.zoom,e);this.patternFeatures.push(_)}else this.addFeature(v,y,x,r,{});e.featureIndex.insert(t[x].feature,y,x,b,this.index)}},rs.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)},rs.prototype.addFeatures=function(t,e,r){for(var n=0,a=this.patternFeatures;n<a.length;n+=1){var i=a[n];this.addFeature(i,i.geometry,i.index,e,r)}},rs.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},rs.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},rs.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,bo),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(t),this.uploaded=!0},rs.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())},rs.prototype.addFeature=function(t,e,r,n,a){for(var i=0,o=Qo(e,500);i<o.length;i+=1){for(var s=o[i],l=0,c=0,u=s;c<u.length;c+=1)l+=u[c].length;for(var h=this.segments.prepareSegment(l,this.layoutVertexArray,this.indexArray),f=h.vertexLength,p=[],d=[],g=0,m=s;g<m.length;g+=1){var v=m[g];if(0!==v.length){v!==s[0]&&d.push(p.length/2);var y=this.segments2.prepareSegment(v.length,this.layoutVertexArray,this.indexArray2),x=y.vertexLength;this.layoutVertexArray.emplaceBack(v[0].x,v[0].y),this.indexArray2.emplaceBack(x+v.length-1,x),p.push(v[0].x),p.push(v[0].y);for(var b=1;b<v.length;b++)this.layoutVertexArray.emplaceBack(v[b].x,v[b].y),this.indexArray2.emplaceBack(x+b-1,x+b),p.push(v[b].x),p.push(v[b].y);y.vertexLength+=v.length,y.primitiveLength+=v.length}}for(var _=_o(p,d),w=0;w<_.length;w+=3)this.indexArray.emplaceBack(f+_[w],f+_[w+1],f+_[w+2]);h.vertexLength+=l,h.primitiveLength+=_.length/3}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,a,n)},Dn(\"FillBucket\",rs,{omit:[\"layers\",\"patternFeatures\"]});var ns=new ya({\"fill-sort-key\":new da(Mt.layout_fill[\"fill-sort-key\"])}),as={paint:new ya({\"fill-antialias\":new pa(Mt.paint_fill[\"fill-antialias\"]),\"fill-opacity\":new da(Mt.paint_fill[\"fill-opacity\"]),\"fill-color\":new da(Mt.paint_fill[\"fill-color\"]),\"fill-outline-color\":new da(Mt.paint_fill[\"fill-outline-color\"]),\"fill-translate\":new pa(Mt.paint_fill[\"fill-translate\"]),\"fill-translate-anchor\":new pa(Mt.paint_fill[\"fill-translate-anchor\"]),\"fill-pattern\":new ga(Mt.paint_fill[\"fill-pattern\"])}),layout:ns},is=function(t){function e(e){t.call(this,e,as)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.recalculate=function(e,r){t.prototype.recalculate.call(this,e,r);var n=this.paint._values[\"fill-outline-color\"];\"constant\"===n.value.kind&&void 0===n.value.value&&(this.paint._values[\"fill-outline-color\"]=this.paint._values[\"fill-color\"])},e.prototype.createBucket=function(t){return new rs(t)},e.prototype.queryRadius=function(){return Ji(this.paint.get(\"fill-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,a,i,o){return ji(Ki(t,this.paint.get(\"fill-translate\"),this.paint.get(\"fill-translate-anchor\"),i.angle,o),n)},e.prototype.isTileClipped=function(){return!0},e}(xa),os=Ta([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_normal_ed\",components:4,type:\"Int16\"}],4).members,ss=ls;function ls(t,e,r,n,a){this.properties={},this.extent=r,this.type=0,this._pbf=t,this._geometry=-1,this._keys=n,this._values=a,t.readFields(cs,this,e)}function cs(t,e,r){1==t?e.id=r.readVarint():2==t?function(t,e){for(var r=t.readVarint()+t.pos;t.pos<r;){var n=e._keys[t.readVarint()],a=e._values[t.readVarint()];e.properties[n]=a}}(r,e):3==t?e.type=r.readVarint():4==t&&(e._geometry=r.pos)}function us(t){for(var e,r,n=0,a=0,i=t.length,o=i-1;a<i;o=a++)n+=((r=t[o]).x-(e=t[a]).x)*(e.y+r.y);return n}ls.types=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],ls.prototype.loadGeometry=function(){var t=this._pbf;t.pos=this._geometry;for(var e,r=t.readVarint()+t.pos,n=1,i=0,o=0,s=0,l=[];t.pos<r;){if(i<=0){var c=t.readVarint();n=7&c,i=c>>3}if(i--,1===n||2===n)o+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&l.push(e),e=[]),e.push(new a(o,s));else{if(7!==n)throw new Error(\"unknown command \"+n);e&&e.push(e[0].clone())}}return e&&l.push(e),l},ls.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,a=0,i=0,o=1/0,s=-1/0,l=1/0,c=-1/0;t.pos<e;){if(n<=0){var u=t.readVarint();r=7&u,n=u>>3}if(n--,1===r||2===r)(a+=t.readSVarint())<o&&(o=a),a>s&&(s=a),(i+=t.readSVarint())<l&&(l=i),i>c&&(c=i);else if(7!==r)throw new Error(\"unknown command \"+r)}return[o,l,s,c]},ls.prototype.toGeoJSON=function(t,e,r){var n,a,i=this.extent*Math.pow(2,r),o=this.extent*t,s=this.extent*e,l=this.loadGeometry(),c=ls.types[this.type];function u(t){for(var e=0;e<t.length;e++){var r=t[e];t[e]=[360*(r.x+o)/i-180,360/Math.PI*Math.atan(Math.exp((180-360*(r.y+s)/i)*Math.PI/180))-90]}}switch(this.type){case 1:var h=[];for(n=0;n<l.length;n++)h[n]=l[n][0];u(l=h);break;case 2:for(n=0;n<l.length;n++)u(l[n]);break;case 3:for(l=function(t){var e=t.length;if(e<=1)return[t];for(var r,n,a=[],i=0;i<e;i++){var o=us(t[i]);0!==o&&(void 0===n&&(n=o<0),n===o<0?(r&&a.push(r),r=[t[i]]):r.push(t[i]))}return r&&a.push(r),a}(l),n=0;n<l.length;n++)for(a=0;a<l[n].length;a++)u(l[n][a])}1===l.length?l=l[0]:c=\"Multi\"+c;var f={type:\"Feature\",geometry:{type:c,coordinates:l},properties:this.properties};return\"id\"in this&&(f.id=this.id),f};var hs=fs;function fs(t,e){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=t,this._keys=[],this._values=[],this._features=[],t.readFields(ps,this,e),this.length=this._features.length}function ps(t,e,r){15===t?e.version=r.readVarint():1===t?e.name=r.readString():5===t?e.extent=r.readVarint():2===t?e._features.push(r.pos):3===t?e._keys.push(r.readString()):4===t&&e._values.push(function(t){for(var e=null,r=t.readVarint()+t.pos;t.pos<r;){var n=t.readVarint()>>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null}return e}(r))}function ds(t,e,r){if(3===t){var n=new hs(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}fs.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new ss(this._pbf,e,this.extent,this._keys,this._values)};var gs={VectorTile:function(t,e){this.layers=t.readFields(ds,{},e)},VectorTileFeature:ss,VectorTileLayer:hs},ms=gs.VectorTileFeature.types,vs=Math.pow(2,13);function ys(t,e,r,n,a,i,o,s){t.emplaceBack(e,r,2*Math.floor(n*vs)+o,a*vs*2,i*vs*2,Math.round(s))}var xs=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new Sa,this.indexArray=new Fa,this.programConfigurations=new Pi(os,t.layers,t.zoom),this.segments=new ai,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function bs(t,e){return t.x===e.x&&(t.x<0||t.x>8192)||t.y===e.y&&(t.y<0||t.y>8192)}xs.prototype.populate=function(t,e,r){this.features=[],this.hasPattern=ts(\"fill-extrusion\",this.layers,e);for(var n=0,a=t;n<a.length;n+=1){var i=a[n],o=i.feature,s=i.id,l=i.index,c=i.sourceLayerIndex,u=this.layers[0]._featureFilter.needGeometry,h={type:o.type,id:s,properties:o.properties,geometry:u?Di(o):[]};if(this.layers[0]._featureFilter.filter(new aa(this.zoom),h,r)){var f={id:s,sourceLayerIndex:c,index:l,geometry:u?h.geometry:Di(o),properties:o.properties,type:o.type,patterns:{}};void 0!==o.id&&(f.id=o.id),this.hasPattern?this.features.push(es(\"fill-extrusion\",this.layers,f,this.zoom,e)):this.addFeature(f,f.geometry,l,r,{}),e.featureIndex.insert(o,f.geometry,l,c,this.index,!0)}}},xs.prototype.addFeatures=function(t,e,r){for(var n=0,a=this.features;n<a.length;n+=1){var i=a[n];this.addFeature(i,i.geometry,i.index,e,r)}},xs.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)},xs.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},xs.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},xs.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,os),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0},xs.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},xs.prototype.addFeature=function(t,e,r,n,a){for(var i=0,o=Qo(e,500);i<o.length;i+=1){for(var s=o[i],l=0,c=0,u=s;c<u.length;c+=1)l+=u[c].length;for(var h=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray),f=0,p=s;f<p.length;f+=1){var d=p[f];if(0!==d.length&&!((I=d).every((function(t){return t.x<0}))||I.every((function(t){return t.x>8192}))||I.every((function(t){return t.y<0}))||I.every((function(t){return t.y>8192}))))for(var g=0,m=0;m<d.length;m++){var v=d[m];if(m>=1){var y=d[m-1];if(!bs(v,y)){h.vertexLength+4>ai.MAX_VERTEX_ARRAY_LENGTH&&(h=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var x=v.sub(y)._perp()._unit(),b=y.dist(v);g+b>32768&&(g=0),ys(this.layoutVertexArray,v.x,v.y,x.x,x.y,0,0,g),ys(this.layoutVertexArray,v.x,v.y,x.x,x.y,0,1,g),ys(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,0,g+=b),ys(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,1,g);var _=h.vertexLength;this.indexArray.emplaceBack(_,_+2,_+1),this.indexArray.emplaceBack(_+1,_+2,_+3),h.vertexLength+=4,h.primitiveLength+=2}}}}if(h.vertexLength+l>ai.MAX_VERTEX_ARRAY_LENGTH&&(h=this.segments.prepareSegment(l,this.layoutVertexArray,this.indexArray)),\"Polygon\"===ms[t.type]){for(var w=[],T=[],k=h.vertexLength,A=0,M=s;A<M.length;A+=1){var S=M[A];if(0!==S.length){S!==s[0]&&T.push(w.length/2);for(var E=0;E<S.length;E++){var C=S[E];ys(this.layoutVertexArray,C.x,C.y,0,0,1,1,0),w.push(C.x),w.push(C.y)}}}for(var L=_o(w,T),P=0;P<L.length;P+=3)this.indexArray.emplaceBack(k+L[P],k+L[P+2],k+L[P+1]);h.primitiveLength+=L.length/3,h.vertexLength+=l}}var I;this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,a,n)},Dn(\"FillExtrusionBucket\",xs,{omit:[\"layers\",\"features\"]});var _s={paint:new ya({\"fill-extrusion-opacity\":new pa(Mt[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new da(Mt[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new pa(Mt[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new pa(Mt[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new ga(Mt[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new da(Mt[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new da(Mt[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new pa(Mt[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])})},ws=function(t){function e(e){t.call(this,e,_s)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.createBucket=function(t){return new xs(t)},e.prototype.queryRadius=function(){return Ji(this.paint.get(\"fill-extrusion-translate\"))},e.prototype.is3D=function(){return!0},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o,s,l){var c=Ki(t,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),o.angle,s),u=this.paint.get(\"fill-extrusion-height\").evaluate(e,r),h=this.paint.get(\"fill-extrusion-base\").evaluate(e,r),f=function(t,e,r,n){for(var i=[],o=0,s=t;o<s.length;o+=1){var l=s[o],c=[l.x,l.y,0,1];io(c,c,e),i.push(new a(c[0]/c[3],c[1]/c[3]))}return i}(c,l),p=function(t,e,r,n){for(var i=[],o=[],s=n[8]*e,l=n[9]*e,c=n[10]*e,u=n[11]*e,h=n[8]*r,f=n[9]*r,p=n[10]*r,d=n[11]*r,g=0,m=t;g<m.length;g+=1){for(var v=[],y=[],x=0,b=m[g];x<b.length;x+=1){var _=b[x],w=_.x,T=_.y,k=n[0]*w+n[4]*T+n[12],A=n[1]*w+n[5]*T+n[13],M=n[2]*w+n[6]*T+n[14],S=n[3]*w+n[7]*T+n[15],E=M+c,C=S+u,L=k+h,P=A+f,I=M+p,z=S+d,O=new a((k+s)/C,(A+l)/C);O.z=E/C,v.push(O);var D=new a(L/z,P/z);D.z=I/z,y.push(D)}i.push(v),o.push(y)}return[i,o]}(n,h,u,l);return function(t,e,r){var n=1/0;ji(r,e)&&(n=ks(r,e[0]));for(var a=0;a<e.length;a++)for(var i=e[a],o=t[a],s=0;s<i.length-1;s++){var l=i[s],c=[l,i[s+1],o[s+1],o[s],l];Bi(r,c)&&(n=Math.min(n,ks(r,c)))}return n!==1/0&&n}(p[0],p[1],f)},e}(xa);function Ts(t,e){return t.x*e.x+t.y*e.y}function ks(t,e){if(1===t.length){for(var r,n=0,a=e[n++];!r||a.equals(r);)if(!(r=e[n++]))return 1/0;for(;n<e.length;n++){var i=e[n],o=t[0],s=r.sub(a),l=i.sub(a),c=o.sub(a),u=Ts(s,s),h=Ts(s,l),f=Ts(l,l),p=Ts(c,s),d=Ts(c,l),g=u*f-h*h,m=(f*p-h*d)/g,v=(u*d-h*p)/g,y=a.z*(1-m-v)+r.z*m+i.z*v;if(isFinite(y))return y}return 1/0}for(var x=1/0,b=0,_=e;b<_.length;b+=1)x=Math.min(x,_[b].z);return x}var As=Ta([{name:\"a_pos_normal\",components:2,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint8\"}],4).members,Ms=gs.VectorTileFeature.types,Ss=Math.cos(Math.PI/180*37.5),Es=Math.pow(2,14)/.5,Cs=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Ea,this.indexArray=new Fa,this.programConfigurations=new Pi(As,t.layers,t.zoom),this.segments=new ai,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};Cs.prototype.populate=function(t,e,r){this.hasPattern=ts(\"line\",this.layers,e);for(var n=this.layers[0].layout.get(\"line-sort-key\"),a=[],i=0,o=t;i<o.length;i+=1){var s=o[i],l=s.feature,c=s.id,u=s.index,h=s.sourceLayerIndex,f=this.layers[0]._featureFilter.needGeometry,p={type:l.type,id:c,properties:l.properties,geometry:f?Di(l):[]};if(this.layers[0]._featureFilter.filter(new aa(this.zoom),p,r)){f||(p.geometry=Di(l));var d=n?n.evaluate(p,{},r):void 0;a.push({id:c,properties:l.properties,type:l.type,sourceLayerIndex:h,index:u,geometry:p.geometry,patterns:{},sortKey:d})}}n&&a.sort((function(t,e){return t.sortKey-e.sortKey}));for(var g=0,m=a;g<m.length;g+=1){var v=m[g],y=v.geometry,x=v.index,b=v.sourceLayerIndex;if(this.hasPattern){var _=es(\"line\",this.layers,v,this.zoom,e);this.patternFeatures.push(_)}else this.addFeature(v,y,x,r,{});e.featureIndex.insert(t[x].feature,y,x,b,this.index)}},Cs.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)},Cs.prototype.addFeatures=function(t,e,r){for(var n=0,a=this.patternFeatures;n<a.length;n+=1){var i=a[n];this.addFeature(i,i.geometry,i.index,e,r)}},Cs.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},Cs.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},Cs.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,As),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0},Cs.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},Cs.prototype.addFeature=function(t,e,r,n,a){for(var i=this.layers[0].layout,o=i.get(\"line-join\").evaluate(t,{}),s=i.get(\"line-cap\"),l=i.get(\"line-miter-limit\"),c=i.get(\"line-round-limit\"),u=0,h=e;u<h.length;u+=1)this.addLine(h[u],t,o,s,l,c);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,a,n)},Cs.prototype.addLine=function(t,e,r,n,a,i){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,e.properties&&e.properties.hasOwnProperty(\"mapbox_clip_start\")&&e.properties.hasOwnProperty(\"mapbox_clip_end\")){this.clipStart=+e.properties.mapbox_clip_start,this.clipEnd=+e.properties.mapbox_clip_end;for(var o=0;o<t.length-1;o++)this.totalDistance+=t[o].dist(t[o+1]);this.updateScaledDistance()}for(var s=\"Polygon\"===Ms[e.type],l=t.length;l>=2&&t[l-1].equals(t[l-2]);)l--;for(var c=0;c<l-1&&t[c].equals(t[c+1]);)c++;if(!(l<(s?3:2))){\"bevel\"===r&&(a=1.05);var u,h=this.overscaling<=16?122880/(512*this.overscaling):0,f=this.segments.prepareSegment(10*l,this.layoutVertexArray,this.indexArray),p=void 0,d=void 0,g=void 0,m=void 0;this.e1=this.e2=-1,s&&(m=t[c].sub(u=t[l-2])._unit()._perp());for(var v=c;v<l;v++)if(!(d=v===l-1?s?t[c+1]:void 0:t[v+1])||!t[v].equals(d)){m&&(g=m),u&&(p=u),u=t[v],m=d?d.sub(u)._unit()._perp():g;var y=(g=g||m).add(m);0===y.x&&0===y.y||y._unit();var x=g.x*m.x+g.y*m.y,b=y.x*m.x+y.y*m.y,_=0!==b?1/b:1/0,w=2*Math.sqrt(2-2*b),T=b<Ss&&p&&d,k=g.x*m.y-g.y*m.x>0;if(T&&v>c){var A=u.dist(p);if(A>2*h){var M=u.sub(u.sub(p)._mult(h/A)._round());this.updateDistance(p,M),this.addCurrentVertex(M,g,0,0,f),p=M}}var S=p&&d,E=S?r:s?\"butt\":n;if(S&&\"round\"===E&&(_<i?E=\"miter\":_<=2&&(E=\"fakeround\")),\"miter\"===E&&_>a&&(E=\"bevel\"),\"bevel\"===E&&(_>2&&(E=\"flipbevel\"),_<a&&(E=\"miter\")),p&&this.updateDistance(p,u),\"miter\"===E)y._mult(_),this.addCurrentVertex(u,y,0,0,f);else if(\"flipbevel\"===E){if(_>100)y=m.mult(-1);else{var C=_*g.add(m).mag()/g.sub(m).mag();y._perp()._mult(C*(k?-1:1))}this.addCurrentVertex(u,y,0,0,f),this.addCurrentVertex(u,y.mult(-1),0,0,f)}else if(\"bevel\"===E||\"fakeround\"===E){var L=-Math.sqrt(_*_-1),P=k?L:0,I=k?0:L;if(p&&this.addCurrentVertex(u,g,P,I,f),\"fakeround\"===E)for(var z=Math.round(180*w/Math.PI/20),O=1;O<z;O++){var D=O/z;if(.5!==D){var R=D-.5;D+=D*R*(D-1)*((1.0904+x*(x*(3.55645-1.43519*x)-3.2452))*R*R+(.848013+x*(.215638*x-1.06021)))}var F=m.sub(g)._mult(D)._add(g)._unit()._mult(k?-1:1);this.addHalfVertex(u,F.x,F.y,!1,k,0,f)}d&&this.addCurrentVertex(u,m,-P,-I,f)}else if(\"butt\"===E)this.addCurrentVertex(u,y,0,0,f);else if(\"square\"===E){var B=p?1:-1;this.addCurrentVertex(u,y,B,B,f)}else\"round\"===E&&(p&&(this.addCurrentVertex(u,g,0,0,f),this.addCurrentVertex(u,g,1,1,f,!0)),d&&(this.addCurrentVertex(u,m,-1,-1,f,!0),this.addCurrentVertex(u,m,0,0,f)));if(T&&v<l-1){var N=u.dist(d);if(N>2*h){var j=u.add(d.sub(u)._mult(h/N)._round());this.updateDistance(u,j),this.addCurrentVertex(j,m,0,0,f),u=j}}}}},Cs.prototype.addCurrentVertex=function(t,e,r,n,a,i){void 0===i&&(i=!1);var o=e.y*n-e.x,s=-e.y-e.x*n;this.addHalfVertex(t,e.x+e.y*r,e.y-e.x*r,i,!1,r,a),this.addHalfVertex(t,o,s,i,!0,-n,a),this.distance>Es/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(t,e,r,n,a,i))},Cs.prototype.addHalfVertex=function(t,e,r,n,a,i,o){var s=.5*this.scaledDistance;this.layoutVertexArray.emplaceBack((t.x<<1)+(n?1:0),(t.y<<1)+(a?1:0),Math.round(63*e)+128,Math.round(63*r)+128,1+(0===i?0:i<0?-1:1)|(63&s)<<2,s>>6);var l=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,l),o.primitiveLength++),a?this.e2=l:this.e1=l},Cs.prototype.updateScaledDistance=function(){this.scaledDistance=this.totalDistance>0?(this.clipStart+(this.clipEnd-this.clipStart)*this.distance/this.totalDistance)*(Es-1):this.distance},Cs.prototype.updateDistance=function(t,e){this.distance+=t.dist(e),this.updateScaledDistance()},Dn(\"LineBucket\",Cs,{omit:[\"layers\",\"patternFeatures\"]});var Ls=new ya({\"line-cap\":new pa(Mt.layout_line[\"line-cap\"]),\"line-join\":new da(Mt.layout_line[\"line-join\"]),\"line-miter-limit\":new pa(Mt.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new pa(Mt.layout_line[\"line-round-limit\"]),\"line-sort-key\":new da(Mt.layout_line[\"line-sort-key\"])}),Ps={paint:new ya({\"line-opacity\":new da(Mt.paint_line[\"line-opacity\"]),\"line-color\":new da(Mt.paint_line[\"line-color\"]),\"line-translate\":new pa(Mt.paint_line[\"line-translate\"]),\"line-translate-anchor\":new pa(Mt.paint_line[\"line-translate-anchor\"]),\"line-width\":new da(Mt.paint_line[\"line-width\"]),\"line-gap-width\":new da(Mt.paint_line[\"line-gap-width\"]),\"line-offset\":new da(Mt.paint_line[\"line-offset\"]),\"line-blur\":new da(Mt.paint_line[\"line-blur\"]),\"line-dasharray\":new ma(Mt.paint_line[\"line-dasharray\"]),\"line-pattern\":new ga(Mt.paint_line[\"line-pattern\"]),\"line-gradient\":new va(Mt.paint_line[\"line-gradient\"])}),layout:Ls},Is=new(function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new aa(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),t.prototype.possiblyEvaluate.call(this,e,r)},e.prototype.evaluate=function(e,r,n,a){return r=u({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n,a)},e}(da))(Ps.paint.properties[\"line-width\"].specification);Is.useIntegerZoom=!0;var zs=function(t){function e(e){t.call(this,e,Ps)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._handleSpecialPaintPropertyUpdate=function(t){\"line-gradient\"===t&&this._updateGradient()},e.prototype._updateGradient=function(){this.gradient=mo(this._transitionablePaint._values[\"line-gradient\"].value.expression,\"lineProgress\"),this.gradientTexture=null},e.prototype.recalculate=function(e,r){t.prototype.recalculate.call(this,e,r),this.paint._values[\"line-floorwidth\"]=Is.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,e)},e.prototype.createBucket=function(t){return new Cs(t)},e.prototype.queryRadius=function(t){var e=t,r=Os(Xi(\"line-width\",this,e),Xi(\"line-gap-width\",this,e)),n=Xi(\"line-offset\",this,e);return r/2+Math.abs(n)+Ji(this.paint.get(\"line-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o,s){var l=Ki(t,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),o.angle,s),c=s/2*Os(this.paint.get(\"line-width\").evaluate(e,r),this.paint.get(\"line-gap-width\").evaluate(e,r)),u=this.paint.get(\"line-offset\").evaluate(e,r);return u&&(n=function(t,e){for(var r=[],n=new a(0,0),i=0;i<t.length;i++){for(var o=t[i],s=[],l=0;l<o.length;l++){var c=o[l],u=o[l+1],h=0===l?n:c.sub(o[l-1])._unit()._perp(),f=l===o.length-1?n:u.sub(c)._unit()._perp(),p=h._add(f)._unit();p._mult(1/(p.x*f.x+p.y*f.y)),s.push(p._mult(e)._add(c))}r.push(s)}return r}(n,u*s)),function(t,e,r){for(var n=0;n<e.length;n++){var a=e[n];if(t.length>=3)for(var i=0;i<a.length;i++)if(Wi(t,a[i]))return!0;if(Vi(t,a,r))return!0}return!1}(l,n,c)},e.prototype.isTileClipped=function(){return!0},e}(xa);function Os(t,e){return e>0?e+2*t:t}var Ds=Ta([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),Rs=Ta([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4),Fs=(Ta([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4),Ta([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"}])),Bs=(Ta([{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Int16\",name:\"x1\"},{type:\"Int16\",name:\"y1\"},{type:\"Int16\",name:\"x2\"},{type:\"Int16\",name:\"y2\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"}]),Ta([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4)),Ns=Ta([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4);function js(t,e,r){return t.sections.forEach((function(t){t.text=function(t,e,r){var n=e.layout.get(\"text-transform\").evaluate(r,{});return\"uppercase\"===n?t=t.toLocaleUpperCase():\"lowercase\"===n&&(t=t.toLocaleLowerCase()),na.applyArabicShaping&&(t=na.applyArabicShaping(t)),t}(t.text,e,r)})),t}Ta([{name:\"triangle\",components:3,type:\"Uint16\"}]),Ta([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Uint16\",name:\"glyphStartIndex\"},{type:\"Uint16\",name:\"numGlyphs\"},{type:\"Uint32\",name:\"vertexStartIndex\"},{type:\"Uint32\",name:\"lineStartIndex\"},{type:\"Uint32\",name:\"lineLength\"},{type:\"Uint16\",name:\"segment\"},{type:\"Uint16\",name:\"lowerSize\"},{type:\"Uint16\",name:\"upperSize\"},{type:\"Float32\",name:\"lineOffsetX\"},{type:\"Float32\",name:\"lineOffsetY\"},{type:\"Uint8\",name:\"writingMode\"},{type:\"Uint8\",name:\"placedOrientation\"},{type:\"Uint8\",name:\"hidden\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Int16\",name:\"associatedIconIndex\"}]),Ta([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Int16\",name:\"rightJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"centerJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"leftJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedTextSymbolIndex\"},{type:\"Int16\",name:\"placedIconSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedIconSymbolIndex\"},{type:\"Uint16\",name:\"key\"},{type:\"Uint16\",name:\"textBoxStartIndex\"},{type:\"Uint16\",name:\"textBoxEndIndex\"},{type:\"Uint16\",name:\"verticalTextBoxStartIndex\"},{type:\"Uint16\",name:\"verticalTextBoxEndIndex\"},{type:\"Uint16\",name:\"iconBoxStartIndex\"},{type:\"Uint16\",name:\"iconBoxEndIndex\"},{type:\"Uint16\",name:\"verticalIconBoxStartIndex\"},{type:\"Uint16\",name:\"verticalIconBoxEndIndex\"},{type:\"Uint16\",name:\"featureIndex\"},{type:\"Uint16\",name:\"numHorizontalGlyphVertices\"},{type:\"Uint16\",name:\"numVerticalGlyphVertices\"},{type:\"Uint16\",name:\"numIconVertices\"},{type:\"Uint16\",name:\"numVerticalIconVertices\"},{type:\"Uint16\",name:\"useRuntimeCollisionCircles\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Float32\",name:\"textBoxScale\"},{type:\"Float32\",components:2,name:\"textOffset\"},{type:\"Float32\",name:\"collisionCircleDiameter\"}]),Ta([{type:\"Float32\",name:\"offsetX\"}]),Ta([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]);var Vs={\"!\":\"\\ufe15\",\"#\":\"\\uff03\",$:\"\\uff04\",\"%\":\"\\uff05\",\"&\":\"\\uff06\",\"(\":\"\\ufe35\",\")\":\"\\ufe36\",\"*\":\"\\uff0a\",\"+\":\"\\uff0b\",\",\":\"\\ufe10\",\"-\":\"\\ufe32\",\".\":\"\\u30fb\",\"/\":\"\\uff0f\",\":\":\"\\ufe13\",\";\":\"\\ufe14\",\"<\":\"\\ufe3f\",\"=\":\"\\uff1d\",\">\":\"\\ufe40\",\"?\":\"\\ufe16\",\"@\":\"\\uff20\",\"[\":\"\\ufe47\",\"\\\\\":\"\\uff3c\",\"]\":\"\\ufe48\",\"^\":\"\\uff3e\",_:\"\\ufe33\",\"`\":\"\\uff40\",\"{\":\"\\ufe37\",\"|\":\"\\u2015\",\"}\":\"\\ufe38\",\"~\":\"\\uff5e\",\"\\xa2\":\"\\uffe0\",\"\\xa3\":\"\\uffe1\",\"\\xa5\":\"\\uffe5\",\"\\xa6\":\"\\uffe4\",\"\\xac\":\"\\uffe2\",\"\\xaf\":\"\\uffe3\",\"\\u2013\":\"\\ufe32\",\"\\u2014\":\"\\ufe31\",\"\\u2018\":\"\\ufe43\",\"\\u2019\":\"\\ufe44\",\"\\u201c\":\"\\ufe41\",\"\\u201d\":\"\\ufe42\",\"\\u2026\":\"\\ufe19\",\"\\u2027\":\"\\u30fb\",\"\\u20a9\":\"\\uffe6\",\"\\u3001\":\"\\ufe11\",\"\\u3002\":\"\\ufe12\",\"\\u3008\":\"\\ufe3f\",\"\\u3009\":\"\\ufe40\",\"\\u300a\":\"\\ufe3d\",\"\\u300b\":\"\\ufe3e\",\"\\u300c\":\"\\ufe41\",\"\\u300d\":\"\\ufe42\",\"\\u300e\":\"\\ufe43\",\"\\u300f\":\"\\ufe44\",\"\\u3010\":\"\\ufe3b\",\"\\u3011\":\"\\ufe3c\",\"\\u3014\":\"\\ufe39\",\"\\u3015\":\"\\ufe3a\",\"\\u3016\":\"\\ufe17\",\"\\u3017\":\"\\ufe18\",\"\\uff01\":\"\\ufe15\",\"\\uff08\":\"\\ufe35\",\"\\uff09\":\"\\ufe36\",\"\\uff0c\":\"\\ufe10\",\"\\uff0d\":\"\\ufe32\",\"\\uff0e\":\"\\u30fb\",\"\\uff1a\":\"\\ufe13\",\"\\uff1b\":\"\\ufe14\",\"\\uff1c\":\"\\ufe3f\",\"\\uff1e\":\"\\ufe40\",\"\\uff1f\":\"\\ufe16\",\"\\uff3b\":\"\\ufe47\",\"\\uff3d\":\"\\ufe48\",\"\\uff3f\":\"\\ufe33\",\"\\uff5b\":\"\\ufe37\",\"\\uff5c\":\"\\u2015\",\"\\uff5d\":\"\\ufe38\",\"\\uff5f\":\"\\ufe35\",\"\\uff60\":\"\\ufe36\",\"\\uff61\":\"\\ufe12\",\"\\uff62\":\"\\ufe41\",\"\\uff63\":\"\\ufe42\"},Us=function(t,e,r,n,a){var i,o,s=8*a-n-1,l=(1<<s)-1,c=l>>1,u=-7,h=r?a-1:0,f=r?-1:1,p=t[e+h];for(h+=f,i=p&(1<<-u)-1,p>>=-u,u+=s;u>0;i=256*i+t[e+h],h+=f,u-=8);for(o=i&(1<<-u)-1,i>>=-u,u+=n;u>0;o=256*o+t[e+h],h+=f,u-=8);if(0===i)i=1-c;else{if(i===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),i-=c}return(p?-1:1)*o*Math.pow(2,i-n)},qs=function(t,e,r,n,a,i){var o,s,l,c=8*i-a-1,u=(1<<c)-1,h=u>>1,f=23===a?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:i-1,d=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(e*l-1)*Math.pow(2,a),o+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,a),o=0));a>=8;t[r+p]=255&s,p+=d,s/=256,a-=8);for(o=o<<a|s,c+=a;c>0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*g},Hs=Gs;function Gs(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}Gs.Varint=0,Gs.Fixed64=1,Gs.Bytes=2,Gs.Fixed32=5;var Ys=\"undefined\"==typeof TextDecoder?null:new TextDecoder(\"utf8\");function Ws(t){return t.type===Gs.Bytes?t.readVarint()+t.pos:t.pos+1}function Zs(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function Xs(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var a=r.pos-1;a>=t;a--)r.buf[a+n]=r.buf[a]}function Js(t,e){for(var r=0;r<t.length;r++)e.writeVarint(t[r])}function Ks(t,e){for(var r=0;r<t.length;r++)e.writeSVarint(t[r])}function Qs(t,e){for(var r=0;r<t.length;r++)e.writeFloat(t[r])}function $s(t,e){for(var r=0;r<t.length;r++)e.writeDouble(t[r])}function tl(t,e){for(var r=0;r<t.length;r++)e.writeBoolean(t[r])}function el(t,e){for(var r=0;r<t.length;r++)e.writeFixed32(t[r])}function rl(t,e){for(var r=0;r<t.length;r++)e.writeSFixed32(t[r])}function nl(t,e){for(var r=0;r<t.length;r++)e.writeFixed64(t[r])}function al(t,e){for(var r=0;r<t.length;r++)e.writeSFixed64(t[r])}function il(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+16777216*t[e+3]}function ol(t,e,r){t[r]=e,t[r+1]=e>>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function sl(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}function ll(t,e,r){1===t&&r.readMessage(cl,e)}function cl(t,e,r){if(3===t){var n=r.readMessage(ul,{}),a=n.width,i=n.height,o=n.left,s=n.top,l=n.advance;e.push({id:n.id,bitmap:new fo({width:a+6,height:i+6},n.bitmap),metrics:{width:a,height:i,left:o,top:s,advance:l}})}}function ul(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint())}function hl(t){for(var e=0,r=0,n=0,a=t;n<a.length;n+=1){var i=a[n];e+=i.w*i.h,r=Math.max(r,i.w)}t.sort((function(t,e){return e.h-t.h}));for(var o=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(e/.95)),r),h:1/0}],s=0,l=0,c=0,u=t;c<u.length;c+=1)for(var h=u[c],f=o.length-1;f>=0;f--){var p=o[f];if(!(h.w>p.w||h.h>p.h)){if(h.x=p.x,h.y=p.y,l=Math.max(l,h.y+h.h),s=Math.max(s,h.x+h.w),h.w===p.w&&h.h===p.h){var d=o.pop();f<o.length&&(o[f]=d)}else h.h===p.h?(p.x+=h.w,p.w-=h.w):h.w===p.w?(p.y+=h.h,p.h-=h.h):(o.push({x:p.x+h.w,y:p.y,w:p.w-h.w,h:h.h}),p.y+=h.h,p.h-=h.h);break}}return{w:s,h:l,fill:e/(s*l)||0}}Gs.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos<r;){var n=this.readVarint(),a=n>>3,i=this.pos;this.type=7&n,t(a,e,this),this.pos===i&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=il(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=sl(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=il(this.buf,this.pos)+4294967296*il(this.buf,this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=il(this.buf,this.pos)+4294967296*sl(this.buf,this.pos+4);return this.pos+=8,t},readFloat:function(){var t=Us(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=Us(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,a,i=r.buf;if(n=(112&(a=i[r.pos++]))>>4,a<128)return Zs(t,n,e);if(n|=(127&(a=i[r.pos++]))<<3,a<128)return Zs(t,n,e);if(n|=(127&(a=i[r.pos++]))<<10,a<128)return Zs(t,n,e);if(n|=(127&(a=i[r.pos++]))<<17,a<128)return Zs(t,n,e);if(n|=(127&(a=i[r.pos++]))<<24,a<128)return Zs(t,n,e);if(n|=(1&(a=i[r.pos++]))<<31,a<128)return Zs(t,n,e);throw new Error(\"Expected varint not more than 10 bytes\")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&Ys?function(t,e,r){return Ys.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){for(var n=\"\",a=e;a<r;){var i,o,s,l=t[a],c=null,u=l>239?4:l>223?3:l>191?2:1;if(a+u>r)break;1===u?l<128&&(c=l):2===u?128==(192&(i=t[a+1]))&&(c=(31&l)<<6|63&i)<=127&&(c=null):3===u?(o=t[a+2],128==(192&(i=t[a+1]))&&128==(192&o)&&((c=(15&l)<<12|(63&i)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===u&&(o=t[a+2],s=t[a+3],128==(192&(i=t[a+1]))&&128==(192&o)&&128==(192&s)&&((c=(15&l)<<18|(63&i)<<12|(63&o)<<6|63&s)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,u=1):c>65535&&(c-=65536,n+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),n+=String.fromCharCode(c),a+=u}return n}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==Gs.Bytes)return t.push(this.readVarint(e));var r=Ws(this);for(t=t||[];this.pos<r;)t.push(this.readVarint(e));return t},readPackedSVarint:function(t){if(this.type!==Gs.Bytes)return t.push(this.readSVarint());var e=Ws(this);for(t=t||[];this.pos<e;)t.push(this.readSVarint());return t},readPackedBoolean:function(t){if(this.type!==Gs.Bytes)return t.push(this.readBoolean());var e=Ws(this);for(t=t||[];this.pos<e;)t.push(this.readBoolean());return t},readPackedFloat:function(t){if(this.type!==Gs.Bytes)return t.push(this.readFloat());var e=Ws(this);for(t=t||[];this.pos<e;)t.push(this.readFloat());return t},readPackedDouble:function(t){if(this.type!==Gs.Bytes)return t.push(this.readDouble());var e=Ws(this);for(t=t||[];this.pos<e;)t.push(this.readDouble());return t},readPackedFixed32:function(t){if(this.type!==Gs.Bytes)return t.push(this.readFixed32());var e=Ws(this);for(t=t||[];this.pos<e;)t.push(this.readFixed32());return t},readPackedSFixed32:function(t){if(this.type!==Gs.Bytes)return t.push(this.readSFixed32());var e=Ws(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed32());return t},readPackedFixed64:function(t){if(this.type!==Gs.Bytes)return t.push(this.readFixed64());var e=Ws(this);for(t=t||[];this.pos<e;)t.push(this.readFixed64());return t},readPackedSFixed64:function(t){if(this.type!==Gs.Bytes)return t.push(this.readSFixed64());var e=Ws(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed64());return t},skip:function(t){var e=7&t;if(e===Gs.Varint)for(;this.buf[this.pos++]>127;);else if(e===Gs.Bytes)this.pos=this.readVarint()+this.pos;else if(e===Gs.Fixed32)this.pos+=4;else{if(e!==Gs.Fixed64)throw new Error(\"Unimplemented type: \"+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e<this.pos+t;)e*=2;if(e!==this.length){var r=new Uint8Array(e);r.set(this.buf),this.buf=r,this.length=e}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(t){this.realloc(4),ol(this.buf,t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),ol(this.buf,t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),ol(this.buf,-1&t,this.pos),ol(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),ol(this.buf,-1&t,this.pos),ol(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeVarint:function(t){(t=+t||0)>268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error(\"Given varint doesn't fit into 10 bytes\");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,r.buf[r.pos]=127&(t>>>=7)}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,a,i=0;i<e.length;i++){if((n=e.charCodeAt(i))>55295&&n<57344){if(!a){n>56319||i+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):a=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,a=n;continue}n=a-55296<<10|n-56320|65536,a=null}else a&&(t[r++]=239,t[r++]=191,t[r++]=189,a=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128)}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&Xs(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),qs(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),qs(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r<e;r++)this.buf[this.pos++]=t[r]},writeRawMessage:function(t,e){this.pos++;var r=this.pos;t(e,this);var n=this.pos-r;n>=128&&Xs(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,Gs.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,Js,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,Ks,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,tl,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,Qs,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,$s,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,el,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,rl,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,nl,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,al,e)},writeBytesField:function(t,e){this.writeTag(t,Gs.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,Gs.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,Gs.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,Gs.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,Gs.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,Gs.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,Gs.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,Gs.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,Gs.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,Gs.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};var fl=function(t,e){var r=e.pixelRatio,n=e.version,a=e.stretchX,i=e.stretchY,o=e.content;this.paddedRect=t,this.pixelRatio=r,this.stretchX=a,this.stretchY=i,this.content=o,this.version=n},pl={tl:{configurable:!0},br:{configurable:!0},tlbr:{configurable:!0},displaySize:{configurable:!0}};pl.tl.get=function(){return[this.paddedRect.x+1,this.paddedRect.y+1]},pl.br.get=function(){return[this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]},pl.tlbr.get=function(){return this.tl.concat(this.br)},pl.displaySize.get=function(){return[(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]},Object.defineProperties(fl.prototype,pl);var dl=function(t,e){var r={},n={};this.haveRenderCallbacks=[];var a=[];this.addImages(t,r,a),this.addImages(e,n,a);var i=hl(a),o=new po({width:i.w||1,height:i.h||1});for(var s in t){var l=t[s],c=r[s].paddedRect;po.copy(l.data,o,{x:0,y:0},{x:c.x+1,y:c.y+1},l.data)}for(var u in e){var h=e[u],f=n[u].paddedRect,p=f.x+1,d=f.y+1,g=h.data.width,m=h.data.height;po.copy(h.data,o,{x:0,y:0},{x:p,y:d},h.data),po.copy(h.data,o,{x:0,y:m-1},{x:p,y:d-1},{width:g,height:1}),po.copy(h.data,o,{x:0,y:0},{x:p,y:d+m},{width:g,height:1}),po.copy(h.data,o,{x:g-1,y:0},{x:p-1,y:d},{width:1,height:m}),po.copy(h.data,o,{x:0,y:0},{x:p+g,y:d},{width:1,height:m})}this.image=o,this.iconPositions=r,this.patternPositions=n};dl.prototype.addImages=function(t,e,r){for(var n in t){var a=t[n],i={x:0,y:0,w:a.data.width+2,h:a.data.height+2};r.push(i),e[n]=new fl(i,a),a.hasRenderCallback&&this.haveRenderCallbacks.push(n)}},dl.prototype.patchUpdatedImages=function(t,e){for(var r in t.dispatchRenderCallbacks(this.haveRenderCallbacks),t.updatedImages)this.patchUpdatedImage(this.iconPositions[r],t.getImage(r),e),this.patchUpdatedImage(this.patternPositions[r],t.getImage(r),e)},dl.prototype.patchUpdatedImage=function(t,e,r){if(t&&e&&t.version!==e.version){t.version=e.version;var n=t.tl;r.update(e.data,void 0,{x:n[0],y:n[1]})}},Dn(\"ImagePosition\",fl),Dn(\"ImageAtlas\",dl);var gl={horizontal:1,vertical:2,horizontalOnly:3},ml=function(){this.scale=1,this.fontStack=\"\",this.imageName=null};ml.forText=function(t,e){var r=new ml;return r.scale=t||1,r.fontStack=e,r},ml.forImage=function(t){var e=new ml;return e.imageName=t,e};var vl=function(){this.text=\"\",this.sectionIndex=[],this.sections=[],this.imageSectionID=null};function yl(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g){var m,v=vl.fromFeature(t,a);h===gl.vertical&&v.verticalizePunctuation();var y=na.processBidirectionalText,x=na.processStyledBidirectionalText;if(y&&1===v.sections.length){m=[];for(var b=0,_=y(v.toString(),Al(v,c,i,e,n,p,d));b<_.length;b+=1){var w=_[b],T=new vl;T.text=w,T.sections=v.sections;for(var k=0;k<w.length;k++)T.sectionIndex.push(0);m.push(T)}}else if(x){m=[];for(var A=0,M=x(v.text,v.sectionIndex,Al(v,c,i,e,n,p,d));A<M.length;A+=1){var S=M[A],E=new vl;E.text=S[0],E.sectionIndex=S[1],E.sections=v.sections,m.push(E)}}else m=function(t,e){for(var r=[],n=t.text,a=0,i=0,o=e;i<o.length;i+=1){var s=o[i];r.push(t.substring(a,s)),a=s}return a<n.length&&r.push(t.substring(a,n.length)),r}(v,Al(v,c,i,e,n,p,d));var C=[],L={positionedLines:C,text:v.toString(),top:u[1],bottom:u[1],left:u[0],right:u[0],writingMode:h,iconsInText:!1,verticalizable:!1};return function(t,e,r,n,a,i,o,s,l,c,u,h){for(var f=0,p=-17,d=0,g=0,m=\"right\"===s?1:\"left\"===s?0:.5,v=0,y=0,x=a;y<x.length;y+=1){var b=x[y];b.trim();var _=b.getMaxScale(),w=24*(_-1),T={positionedGlyphs:[],lineOffset:0};t.positionedLines[v]=T;var k=T.positionedGlyphs,A=0;if(b.length()){for(var M=0;M<b.length();M++){var S=b.getSection(M),E=b.getSectionIndex(M),C=b.getCharCode(M),L=0,P=null,I=null,z=null,O=24,D=!(l===gl.horizontal||!u&&!Hn(C)||u&&(xl[C]||(H=C,Un.Arabic(H)||Un[\"Arabic Supplement\"](H)||Un[\"Arabic Extended-A\"](H)||Un[\"Arabic Presentation Forms-A\"](H)||Un[\"Arabic Presentation Forms-B\"](H))));if(S.imageName){var R=n[S.imageName];if(!R)continue;z=S.imageName,t.iconsInText=t.iconsInText||!0,I=R.paddedRect;var F=R.displaySize;S.scale=24*S.scale/h,L=w+(24-F[1]*S.scale),O=(P={width:F[0],height:F[1],left:1,top:-3,advance:D?F[1]:F[0]}).advance;var B=D?F[0]*S.scale-24*_:F[1]*S.scale-24*_;B>0&&B>A&&(A=B)}else{var N=r[S.fontStack],j=N&&N[C];if(j&&j.rect)I=j.rect,P=j.metrics;else{var V=e[S.fontStack],U=V&&V[C];if(!U)continue;P=U.metrics}L=24*(_-S.scale)}D?(t.verticalizable=!0,k.push({glyph:C,imageName:z,x:f,y:p+L,vertical:D,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:P,rect:I}),f+=O*S.scale+c):(k.push({glyph:C,imageName:z,x:f,y:p+L,vertical:D,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:P,rect:I}),f+=P.advance*S.scale+c)}0!==k.length&&(d=Math.max(f-c,d),Sl(k,0,k.length-1,m,A)),f=0;var q=i*_+A;T.lineOffset=Math.max(A,w),p+=q,g=Math.max(q,g),++v}else p+=i,++v}var H,G=p- -17,Y=Ml(o),W=Y.horizontalAlign,Z=Y.verticalAlign;(function(t,e,r,n,a,i,o,s,l){var c,u=(e-r)*a;c=i!==o?-s*n- -17:(-n*l+.5)*o;for(var h=0,f=t;h<f.length;h+=1)for(var p=0,d=f[h].positionedGlyphs;p<d.length;p+=1){var g=d[p];g.x+=u,g.y+=c}})(t.positionedLines,m,W,Z,d,g,i,G,a.length),t.top+=-Z*G,t.bottom=t.top+G,t.left+=-W*d,t.right=t.left+d}(L,e,r,n,m,o,s,l,h,c,f,g),!function(t){for(var e=0,r=t;e<r.length;e+=1)if(0!==r[e].positionedGlyphs.length)return!1;return!0}(C)&&L}vl.fromFeature=function(t,e){for(var r=new vl,n=0;n<t.sections.length;n++){var a=t.sections[n];a.image?r.addImageSection(a):r.addTextSection(a,e)}return r},vl.prototype.length=function(){return this.text.length},vl.prototype.getSection=function(t){return this.sections[this.sectionIndex[t]]},vl.prototype.getSectionIndex=function(t){return this.sectionIndex[t]},vl.prototype.getCharCode=function(t){return this.text.charCodeAt(t)},vl.prototype.verticalizePunctuation=function(){this.text=function(t){for(var e=\"\",r=0;r<t.length;r++){var n=t.charCodeAt(r+1)||null,a=t.charCodeAt(r-1)||null;e+=n&&Gn(n)&&!Vs[t[r+1]]||a&&Gn(a)&&!Vs[t[r-1]]||!Vs[t[r]]?t[r]:Vs[t[r]]}return e}(this.text)},vl.prototype.trim=function(){for(var t=0,e=0;e<this.text.length&&xl[this.text.charCodeAt(e)];e++)t++;for(var r=this.text.length,n=this.text.length-1;n>=0&&n>=t&&xl[this.text.charCodeAt(n)];n--)r--;this.text=this.text.substring(t,r),this.sectionIndex=this.sectionIndex.slice(t,r)},vl.prototype.substring=function(t,e){var r=new vl;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r},vl.prototype.toString=function(){return this.text},vl.prototype.getMaxScale=function(){var t=this;return this.sectionIndex.reduce((function(e,r){return Math.max(e,t.sections[r].scale)}),0)},vl.prototype.addTextSection=function(t,e){this.text+=t.text,this.sections.push(ml.forText(t.scale,t.fontStack||e));for(var r=this.sections.length-1,n=0;n<t.text.length;++n)this.sectionIndex.push(r)},vl.prototype.addImageSection=function(t){var e=t.image?t.image.name:\"\";if(0!==e.length){var r=this.getNextImageSectionCharCode();r?(this.text+=String.fromCharCode(r),this.sections.push(ml.forImage(e)),this.sectionIndex.push(this.sections.length-1)):_(\"Reached maximum number of images 6401\")}else _(\"Can't add FormattedSection with an empty image.\")},vl.prototype.getNextImageSectionCharCode=function(){return this.imageSectionID?this.imageSectionID>=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)};var xl={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},bl={};function _l(t,e,r,n,a,i){if(e.imageName){var o=n[e.imageName];return o?o.displaySize[0]*e.scale*24/i+a:0}var s=r[e.fontStack],l=s&&s[t];return l?l.metrics.advance*e.scale+a:0}function wl(t,e,r,n){var a=Math.pow(t-e,2);return n?t<e?a/2:2*a:a+Math.abs(r)*r}function Tl(t,e,r){var n=0;return 10===t&&(n-=1e4),r&&(n+=150),40!==t&&65288!==t||(n+=50),41!==e&&65289!==e||(n+=50),n}function kl(t,e,r,n,a,i){for(var o=null,s=wl(e,r,a,i),l=0,c=n;l<c.length;l+=1){var u=c[l],h=wl(e-u.x,r,a,i)+u.badness;h<=s&&(o=u,s=h)}return{index:t,x:e,priorBreak:o,badness:s}}function Al(t,e,r,n,a,i,o){if(\"point\"!==i)return[];if(!t)return[];for(var s,l=[],c=function(t,e,r,n,a,i){for(var o=0,s=0;s<t.length();s++){var l=t.getSection(s);o+=_l(t.getCharCode(s),l,n,a,e,i)}return o/Math.max(1,Math.ceil(o/r))}(t,e,r,n,a,o),u=t.text.indexOf(\"\\u200b\")>=0,h=0,f=0;f<t.length();f++){var p=t.getSection(f),d=t.getCharCode(f);if(xl[d]||(h+=_l(d,p,n,a,e,o)),f<t.length()-1){var g=!((s=d)<11904||!(Un[\"Bopomofo Extended\"](s)||Un.Bopomofo(s)||Un[\"CJK Compatibility Forms\"](s)||Un[\"CJK Compatibility Ideographs\"](s)||Un[\"CJK Compatibility\"](s)||Un[\"CJK Radicals Supplement\"](s)||Un[\"CJK Strokes\"](s)||Un[\"CJK Symbols and Punctuation\"](s)||Un[\"CJK Unified Ideographs Extension A\"](s)||Un[\"CJK Unified Ideographs\"](s)||Un[\"Enclosed CJK Letters and Months\"](s)||Un[\"Halfwidth and Fullwidth Forms\"](s)||Un.Hiragana(s)||Un[\"Ideographic Description Characters\"](s)||Un[\"Kangxi Radicals\"](s)||Un[\"Katakana Phonetic Extensions\"](s)||Un.Katakana(s)||Un[\"Vertical Forms\"](s)||Un[\"Yi Radicals\"](s)||Un[\"Yi Syllables\"](s)));(bl[d]||g||p.imageName)&&l.push(kl(f+1,h,c,l,Tl(d,t.getCharCode(f+1),g&&u),!1))}}return function t(e){return e?t(e.priorBreak).concat(e.index):[]}(kl(t.length(),h,c,l,0,!0))}function Ml(t){var e=.5,r=.5;switch(t){case\"right\":case\"top-right\":case\"bottom-right\":e=1;break;case\"left\":case\"top-left\":case\"bottom-left\":e=0}switch(t){case\"bottom\":case\"bottom-right\":case\"bottom-left\":r=1;break;case\"top\":case\"top-right\":case\"top-left\":r=0}return{horizontalAlign:e,verticalAlign:r}}function Sl(t,e,r,n,a){if(n||a)for(var i=t[r],o=(t[r].x+i.metrics.advance*i.scale)*n,s=e;s<=r;s++)t[s].x-=o,t[s].y+=a}function El(t,e,r,n,a,i){var o,s=t.image;if(s.content){var l=s.content,c=s.pixelRatio||1;o=[l[0]/c,l[1]/c,s.displaySize[0]-l[2]/c,s.displaySize[1]-l[3]/c]}var u,h,f,p,d=e.left*i,g=e.right*i;\"width\"===r||\"both\"===r?(p=a[0]+d-n[3],h=a[0]+g+n[1]):h=(p=a[0]+(d+g-s.displaySize[0])/2)+s.displaySize[0];var m=e.top*i,v=e.bottom*i;return\"height\"===r||\"both\"===r?(u=a[1]+m-n[0],f=a[1]+v+n[2]):f=(u=a[1]+(m+v-s.displaySize[1])/2)+s.displaySize[1],{image:s,top:u,right:h,bottom:f,left:p,collisionPadding:o}}bl[10]=!0,bl[32]=!0,bl[38]=!0,bl[40]=!0,bl[41]=!0,bl[43]=!0,bl[45]=!0,bl[47]=!0,bl[173]=!0,bl[183]=!0,bl[8203]=!0,bl[8208]=!0,bl[8211]=!0,bl[8231]=!0;var Cl=function(t){function e(e,r,n,a){t.call(this,e,r),this.angle=n,void 0!==a&&(this.segment=a)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.clone=function(){return new e(this.x,this.y,this.angle,this.segment)},e}(a);function Ll(t,e){var r=e.expression;if(\"constant\"===r.kind)return{kind:\"constant\",layoutSize:r.evaluate(new aa(t+1))};if(\"source\"===r.kind)return{kind:\"source\"};for(var n=r.zoomStops,a=r.interpolationType,i=0;i<n.length&&n[i]<=t;)i++;for(var o=i=Math.max(0,i-1);o<n.length&&n[o]<t+1;)o++;o=Math.min(n.length-1,o);var s=n[i],l=n[o];return\"composite\"===r.kind?{kind:\"composite\",minZoom:s,maxZoom:l,interpolationType:a}:{kind:\"camera\",minZoom:s,maxZoom:l,minSize:r.evaluate(new aa(s)),maxSize:r.evaluate(new aa(l)),interpolationType:a}}function Pl(t,e,r){var n=e.uSize,a=r.lowerSize;return\"source\"===t.kind?a/128:\"composite\"===t.kind?Ve(a/128,r.upperSize/128,e.uSizeT):n}function Il(t,e){var r=0,n=0;if(\"constant\"===t.kind)n=t.layoutSize;else if(\"source\"!==t.kind){var a=t.interpolationType,i=a?l(rr.interpolationFactor(a,e,t.minZoom,t.maxZoom),0,1):0;\"camera\"===t.kind?n=Ve(t.minSize,t.maxSize,i):r=i}return{uSizeT:r,uSize:n}}Dn(\"Anchor\",Cl);var zl=Object.freeze({__proto__:null,getSizeData:Ll,evaluateSizeForFeature:Pl,evaluateSizeForZoom:Il,SIZE_PACK_FACTOR:128});function Ol(t,e,r,n,a){if(void 0===e.segment)return!0;for(var i=e,o=e.segment+1,s=0;s>-r/2;){if(--o<0)return!1;s-=t[o].dist(i),i=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],c=0;s<r/2;){var u=t[o],h=t[o+1];if(!h)return!1;var f=t[o-1].angleTo(u)-u.angleTo(h);for(f=Math.abs((f+3*Math.PI)%(2*Math.PI)-Math.PI),l.push({distance:s,angleDelta:f}),c+=f;s-l[0].distance>n;)c-=l.shift().angleDelta;if(c>a)return!1;o++,s+=u.dist(h)}return!0}function Dl(t){for(var e=0,r=0;r<t.length-1;r++)e+=t[r].dist(t[r+1]);return e}function Rl(t,e,r){return t?.6*e*r:0}function Fl(t,e){return Math.max(t?t.right-t.left:0,e?e.right-e.left:0)}function Bl(t,e,r,n,a,i){for(var o=Rl(r,a,i),s=Fl(r,n)*i,l=0,c=Dl(t)/2,u=0;u<t.length-1;u++){var h=t[u],f=t[u+1],p=h.dist(f);if(l+p>c){var d=(c-l)/p,g=Ve(h.x,f.x,d),m=Ve(h.y,f.y,d),v=new Cl(g,m,f.angleTo(h),u);return v._round(),!o||Ol(t,v,s,o,e)?v:void 0}l+=p}}function Nl(t,e,r,n,a,i,o,s,l){var c=Rl(n,i,o),u=Fl(n,a),h=u*o,f=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-h<e/4&&(e=h+e/4),function t(e,r,n,a,i,o,s,l,c){for(var u=o/2,h=Dl(e),f=0,p=r-n,d=[],g=0;g<e.length-1;g++){for(var m=e[g],v=e[g+1],y=m.dist(v),x=v.angleTo(m);p+n<f+y;){var b=((p+=n)-f)/y,_=Ve(m.x,v.x,b),w=Ve(m.y,v.y,b);if(_>=0&&_<c&&w>=0&&w<c&&p-u>=0&&p+u<=h){var T=new Cl(_,w,x,g);T._round(),a&&!Ol(e,T,o,a,i)||d.push(T)}}f+=y}return l||d.length||s||(d=t(e,f/2,n,a,i,o,s,!0,c)),d}(t,f?e/2*s%e:(u/2+2*i)*o*s%e,e,c,r,h,f,!1,l)}function jl(t,e,r,n,i){for(var o=[],s=0;s<t.length;s++)for(var l=t[s],c=void 0,u=0;u<l.length-1;u++){var h=l[u],f=l[u+1];h.x<e&&f.x<e||(h.x<e?h=new a(e,h.y+(e-h.x)/(f.x-h.x)*(f.y-h.y))._round():f.x<e&&(f=new a(e,h.y+(e-h.x)/(f.x-h.x)*(f.y-h.y))._round()),h.y<r&&f.y<r||(h.y<r?h=new a(h.x+(r-h.y)/(f.y-h.y)*(f.x-h.x),r)._round():f.y<r&&(f=new a(h.x+(r-h.y)/(f.y-h.y)*(f.x-h.x),r)._round()),h.x>=n&&f.x>=n||(h.x>=n?h=new a(n,h.y+(n-h.x)/(f.x-h.x)*(f.y-h.y))._round():f.x>=n&&(f=new a(n,h.y+(n-h.x)/(f.x-h.x)*(f.y-h.y))._round()),h.y>=i&&f.y>=i||(h.y>=i?h=new a(h.x+(i-h.y)/(f.y-h.y)*(f.x-h.x),i)._round():f.y>=i&&(f=new a(h.x+(i-h.y)/(f.y-h.y)*(f.x-h.x),i)._round()),c&&h.equals(c[c.length-1])||o.push(c=[h]),c.push(f)))))}return o}function Vl(t,e,r,n){var i=[],o=t.image,s=o.pixelRatio,l=o.paddedRect.w-2,c=o.paddedRect.h-2,u=t.right-t.left,h=t.bottom-t.top,f=o.stretchX||[[0,l]],p=o.stretchY||[[0,c]],d=function(t,e){return t+e[1]-e[0]},g=f.reduce(d,0),m=p.reduce(d,0),v=l-g,y=c-m,x=0,b=g,_=0,w=m,T=0,k=v,A=0,M=y;if(o.content&&n){var S=o.content;x=Ul(f,0,S[0]),_=Ul(p,0,S[1]),b=Ul(f,S[0],S[2]),w=Ul(p,S[1],S[3]),T=S[0]-x,A=S[1]-_,k=S[2]-S[0]-b,M=S[3]-S[1]-w}var E=function(n,i,l,c){var f=Hl(n.stretch-x,b,u,t.left),p=Gl(n.fixed-T,k,n.stretch,g),d=Hl(i.stretch-_,w,h,t.top),v=Gl(i.fixed-A,M,i.stretch,m),y=Hl(l.stretch-x,b,u,t.left),S=Gl(l.fixed-T,k,l.stretch,g),E=Hl(c.stretch-_,w,h,t.top),C=Gl(c.fixed-A,M,c.stretch,m),L=new a(f,d),P=new a(y,d),I=new a(y,E),z=new a(f,E),O=new a(p/s,v/s),D=new a(S/s,C/s),R=e*Math.PI/180;if(R){var F=Math.sin(R),B=Math.cos(R),N=[B,-F,F,B];L._matMult(N),P._matMult(N),z._matMult(N),I._matMult(N)}var j=n.stretch+n.fixed,V=i.stretch+i.fixed;return{tl:L,tr:P,bl:z,br:I,tex:{x:o.paddedRect.x+1+j,y:o.paddedRect.y+1+V,w:l.stretch+l.fixed-j,h:c.stretch+c.fixed-V},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:O,pixelOffsetBR:D,minFontScaleX:k/s/u,minFontScaleY:M/s/h,isSDF:r}};if(n&&(o.stretchX||o.stretchY))for(var C=ql(f,v,g),L=ql(p,y,m),P=0;P<C.length-1;P++)for(var I=C[P],z=C[P+1],O=0;O<L.length-1;O++)i.push(E(I,L[O],z,L[O+1]));else i.push(E({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:l+1},{fixed:0,stretch:c+1}));return i}function Ul(t,e,r){for(var n=0,a=0,i=t;a<i.length;a+=1){var o=i[a];n+=Math.max(e,Math.min(r,o[1]))-Math.max(e,Math.min(r,o[0]))}return n}function ql(t,e,r){for(var n=[{fixed:-1,stretch:0}],a=0,i=t;a<i.length;a+=1){var o=i[a],s=o[0],l=o[1],c=n[n.length-1];n.push({fixed:s-c.stretch,stretch:c.stretch}),n.push({fixed:s-c.stretch,stretch:c.stretch+(l-s)})}return n.push({fixed:e+1,stretch:r}),n}function Hl(t,e,r,n){return t/e*r+n}function Gl(t,e,r,n){return t-e*r/n}var Yl=function(t,e,r,n,i,o,s,l,c,u){if(this.boxStartIndex=t.length,c){var h=o.top,f=o.bottom,p=o.collisionPadding;p&&(h-=p[1],f+=p[3]);var d=f-h;d>0&&(d=Math.max(10,d),this.circleDiameter=d)}else{var g=o.top*s-l,m=o.bottom*s+l,v=o.left*s-l,y=o.right*s+l,x=o.collisionPadding;if(x&&(v-=x[0]*s,g-=x[1]*s,y+=x[2]*s,m+=x[3]*s),u){var b=new a(v,g),_=new a(y,g),w=new a(v,m),T=new a(y,m),k=u*Math.PI/180;b._rotate(k),_._rotate(k),w._rotate(k),T._rotate(k),v=Math.min(b.x,_.x,w.x,T.x),y=Math.max(b.x,_.x,w.x,T.x),g=Math.min(b.y,_.y,w.y,T.y),m=Math.max(b.y,_.y,w.y,T.y)}t.emplaceBack(e.x,e.y,v,g,y,m,r,n,i)}this.boxEndIndex=t.length},Wl=function(t,e){if(void 0===t&&(t=[]),void 0===e&&(e=Zl),this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r)};function Zl(t,e){return t<e?-1:t>e?1:0}function Xl(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var n=1/0,i=1/0,o=-1/0,s=-1/0,l=t[0],c=0;c<l.length;c++){var u=l[c];(!c||u.x<n)&&(n=u.x),(!c||u.y<i)&&(i=u.y),(!c||u.x>o)&&(o=u.x),(!c||u.y>s)&&(s=u.y)}var h=Math.min(o-n,s-i),f=h/2,p=new Wl([],Jl);if(0===h)return new a(n,i);for(var d=n;d<o;d+=h)for(var g=i;g<s;g+=h)p.push(new Kl(d+f,g+f,f,t));for(var m=function(t){for(var e=0,r=0,n=0,a=t[0],i=0,o=a.length,s=o-1;i<o;s=i++){var l=a[i],c=a[s],u=l.x*c.y-c.x*l.y;r+=(l.x+c.x)*u,n+=(l.y+c.y)*u,e+=3*u}return new Kl(r/e,n/e,0,t)}(t),v=p.length;p.length;){var y=p.pop();(y.d>m.d||!m.d)&&(m=y,r&&console.log(\"found best %d after %d probes\",Math.round(1e4*y.d)/1e4,v)),y.max-m.d<=e||(p.push(new Kl(y.p.x-(f=y.h/2),y.p.y-f,f,t)),p.push(new Kl(y.p.x+f,y.p.y-f,f,t)),p.push(new Kl(y.p.x-f,y.p.y+f,f,t)),p.push(new Kl(y.p.x+f,y.p.y+f,f,t)),v+=4)}return r&&(console.log(\"num probes: \"+v),console.log(\"best distance: \"+m.d)),m.p}function Jl(t,e){return e.max-t.max}function Kl(t,e,r,n){this.p=new a(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,a=0;a<e.length;a++)for(var i=e[a],o=0,s=i.length,l=s-1;o<s;l=o++){var c=i[o],u=i[l];c.y>t.y!=u.y>t.y&&t.x<(u.x-c.x)*(t.y-c.y)/(u.y-c.y)+c.x&&(r=!r),n=Math.min(n,Gi(t,c,u))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}Wl.prototype.push=function(t){this.data.push(t),this.length++,this._up(this.length-1)},Wl.prototype.pop=function(){if(0!==this.length){var t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}},Wl.prototype.peek=function(){return this.data[0]},Wl.prototype._up=function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var a=t-1>>1,i=e[a];if(r(n,i)>=0)break;e[t]=i,t=a}e[t]=n},Wl.prototype._down=function(t){for(var e=this.data,r=this.compare,n=this.length>>1,a=e[t];t<n;){var i=1+(t<<1),o=e[i],s=i+1;if(s<this.length&&r(e[s],o)<0&&(i=s,o=e[s]),r(o,a)>=0)break;e[t]=o,t=i}e[t]=a};var Ql=Number.POSITIVE_INFINITY;function $l(t,e){return e[1]!==Ql?function(t,e,r){var n=0,a=0;switch(e=Math.abs(e),r=Math.abs(r),t){case\"top-right\":case\"top-left\":case\"top\":a=r-7;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":a=7-r}switch(t){case\"top-right\":case\"bottom-right\":case\"right\":n=-e;break;case\"top-left\":case\"bottom-left\":case\"left\":n=e}return[n,a]}(t,e[0],e[1]):function(t,e){var r=0,n=0;e<0&&(e=0);var a=e/Math.sqrt(2);switch(t){case\"top-right\":case\"top-left\":n=a-7;break;case\"bottom-right\":case\"bottom-left\":n=7-a;break;case\"bottom\":n=7-e;break;case\"top\":n=e-7}switch(t){case\"top-right\":case\"bottom-right\":r=-a;break;case\"top-left\":case\"bottom-left\":r=a;break;case\"left\":r=e;break;case\"right\":r=-e}return[r,n]}(t,e[0])}function tc(t){switch(t){case\"right\":case\"top-right\":case\"bottom-right\":return\"right\";case\"left\":case\"top-left\":case\"bottom-left\":return\"left\"}return\"center\"}function ec(t,e,r,n,i,o,s,l,c,u,h,f,p,d,g){var m=function(t,e,r,n,i,o,s,l){for(var c=n.layout.get(\"text-rotate\").evaluate(o,{})*Math.PI/180,u=[],h=0,f=e.positionedLines;h<f.length;h+=1)for(var p=f[h],d=0,g=p.positionedGlyphs;d<g.length;d+=1){var m=g[d];if(m.rect){var v=m.rect||{},y=4,x=!0,b=1,_=0,w=(i||l)&&m.vertical,T=m.metrics.advance*m.scale/2;if(l&&e.verticalizable&&(_=p.lineOffset/2-(m.imageName?-(24-m.metrics.width*m.scale)/2:24*(m.scale-1))),m.imageName){var k=s[m.imageName];x=k.sdf,y=1/(b=k.pixelRatio)}var A=i?[m.x+T,m.y]:[0,0],M=i?[0,0]:[m.x+T+r[0],m.y+r[1]-_],S=[0,0];w&&(S=M,M=[0,0]);var E=(m.metrics.left-y)*m.scale-T+M[0],C=(-m.metrics.top-y)*m.scale+M[1],L=E+v.w*m.scale/b,P=C+v.h*m.scale/b,I=new a(E,C),z=new a(L,C),O=new a(E,P),D=new a(L,P);if(w){var R=new a(-T,T- -17),F=-Math.PI/2,B=12-T,N=new a(22-B,-(m.imageName?B:0)),j=new(Function.prototype.bind.apply(a,[null].concat(S)));I._rotateAround(F,R)._add(N)._add(j),z._rotateAround(F,R)._add(N)._add(j),O._rotateAround(F,R)._add(N)._add(j),D._rotateAround(F,R)._add(N)._add(j)}if(c){var V=Math.sin(c),U=Math.cos(c),q=[U,-V,V,U];I._matMult(q),z._matMult(q),O._matMult(q),D._matMult(q)}var H=new a(0,0),G=new a(0,0);u.push({tl:I,tr:z,bl:O,br:D,tex:v,writingMode:e.writingMode,glyphOffset:A,sectionIndex:m.sectionIndex,isSDF:x,pixelOffsetTL:H,pixelOffsetBR:G,minFontScaleX:0,minFontScaleY:0})}}return u}(0,r,l,i,o,s,n,t.allowVerticalPlacement),v=t.textSizeData,y=null;\"source\"===v.kind?(y=[128*i.layout.get(\"text-size\").evaluate(s,{})])[0]>32640&&_(t.layerIds[0]+': Value for \"text-size\" is >= 255. Reduce your \"text-size\".'):\"composite\"===v.kind&&((y=[128*d.compositeTextSizes[0].evaluate(s,{},g),128*d.compositeTextSizes[1].evaluate(s,{},g)])[0]>32640||y[1]>32640)&&_(t.layerIds[0]+': Value for \"text-size\" is >= 255. Reduce your \"text-size\".'),t.addSymbols(t.text,m,y,l,o,s,u,e,c.lineStartIndex,c.lineLength,p,g);for(var x=0,b=h;x<b.length;x+=1)f[b[x]]=t.text.placedSymbolArray.length-1;return 4*m.length}function rc(t){for(var e in t)return t[e];return null}function nc(t,e,r,n){var a=t.compareText;if(e in a){for(var i=a[e],o=i.length-1;o>=0;o--)if(n.dist(i[o])<r)return!0}else a[e]=[];return a[e].push(n),!1}var ac=gs.VectorTileFeature.types,ic=[{name:\"a_fade_opacity\",components:1,type:\"Uint8\",offset:0}];function oc(t,e,r,n,a,i,o,s,l,c,u,h,f){var p=s?Math.min(32640,Math.round(s[0])):0,d=s?Math.min(32640,Math.round(s[1])):0;t.emplaceBack(e,r,Math.round(32*n),Math.round(32*a),i,o,(p<<1)+(l?1:0),d,16*c,16*u,256*h,256*f)}function sc(t,e,r){t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r)}function lc(t){for(var e=0,r=t.sections;e<r.length;e+=1)if(Zn(r[e].text))return!0;return!1}var cc=function(t){this.layoutVertexArray=new La,this.indexArray=new Fa,this.programConfigurations=t,this.segments=new ai,this.dynamicLayoutVertexArray=new Pa,this.opacityVertexArray=new Ia,this.placedSymbolArray=new Ja};cc.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length&&0===this.indexArray.length&&0===this.dynamicLayoutVertexArray.length&&0===this.opacityVertexArray.length},cc.prototype.upload=function(t,e,r,n){this.isEmpty()||(r&&(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Ds.members),this.indexBuffer=t.createIndexBuffer(this.indexArray,e),this.dynamicLayoutVertexBuffer=t.createVertexBuffer(this.dynamicLayoutVertexArray,Rs.members,!0),this.opacityVertexBuffer=t.createVertexBuffer(this.opacityVertexArray,ic,!0),this.opacityVertexBuffer.itemSize=1),(r||n)&&this.programConfigurations.upload(t))},cc.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())},Dn(\"SymbolBuffers\",cc);var uc=function(t,e,r){this.layoutVertexArray=new t,this.layoutAttributes=e,this.indexArray=new r,this.segments=new ai,this.collisionVertexArray=new Ra};uc.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=t.createVertexBuffer(this.collisionVertexArray,Fs.members,!0)},uc.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())},Dn(\"CollisionBuffers\",uc);var hc=function(t){this.collisionBoxArray=t.collisionBoxArray,this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.pixelRatio=t.pixelRatio,this.sourceLayerIndex=t.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=eo([]),this.placementViewportMatrix=eo([]);var e=this.layers[0]._unevaluatedLayout._values;this.textSizeData=Ll(this.zoom,e[\"text-size\"]),this.iconSizeData=Ll(this.zoom,e[\"icon-size\"]);var r=this.layers[0].layout,n=r.get(\"symbol-sort-key\"),a=r.get(\"symbol-z-order\");this.sortFeaturesByKey=\"viewport-y\"!==a&&void 0!==n.constantOr(1),this.sortFeaturesByY=(\"viewport-y\"===a||\"auto\"===a&&!this.sortFeaturesByKey)&&(r.get(\"text-allow-overlap\")||r.get(\"icon-allow-overlap\")||r.get(\"text-ignore-placement\")||r.get(\"icon-ignore-placement\")),\"point\"===r.get(\"symbol-placement\")&&(this.writingModes=r.get(\"text-writing-mode\").map((function(t){return gl[t]}))),this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id})),this.sourceID=t.sourceID};hc.prototype.createArrays=function(){this.text=new cc(new Pi(Ds.members,this.layers,this.zoom,(function(t){return/^text/.test(t)}))),this.icon=new cc(new Pi(Ds.members,this.layers,this.zoom,(function(t){return/^icon/.test(t)}))),this.glyphOffsetArray=new $a,this.lineVertexArray=new ti,this.symbolInstances=new Qa},hc.prototype.calculateGlyphDependencies=function(t,e,r,n,a){for(var i=0;i<t.length;i++)if(e[t.charCodeAt(i)]=!0,(r||n)&&a){var o=Vs[t.charAt(i)];o&&(e[o.charCodeAt(0)]=!0)}},hc.prototype.populate=function(t,e,r){var n=this.layers[0],a=n.layout,i=a.get(\"text-font\"),o=a.get(\"text-field\"),s=a.get(\"icon-image\"),l=(\"constant\"!==o.value.kind||o.value.value instanceof te&&!o.value.value.isEmpty()||o.value.value.toString().length>0)&&(\"constant\"!==i.value.kind||i.value.value.length>0),c=\"constant\"!==s.value.kind||!!s.value.value||Object.keys(s.parameters).length>0,u=a.get(\"symbol-sort-key\");if(this.features=[],l||c){for(var h=e.iconDependencies,f=e.glyphDependencies,p=e.availableImages,d=new aa(this.zoom),g=0,m=t;g<m.length;g+=1){var v=m[g],y=v.feature,x=v.id,b=v.index,_=v.sourceLayerIndex,w=n._featureFilter.needGeometry,T={type:y.type,id:x,properties:y.properties,geometry:w?Di(y):[]};if(n._featureFilter.filter(d,T,r)){w||(T.geometry=Di(y));var k=void 0;if(l){var A=n.getValueAndResolveTokens(\"text-field\",T,r,p),M=te.factory(A);lc(M)&&(this.hasRTLText=!0),(!this.hasRTLText||\"unavailable\"===ea()||this.hasRTLText&&na.isParsed())&&(k=js(M,n,T))}var S=void 0;if(c){var E=n.getValueAndResolveTokens(\"icon-image\",T,r,p);S=E instanceof ee?E:ee.fromString(E)}if(k||S){var C=this.sortFeaturesByKey?u.evaluate(T,{},r):void 0,L={id:x,text:k,icon:S,index:b,sourceLayerIndex:_,geometry:Di(y),properties:y.properties,type:ac[y.type],sortKey:C};if(this.features.push(L),S&&(h[S.name]=!0),k){var P=i.evaluate(T,{},r).join(\",\"),I=\"map\"===a.get(\"text-rotation-alignment\")&&\"point\"!==a.get(\"symbol-placement\");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(gl.vertical)>=0;for(var z=0,O=k.sections;z<O.length;z+=1){var D=O[z];if(D.image)h[D.image.name]=!0;else{var R=qn(k.toString()),F=D.fontStack||P,B=f[F]=f[F]||{};this.calculateGlyphDependencies(D.text,B,I,this.allowVerticalPlacement,R)}}}}}}\"line\"===a.get(\"symbol-placement\")&&(this.features=function(t){var e={},r={},n=[],a=0;function i(e){n.push(t[e]),a++}function o(t,e,a){var i=r[t];return delete r[t],r[e]=i,n[i].geometry[0].pop(),n[i].geometry[0]=n[i].geometry[0].concat(a[0]),i}function s(t,r,a){var i=e[r];return delete e[r],e[t]=i,n[i].geometry[0].shift(),n[i].geometry[0]=a[0].concat(n[i].geometry[0]),i}function l(t,e,r){var n=r?e[0][e[0].length-1]:e[0][0];return t+\":\"+n.x+\":\"+n.y}for(var c=0;c<t.length;c++){var u=t[c],h=u.geometry,f=u.text?u.text.toString():null;if(f){var p=l(f,h),d=l(f,h,!0);if(p in r&&d in e&&r[p]!==e[d]){var g=s(p,d,h),m=o(p,d,n[g].geometry);delete e[p],delete r[d],r[l(f,n[m].geometry,!0)]=m,n[g].geometry=null}else p in r?o(p,d,h):d in e?s(p,d,h):(i(c),e[p]=a-1,r[d]=a-1)}else i(c)}return n.filter((function(t){return t.geometry}))}(this.features)),this.sortFeaturesByKey&&this.features.sort((function(t,e){return t.sortKey-e.sortKey}))}},hc.prototype.update=function(t,e,r){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(t,e,this.layers,r),this.icon.programConfigurations.updatePaintArrays(t,e,this.layers,r))},hc.prototype.isEmpty=function(){return 0===this.symbolInstances.length&&!this.hasRTLText},hc.prototype.uploadPending=function(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload},hc.prototype.upload=function(t){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(t),this.iconCollisionBox.upload(t)),this.text.upload(t,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(t,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0},hc.prototype.destroyDebugData=function(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()},hc.prototype.destroy=function(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()},hc.prototype.addToLineVertexArray=function(t,e){var r=this.lineVertexArray.length;if(void 0!==t.segment){for(var n=t.dist(e[t.segment+1]),a=t.dist(e[t.segment]),i={},o=t.segment+1;o<e.length;o++)i[o]={x:e[o].x,y:e[o].y,tileUnitDistanceFromAnchor:n},o<e.length-1&&(n+=e[o+1].dist(e[o]));for(var s=t.segment||0;s>=0;s--)i[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:a},s>0&&(a+=e[s-1].dist(e[s]));for(var l=0;l<e.length;l++){var c=i[l];this.lineVertexArray.emplaceBack(c.x,c.y,c.tileUnitDistanceFromAnchor)}}return{lineStartIndex:r,lineLength:this.lineVertexArray.length-r}},hc.prototype.addSymbols=function(t,e,r,n,a,i,o,s,l,c,u,h){for(var f=t.indexArray,p=t.layoutVertexArray,d=t.segments.prepareSegment(4*e.length,p,f,i.sortKey),g=this.glyphOffsetArray.length,m=d.vertexLength,v=this.allowVerticalPlacement&&o===gl.vertical?Math.PI/2:0,y=i.text&&i.text.sections,x=0;x<e.length;x++){var b=e[x],_=b.tl,w=b.tr,T=b.bl,k=b.br,A=b.tex,M=b.pixelOffsetTL,S=b.pixelOffsetBR,E=b.minFontScaleX,C=b.minFontScaleY,L=b.glyphOffset,P=b.isSDF,I=b.sectionIndex,z=d.vertexLength,O=L[1];oc(p,s.x,s.y,_.x,O+_.y,A.x,A.y,r,P,M.x,M.y,E,C),oc(p,s.x,s.y,w.x,O+w.y,A.x+A.w,A.y,r,P,S.x,M.y,E,C),oc(p,s.x,s.y,T.x,O+T.y,A.x,A.y+A.h,r,P,M.x,S.y,E,C),oc(p,s.x,s.y,k.x,O+k.y,A.x+A.w,A.y+A.h,r,P,S.x,S.y,E,C),sc(t.dynamicLayoutVertexArray,s,v),f.emplaceBack(z,z+1,z+2),f.emplaceBack(z+1,z+2,z+3),d.vertexLength+=4,d.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(L[0]),x!==e.length-1&&I===e[x+1].sectionIndex||t.programConfigurations.populatePaintArrays(p.length,i,i.index,{},h,y&&y[I])}t.placedSymbolArray.emplaceBack(s.x,s.y,g,this.glyphOffsetArray.length-g,m,l,c,s.segment,r?r[0]:0,r?r[1]:0,n[0],n[1],o,0,!1,0,u)},hc.prototype._addCollisionDebugVertex=function(t,e,r,n,a,i){return e.emplaceBack(0,0),t.emplaceBack(r.x,r.y,n,a,Math.round(i.x),Math.round(i.y))},hc.prototype.addCollisionDebugVertices=function(t,e,r,n,i,o,s){var l=i.segments.prepareSegment(4,i.layoutVertexArray,i.indexArray),c=l.vertexLength,u=i.layoutVertexArray,h=i.collisionVertexArray,f=s.anchorX,p=s.anchorY;this._addCollisionDebugVertex(u,h,o,f,p,new a(t,e)),this._addCollisionDebugVertex(u,h,o,f,p,new a(r,e)),this._addCollisionDebugVertex(u,h,o,f,p,new a(r,n)),this._addCollisionDebugVertex(u,h,o,f,p,new a(t,n)),l.vertexLength+=4;var d=i.indexArray;d.emplaceBack(c,c+1),d.emplaceBack(c+1,c+2),d.emplaceBack(c+2,c+3),d.emplaceBack(c+3,c),l.primitiveLength+=4},hc.prototype.addDebugCollisionBoxes=function(t,e,r,n){for(var a=t;a<e;a++){var i=this.collisionBoxArray.get(a);this.addCollisionDebugVertices(i.x1,i.y1,i.x2,i.y2,n?this.textCollisionBox:this.iconCollisionBox,i.anchorPoint,r)}},hc.prototype.generateCollisionDebugBuffers=function(){this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new uc(Oa,Bs.members,qa),this.iconCollisionBox=new uc(Oa,Bs.members,qa);for(var t=0;t<this.symbolInstances.length;t++){var e=this.symbolInstances.get(t);this.addDebugCollisionBoxes(e.textBoxStartIndex,e.textBoxEndIndex,e,!0),this.addDebugCollisionBoxes(e.verticalTextBoxStartIndex,e.verticalTextBoxEndIndex,e,!0),this.addDebugCollisionBoxes(e.iconBoxStartIndex,e.iconBoxEndIndex,e,!1),this.addDebugCollisionBoxes(e.verticalIconBoxStartIndex,e.verticalIconBoxEndIndex,e,!1)}},hc.prototype._deserializeCollisionBoxesForSymbol=function(t,e,r,n,a,i,o,s,l){for(var c={},u=e;u<r;u++){var h=t.get(u);c.textBox={x1:h.x1,y1:h.y1,x2:h.x2,y2:h.y2,anchorPointX:h.anchorPointX,anchorPointY:h.anchorPointY},c.textFeatureIndex=h.featureIndex;break}for(var f=n;f<a;f++){var p=t.get(f);c.verticalTextBox={x1:p.x1,y1:p.y1,x2:p.x2,y2:p.y2,anchorPointX:p.anchorPointX,anchorPointY:p.anchorPointY},c.verticalTextFeatureIndex=p.featureIndex;break}for(var d=i;d<o;d++){var g=t.get(d);c.iconBox={x1:g.x1,y1:g.y1,x2:g.x2,y2:g.y2,anchorPointX:g.anchorPointX,anchorPointY:g.anchorPointY},c.iconFeatureIndex=g.featureIndex;break}for(var m=s;m<l;m++){var v=t.get(m);c.verticalIconBox={x1:v.x1,y1:v.y1,x2:v.x2,y2:v.y2,anchorPointX:v.anchorPointX,anchorPointY:v.anchorPointY},c.verticalIconFeatureIndex=v.featureIndex;break}return c},hc.prototype.deserializeCollisionBoxes=function(t){this.collisionArrays=[];for(var e=0;e<this.symbolInstances.length;e++){var r=this.symbolInstances.get(e);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(t,r.textBoxStartIndex,r.textBoxEndIndex,r.verticalTextBoxStartIndex,r.verticalTextBoxEndIndex,r.iconBoxStartIndex,r.iconBoxEndIndex,r.verticalIconBoxStartIndex,r.verticalIconBoxEndIndex))}},hc.prototype.hasTextData=function(){return this.text.segments.get().length>0},hc.prototype.hasIconData=function(){return this.icon.segments.get().length>0},hc.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},hc.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},hc.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},hc.prototype.addIndicesForPlacedSymbol=function(t,e){for(var r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs,a=r.vertexStartIndex;a<n;a+=4)t.indexArray.emplaceBack(a,a+1,a+2),t.indexArray.emplaceBack(a+1,a+2,a+3)},hc.prototype.getSortedSymbolIndexes=function(t){if(this.sortedAngle===t&&void 0!==this.symbolInstanceIndexes)return this.symbolInstanceIndexes;for(var e=Math.sin(t),r=Math.cos(t),n=[],a=[],i=[],o=0;o<this.symbolInstances.length;++o){i.push(o);var s=this.symbolInstances.get(o);n.push(0|Math.round(e*s.anchorX+r*s.anchorY)),a.push(s.featureIndex)}return i.sort((function(t,e){return n[t]-n[e]||a[e]-a[t]})),i},hc.prototype.addToSortKeyRanges=function(t,e){var r=this.sortKeyRanges[this.sortKeyRanges.length-1];r&&r.sortKey===e?r.symbolInstanceEnd=t+1:this.sortKeyRanges.push({sortKey:e,symbolInstanceStart:t,symbolInstanceEnd:t+1})},hc.prototype.sortFeatures=function(t){var e=this;if(this.sortFeaturesByY&&this.sortedAngle!==t&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var r=0,n=this.symbolInstanceIndexes;r<n.length;r+=1){var a=this.symbolInstances.get(n[r]);this.featureSortOrder.push(a.featureIndex),[a.rightJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.leftJustifiedTextSymbolIndex].forEach((function(t,r,n){t>=0&&n.indexOf(t)===r&&e.addIndicesForPlacedSymbol(e.text,t)})),a.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,a.verticalPlacedTextSymbolIndex),a.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.placedIconSymbolIndex),a.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},Dn(\"SymbolBucket\",hc,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),hc.MAX_GLYPHS=65535,hc.addDynamicAttributes=sc;var fc=new ya({\"symbol-placement\":new pa(Mt.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new pa(Mt.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new pa(Mt.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new da(Mt.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new pa(Mt.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new pa(Mt.layout_symbol[\"icon-allow-overlap\"]),\"icon-ignore-placement\":new pa(Mt.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new pa(Mt.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new pa(Mt.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new da(Mt.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new pa(Mt.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new pa(Mt.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new da(Mt.layout_symbol[\"icon-image\"]),\"icon-rotate\":new da(Mt.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new pa(Mt.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new pa(Mt.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new da(Mt.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new da(Mt.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new pa(Mt.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new pa(Mt.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new pa(Mt.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new da(Mt.layout_symbol[\"text-field\"]),\"text-font\":new da(Mt.layout_symbol[\"text-font\"]),\"text-size\":new da(Mt.layout_symbol[\"text-size\"]),\"text-max-width\":new da(Mt.layout_symbol[\"text-max-width\"]),\"text-line-height\":new pa(Mt.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new da(Mt.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new da(Mt.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new da(Mt.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new pa(Mt.layout_symbol[\"text-variable-anchor\"]),\"text-anchor\":new da(Mt.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new pa(Mt.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new pa(Mt.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new da(Mt.layout_symbol[\"text-rotate\"]),\"text-padding\":new pa(Mt.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new pa(Mt.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new da(Mt.layout_symbol[\"text-transform\"]),\"text-offset\":new da(Mt.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new pa(Mt.layout_symbol[\"text-allow-overlap\"]),\"text-ignore-placement\":new pa(Mt.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new pa(Mt.layout_symbol[\"text-optional\"])}),pc={paint:new ya({\"icon-opacity\":new da(Mt.paint_symbol[\"icon-opacity\"]),\"icon-color\":new da(Mt.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new da(Mt.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new da(Mt.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new da(Mt.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new pa(Mt.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new pa(Mt.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new da(Mt.paint_symbol[\"text-opacity\"]),\"text-color\":new da(Mt.paint_symbol[\"text-color\"],{runtimeType:Bt,getOverride:function(t){return t.textColor},hasOverride:function(t){return!!t.textColor}}),\"text-halo-color\":new da(Mt.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new da(Mt.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new da(Mt.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new pa(Mt.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new pa(Mt.paint_symbol[\"text-translate-anchor\"])}),layout:fc},dc=function(t){this.type=t.property.overrides?t.property.overrides.runtimeType:Ot,this.defaultValue=t};dc.prototype.evaluate=function(t){if(t.formattedSection){var e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default},dc.prototype.eachChild=function(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)},dc.prototype.outputDefined=function(){return!1},dc.prototype.serialize=function(){return null},Dn(\"FormatSectionOverride\",dc,{omit:[\"defaultValue\"]});var gc=function(t){function e(e){t.call(this,e,pc)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.recalculate=function(e,r){if(t.prototype.recalculate.call(this,e,r),\"auto\"===this.layout.get(\"icon-rotation-alignment\")&&(this.layout._values[\"icon-rotation-alignment\"]=\"point\"!==this.layout.get(\"symbol-placement\")?\"map\":\"viewport\"),\"auto\"===this.layout.get(\"text-rotation-alignment\")&&(this.layout._values[\"text-rotation-alignment\"]=\"point\"!==this.layout.get(\"symbol-placement\")?\"map\":\"viewport\"),\"auto\"===this.layout.get(\"text-pitch-alignment\")&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")),\"auto\"===this.layout.get(\"icon-pitch-alignment\")&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),\"point\"===this.layout.get(\"symbol-placement\")){var n=this.layout.get(\"text-writing-mode\");if(n){for(var a=[],i=0,o=n;i<o.length;i+=1){var s=o[i];a.indexOf(s)<0&&a.push(s)}this.layout._values[\"text-writing-mode\"]=a}else this.layout._values[\"text-writing-mode\"]=[\"horizontal\"]}this._setPaintOverrides()},e.prototype.getValueAndResolveTokens=function(t,e,r,n){var a=this.layout.get(t).evaluate(e,{},r,n),i=this._unevaluatedLayout._values[t];return i.isDataDriven()||Ur(i.value)||!a?a:function(t,e){return e.replace(/{([^{}]+)}/g,(function(e,r){return r in t?String(t[r]):\"\"}))}(e.properties,a)},e.prototype.createBucket=function(t){return new hc(t)},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return!1},e.prototype._setPaintOverrides=function(){for(var t=0,r=pc.paint.overridableProperties;t<r.length;t+=1){var n=r[t];if(e.hasPaintOverride(this.layout,n)){var a,i=this.paint.get(n),o=new dc(i),s=new Vr(o,i.property.specification);a=\"constant\"===i.value.kind||\"source\"===i.value.kind?new Hr(\"source\",s):new Gr(\"composite\",s,i.value.zoomStops,i.value._interpolationType),this.paint._values[n]=new ha(i.property,a,i.parameters)}}},e.prototype._handleOverridablePaintPropertyUpdate=function(t,r,n){return!(!this.layout||r.isDataDriven()||n.isDataDriven())&&e.hasPaintOverride(this.layout,t)},e.hasPaintOverride=function(t,e){var r=t.get(\"text-field\"),n=pc.paint.properties[e],a=!1,i=function(t){for(var e=0,r=t;e<r.length;e+=1)if(n.overrides&&n.overrides.hasOverride(r[e]))return void(a=!0)};if(\"constant\"===r.value.kind&&r.value.value instanceof te)i(r.value.value.sections);else if(\"source\"===r.value.kind){var o=function(t){a||(t instanceof oe&&ae(t.value)===Ut?i(t.value.sections):t instanceof ue?i(t.sections):t.eachChild(o))},s=r.value;s._styleExpression&&o(s._styleExpression.expression)}return a},e}(xa),mc={paint:new ya({\"background-color\":new pa(Mt.paint_background[\"background-color\"]),\"background-pattern\":new ma(Mt.paint_background[\"background-pattern\"]),\"background-opacity\":new pa(Mt.paint_background[\"background-opacity\"])})},vc=function(t){function e(e){t.call(this,e,mc)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(xa),yc={paint:new ya({\"raster-opacity\":new pa(Mt.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new pa(Mt.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new pa(Mt.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new pa(Mt.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new pa(Mt.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new pa(Mt.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new pa(Mt.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new pa(Mt.paint_raster[\"raster-fade-duration\"])})},xc=function(t){function e(e){t.call(this,e,yc)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(xa),bc=function(t){function e(e){t.call(this,e,{}),this.implementation=e}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.is3D=function(){return\"3d\"===this.implementation.renderingMode},e.prototype.hasOffscreenPass=function(){return void 0!==this.implementation.prerender},e.prototype.recalculate=function(){},e.prototype.updateTransitions=function(){},e.prototype.hasTransition=function(){},e.prototype.serialize=function(){},e.prototype.onAdd=function(t){this.implementation.onAdd&&this.implementation.onAdd(t,t.painter.context.gl)},e.prototype.onRemove=function(t){this.implementation.onRemove&&this.implementation.onRemove(t,t.painter.context.gl)},e}(xa),_c={circle:oo,heatmap:vo,hillshade:xo,fill:is,\"fill-extrusion\":ws,line:zs,symbol:gc,background:vc,raster:xc},wc=self.HTMLImageElement,Tc=self.HTMLCanvasElement,kc=self.HTMLVideoElement,Ac=self.ImageData,Mc=self.ImageBitmap,Sc=function(t,e,r,n){this.context=t,this.format=r,this.texture=t.gl.createTexture(),this.update(e,n)};Sc.prototype.update=function(t,e,r){var n=t.width,a=t.height,i=!(this.size&&this.size[0]===n&&this.size[1]===a||r),o=this.context,s=o.gl;if(this.useMipmap=Boolean(e&&e.useMipmap),s.bindTexture(s.TEXTURE_2D,this.texture),o.pixelStoreUnpackFlipY.set(!1),o.pixelStoreUnpack.set(1),o.pixelStoreUnpackPremultiplyAlpha.set(this.format===s.RGBA&&(!e||!1!==e.premultiply)),i)this.size=[n,a],t instanceof wc||t instanceof Tc||t instanceof kc||t instanceof Ac||Mc&&t instanceof Mc?s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,s.UNSIGNED_BYTE,t):s.texImage2D(s.TEXTURE_2D,0,this.format,n,a,0,this.format,s.UNSIGNED_BYTE,t.data);else{var l=r||{x:0,y:0},c=l.x,u=l.y;t instanceof wc||t instanceof Tc||t instanceof kc||t instanceof Ac||Mc&&t instanceof Mc?s.texSubImage2D(s.TEXTURE_2D,0,c,u,s.RGBA,s.UNSIGNED_BYTE,t):s.texSubImage2D(s.TEXTURE_2D,0,c,u,n,a,s.RGBA,s.UNSIGNED_BYTE,t.data)}this.useMipmap&&this.isSizePowerOfTwo()&&s.generateMipmap(s.TEXTURE_2D)},Sc.prototype.bind=function(t,e,r){var n=this.context.gl;n.bindTexture(n.TEXTURE_2D,this.texture),r!==n.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(r=n.LINEAR),t!==this.filter&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,t),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,r||t),this.filter=t),e!==this.wrap&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,e),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,e),this.wrap=e)},Sc.prototype.isSizePowerOfTwo=function(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0},Sc.prototype.destroy=function(){this.context.gl.deleteTexture(this.texture),this.texture=null};var Ec=function(t){var e=this;this._callback=t,this._triggered=!1,\"undefined\"!=typeof MessageChannel&&(this._channel=new MessageChannel,this._channel.port2.onmessage=function(){e._triggered=!1,e._callback()})};Ec.prototype.trigger=function(){var t=this;this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((function(){t._triggered=!1,t._callback()}),0))},Ec.prototype.remove=function(){delete this._channel,this._callback=function(){}};var Cc=function(t,e,r){this.target=t,this.parent=e,this.mapId=r,this.callbacks={},this.tasks={},this.taskQueue=[],this.cancelCallbacks={},g([\"receive\",\"process\"],this),this.invoker=new Ec(this.process),this.target.addEventListener(\"message\",this.receive,!1),this.globalScope=k()?t:self};function Lc(t,e,r){var n=2*Math.PI*6378137/256/Math.pow(2,r);return[t*n-2*Math.PI*6378137/2,e*n-2*Math.PI*6378137/2]}Cc.prototype.send=function(t,e,r,n,a){var i=this;void 0===a&&(a=!1);var o=Math.round(1e18*Math.random()).toString(36).substring(0,10);r&&(this.callbacks[o]=r);var s=S(this.globalScope)?void 0:[];return this.target.postMessage({id:o,type:t,hasCallback:!!r,targetMapId:n,mustQueue:a,sourceMapId:this.mapId,data:Nn(e,s)},s),{cancel:function(){r&&delete i.callbacks[o],i.target.postMessage({id:o,type:\"<cancel>\",targetMapId:n,sourceMapId:i.mapId})}}},Cc.prototype.receive=function(t){var e=t.data,r=e.id;if(r&&(!e.targetMapId||this.mapId===e.targetMapId))if(\"<cancel>\"===e.type){delete this.tasks[r];var n=this.cancelCallbacks[r];delete this.cancelCallbacks[r],n&&n()}else k()||e.mustQueue?(this.tasks[r]=e,this.taskQueue.push(r),this.invoker.trigger()):this.processTask(r,e)},Cc.prototype.process=function(){if(this.taskQueue.length){var t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),e&&this.processTask(t,e)}},Cc.prototype.processTask=function(t,e){var r=this;if(\"<response>\"===e.type){var n=this.callbacks[t];delete this.callbacks[t],n&&(e.error?n(jn(e.error)):n(null,jn(e.data)))}else{var a=!1,i=S(this.globalScope)?void 0:[],o=e.hasCallback?function(e,n){a=!0,delete r.cancelCallbacks[t],r.target.postMessage({id:t,type:\"<response>\",sourceMapId:r.mapId,error:e?Nn(e):null,data:Nn(n,i)},i)}:function(t){a=!0},s=null,l=jn(e.data);if(this.parent[e.type])s=this.parent[e.type](e.sourceMapId,l,o);else if(this.parent.getWorkerSource){var c=e.type.split(\".\");s=this.parent.getWorkerSource(e.sourceMapId,c[0],l.source)[c[1]](l,o)}else o(new Error(\"Could not find function \"+e.type));!a&&s&&s.cancel&&(this.cancelCallbacks[t]=s.cancel)}},Cc.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener(\"message\",this.receive,!1)};var Pc=function(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};Pc.prototype.setNorthEast=function(t){return this._ne=t instanceof Ic?new Ic(t.lng,t.lat):Ic.convert(t),this},Pc.prototype.setSouthWest=function(t){return this._sw=t instanceof Ic?new Ic(t.lng,t.lat):Ic.convert(t),this},Pc.prototype.extend=function(t){var e,r,n=this._sw,a=this._ne;if(t instanceof Ic)e=t,r=t;else{if(!(t instanceof Pc))return Array.isArray(t)?4===t.length||t.every(Array.isArray)?this.extend(Pc.convert(t)):this.extend(Ic.convert(t)):this;if(r=t._ne,!(e=t._sw)||!r)return this}return n||a?(n.lng=Math.min(e.lng,n.lng),n.lat=Math.min(e.lat,n.lat),a.lng=Math.max(r.lng,a.lng),a.lat=Math.max(r.lat,a.lat)):(this._sw=new Ic(e.lng,e.lat),this._ne=new Ic(r.lng,r.lat)),this},Pc.prototype.getCenter=function(){return new Ic((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},Pc.prototype.getSouthWest=function(){return this._sw},Pc.prototype.getNorthEast=function(){return this._ne},Pc.prototype.getNorthWest=function(){return new Ic(this.getWest(),this.getNorth())},Pc.prototype.getSouthEast=function(){return new Ic(this.getEast(),this.getSouth())},Pc.prototype.getWest=function(){return this._sw.lng},Pc.prototype.getSouth=function(){return this._sw.lat},Pc.prototype.getEast=function(){return this._ne.lng},Pc.prototype.getNorth=function(){return this._ne.lat},Pc.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},Pc.prototype.toString=function(){return\"LngLatBounds(\"+this._sw.toString()+\", \"+this._ne.toString()+\")\"},Pc.prototype.isEmpty=function(){return!(this._sw&&this._ne)},Pc.prototype.contains=function(t){var e=Ic.convert(t),r=e.lng,n=e.lat,a=this._sw.lng<=r&&r<=this._ne.lng;return this._sw.lng>this._ne.lng&&(a=this._sw.lng>=r&&r>=this._ne.lng),this._sw.lat<=n&&n<=this._ne.lat&&a},Pc.convert=function(t){return!t||t instanceof Pc?t:new Pc(t)};var Ic=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid LngLat object: (\"+t+\", \"+e+\")\");if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")};Ic.prototype.wrap=function(){return new Ic(c(this.lng,-180,180),this.lat)},Ic.prototype.toArray=function(){return[this.lng,this.lat]},Ic.prototype.toString=function(){return\"LngLat(\"+this.lng+\", \"+this.lat+\")\"},Ic.prototype.distanceTo=function(t){var e=Math.PI/180,r=this.lat*e,n=t.lat*e,a=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((t.lng-this.lng)*e);return 6371008.8*Math.acos(Math.min(a,1))},Ic.prototype.toBounds=function(t){void 0===t&&(t=0);var e=360*t/40075017,r=e/Math.cos(Math.PI/180*this.lat);return new Pc(new Ic(this.lng-r,this.lat-e),new Ic(this.lng+r,this.lat+e))},Ic.convert=function(t){if(t instanceof Ic)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new Ic(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&\"object\"==typeof t&&null!==t)return new Ic(Number(\"lng\"in t?t.lng:t.lon),Number(t.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]\")};var zc=2*Math.PI*6371008.8;function Oc(t){return zc*Math.cos(t*Math.PI/180)}function Dc(t){return(180+t)/360}function Rc(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Fc(t,e){return t/Oc(e)}function Bc(t){return 360/Math.PI*Math.atan(Math.exp((180-360*t)*Math.PI/180))-90}var Nc=function(t,e,r){void 0===r&&(r=0),this.x=+t,this.y=+e,this.z=+r};Nc.fromLngLat=function(t,e){void 0===e&&(e=0);var r=Ic.convert(t);return new Nc(Dc(r.lng),Rc(r.lat),Fc(e,r.lat))},Nc.prototype.toLngLat=function(){return new Ic(360*this.x-180,Bc(this.y))},Nc.prototype.toAltitude=function(){return this.z*Oc(Bc(this.y))},Nc.prototype.meterInMercatorCoordinateUnits=function(){return 1/zc*(t=Bc(this.y),1/Math.cos(t*Math.PI/180));var t};var jc=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=qc(0,t,t,e,r)};jc.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},jc.prototype.url=function(t,e){var r,n,a,i,o,s=(n=this.y,a=this.z,i=Lc(256*(r=this.x),256*(n=Math.pow(2,a)-n-1),a),o=Lc(256*(r+1),256*(n+1),a),i[0]+\",\"+i[1]+\",\"+o[0]+\",\"+o[1]),l=function(t,e,r){for(var n,a=\"\",i=t;i>0;i--)a+=(e&(n=1<<i-1)?1:0)+(r&n?2:0);return a}(this.z,this.x,this.y);return t[(this.x+this.y)%t.length].replace(\"{prefix}\",(this.x%16).toString(16)+(this.y%16).toString(16)).replace(\"{z}\",String(this.z)).replace(\"{x}\",String(this.x)).replace(\"{y}\",String(\"tms\"===e?Math.pow(2,this.z)-this.y-1:this.y)).replace(\"{quadkey}\",l).replace(\"{bbox-epsg-3857}\",s)},jc.prototype.getTilePoint=function(t){var e=Math.pow(2,this.z);return new a(8192*(t.x*e-this.x),8192*(t.y*e-this.y))},jc.prototype.toString=function(){return this.z+\"/\"+this.x+\"/\"+this.y};var Vc=function(t,e){this.wrap=t,this.canonical=e,this.key=qc(t,e.z,e.z,e.x,e.y)},Uc=function(t,e,r,n,a){this.overscaledZ=t,this.wrap=e,this.canonical=new jc(r,+n,+a),this.key=qc(e,t,r,n,a)};function qc(t,e,r,n,a){(t*=2)<0&&(t=-1*t-1);var i=1<<r;return(i*i*t+i*a+n).toString(36)+r.toString(36)+e.toString(36)}Uc.prototype.equals=function(t){return this.overscaledZ===t.overscaledZ&&this.wrap===t.wrap&&this.canonical.equals(t.canonical)},Uc.prototype.scaledTo=function(t){var e=this.canonical.z-t;return t>this.canonical.z?new Uc(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Uc(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},Uc.prototype.calculateScaledKey=function(t,e){var r=this.canonical.z-t;return t>this.canonical.z?qc(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):qc(this.wrap*+e,t,t,this.canonical.x>>r,this.canonical.y>>r)},Uc.prototype.isChildOf=function(t){if(t.wrap!==this.wrap)return!1;var e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ<this.overscaledZ&&t.canonical.x===this.canonical.x>>e&&t.canonical.y===this.canonical.y>>e},Uc.prototype.children=function(t){if(this.overscaledZ>=t)return[new Uc(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new Uc(e,this.wrap,e,r,n),new Uc(e,this.wrap,e,r+1,n),new Uc(e,this.wrap,e,r,n+1),new Uc(e,this.wrap,e,r+1,n+1)]},Uc.prototype.isLessThan=function(t){return this.wrap<t.wrap||!(this.wrap>t.wrap)&&(this.overscaledZ<t.overscaledZ||!(this.overscaledZ>t.overscaledZ)&&(this.canonical.x<t.canonical.x||!(this.canonical.x>t.canonical.x)&&this.canonical.y<t.canonical.y))},Uc.prototype.wrapped=function(){return new Uc(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)},Uc.prototype.unwrapTo=function(t){return new Uc(this.overscaledZ,t,this.canonical.z,this.canonical.x,this.canonical.y)},Uc.prototype.overscaleFactor=function(){return Math.pow(2,this.overscaledZ-this.canonical.z)},Uc.prototype.toUnwrapped=function(){return new Vc(this.wrap,this.canonical)},Uc.prototype.toString=function(){return this.overscaledZ+\"/\"+this.canonical.x+\"/\"+this.canonical.y},Uc.prototype.getTilePoint=function(t){return this.canonical.getTilePoint(new Nc(t.x-this.wrap,t.y))},Dn(\"CanonicalTileID\",jc),Dn(\"OverscaledTileID\",Uc,{omit:[\"posMatrix\"]});var Hc=function(t,e,r){if(this.uid=t,e.height!==e.width)throw new RangeError(\"DEM tiles must be square\");if(r&&\"mapbox\"!==r&&\"terrarium\"!==r)return _('\"'+r+'\" is not a valid encoding type. Valid types include \"mapbox\" and \"terrarium\".');this.stride=e.height;var n=this.dim=e.height-2;this.data=new Uint32Array(e.data.buffer),this.encoding=r||\"mapbox\";for(var a=0;a<n;a++)this.data[this._idx(-1,a)]=this.data[this._idx(0,a)],this.data[this._idx(n,a)]=this.data[this._idx(n-1,a)],this.data[this._idx(a,-1)]=this.data[this._idx(a,0)],this.data[this._idx(a,n)]=this.data[this._idx(a,n-1)];this.data[this._idx(-1,-1)]=this.data[this._idx(0,0)],this.data[this._idx(n,-1)]=this.data[this._idx(n-1,0)],this.data[this._idx(-1,n)]=this.data[this._idx(0,n-1)],this.data[this._idx(n,n)]=this.data[this._idx(n-1,n-1)]};Hc.prototype.get=function(t,e){var r=new Uint8Array(this.data.buffer),n=4*this._idx(t,e);return(\"terrarium\"===this.encoding?this._unpackTerrarium:this._unpackMapbox)(r[n],r[n+1],r[n+2])},Hc.prototype.getUnpackVector=function(){return\"terrarium\"===this.encoding?[256,1,1/256,32768]:[6553.6,25.6,.1,1e4]},Hc.prototype._idx=function(t,e){if(t<-1||t>=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return(e+1)*this.stride+(t+1)},Hc.prototype._unpackMapbox=function(t,e,r){return(256*t*256+256*e+r)/10-1e4},Hc.prototype._unpackTerrarium=function(t,e,r){return 256*t+e+r/256-32768},Hc.prototype.getPixels=function(){return new po({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},Hc.prototype.backfillBorder=function(t,e,r){if(this.dim!==t.dim)throw new Error(\"dem dimension mismatch\");var n=e*this.dim,a=e*this.dim+this.dim,i=r*this.dim,o=r*this.dim+this.dim;switch(e){case-1:n=a-1;break;case 1:a=n+1}switch(r){case-1:i=o-1;break;case 1:o=i+1}for(var s=-e*this.dim,l=-r*this.dim,c=i;c<o;c++)for(var u=n;u<a;u++)this.data[this._idx(u,c)]=t.data[this._idx(u+s,c+l)]},Dn(\"DEMData\",Hc);var Gc=function(t){this._stringToNumber={},this._numberToString=[];for(var e=0;e<t.length;e++){var r=t[e];this._stringToNumber[r]=e,this._numberToString[e]=r}};Gc.prototype.encode=function(t){return this._stringToNumber[t]},Gc.prototype.decode=function(t){return this._numberToString[t]};var Yc=function(t,e,r,n,a){this.type=\"Feature\",this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,this.id=a},Wc={geometry:{configurable:!0}};Wc.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},Wc.geometry.set=function(t){this._geometry=t},Yc.prototype.toJSON=function(){var t={geometry:this.geometry};for(var e in this)\"_geometry\"!==e&&\"_vectorTileFeature\"!==e&&(t[e]=this[e]);return t},Object.defineProperties(Yc.prototype,Wc);var Zc=function(){this.state={},this.stateChanges={},this.deletedStates={}};Zc.prototype.updateState=function(t,e,r){var n=String(e);if(this.stateChanges[t]=this.stateChanges[t]||{},this.stateChanges[t][n]=this.stateChanges[t][n]||{},u(this.stateChanges[t][n],r),null===this.deletedStates[t])for(var a in this.deletedStates[t]={},this.state[t])a!==n&&(this.deletedStates[t][a]=null);else if(this.deletedStates[t]&&null===this.deletedStates[t][n])for(var i in this.deletedStates[t][n]={},this.state[t][n])r[i]||(this.deletedStates[t][n][i]=null);else for(var o in r)this.deletedStates[t]&&this.deletedStates[t][n]&&null===this.deletedStates[t][n][o]&&delete this.deletedStates[t][n][o]},Zc.prototype.removeFeatureState=function(t,e,r){if(null!==this.deletedStates[t]){var n=String(e);if(this.deletedStates[t]=this.deletedStates[t]||{},r&&void 0!==e)null!==this.deletedStates[t][n]&&(this.deletedStates[t][n]=this.deletedStates[t][n]||{},this.deletedStates[t][n][r]=null);else if(void 0!==e)if(this.stateChanges[t]&&this.stateChanges[t][n])for(r in this.deletedStates[t][n]={},this.stateChanges[t][n])this.deletedStates[t][n][r]=null;else this.deletedStates[t][n]=null;else this.deletedStates[t]=null}},Zc.prototype.getState=function(t,e){var r=String(e),n=u({},(this.state[t]||{})[r],(this.stateChanges[t]||{})[r]);if(null===this.deletedStates[t])return{};if(this.deletedStates[t]){var a=this.deletedStates[t][e];if(null===a)return{};for(var i in a)delete n[i]}return n},Zc.prototype.initializeTileState=function(t,e){t.setFeatureState(this.state,e)},Zc.prototype.coalesceChanges=function(t,e){var r={};for(var n in this.stateChanges){this.state[n]=this.state[n]||{};var a={};for(var i in this.stateChanges[n])this.state[n][i]||(this.state[n][i]={}),u(this.state[n][i],this.stateChanges[n][i]),a[i]=this.state[n][i];r[n]=a}for(var o in this.deletedStates){this.state[o]=this.state[o]||{};var s={};if(null===this.deletedStates[o])for(var l in this.state[o])s[l]={},this.state[o][l]={};else for(var c in this.deletedStates[o]){if(null===this.deletedStates[o][c])this.state[o][c]={};else for(var h=0,f=Object.keys(this.deletedStates[o][c]);h<f.length;h+=1)delete this.state[o][c][f[h]];s[c]=this.state[o][c]}r[o]=r[o]||{},u(r[o],s)}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(r).length)for(var p in t)t[p].setFeatureState(r,e)};var Xc=function(t,e){this.tileID=t,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=new Ln(8192,16,0),this.grid3D=new Ln(8192,16,0),this.featureIndexArray=new ri,this.promoteId=e};function Jc(t,e,r,n,a){return v(t,(function(t,i){var o=e instanceof fa?e.get(i):null;return o&&o.evaluate?o.evaluate(r,n,a):o}))}function Kc(t){for(var e=1/0,r=1/0,n=-1/0,a=-1/0,i=0,o=t;i<o.length;i+=1){var s=o[i];e=Math.min(e,s.x),r=Math.min(r,s.y),n=Math.max(n,s.x),a=Math.max(a,s.y)}return{minX:e,minY:r,maxX:n,maxY:a}}function Qc(t,e){return e-t}Xc.prototype.insert=function(t,e,r,n,a,i){var o=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,n,a);for(var s=i?this.grid3D:this.grid,l=0;l<e.length;l++){for(var c=e[l],u=[1/0,1/0,-1/0,-1/0],h=0;h<c.length;h++){var f=c[h];u[0]=Math.min(u[0],f.x),u[1]=Math.min(u[1],f.y),u[2]=Math.max(u[2],f.x),u[3]=Math.max(u[3],f.y)}u[0]<8192&&u[1]<8192&&u[2]>=0&&u[3]>=0&&s.insert(o,u[0],u[1],u[2],u[3])}},Xc.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new gs.VectorTile(new Hs(this.rawTileData)).layers,this.sourceLayerCoder=new Gc(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers},Xc.prototype.query=function(t,e,r,n){var i=this;this.loadVTLayers();for(var o=t.params||{},s=8192/t.tileSize/t.scale,l=rn(o.filter),c=t.queryGeometry,u=t.queryPadding*s,h=Kc(c),f=this.grid.query(h.minX-u,h.minY-u,h.maxX+u,h.maxY+u),p=Kc(t.cameraQueryGeometry),d=0,g=this.grid3D.query(p.minX-u,p.minY-u,p.maxX+u,p.maxY+u,(function(e,r,n,i){return function(t,e,r,n,i){for(var o=0,s=t;o<s.length;o+=1){var l=s[o];if(e<=l.x&&r<=l.y&&n>=l.x&&i>=l.y)return!0}var c=[new a(e,r),new a(e,i),new a(n,i),new a(n,r)];if(t.length>2)for(var u=0,h=c;u<h.length;u+=1)if(Wi(t,h[u]))return!0;for(var f=0;f<t.length-1;f++)if(Zi(t[f],t[f+1],c))return!0;return!1}(t.cameraQueryGeometry,e-u,r-u,n+u,i+u)}));d<g.length;d+=1)f.push(g[d]);f.sort(Qc);for(var m,v={},y=function(a){var u=f[a];if(u!==m){m=u;var h=i.featureIndexArray.get(u),p=null;i.loadMatchingFeature(v,h.bucketIndex,h.sourceLayerIndex,h.featureIndex,l,o.layers,o.availableImages,e,r,n,(function(e,r,n){return p||(p=Di(e)),r.queryIntersectsFeature(c,e,n,p,i.z,t.transform,s,t.pixelPosMatrix)}))}},x=0;x<f.length;x++)y(x);return v},Xc.prototype.loadMatchingFeature=function(t,e,r,n,a,i,o,s,l,c,u){var h=this.bucketLayerIDs[e];if(!i||function(t,e){for(var r=0;r<t.length;r++)if(e.indexOf(t[r])>=0)return!0;return!1}(i,h)){var f=this.sourceLayerCoder.decode(r),p=this.vtLayers[f].feature(n);if(a.filter(new aa(this.tileID.overscaledZ),p))for(var d=this.getId(p,f),g=0;g<h.length;g++){var m=h[g];if(!(i&&i.indexOf(m)<0)){var v=s[m];if(v){var y={};void 0!==d&&c&&(y=c.getState(v.sourceLayer||\"_geojsonTileLayer\",d));var x=l[m];x.paint=Jc(x.paint,v.paint,p,y,o),x.layout=Jc(x.layout,v.layout,p,y,o);var b=!u||u(p,v,y);if(b){var _=new Yc(p,this.z,this.x,this.y,d);_.layer=x;var w=t[m];void 0===w&&(w=t[m]=[]),w.push({featureIndex:n,feature:_,intersectionZ:b})}}}}}},Xc.prototype.lookupSymbolFeatures=function(t,e,r,n,a,i,o,s){var l={};this.loadVTLayers();for(var c=rn(a),u=0,h=t;u<h.length;u+=1)this.loadMatchingFeature(l,r,n,h[u],c,i,o,s,e);return l},Xc.prototype.hasLayer=function(t){for(var e=0,r=this.bucketLayerIDs;e<r.length;e+=1)for(var n=0,a=r[e];n<a.length;n+=1)if(t===a[n])return!0;return!1},Xc.prototype.getId=function(t,e){var r=t.id;return this.promoteId&&\"boolean\"==typeof(r=t.properties[\"string\"==typeof this.promoteId?this.promoteId:this.promoteId[e]])&&(r=Number(r)),r},Dn(\"FeatureIndex\",Xc,{omit:[\"rawTileData\",\"sourceLayerCoder\"]});var $c=function(t,e){this.tileID=t,this.uid=f(),this.uses=0,this.tileSize=e,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.expiredRequestCount=0,this.state=\"loading\"};$c.prototype.registerFadeDuration=function(t){var e=t+this.timeAdded;e<R.now()||this.fadeEndTime&&e<this.fadeEndTime||(this.fadeEndTime=e)},$c.prototype.wasRequested=function(){return\"errored\"===this.state||\"loaded\"===this.state||\"reloading\"===this.state},$c.prototype.loadVectorData=function(t,e,r){if(this.hasData()&&this.unloadVectorData(),this.state=\"loaded\",t){for(var n in t.featureIndex&&(this.latestFeatureIndex=t.featureIndex,t.rawTileData?(this.latestRawTileData=t.rawTileData,this.latestFeatureIndex.rawTileData=t.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=t.collisionBoxArray,this.buckets=function(t,e){var r={};if(!e)return r;for(var n=function(){var t=i[a],n=t.layerIds.map((function(t){return e.getLayer(t)})).filter(Boolean);if(0!==n.length){t.layers=n,t.stateDependentLayerIds&&(t.stateDependentLayers=t.stateDependentLayerIds.map((function(t){return n.filter((function(e){return e.id===t}))[0]})));for(var o=0,s=n;o<s.length;o+=1)r[s[o].id]=t}},a=0,i=t;a<i.length;a+=1)n();return r}(t.buckets,e.style),this.hasSymbolBuckets=!1,this.buckets){var a=this.buckets[n];if(a instanceof hc){if(this.hasSymbolBuckets=!0,!r)break;a.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(var i in this.buckets){var o=this.buckets[i];if(o instanceof hc&&o.hasRTLText){this.hasRTLText=!0,na.isLoading()||na.isLoaded()||\"deferred\"!==ea()||ra();break}}for(var s in this.queryPadding=0,this.buckets){var l=this.buckets[s];this.queryPadding=Math.max(this.queryPadding,e.style.getLayer(s).queryRadius(l))}t.imageAtlas&&(this.imageAtlas=t.imageAtlas),t.glyphAtlasImage&&(this.glyphAtlasImage=t.glyphAtlasImage)}else this.collisionBoxArray=new Za},$c.prototype.unloadVectorData=function(){for(var t in this.buckets)this.buckets[t].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state=\"unloaded\"},$c.prototype.getBucket=function(t){return this.buckets[t.id]},$c.prototype.upload=function(t){for(var e in this.buckets){var r=this.buckets[e];r.uploadPending()&&r.upload(t)}var n=t.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new Sc(t,this.imageAtlas.image,n.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new Sc(t,this.glyphAtlasImage,n.ALPHA),this.glyphAtlasImage=null)},$c.prototype.prepare=function(t){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(t,this.imageAtlasTexture)},$c.prototype.queryRenderedFeatures=function(t,e,r,n,a,i,o,s,l,c){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:n,cameraQueryGeometry:a,scale:i,tileSize:this.tileSize,pixelPosMatrix:c,transform:s,params:o,queryPadding:this.queryPadding*l},t,e,r):{}},$c.prototype.querySourceFeatures=function(t,e){var r=this.latestFeatureIndex;if(r&&r.rawTileData){var n=r.loadVTLayers(),a=e?e.sourceLayer:\"\",i=n._geojsonTileLayer||n[a];if(i)for(var o=rn(e&&e.filter),s=this.tileID.canonical,l=s.z,c=s.x,u=s.y,h={z:l,x:c,y:u},f=0;f<i.length;f++){var p=i.feature(f);if(o.filter(new aa(this.tileID.overscaledZ),p)){var d=r.getId(p,a),g=new Yc(p,l,c,u,d);g.tile=h,t.push(g)}}}},$c.prototype.hasData=function(){return\"loaded\"===this.state||\"reloading\"===this.state||\"expired\"===this.state},$c.prototype.patternsLoaded=function(){return this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length},$c.prototype.setExpiryData=function(t){var e=this.expirationTime;if(t.cacheControl){var r=A(t.cacheControl);r[\"max-age\"]&&(this.expirationTime=Date.now()+1e3*r[\"max-age\"])}else t.expires&&(this.expirationTime=new Date(t.expires).getTime());if(this.expirationTime){var n=Date.now(),a=!1;if(this.expirationTime>n)a=!1;else if(e)if(this.expirationTime<e)a=!0;else{var i=this.expirationTime-e;i?this.expirationTime=n+Math.max(i,3e4):a=!0}else a=!0;a?(this.expiredRequestCount++,this.state=\"expired\"):this.expiredRequestCount=0}},$c.prototype.getExpiryTimeout=function(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-(new Date).getTime(),Math.pow(2,31)-1)},$c.prototype.setFeatureState=function(t,e){if(this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData&&0!==Object.keys(t).length){var r=this.latestFeatureIndex.loadVTLayers();for(var n in this.buckets)if(e.style.hasLayer(n)){var a=this.buckets[n],i=a.layers[0].sourceLayer||\"_geojsonTileLayer\",o=r[i],s=t[i];if(o&&s&&0!==Object.keys(s).length){a.update(s,o,this.imageAtlas&&this.imageAtlas.patternPositions||{});var l=e&&e.style&&e.style.getLayer(n);l&&(this.queryPadding=Math.max(this.queryPadding,l.queryRadius(a)))}}}},$c.prototype.holdingForFade=function(){return void 0!==this.symbolFadeHoldUntil},$c.prototype.symbolFadeFinished=function(){return!this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<R.now()},$c.prototype.clearFadeHold=function(){this.symbolFadeHoldUntil=void 0},$c.prototype.setHoldDuration=function(t){this.symbolFadeHoldUntil=R.now()+t},$c.prototype.setDependencies=function(t,e){for(var r={},n=0,a=e;n<a.length;n+=1)r[a[n]]=!0;this.dependencies[t]=r},$c.prototype.hasDependency=function(t,e){for(var r=0,n=t;r<n.length;r+=1){var a=this.dependencies[n[r]];if(a)for(var i=0,o=e;i<o.length;i+=1)if(a[o[i]])return!0}return!1};var tu=self.performance,eu=function(t){this._marks={start:[t.url,\"start\"].join(\"#\"),end:[t.url,\"end\"].join(\"#\"),measure:t.url.toString()},tu.mark(this._marks.start)};eu.prototype.finish=function(){tu.mark(this._marks.end);var t=tu.getEntriesByName(this._marks.measure);return 0===t.length&&(tu.measure(this._marks.measure,this._marks.start,this._marks.end),t=tu.getEntriesByName(this._marks.measure),tu.clearMarks(this._marks.start),tu.clearMarks(this._marks.end),tu.clearMeasures(this._marks.measure)),t},t.Actor=Cc,t.AlphaImage=fo,t.CanonicalTileID=jc,t.CollisionBoxArray=Za,t.Color=Kt,t.DEMData=Hc,t.DataConstantProperty=pa,t.DictionaryCoder=Gc,t.EXTENT=8192,t.ErrorEvent=kt,t.EvaluationParameters=aa,t.Event=Tt,t.Evented=At,t.FeatureIndex=Xc,t.FillBucket=rs,t.FillExtrusionBucket=xs,t.ImageAtlas=dl,t.ImagePosition=fl,t.LineBucket=Cs,t.LngLat=Ic,t.LngLatBounds=Pc,t.MercatorCoordinate=Nc,t.ONE_EM=24,t.OverscaledTileID=Uc,t.Point=a,t.Point$1=a,t.Properties=ya,t.Protobuf=Hs,t.RGBAImage=po,t.RequestManager=q,t.RequestPerformance=eu,t.ResourceType=ft,t.SegmentVector=ai,t.SourceFeatureState=Zc,t.StructArrayLayout1ui2=Ha,t.StructArrayLayout2f1f2i16=Da,t.StructArrayLayout2i4=Aa,t.StructArrayLayout3ui6=Fa,t.StructArrayLayout4i8=Ma,t.SymbolBucket=hc,t.Texture=Sc,t.Tile=$c,t.Transitionable=sa,t.Uniform1f=vi,t.Uniform1i=mi,t.Uniform2f=yi,t.Uniform3f=xi,t.Uniform4f=bi,t.UniformColor=_i,t.UniformMatrix4f=Ti,t.UnwrappedTileID=Vc,t.ValidationError=St,t.WritingMode=gl,t.ZoomHistory=Vn,t.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t},t.addDynamicAttributes=sc,t.asyncAll=function(t,e,r){if(!t.length)return r(null,[]);var n=t.length,a=new Array(t.length),i=null;t.forEach((function(t,o){e(t,(function(t,e){t&&(i=t),a[o]=e,0==--n&&r(i,a)}))}))},t.bezier=o,t.bindAll=g,t.browser=R,t.cacheEntryPossiblyAdded=function(t){++ut>ot&&(t.getActor().send(\"enforceCacheSizeLimit\",it),ut=0)},t.clamp=l,t.clearTileCache=function(t){var e=self.caches.delete(\"mapbox-tiles\");t&&e.catch(t).then((function(){return t()}))},t.clipLine=jl,t.clone=function(t){var e=new to(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.clone$1=x,t.clone$2=function(t){var e=new to(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},t.collisionCircleLayout=Ns,t.config=F,t.create=function(){var t=new to(16);return to!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.create$1=function(){var t=new to(9);return to!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t},t.create$2=function(){var t=new to(4);return to!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t},t.createCommonjsModule=e,t.createExpression=qr,t.createLayout=Ta,t.createStyleLayer=function(t){return\"custom\"===t.type?new bc(t):new _c[t.type](t)},t.cross=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[0],s=r[1],l=r[2];return t[0]=a*l-i*s,t[1]=i*o-n*l,t[2]=n*s-a*o,t},t.deepEqual=function t(e,r){if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return!1;for(var n=0;n<e.length;n++)if(!t(e[n],r[n]))return!1;return!0}if(\"object\"==typeof e&&null!==e&&null!==r){if(\"object\"!=typeof r)return!1;if(Object.keys(e).length!==Object.keys(r).length)return!1;for(var a in e)if(!t(e[a],r[a]))return!1;return!0}return e===r},t.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]},t.dot$1=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},t.ease=s,t.emitValidationErrors=Cn,t.endsWith=m,t.enforceCacheSizeLimit=function(t){st(),Q&&Q.then((function(e){e.keys().then((function(r){for(var n=0;n<r.length-t;n++)e.delete(r[n])}))}))},t.evaluateSizeForFeature=Pl,t.evaluateSizeForZoom=Il,t.evaluateVariableOffset=$l,t.evented=ta,t.extend=u,t.featureFilter=rn,t.filterObject=y,t.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=-r,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},t.getAnchorAlignment=Ml,t.getAnchorJustification=tc,t.getArrayBuffer=yt,t.getImage=bt,t.getJSON=function(t,e){return vt(u(t,{type:\"json\"}),e)},t.getRTLTextPluginStatus=ea,t.getReferrer=mt,t.getVideo=function(t,e){var r,n,a=self.document.createElement(\"video\");a.muted=!0,a.onloadstart=function(){e(null,a)};for(var i=0;i<t.length;i++){var o=self.document.createElement(\"source\");r=t[i],n=void 0,(n=self.document.createElement(\"a\")).href=r,(n.protocol!==self.document.location.protocol||n.host!==self.document.location.host)&&(a.crossOrigin=\"Anonymous\"),o.src=t[i],a.appendChild(o)}return{cancel:function(){}}},t.identity=eo,t.invert=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],h=e[9],f=e[10],p=e[11],d=e[12],g=e[13],m=e[14],v=e[15],y=r*s-n*o,x=r*l-a*o,b=r*c-i*o,_=n*l-a*s,w=n*c-i*s,T=a*c-i*l,k=u*g-h*d,A=u*m-f*d,M=u*v-p*d,S=h*m-f*g,E=h*v-p*g,C=f*v-p*m,L=y*C-x*E+b*S+_*M-w*A+T*k;return L?(t[0]=(s*C-l*E+c*S)*(L=1/L),t[1]=(a*E-n*C-i*S)*L,t[2]=(g*T-m*w+v*_)*L,t[3]=(f*w-h*T-p*_)*L,t[4]=(l*M-o*C-c*A)*L,t[5]=(r*C-a*M+i*A)*L,t[6]=(m*b-d*T-v*x)*L,t[7]=(u*T-f*b+p*x)*L,t[8]=(o*E-s*M+c*k)*L,t[9]=(n*M-r*E-i*k)*L,t[10]=(d*w-g*b+v*y)*L,t[11]=(h*b-u*w-p*y)*L,t[12]=(s*A-o*S-l*k)*L,t[13]=(r*S-n*A+a*k)*L,t[14]=(g*x-d*_-m*y)*L,t[15]=(u*_-h*x+f*y)*L,t):null},t.isChar=Un,t.isMapboxURL=H,t.keysDifference=function(t,e){var r=[];for(var n in t)n in e||r.push(n);return r},t.makeRequest=vt,t.mapObject=v,t.mercatorXfromLng=Dc,t.mercatorYfromLat=Rc,t.mercatorZfromAltitude=Fc,t.mul=ao,t.multiply=ro,t.mvt=gs,t.normalize=function(t,e){var r=e[0],n=e[1],a=e[2],i=r*r+n*n+a*a;return i>0&&(i=1/Math.sqrt(i)),t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i,t},t.number=Ve,t.offscreenCanvasSupported=ht,t.ortho=function(t,e,r,n,a,i,o){var s=1/(e-r),l=1/(n-a),c=1/(i-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+r)*s,t[13]=(a+n)*l,t[14]=(o+i)*c,t[15]=1,t},t.parseGlyphPBF=function(t){return new Hs(t).readFields(ll,[])},t.pbf=Hs,t.performSymbolLayout=function(t,e,r,n,a,i,o){t.createArrays(),t.tilePixelRatio=8192/(512*t.overscaling),t.compareText={},t.iconsNeedLinear=!1;var s=t.layers[0].layout,l=t.layers[0]._unevaluatedLayout._values,c={};if(\"composite\"===t.textSizeData.kind){var u=t.textSizeData,h=u.maxZoom;c.compositeTextSizes=[l[\"text-size\"].possiblyEvaluate(new aa(u.minZoom),o),l[\"text-size\"].possiblyEvaluate(new aa(h),o)]}if(\"composite\"===t.iconSizeData.kind){var f=t.iconSizeData,p=f.maxZoom;c.compositeIconSizes=[l[\"icon-size\"].possiblyEvaluate(new aa(f.minZoom),o),l[\"icon-size\"].possiblyEvaluate(new aa(p),o)]}c.layoutTextSize=l[\"text-size\"].possiblyEvaluate(new aa(t.zoom+1),o),c.layoutIconSize=l[\"icon-size\"].possiblyEvaluate(new aa(t.zoom+1),o),c.textMaxSize=l[\"text-size\"].possiblyEvaluate(new aa(18));for(var d=24*s.get(\"text-line-height\"),g=\"map\"===s.get(\"text-rotation-alignment\")&&\"point\"!==s.get(\"symbol-placement\"),m=s.get(\"text-keep-upright\"),v=s.get(\"text-size\"),y=function(){var i=b[x],l=s.get(\"text-font\").evaluate(i,{},o).join(\",\"),u=v.evaluate(i,{},o),h=c.layoutTextSize.evaluate(i,{},o),f=c.layoutIconSize.evaluate(i,{},o),p={horizontal:{},vertical:void 0},y=i.text,w=[0,0];if(y){var T=y.toString(),k=24*s.get(\"text-letter-spacing\").evaluate(i,{},o),A=function(t){for(var e=0,r=t;e<r.length;e+=1)if(n=r[e].charCodeAt(0),Un.Arabic(n)||Un[\"Arabic Supplement\"](n)||Un[\"Arabic Extended-A\"](n)||Un[\"Arabic Presentation Forms-A\"](n)||Un[\"Arabic Presentation Forms-B\"](n))return!1;var n;return!0}(T)?k:0,M=s.get(\"text-anchor\").evaluate(i,{},o),S=s.get(\"text-variable-anchor\");if(!S){var E=s.get(\"text-radial-offset\").evaluate(i,{},o);w=E?$l(M,[24*E,Ql]):s.get(\"text-offset\").evaluate(i,{},o).map((function(t){return 24*t}))}var C=g?\"center\":s.get(\"text-justify\").evaluate(i,{},o),L=s.get(\"symbol-placement\"),P=\"point\"===L?24*s.get(\"text-max-width\").evaluate(i,{},o):0,I=function(){t.allowVerticalPlacement&&qn(T)&&(p.vertical=yl(y,e,r,a,l,P,d,M,\"left\",A,w,gl.vertical,!0,L,h,u))};if(!g&&S){for(var z=\"auto\"===C?S.map((function(t){return tc(t)})):[C],O=!1,D=0;D<z.length;D++){var R=z[D];if(!p.horizontal[R])if(O)p.horizontal[R]=p.horizontal[0];else{var F=yl(y,e,r,a,l,P,d,\"center\",R,A,w,gl.horizontal,!1,L,h,u);F&&(p.horizontal[R]=F,O=1===F.positionedLines.length)}}I()}else{\"auto\"===C&&(C=tc(M));var B=yl(y,e,r,a,l,P,d,M,C,A,w,gl.horizontal,!1,L,h,u);B&&(p.horizontal[C]=B),I(),qn(T)&&g&&m&&(p.vertical=yl(y,e,r,a,l,P,d,M,C,A,w,gl.vertical,!1,L,h,u))}}var N=void 0,j=!1;if(i.icon&&i.icon.name){var V=n[i.icon.name];V&&(N=function(t,e,r){var n=Ml(r),a=e[0]-t.displaySize[0]*n.horizontalAlign,i=e[1]-t.displaySize[1]*n.verticalAlign;return{image:t,top:i,bottom:i+t.displaySize[1],left:a,right:a+t.displaySize[0]}}(a[i.icon.name],s.get(\"icon-offset\").evaluate(i,{},o),s.get(\"icon-anchor\").evaluate(i,{},o)),j=V.sdf,void 0===t.sdfIcons?t.sdfIcons=V.sdf:t.sdfIcons!==V.sdf&&_(\"Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer\"),(V.pixelRatio!==t.pixelRatio||0!==s.get(\"icon-rotate\").constantOr(1))&&(t.iconsNeedLinear=!0))}var U=rc(p.horizontal)||p.vertical;t.iconsInText=!!U&&U.iconsInText,(U||N)&&function(t,e,r,n,a,i,o,s,l,c,u){var h=i.textMaxSize.evaluate(e,{});void 0===h&&(h=o);var f,p=t.layers[0].layout,d=p.get(\"icon-offset\").evaluate(e,{},u),g=rc(r.horizontal),m=o/24,v=t.tilePixelRatio*m,y=t.tilePixelRatio*h/24,x=t.tilePixelRatio*s,b=t.tilePixelRatio*p.get(\"symbol-spacing\"),w=p.get(\"text-padding\")*t.tilePixelRatio,T=p.get(\"icon-padding\")*t.tilePixelRatio,k=p.get(\"text-max-angle\")/180*Math.PI,A=\"map\"===p.get(\"text-rotation-alignment\")&&\"point\"!==p.get(\"symbol-placement\"),M=\"map\"===p.get(\"icon-rotation-alignment\")&&\"point\"!==p.get(\"symbol-placement\"),S=p.get(\"symbol-placement\"),E=b/2,C=p.get(\"icon-text-fit\");n&&\"none\"!==C&&(t.allowVerticalPlacement&&r.vertical&&(f=El(n,r.vertical,C,p.get(\"icon-text-fit-padding\"),d,m)),g&&(n=El(n,g,C,p.get(\"icon-text-fit-padding\"),d,m)));var L=function(s,h){h.x<0||h.x>=8192||h.y<0||h.y>=8192||function(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,m,v,y,x,b,w,T,k,A){var M,S,E,C,L,P=t.addToLineVertexArray(e,r),I=0,z=0,O=0,D=0,R=-1,F=-1,B={},N=ci(\"\"),j=0,V=0;if(void 0===s._unevaluatedLayout.getValue(\"text-radial-offset\")?(j=(M=s.layout.get(\"text-offset\").evaluate(b,{},k).map((function(t){return 24*t})))[0],V=M[1]):(j=24*s.layout.get(\"text-radial-offset\").evaluate(b,{},k),V=Ql),t.allowVerticalPlacement&&n.vertical){var U=s.layout.get(\"text-rotate\").evaluate(b,{},k)+90;C=new Yl(l,e,c,u,h,n.vertical,f,p,d,U),o&&(L=new Yl(l,e,c,u,h,o,m,v,d,U))}if(a){var q=s.layout.get(\"icon-rotate\").evaluate(b,{}),H=\"none\"!==s.layout.get(\"icon-text-fit\"),G=Vl(a,q,T,H),Y=o?Vl(o,q,T,H):void 0;E=new Yl(l,e,c,u,h,a,m,v,!1,q),I=4*G.length;var W=t.iconSizeData,Z=null;\"source\"===W.kind?(Z=[128*s.layout.get(\"icon-size\").evaluate(b,{})])[0]>32640&&_(t.layerIds[0]+': Value for \"icon-size\" is >= 255. Reduce your \"icon-size\".'):\"composite\"===W.kind&&((Z=[128*w.compositeIconSizes[0].evaluate(b,{},k),128*w.compositeIconSizes[1].evaluate(b,{},k)])[0]>32640||Z[1]>32640)&&_(t.layerIds[0]+': Value for \"icon-size\" is >= 255. Reduce your \"icon-size\".'),t.addSymbols(t.icon,G,Z,x,y,b,!1,e,P.lineStartIndex,P.lineLength,-1,k),R=t.icon.placedSymbolArray.length-1,Y&&(z=4*Y.length,t.addSymbols(t.icon,Y,Z,x,y,b,gl.vertical,e,P.lineStartIndex,P.lineLength,-1,k),F=t.icon.placedSymbolArray.length-1)}for(var X in n.horizontal){var J=n.horizontal[X];if(!S){N=ci(J.text);var K=s.layout.get(\"text-rotate\").evaluate(b,{},k);S=new Yl(l,e,c,u,h,J,f,p,d,K)}var Q=1===J.positionedLines.length;if(O+=ec(t,e,J,i,s,d,b,g,P,n.vertical?gl.horizontal:gl.horizontalOnly,Q?Object.keys(n.horizontal):[X],B,R,w,k),Q)break}n.vertical&&(D+=ec(t,e,n.vertical,i,s,d,b,g,P,gl.vertical,[\"vertical\"],B,F,w,k));var $=S?S.boxStartIndex:t.collisionBoxArray.length,tt=S?S.boxEndIndex:t.collisionBoxArray.length,et=C?C.boxStartIndex:t.collisionBoxArray.length,rt=C?C.boxEndIndex:t.collisionBoxArray.length,nt=E?E.boxStartIndex:t.collisionBoxArray.length,at=E?E.boxEndIndex:t.collisionBoxArray.length,it=L?L.boxStartIndex:t.collisionBoxArray.length,ot=L?L.boxEndIndex:t.collisionBoxArray.length,st=-1,lt=function(t,e){return t&&t.circleDiameter?Math.max(t.circleDiameter,e):e};st=lt(S,st),st=lt(C,st),st=lt(E,st);var ct=(st=lt(L,st))>-1?1:0;ct&&(st*=A/24),t.glyphOffsetArray.length>=hc.MAX_GLYPHS&&_(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),void 0!==b.sortKey&&t.addToSortKeyRanges(t.symbolInstances.length,b.sortKey),t.symbolInstances.emplaceBack(e.x,e.y,B.right>=0?B.right:-1,B.center>=0?B.center:-1,B.left>=0?B.left:-1,B.vertical||-1,R,F,N,$,tt,et,rt,nt,at,it,ot,c,O,D,I,z,ct,0,f,j,V,st)}(t,h,s,r,n,a,f,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,v,w,A,l,x,T,M,d,e,i,c,u,o)};if(\"line\"===S)for(var P=0,I=jl(e.geometry,0,0,8192,8192);P<I.length;P+=1)for(var z=I[P],O=0,D=Nl(z,b,k,r.vertical||g,n,24,y,t.overscaling,8192);O<D.length;O+=1){var R=D[O];g&&nc(t,g.text,E,R)||L(z,R)}else if(\"line-center\"===S)for(var F=0,B=e.geometry;F<B.length;F+=1){var N=B[F];if(N.length>1){var j=Bl(N,k,r.vertical||g,n,24,y);j&&L(N,j)}}else if(\"Polygon\"===e.type)for(var V=0,U=Qo(e.geometry,0);V<U.length;V+=1){var q=U[V],H=Xl(q,16);L(q[0],new Cl(H.x,H.y,0))}else if(\"LineString\"===e.type)for(var G=0,Y=e.geometry;G<Y.length;G+=1){var W=Y[G];L(W,new Cl(W[0].x,W[0].y,0))}else if(\"Point\"===e.type)for(var Z=0,X=e.geometry;Z<X.length;Z+=1)for(var J=0,K=X[Z];J<K.length;J+=1){var Q=K[J];L([Q],new Cl(Q.x,Q.y,0))}}(t,i,p,N,n,c,h,f,w,j,o)},x=0,b=t.features;x<b.length;x+=1)y();i&&t.generateCollisionDebugBuffers()},t.perspective=function(t,e,r,n,a){var i,o=1/Math.tan(e/2);return t[0]=o/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=a&&a!==1/0?(t[10]=(a+n)*(i=1/(n-a)),t[14]=2*a*n*i):(t[10]=-1,t[14]=-2*n),t},t.pick=function(t,e){for(var r={},n=0;n<e.length;n++){var a=e[n];a in t&&(r[a]=t[a])}return r},t.plugin=na,t.polygonIntersectsPolygon=Bi,t.postMapLoadEvent=at,t.postTurnstileEvent=rt,t.potpack=hl,t.refProperties=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"],t.register=Dn,t.registerForPluginStateChange=function(t){return t({pluginStatus:Jn,pluginURL:Kn}),ta.on(\"pluginStateChange\",t),t},t.rotate=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l+i*s,t[1]=a*l+o*s,t[2]=n*-s+i*l,t[3]=a*-s+o*l,t},t.rotateX=function(t,e,r){var n=Math.sin(r),a=Math.cos(r),i=e[4],o=e[5],s=e[6],l=e[7],c=e[8],u=e[9],h=e[10],f=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=i*a+c*n,t[5]=o*a+u*n,t[6]=s*a+h*n,t[7]=l*a+f*n,t[8]=c*a-i*n,t[9]=u*a-o*n,t[10]=h*a-s*n,t[11]=f*a-l*n,t},t.rotateZ=function(t,e,r){var n=Math.sin(r),a=Math.cos(r),i=e[0],o=e[1],s=e[2],l=e[3],c=e[4],u=e[5],h=e[6],f=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=i*a+c*n,t[1]=o*a+u*n,t[2]=s*a+h*n,t[3]=l*a+f*n,t[4]=c*a-i*n,t[5]=u*a-o*n,t[6]=h*a-s*n,t[7]=f*a-l*n,t},t.scale=function(t,e,r){var n=r[0],a=r[1],i=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*a,t[5]=e[5]*a,t[6]=e[6]*a,t[7]=e[7]*a,t[8]=e[8]*i,t[9]=e[9]*i,t[10]=e[10]*i,t[11]=e[11]*i,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},t.scale$1=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t},t.scale$2=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t},t.setCacheLimits=function(t,e){it=t,ot=e},t.setRTLTextPlugin=function(t,e,r){if(void 0===r&&(r=!1),\"deferred\"===Jn||\"loading\"===Jn||\"loaded\"===Jn)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");Kn=R.resolveURL(t),Jn=\"deferred\",Xn=e,$n(),r||ra()},t.sphericalToCartesian=function(t){var e=t[0],r=t[1],n=t[2];return r+=90,r*=Math.PI/180,n*=Math.PI/180,{x:e*Math.cos(r)*Math.sin(n),y:e*Math.sin(r)*Math.sin(n),z:e*Math.cos(n)}},t.sqrLen=function(t){var e=t[0],r=t[1];return e*e+r*r},t.styleSpec=Mt,t.sub=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t},t.symbolSize=zl,t.transformMat3=function(t,e,r){var n=e[0],a=e[1],i=e[2];return t[0]=n*r[0]+a*r[3]+i*r[6],t[1]=n*r[1]+a*r[4]+i*r[7],t[2]=n*r[2]+a*r[5]+i*r[8],t},t.transformMat4=io,t.translate=function(t,e,r){var n,a,i,o,s,l,c,u,h,f,p,d,g=r[0],m=r[1],v=r[2];return e===t?(t[12]=e[0]*g+e[4]*m+e[8]*v+e[12],t[13]=e[1]*g+e[5]*m+e[9]*v+e[13],t[14]=e[2]*g+e[6]*m+e[10]*v+e[14],t[15]=e[3]*g+e[7]*m+e[11]*v+e[15]):(a=e[1],i=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],p=e[10],d=e[11],t[0]=n=e[0],t[1]=a,t[2]=i,t[3]=o,t[4]=s,t[5]=l,t[6]=c,t[7]=u,t[8]=h,t[9]=f,t[10]=p,t[11]=d,t[12]=n*g+s*m+h*v+e[12],t[13]=a*g+l*m+f*v+e[13],t[14]=i*g+c*m+p*v+e[14],t[15]=o*g+u*m+d*v+e[15]),t},t.triggerPluginCompletionEvent=Qn,t.uniqueId=f,t.validateCustomStyleLayer=function(t){var e=[],r=t.id;return void 0===r&&e.push({message:\"layers.\"+r+': missing required property \"id\"'}),void 0===t.render&&e.push({message:\"layers.\"+r+': missing required method \"render\"'}),t.renderingMode&&\"2d\"!==t.renderingMode&&\"3d\"!==t.renderingMode&&e.push({message:\"layers.\"+r+': property \"renderingMode\" must be either \"2d\" or \"3d\"'}),e},t.validateLight=Mn,t.validateStyle=An,t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.vectorTile=gs,t.version=\"1.10.1\",t.warnOnce=_,t.webpSupported=B,t.window=self,t.wrap=c})),n(0,(function(t){function e(t){var r=typeof t;if(\"number\"===r||\"boolean\"===r||\"string\"===r||null==t)return JSON.stringify(t);if(Array.isArray(t)){for(var n=\"[\",a=0,i=t;a<i.length;a+=1)n+=e(i[a])+\",\";return n+\"]\"}for(var o=Object.keys(t).sort(),s=\"{\",l=0;l<o.length;l++)s+=JSON.stringify(o[l])+\":\"+e(t[o[l]])+\",\";return s+\"}\"}function r(r){for(var n=\"\",a=0,i=t.refProperties;a<i.length;a+=1)n+=\"/\"+e(r[i[a]]);return n}var n=function(t){this.keyCache={},t&&this.replace(t)};n.prototype.replace=function(t){this._layerConfigs={},this._layers={},this.update(t,[])},n.prototype.update=function(e,n){for(var a=this,i=0,o=e;i<o.length;i+=1){var s=o[i];this._layerConfigs[s.id]=s;var l=this._layers[s.id]=t.createStyleLayer(s);l._featureFilter=t.featureFilter(l.filter),this.keyCache[s.id]&&delete this.keyCache[s.id]}for(var c=0,u=n;c<u.length;c+=1){var h=u[c];delete this.keyCache[h],delete this._layerConfigs[h],delete this._layers[h]}this.familiesBySource={};for(var f=0,p=function(t,e){for(var n={},a=0;a<t.length;a++){var i=e&&e[t[a].id]||r(t[a]);e&&(e[t[a].id]=i);var o=n[i];o||(o=n[i]=[]),o.push(t[a])}var s=[];for(var l in n)s.push(n[l]);return s}(t.values(this._layerConfigs),this.keyCache);f<p.length;f+=1){var d=p[f].map((function(t){return a._layers[t.id]})),g=d[0];if(\"none\"!==g.visibility){var m=g.source||\"\",v=this.familiesBySource[m];v||(v=this.familiesBySource[m]={});var y=g.sourceLayer||\"_geojsonTileLayer\",x=v[y];x||(x=v[y]=[]),x.push(d)}}};var a=function(e){var r={},n=[];for(var a in e){var i=e[a],o=r[a]={};for(var s in i){var l=i[+s];if(l&&0!==l.bitmap.width&&0!==l.bitmap.height){var c={x:0,y:0,w:l.bitmap.width+2,h:l.bitmap.height+2};n.push(c),o[s]={rect:c,metrics:l.metrics}}}}var u=t.potpack(n),h=new t.AlphaImage({width:u.w||1,height:u.h||1});for(var f in e){var p=e[f];for(var d in p){var g=p[+d];if(g&&0!==g.bitmap.width&&0!==g.bitmap.height){var m=r[f][d].rect;t.AlphaImage.copy(g.bitmap,h,{x:0,y:0},{x:m.x+1,y:m.y+1},g.bitmap)}}}this.image=h,this.positions=r};t.register(\"GlyphAtlas\",a);var i=function(e){this.tileID=new t.OverscaledTileID(e.tileID.overscaledZ,e.tileID.wrap,e.tileID.canonical.z,e.tileID.canonical.x,e.tileID.canonical.y),this.uid=e.uid,this.zoom=e.zoom,this.pixelRatio=e.pixelRatio,this.tileSize=e.tileSize,this.source=e.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=e.showCollisionBoxes,this.collectResourceTiming=!!e.collectResourceTiming,this.returnDependencies=!!e.returnDependencies,this.promoteId=e.promoteId};function o(e,r,n){for(var a=new t.EvaluationParameters(r),i=0,o=e;i<o.length;i+=1)o[i].recalculate(a,n)}function s(e,r){var n=t.getArrayBuffer(e.request,(function(e,n,a,i){e?r(e):n&&r(null,{vectorTile:new t.vectorTile.VectorTile(new t.pbf(n)),rawData:n,cacheControl:a,expires:i})}));return function(){n.cancel(),r()}}i.prototype.parse=function(e,r,n,i,s){var l=this;this.status=\"parsing\",this.data=e,this.collisionBoxArray=new t.CollisionBoxArray;var c=new t.DictionaryCoder(Object.keys(e.layers).sort()),u=new t.FeatureIndex(this.tileID,this.promoteId);u.bucketLayerIDs=[];var h,f,p,d,g={},m={featureIndex:u,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:n},v=r.familiesBySource[this.source];for(var y in v){var x=e.layers[y];if(x){1===x.version&&t.warnOnce('Vector tile source \"'+this.source+'\" layer \"'+y+'\" does not use vector tile spec v2 and therefore may have some rendering errors.');for(var b=c.encode(y),_=[],w=0;w<x.length;w++){var T=x.feature(w),k=u.getId(T,y);_.push({feature:T,id:k,index:w,sourceLayerIndex:b})}for(var A=0,M=v[y];A<M.length;A+=1){var S=M[A],E=S[0];E.minzoom&&this.zoom<Math.floor(E.minzoom)||E.maxzoom&&this.zoom>=E.maxzoom||\"none\"!==E.visibility&&(o(S,this.zoom,n),(g[E.id]=E.createBucket({index:u.bucketLayerIDs.length,layers:S,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:b,sourceID:this.source})).populate(_,m,this.tileID.canonical),u.bucketLayerIDs.push(S.map((function(t){return t.id}))))}}}var C=t.mapObject(m.glyphDependencies,(function(t){return Object.keys(t).map(Number)}));Object.keys(C).length?i.send(\"getGlyphs\",{uid:this.uid,stacks:C},(function(t,e){h||(h=t,f=e,I.call(l))})):f={};var L=Object.keys(m.iconDependencies);L.length?i.send(\"getImages\",{icons:L,source:this.source,tileID:this.tileID,type:\"icons\"},(function(t,e){h||(h=t,p=e,I.call(l))})):p={};var P=Object.keys(m.patternDependencies);function I(){if(h)return s(h);if(f&&p&&d){var e=new a(f),r=new t.ImageAtlas(p,d);for(var i in g){var l=g[i];l instanceof t.SymbolBucket?(o(l.layers,this.zoom,n),t.performSymbolLayout(l,f,e.positions,p,r.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):l.hasPattern&&(l instanceof t.LineBucket||l instanceof t.FillBucket||l instanceof t.FillExtrusionBucket)&&(o(l.layers,this.zoom,n),l.addFeatures(m,this.tileID.canonical,r.patternPositions))}this.status=\"done\",s(null,{buckets:t.values(g).filter((function(t){return!t.isEmpty()})),featureIndex:u,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:e.image,imageAtlas:r,glyphMap:this.returnDependencies?f:null,iconMap:this.returnDependencies?p:null,glyphPositions:this.returnDependencies?e.positions:null})}}P.length?i.send(\"getImages\",{icons:P,source:this.source,tileID:this.tileID,type:\"patterns\"},(function(t,e){h||(h=t,d=e,I.call(l))})):d={},I.call(this)};var l=function(t,e,r,n){this.actor=t,this.layerIndex=e,this.availableImages=r,this.loadVectorData=n||s,this.loading={},this.loaded={}};l.prototype.loadTile=function(e,r){var n=this,a=e.uid;this.loading||(this.loading={});var o=!!(e&&e.request&&e.request.collectResourceTiming)&&new t.RequestPerformance(e.request),s=this.loading[a]=new i(e);s.abort=this.loadVectorData(e,(function(e,i){if(delete n.loading[a],e||!i)return s.status=\"done\",n.loaded[a]=s,r(e);var l=i.rawData,c={};i.expires&&(c.expires=i.expires),i.cacheControl&&(c.cacheControl=i.cacheControl);var u={};if(o){var h=o.finish();h&&(u.resourceTiming=JSON.parse(JSON.stringify(h)))}s.vectorTile=i.vectorTile,s.parse(i.vectorTile,n.layerIndex,n.availableImages,n.actor,(function(e,n){if(e||!n)return r(e);r(null,t.extend({rawTileData:l.slice(0)},n,c,u))})),n.loaded=n.loaded||{},n.loaded[a]=s}))},l.prototype.reloadTile=function(t,e){var r=this,n=this.loaded,a=t.uid,i=this;if(n&&n[a]){var o=n[a];o.showCollisionBoxes=t.showCollisionBoxes;var s=function(t,n){var a=o.reloadCallback;a&&(delete o.reloadCallback,o.parse(o.vectorTile,i.layerIndex,r.availableImages,i.actor,a)),e(t,n)};\"parsing\"===o.status?o.reloadCallback=s:\"done\"===o.status&&(o.vectorTile?o.parse(o.vectorTile,this.layerIndex,this.availableImages,this.actor,s):s())}},l.prototype.abortTile=function(t,e){var r=this.loading,n=t.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),e()},l.prototype.removeTile=function(t,e){var r=this.loaded,n=t.uid;r&&r[n]&&delete r[n],e()};var c=t.window.ImageBitmap,u=function(){this.loaded={}};function h(t,e){if(0!==t.length){f(t[0],e);for(var r=1;r<t.length;r++)f(t[r],!e)}}function f(t,e){for(var r=0,n=0,a=t.length,i=a-1;n<a;i=n++)r+=(t[n][0]-t[i][0])*(t[i][1]+t[n][1]);r>=0!=!!e&&t.reverse()}u.prototype.loadTile=function(e,r){var n=e.uid,a=e.encoding,i=e.rawImageData,o=c&&i instanceof c?this.getImageData(i):i,s=new t.DEMData(n,o,a);this.loaded=this.loaded||{},this.loaded[n]=s,r(null,s)},u.prototype.getImageData=function(e){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(e.width,e.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext(\"2d\")),this.offscreenCanvas.width=e.width,this.offscreenCanvas.height=e.height,this.offscreenCanvasContext.drawImage(e,0,0,e.width,e.height);var r=this.offscreenCanvasContext.getImageData(-1,-1,e.width+2,e.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new t.RGBAImage({width:r.width,height:r.height},r.data)},u.prototype.removeTile=function(t){var e=this.loaded,r=t.uid;e&&e[r]&&delete e[r]};var p=t.vectorTile.VectorTileFeature.prototype.toGeoJSON,d=function(e){this._feature=e,this.extent=t.EXTENT,this.type=e.type,this.properties=e.tags,\"id\"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))};d.prototype.loadGeometry=function(){if(1===this._feature.type){for(var e=[],r=0,n=this._feature.geometry;r<n.length;r+=1){var a=n[r];e.push([new t.Point$1(a[0],a[1])])}return e}for(var i=[],o=0,s=this._feature.geometry;o<s.length;o+=1){for(var l=[],c=0,u=s[o];c<u.length;c+=1){var h=u[c];l.push(new t.Point$1(h[0],h[1]))}i.push(l)}return i},d.prototype.toGeoJSON=function(t,e,r){return p.call(this,t,e,r)};var g=function(e){this.layers={_geojsonTileLayer:this},this.name=\"_geojsonTileLayer\",this.extent=t.EXTENT,this.length=e.length,this._features=e};g.prototype.feature=function(t){return new d(this._features[t])};var m=t.vectorTile.VectorTileFeature,v=y;function y(t,e){this.options=e||{},this.features=t,this.length=t.length}function x(t,e){this.id=\"number\"==typeof t.id?t.id:void 0,this.type=t.type,this.rawGeometry=1===t.type?[t.geometry]:t.geometry,this.properties=t.tags,this.extent=e||4096}y.prototype.feature=function(t){return new x(this.features[t],this.options.extent)},x.prototype.loadGeometry=function(){var e=this.rawGeometry;this.geometry=[];for(var r=0;r<e.length;r++){for(var n=e[r],a=[],i=0;i<n.length;i++)a.push(new t.Point$1(n[i][0],n[i][1]));this.geometry.push(a)}return this.geometry},x.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var t=this.geometry,e=1/0,r=-1/0,n=1/0,a=-1/0,i=0;i<t.length;i++)for(var o=t[i],s=0;s<o.length;s++){var l=o[s];e=Math.min(e,l.x),r=Math.max(r,l.x),n=Math.min(n,l.y),a=Math.max(a,l.y)}return[e,n,r,a]},x.prototype.toGeoJSON=m.prototype.toGeoJSON;var b=w,_=v;function w(e){var r=new t.pbf;return function(t,e){for(var r in t.layers)e.writeMessage(3,T,t.layers[r])}(e,r),r.finish()}function T(t,e){var r;e.writeVarintField(15,t.version||1),e.writeStringField(1,t.name||\"\"),e.writeVarintField(5,t.extent||4096);var n={keys:[],values:[],keycache:{},valuecache:{}};for(r=0;r<t.length;r++)n.feature=t.feature(r),e.writeMessage(2,k,n);var a=n.keys;for(r=0;r<a.length;r++)e.writeStringField(3,a[r]);var i=n.values;for(r=0;r<i.length;r++)e.writeMessage(4,C,i[r])}function k(t,e){var r=t.feature;void 0!==r.id&&e.writeVarintField(1,r.id),e.writeMessage(2,A,t),e.writeVarintField(3,r.type),e.writeMessage(4,E,r)}function A(t,e){var r=t.feature,n=t.keys,a=t.values,i=t.keycache,o=t.valuecache;for(var s in r.properties){var l=i[s];void 0===l&&(n.push(s),i[s]=l=n.length-1),e.writeVarint(l);var c=r.properties[s],u=typeof c;\"string\"!==u&&\"boolean\"!==u&&\"number\"!==u&&(c=JSON.stringify(c));var h=u+\":\"+c,f=o[h];void 0===f&&(a.push(c),o[h]=f=a.length-1),e.writeVarint(f)}}function M(t,e){return(e<<3)+(7&t)}function S(t){return t<<1^t>>31}function E(t,e){for(var r=t.loadGeometry(),n=t.type,a=0,i=0,o=r.length,s=0;s<o;s++){var l=r[s],c=1;1===n&&(c=l.length),e.writeVarint(M(1,c));for(var u=3===n?l.length-1:l.length,h=0;h<u;h++){1===h&&1!==n&&e.writeVarint(M(2,u-1));var f=l[h].x-a,p=l[h].y-i;e.writeVarint(S(f)),e.writeVarint(S(p)),a+=f,i+=p}3===n&&e.writeVarint(M(7,1))}}function C(t,e){var r=typeof t;\"string\"===r?e.writeStringField(1,t):\"boolean\"===r?e.writeBooleanField(7,t):\"number\"===r&&(t%1!=0?e.writeDoubleField(3,t):t<0?e.writeSVarintField(6,t):e.writeVarintField(5,t))}function L(t,e,r,n){P(t,r,n),P(e,2*r,2*n),P(e,2*r+1,2*n+1)}function P(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function I(t,e,r,n){var a=t-r,i=e-n;return a*a+i*i}b.fromVectorTileJs=w,b.fromGeojsonVt=function(t,e){e=e||{};var r={};for(var n in t)r[n]=new v(t[n].features,e),r[n].name=n,r[n].version=e.version,r[n].extent=e.extent;return w({layers:r})},b.GeoJSONWrapper=_;var z=function(t){return t[0]},O=function(t){return t[1]},D=function(t,e,r,n,a){void 0===e&&(e=z),void 0===r&&(r=O),void 0===n&&(n=64),void 0===a&&(a=Float64Array),this.nodeSize=n,this.points=t;for(var i=t.length<65536?Uint16Array:Uint32Array,o=this.ids=new i(t.length),s=this.coords=new a(2*t.length),l=0;l<t.length;l++)o[l]=l,s[2*l]=e(t[l]),s[2*l+1]=r(t[l]);!function t(e,r,n,a,i,o){if(!(i-a<=n)){var s=a+i>>1;!function t(e,r,n,a,i,o){for(;i>a;){if(i-a>600){var s=i-a+1,l=n-a+1,c=Math.log(s),u=.5*Math.exp(2*c/3),h=.5*Math.sqrt(c*u*(s-u)/s)*(l-s/2<0?-1:1);t(e,r,n,Math.max(a,Math.floor(n-l*u/s+h)),Math.min(i,Math.floor(n+(s-l)*u/s+h)),o)}var f=r[2*n+o],p=a,d=i;for(L(e,r,a,n),r[2*i+o]>f&&L(e,r,a,i);p<d;){for(L(e,r,p,d),p++,d--;r[2*p+o]<f;)p++;for(;r[2*d+o]>f;)d--}r[2*a+o]===f?L(e,r,a,d):L(e,r,++d,i),d<=n&&(a=d+1),n<=d&&(i=d-1)}}(e,r,s,a,i,o%2),t(e,r,n,a,s-1,o+1),t(e,r,n,s+1,i,o+1)}}(o,s,n,0,o.length-1,0)};D.prototype.range=function(t,e,r,n){return function(t,e,r,n,a,i,o){for(var s,l,c=[0,t.length-1,0],u=[];c.length;){var h=c.pop(),f=c.pop(),p=c.pop();if(f-p<=o)for(var d=p;d<=f;d++)l=e[2*d+1],(s=e[2*d])>=r&&s<=a&&l>=n&&l<=i&&u.push(t[d]);else{var g=Math.floor((p+f)/2);l=e[2*g+1],(s=e[2*g])>=r&&s<=a&&l>=n&&l<=i&&u.push(t[g]);var m=(h+1)%2;(0===h?r<=s:n<=l)&&(c.push(p),c.push(g-1),c.push(m)),(0===h?a>=s:i>=l)&&(c.push(g+1),c.push(f),c.push(m))}}return u}(this.ids,this.coords,t,e,r,n,this.nodeSize)},D.prototype.within=function(t,e,r){return function(t,e,r,n,a,i){for(var o=[0,t.length-1,0],s=[],l=a*a;o.length;){var c=o.pop(),u=o.pop(),h=o.pop();if(u-h<=i)for(var f=h;f<=u;f++)I(e[2*f],e[2*f+1],r,n)<=l&&s.push(t[f]);else{var p=Math.floor((h+u)/2),d=e[2*p],g=e[2*p+1];I(d,g,r,n)<=l&&s.push(t[p]);var m=(c+1)%2;(0===c?r-a<=d:n-a<=g)&&(o.push(h),o.push(p-1),o.push(m)),(0===c?r+a>=d:n+a>=g)&&(o.push(p+1),o.push(u),o.push(m))}}return s}(this.ids,this.coords,t,e,r,this.nodeSize)};var R={minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(t){return t}},F=function(t){this.options=H(Object.create(R),t),this.trees=new Array(this.options.maxZoom+1)};function B(t,e,r,n,a){return{x:t,y:e,zoom:1/0,id:r,parentId:-1,numPoints:n,properties:a}}function N(t,e){var r=t.geometry.coordinates,n=r[1];return{x:U(r[0]),y:q(n),zoom:1/0,index:e,parentId:-1}}function j(t){return{type:\"Feature\",id:t.id,properties:V(t),geometry:{type:\"Point\",coordinates:[(n=t.x,360*(n-.5)),(e=t.y,r=(180-360*e)*Math.PI/180,360*Math.atan(Math.exp(r))/Math.PI-90)]}};var e,r,n}function V(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+\"k\":e>=1e3?Math.round(e/100)/10+\"k\":e;return H(H({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function U(t){return t/360+.5}function q(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function H(t,e){for(var r in e)t[r]=e[r];return t}function G(t){return t.x}function Y(t){return t.y}function W(t,e,r,n,a,i){var o=a-r,s=i-n;if(0!==o||0!==s){var l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=a,n=i):l>0&&(r+=o*l,n+=s*l)}return(o=t-r)*o+(s=e-n)*s}function Z(t,e,r,n){var a={id:void 0===t?null:t,type:e,geometry:r,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(t){var e=t.geometry,r=t.type;if(\"Point\"===r||\"MultiPoint\"===r||\"LineString\"===r)X(t,e);else if(\"Polygon\"===r||\"MultiLineString\"===r)for(var n=0;n<e.length;n++)X(t,e[n]);else if(\"MultiPolygon\"===r)for(n=0;n<e.length;n++)for(var a=0;a<e[n].length;a++)X(t,e[n][a])}(a),a}function X(t,e){for(var r=0;r<e.length;r+=3)t.minX=Math.min(t.minX,e[r]),t.minY=Math.min(t.minY,e[r+1]),t.maxX=Math.max(t.maxX,e[r]),t.maxY=Math.max(t.maxY,e[r+1])}function J(t,e,r,n){if(e.geometry){var a=e.geometry.coordinates,i=e.geometry.type,o=Math.pow(r.tolerance/((1<<r.maxZoom)*r.extent),2),s=[],l=e.id;if(r.promoteId?l=e.properties[r.promoteId]:r.generateId&&(l=n||0),\"Point\"===i)K(a,s);else if(\"MultiPoint\"===i)for(var c=0;c<a.length;c++)K(a[c],s);else if(\"LineString\"===i)Q(a,s,o,!1);else if(\"MultiLineString\"===i){if(r.lineMetrics){for(c=0;c<a.length;c++)Q(a[c],s=[],o,!1),t.push(Z(l,\"LineString\",s,e.properties));return}$(a,s,o,!1)}else if(\"Polygon\"===i)$(a,s,o,!0);else{if(\"MultiPolygon\"!==i){if(\"GeometryCollection\"===i){for(c=0;c<e.geometry.geometries.length;c++)J(t,{id:l,geometry:e.geometry.geometries[c],properties:e.properties},r,n);return}throw new Error(\"Input data is not a valid GeoJSON object.\")}for(c=0;c<a.length;c++){var u=[];$(a[c],u,o,!0),s.push(u)}}t.push(Z(l,i,s,e.properties))}}function K(t,e){e.push(tt(t[0])),e.push(et(t[1])),e.push(0)}function Q(t,e,r,n){for(var a,i,o=0,s=0;s<t.length;s++){var l=tt(t[s][0]),c=et(t[s][1]);e.push(l),e.push(c),e.push(0),s>0&&(o+=n?(a*c-l*i)/2:Math.sqrt(Math.pow(l-a,2)+Math.pow(c-i,2))),a=l,i=c}var u=e.length-3;e[2]=1,function t(e,r,n,a){for(var i,o=a,s=n-r>>1,l=n-r,c=e[r],u=e[r+1],h=e[n],f=e[n+1],p=r+3;p<n;p+=3){var d=W(e[p],e[p+1],c,u,h,f);if(d>o)i=p,o=d;else if(d===o){var g=Math.abs(p-s);g<l&&(i=p,l=g)}}o>a&&(i-r>3&&t(e,r,i,a),e[i+2]=o,n-i>3&&t(e,i,n,a))}(e,0,u,r),e[u+2]=1,e.size=Math.abs(o),e.start=0,e.end=e.size}function $(t,e,r,n){for(var a=0;a<t.length;a++){var i=[];Q(t[a],i,r,n),e.push(i)}}function tt(t){return t/360+.5}function et(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function rt(t,e,r,n,a,i,o,s){if(n/=e,i>=(r/=e)&&o<n)return t;if(o<r||i>=n)return null;for(var l=[],c=0;c<t.length;c++){var u=t[c],h=u.geometry,f=u.type,p=0===a?u.minX:u.minY,d=0===a?u.maxX:u.maxY;if(p>=r&&d<n)l.push(u);else if(!(d<r||p>=n)){var g=[];if(\"Point\"===f||\"MultiPoint\"===f)nt(h,g,r,n,a);else if(\"LineString\"===f)at(h,g,r,n,a,!1,s.lineMetrics);else if(\"MultiLineString\"===f)ot(h,g,r,n,a,!1);else if(\"Polygon\"===f)ot(h,g,r,n,a,!0);else if(\"MultiPolygon\"===f)for(var m=0;m<h.length;m++){var v=[];ot(h[m],v,r,n,a,!0),v.length&&g.push(v)}if(g.length){if(s.lineMetrics&&\"LineString\"===f){for(m=0;m<g.length;m++)l.push(Z(u.id,f,g[m],u.tags));continue}\"LineString\"!==f&&\"MultiLineString\"!==f||(1===g.length?(f=\"LineString\",g=g[0]):f=\"MultiLineString\"),\"Point\"!==f&&\"MultiPoint\"!==f||(f=3===g.length?\"Point\":\"MultiPoint\"),l.push(Z(u.id,f,g,u.tags))}}}return l.length?l:null}function nt(t,e,r,n,a){for(var i=0;i<t.length;i+=3){var o=t[i+a];o>=r&&o<=n&&(e.push(t[i]),e.push(t[i+1]),e.push(t[i+2]))}}function at(t,e,r,n,a,i,o){for(var s,l,c=it(t),u=0===a?lt:ct,h=t.start,f=0;f<t.length-3;f+=3){var p=t[f],d=t[f+1],g=t[f+2],m=t[f+3],v=t[f+4],y=0===a?p:d,x=0===a?m:v,b=!1;o&&(s=Math.sqrt(Math.pow(p-m,2)+Math.pow(d-v,2))),y<r?x>r&&(l=u(c,p,d,m,v,r),o&&(c.start=h+s*l)):y>n?x<n&&(l=u(c,p,d,m,v,n),o&&(c.start=h+s*l)):st(c,p,d,g),x<r&&y>=r&&(l=u(c,p,d,m,v,r),b=!0),x>n&&y<=n&&(l=u(c,p,d,m,v,n),b=!0),!i&&b&&(o&&(c.end=h+s*l),e.push(c),c=it(t)),o&&(h+=s)}var _=t.length-3;p=t[_],d=t[_+1],g=t[_+2],(y=0===a?p:d)>=r&&y<=n&&st(c,p,d,g),_=c.length-3,i&&_>=3&&(c[_]!==c[0]||c[_+1]!==c[1])&&st(c,c[0],c[1],c[2]),c.length&&e.push(c)}function it(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function ot(t,e,r,n,a,i){for(var o=0;o<t.length;o++)at(t[o],e,r,n,a,i,!1)}function st(t,e,r,n){t.push(e),t.push(r),t.push(n)}function lt(t,e,r,n,a,i){var o=(i-e)/(n-e);return t.push(i),t.push(r+(a-r)*o),t.push(1),o}function ct(t,e,r,n,a,i){var o=(i-r)/(a-r);return t.push(e+(n-e)*o),t.push(i),t.push(1),o}function ut(t,e){for(var r=[],n=0;n<t.length;n++){var a,i=t[n],o=i.type;if(\"Point\"===o||\"MultiPoint\"===o||\"LineString\"===o)a=ht(i.geometry,e);else if(\"MultiLineString\"===o||\"Polygon\"===o){a=[];for(var s=0;s<i.geometry.length;s++)a.push(ht(i.geometry[s],e))}else if(\"MultiPolygon\"===o)for(a=[],s=0;s<i.geometry.length;s++){for(var l=[],c=0;c<i.geometry[s].length;c++)l.push(ht(i.geometry[s][c],e));a.push(l)}r.push(Z(i.id,o,a,i.tags))}return r}function ht(t,e){var r=[];r.size=t.size,void 0!==t.start&&(r.start=t.start,r.end=t.end);for(var n=0;n<t.length;n+=3)r.push(t[n]+e,t[n+1],t[n+2]);return r}function ft(t,e){if(t.transformed)return t;var r,n,a,i=1<<t.z,o=t.x,s=t.y;for(r=0;r<t.features.length;r++){var l=t.features[r],c=l.geometry,u=l.type;if(l.geometry=[],1===u)for(n=0;n<c.length;n+=2)l.geometry.push(pt(c[n],c[n+1],e,i,o,s));else for(n=0;n<c.length;n++){var h=[];for(a=0;a<c[n].length;a+=2)h.push(pt(c[n][a],c[n][a+1],e,i,o,s));l.geometry.push(h)}}return t.transformed=!0,t}function pt(t,e,r,n,a,i){return[Math.round(r*(t*n-a)),Math.round(r*(e*n-i))]}function dt(t,e,r,n,a){for(var i=e===a.maxZoom?0:a.tolerance/((1<<e)*a.extent),o={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:n,z:e,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0},s=0;s<t.length;s++){o.numFeatures++,gt(o,t[s],i,a);var l=t[s].minX,c=t[s].minY,u=t[s].maxX,h=t[s].maxY;l<o.minX&&(o.minX=l),c<o.minY&&(o.minY=c),u>o.maxX&&(o.maxX=u),h>o.maxY&&(o.maxY=h)}return o}function gt(t,e,r,n){var a=e.geometry,i=e.type,o=[];if(\"Point\"===i||\"MultiPoint\"===i)for(var s=0;s<a.length;s+=3)o.push(a[s]),o.push(a[s+1]),t.numPoints++,t.numSimplified++;else if(\"LineString\"===i)mt(o,a,t,r,!1,!1);else if(\"MultiLineString\"===i||\"Polygon\"===i)for(s=0;s<a.length;s++)mt(o,a[s],t,r,\"Polygon\"===i,0===s);else if(\"MultiPolygon\"===i)for(var l=0;l<a.length;l++){var c=a[l];for(s=0;s<c.length;s++)mt(o,c[s],t,r,!0,0===s)}if(o.length){var u=e.tags||null;if(\"LineString\"===i&&n.lineMetrics){for(var h in u={},e.tags)u[h]=e.tags[h];u.mapbox_clip_start=a.start/a.size,u.mapbox_clip_end=a.end/a.size}var f={geometry:o,type:\"Polygon\"===i||\"MultiPolygon\"===i?3:\"LineString\"===i||\"MultiLineString\"===i?2:1,tags:u};null!==e.id&&(f.id=e.id),t.features.push(f)}}function mt(t,e,r,n,a,i){var o=n*n;if(n>0&&e.size<(a?o:n))r.numPoints+=e.length/3;else{for(var s=[],l=0;l<e.length;l+=3)(0===n||e[l+2]>o)&&(r.numSimplified++,s.push(e[l]),s.push(e[l+1])),r.numPoints++;a&&function(t,e){for(var r=0,n=0,a=t.length,i=a-2;n<a;i=n,n+=2)r+=(t[n]-t[i])*(t[n+1]+t[i+1]);if(r>0===e)for(n=0,a=t.length;n<a/2;n+=2){var o=t[n],s=t[n+1];t[n]=t[a-2-n],t[n+1]=t[a-1-n],t[a-2-n]=o,t[a-1-n]=s}}(s,i),t.push(s)}}function vt(t,e){var r=(e=this.options=function(t,e){for(var r in e)t[r]=e[r];return t}(Object.create(this.options),e)).debug;if(r&&console.time(\"preprocess data\"),e.maxZoom<0||e.maxZoom>24)throw new Error(\"maxZoom should be in the 0-24 range\");if(e.promoteId&&e.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");var n=function(t,e){var r=[];if(\"FeatureCollection\"===t.type)for(var n=0;n<t.features.length;n++)J(r,t.features[n],e,n);else J(r,\"Feature\"===t.type?t:{geometry:t},e);return r}(t,e);this.tiles={},this.tileCoords=[],r&&(console.timeEnd(\"preprocess data\"),console.log(\"index: maxZoom: %d, maxPoints: %d\",e.indexMaxZoom,e.indexMaxPoints),console.time(\"generate tiles\"),this.stats={},this.total=0),(n=function(t,e){var r=e.buffer/e.extent,n=t,a=rt(t,1,-1-r,r,0,-1,2,e),i=rt(t,1,1-r,2+r,0,-1,2,e);return(a||i)&&(n=rt(t,1,-r,1+r,0,-1,2,e)||[],a&&(n=ut(a,1).concat(n)),i&&(n=n.concat(ut(i,-1)))),n}(n,e)).length&&this.splitTile(n,0,0,0),r&&(n.length&&console.log(\"features: %d, points: %d\",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd(\"generate tiles\"),console.log(\"tiles generated:\",this.total,JSON.stringify(this.stats)))}function yt(t,e,r){return 32*((1<<t)*r+e)+t}function xt(t,e){var r=t.tileID.canonical;if(!this._geoJSONIndex)return e(null,null);var n=this._geoJSONIndex.getTile(r.z,r.x,r.y);if(!n)return e(null,null);var a=new g(n.features),i=b(a);0===i.byteOffset&&i.byteLength===i.buffer.byteLength||(i=new Uint8Array(i)),e(null,{vectorTile:a,rawData:i.buffer})}F.prototype.load=function(t){var e=this.options,r=e.log,n=e.minZoom,a=e.maxZoom,i=e.nodeSize;r&&console.time(\"total time\");var o=\"prepare \"+t.length+\" points\";r&&console.time(o),this.points=t;for(var s=[],l=0;l<t.length;l++)t[l].geometry&&s.push(N(t[l],l));this.trees[a+1]=new D(s,G,Y,i,Float32Array),r&&console.timeEnd(o);for(var c=a;c>=n;c--){var u=+Date.now();s=this._cluster(s,c),this.trees[c]=new D(s,G,Y,i,Float32Array),r&&console.log(\"z%d: %d clusters in %dms\",c,s.length,+Date.now()-u)}return r&&console.timeEnd(\"total time\"),this},F.prototype.getClusters=function(t,e){var r=((t[0]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,t[1])),a=180===t[2]?180:((t[2]+180)%360+360)%360-180,i=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,a=180;else if(r>a){var o=this.getClusters([r,n,180,i],e),s=this.getClusters([-180,n,a,i],e);return o.concat(s)}for(var l=this.trees[this._limitZoom(e)],c=[],u=0,h=l.range(U(r),q(i),U(a),q(n));u<h.length;u+=1){var f=l.points[h[u]];c.push(f.numPoints?j(f):this.points[f.index])}return c},F.prototype.getChildren=function(t){var e=this._getOriginId(t),r=this._getOriginZoom(t),n=\"No cluster with the specified id.\",a=this.trees[r];if(!a)throw new Error(n);var i=a.points[e];if(!i)throw new Error(n);for(var o=this.options.radius/(this.options.extent*Math.pow(2,r-1)),s=[],l=0,c=a.within(i.x,i.y,o);l<c.length;l+=1){var u=a.points[c[l]];u.parentId===t&&s.push(u.numPoints?j(u):this.points[u.index])}if(0===s.length)throw new Error(n);return s},F.prototype.getLeaves=function(t,e,r){var n=[];return this._appendLeaves(n,t,e=e||10,r=r||0,0),n},F.prototype.getTile=function(t,e,r){var n=this.trees[this._limitZoom(t)],a=Math.pow(2,t),i=this.options,o=i.radius/i.extent,s=(r-o)/a,l=(r+1+o)/a,c={features:[]};return this._addTileFeatures(n.range((e-o)/a,s,(e+1+o)/a,l),n.points,e,r,a,c),0===e&&this._addTileFeatures(n.range(1-o/a,s,1,l),n.points,a,r,a,c),e===a-1&&this._addTileFeatures(n.range(0,s,o/a,l),n.points,-1,r,a,c),c.features.length?c:null},F.prototype.getClusterExpansionZoom=function(t){for(var e=this._getOriginZoom(t)-1;e<=this.options.maxZoom;){var r=this.getChildren(t);if(e++,1!==r.length)break;t=r[0].properties.cluster_id}return e},F.prototype._appendLeaves=function(t,e,r,n,a){for(var i=0,o=this.getChildren(e);i<o.length;i+=1){var s=o[i],l=s.properties;if(l&&l.cluster?a+l.point_count<=n?a+=l.point_count:a=this._appendLeaves(t,l.cluster_id,r,n,a):a<n?a++:t.push(s),t.length===r)break}return a},F.prototype._addTileFeatures=function(t,e,r,n,a,i){for(var o=0,s=t;o<s.length;o+=1){var l=e[s[o]],c=l.numPoints,u={type:1,geometry:[[Math.round(this.options.extent*(l.x*a-r)),Math.round(this.options.extent*(l.y*a-n))]],tags:c?V(l):this.points[l.index].properties},h=void 0;c?h=l.id:this.options.generateId?h=l.index:this.points[l.index].id&&(h=this.points[l.index].id),void 0!==h&&(u.id=h),i.features.push(u)}},F.prototype._limitZoom=function(t){return Math.max(this.options.minZoom,Math.min(t,this.options.maxZoom+1))},F.prototype._cluster=function(t,e){for(var r=[],n=this.options,a=n.reduce,i=n.radius/(n.extent*Math.pow(2,e)),o=0;o<t.length;o++){var s=t[o];if(!(s.zoom<=e)){s.zoom=e;for(var l=this.trees[e+1],c=l.within(s.x,s.y,i),u=s.numPoints||1,h=s.x*u,f=s.y*u,p=a&&u>1?this._map(s,!0):null,d=(o<<5)+(e+1)+this.points.length,g=0,m=c;g<m.length;g+=1){var v=l.points[m[g]];if(!(v.zoom<=e)){v.zoom=e;var y=v.numPoints||1;h+=v.x*y,f+=v.y*y,u+=y,v.parentId=d,a&&(p||(p=this._map(s,!0)),a(p,this._map(v)))}}1===u?r.push(s):(s.parentId=d,r.push(B(h/u,f/u,d,u,p)))}}return r},F.prototype._getOriginId=function(t){return t-this.points.length>>5},F.prototype._getOriginZoom=function(t){return(t-this.points.length)%32},F.prototype._map=function(t,e){if(t.numPoints)return e?H({},t.properties):t.properties;var r=this.points[t.index].properties,n=this.options.map(r);return e&&n===r?H({},n):n},vt.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},vt.prototype.splitTile=function(t,e,r,n,a,i,o){for(var s=[t,e,r,n],l=this.options,c=l.debug;s.length;){n=s.pop(),r=s.pop(),e=s.pop(),t=s.pop();var u=1<<e,h=yt(e,r,n),f=this.tiles[h];if(!f&&(c>1&&console.time(\"creation\"),f=this.tiles[h]=dt(t,e,r,n,l),this.tileCoords.push({z:e,x:r,y:n}),c)){c>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",e,r,n,f.numFeatures,f.numPoints,f.numSimplified),console.timeEnd(\"creation\"));var p=\"z\"+e;this.stats[p]=(this.stats[p]||0)+1,this.total++}if(f.source=t,a){if(e===l.maxZoom||e===a)continue;var d=1<<a-e;if(r!==Math.floor(i/d)||n!==Math.floor(o/d))continue}else if(e===l.indexMaxZoom||f.numPoints<=l.indexMaxPoints)continue;if(f.source=null,0!==t.length){c>1&&console.time(\"clipping\");var g,m,v,y,x,b,_=.5*l.buffer/l.extent,w=.5-_,T=.5+_,k=1+_;g=m=v=y=null,x=rt(t,u,r-_,r+T,0,f.minX,f.maxX,l),b=rt(t,u,r+w,r+k,0,f.minX,f.maxX,l),t=null,x&&(g=rt(x,u,n-_,n+T,1,f.minY,f.maxY,l),m=rt(x,u,n+w,n+k,1,f.minY,f.maxY,l),x=null),b&&(v=rt(b,u,n-_,n+T,1,f.minY,f.maxY,l),y=rt(b,u,n+w,n+k,1,f.minY,f.maxY,l),b=null),c>1&&console.timeEnd(\"clipping\"),s.push(g||[],e+1,2*r,2*n),s.push(m||[],e+1,2*r,2*n+1),s.push(v||[],e+1,2*r+1,2*n),s.push(y||[],e+1,2*r+1,2*n+1)}}},vt.prototype.getTile=function(t,e,r){var n=this.options,a=n.extent,i=n.debug;if(t<0||t>24)return null;var o=1<<t,s=yt(t,e=(e%o+o)%o,r);if(this.tiles[s])return ft(this.tiles[s],a);i>1&&console.log(\"drilling down to z%d-%d-%d\",t,e,r);for(var l,c=t,u=e,h=r;!l&&c>0;)c--,u=Math.floor(u/2),h=Math.floor(h/2),l=this.tiles[yt(c,u,h)];return l&&l.source?(i>1&&console.log(\"found parent tile z%d-%d-%d\",c,u,h),i>1&&console.time(\"drilling down\"),this.splitTile(l.source,c,u,h,t,e,r),i>1&&console.timeEnd(\"drilling down\"),this.tiles[s]?ft(this.tiles[s],a):null):null};var bt=function(e){function r(t,r,n,a){e.call(this,t,r,n,xt),a&&(this.loadGeoJSON=a)}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.loadData=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=e,this._pendingLoadDataParams=t,this._state&&\"Idle\"!==this._state?this._state=\"NeedsLoadData\":(this._state=\"Coalescing\",this._loadData())},r.prototype._loadData=function(){var e=this;if(this._pendingCallback&&this._pendingLoadDataParams){var r=this._pendingCallback,n=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var a=!!(n&&n.request&&n.request.collectResourceTiming)&&new t.RequestPerformance(n.request);this.loadGeoJSON(n,(function(i,o){if(i||!o)return r(i);if(\"object\"!=typeof o)return r(new Error(\"Input data given to '\"+n.source+\"' is not a valid GeoJSON object.\"));!function t(e,r){var n,a=e&&e.type;if(\"FeatureCollection\"===a)for(n=0;n<e.features.length;n++)t(e.features[n],r);else if(\"GeometryCollection\"===a)for(n=0;n<e.geometries.length;n++)t(e.geometries[n],r);else if(\"Feature\"===a)t(e.geometry,r);else if(\"Polygon\"===a)h(e.coordinates,r);else if(\"MultiPolygon\"===a)for(n=0;n<e.coordinates.length;n++)h(e.coordinates[n],r);return e}(o,!0);try{e._geoJSONIndex=n.cluster?new F(function(e){var r=e.superclusterOptions,n=e.clusterProperties;if(!n||!r)return r;for(var a={},i={},o={accumulated:null,zoom:0},s={properties:null},l=Object.keys(n),c=0,u=l;c<u.length;c+=1){var h=u[c],f=n[h],p=f[0],d=t.createExpression(f[1]),g=t.createExpression(\"string\"==typeof p?[p,[\"accumulated\"],[\"get\",h]]:p);a[h]=d.value,i[h]=g.value}return r.map=function(t){s.properties=t;for(var e={},r=0,n=l;r<n.length;r+=1){var i=n[r];e[i]=a[i].evaluate(o,s)}return e},r.reduce=function(t,e){s.properties=e;for(var r=0,n=l;r<n.length;r+=1){var a=n[r];o.accumulated=t[a],t[a]=i[a].evaluate(o,s)}},r}(n)).load(o.features):function(t,e){return new vt(t,e)}(o,n.geojsonVtOptions)}catch(i){return r(i)}e.loaded={};var s={};if(a){var l=a.finish();l&&(s.resourceTiming={},s.resourceTiming[n.source]=JSON.parse(JSON.stringify(l)))}r(null,s)}))}},r.prototype.coalesce=function(){\"Coalescing\"===this._state?this._state=\"Idle\":\"NeedsLoadData\"===this._state&&(this._state=\"Coalescing\",this._loadData())},r.prototype.reloadTile=function(t,r){var n=this.loaded;return n&&n[t.uid]?e.prototype.reloadTile.call(this,t,r):this.loadTile(t,r)},r.prototype.loadGeoJSON=function(e,r){if(e.request)t.getJSON(e.request,r);else{if(\"string\"!=typeof e.data)return r(new Error(\"Input data given to '\"+e.source+\"' is not a valid GeoJSON object.\"));try{return r(null,JSON.parse(e.data))}catch(t){return r(new Error(\"Input data given to '\"+e.source+\"' is not a valid GeoJSON object.\"))}}},r.prototype.removeSource=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),e()},r.prototype.getClusterExpansionZoom=function(t,e){try{e(null,this._geoJSONIndex.getClusterExpansionZoom(t.clusterId))}catch(t){e(t)}},r.prototype.getClusterChildren=function(t,e){try{e(null,this._geoJSONIndex.getChildren(t.clusterId))}catch(t){e(t)}},r.prototype.getClusterLeaves=function(t,e){try{e(null,this._geoJSONIndex.getLeaves(t.clusterId,t.limit,t.offset))}catch(t){e(t)}},r}(l),_t=function(e){var r=this;this.self=e,this.actor=new t.Actor(e,this),this.layerIndexes={},this.availableImages={},this.workerSourceTypes={vector:l,geojson:bt},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=function(t,e){if(r.workerSourceTypes[t])throw new Error('Worker source with name \"'+t+'\" already registered.');r.workerSourceTypes[t]=e},this.self.registerRTLTextPlugin=function(e){if(t.plugin.isParsed())throw new Error(\"RTL text plugin already registered.\");t.plugin.applyArabicShaping=e.applyArabicShaping,t.plugin.processBidirectionalText=e.processBidirectionalText,t.plugin.processStyledBidirectionalText=e.processStyledBidirectionalText}};return _t.prototype.setReferrer=function(t,e){this.referrer=e},_t.prototype.setImages=function(t,e,r){for(var n in this.availableImages[t]=e,this.workerSources[t]){var a=this.workerSources[t][n];for(var i in a)a[i].availableImages=e}r()},_t.prototype.setLayers=function(t,e,r){this.getLayerIndex(t).replace(e),r()},_t.prototype.updateLayers=function(t,e,r){this.getLayerIndex(t).update(e.layers,e.removedIds),r()},_t.prototype.loadTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).loadTile(e,r)},_t.prototype.loadDEMTile=function(t,e,r){this.getDEMWorkerSource(t,e.source).loadTile(e,r)},_t.prototype.reloadTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).reloadTile(e,r)},_t.prototype.abortTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).abortTile(e,r)},_t.prototype.removeTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).removeTile(e,r)},_t.prototype.removeDEMTile=function(t,e){this.getDEMWorkerSource(t,e.source).removeTile(e)},_t.prototype.removeSource=function(t,e,r){if(this.workerSources[t]&&this.workerSources[t][e.type]&&this.workerSources[t][e.type][e.source]){var n=this.workerSources[t][e.type][e.source];delete this.workerSources[t][e.type][e.source],void 0!==n.removeSource?n.removeSource(e,r):r()}},_t.prototype.loadWorkerSource=function(t,e,r){try{this.self.importScripts(e.url),r()}catch(t){r(t.toString())}},_t.prototype.syncRTLPluginState=function(e,r,n){try{t.plugin.setState(r);var a=t.plugin.getPluginURL();if(t.plugin.isLoaded()&&!t.plugin.isParsed()&&null!=a){this.self.importScripts(a);var i=t.plugin.isParsed();n(i?void 0:new Error(\"RTL Text Plugin failed to import scripts from \"+a),i)}}catch(t){n(t.toString())}},_t.prototype.getAvailableImages=function(t){var e=this.availableImages[t];return e||(e=[]),e},_t.prototype.getLayerIndex=function(t){var e=this.layerIndexes[t];return e||(e=this.layerIndexes[t]=new n),e},_t.prototype.getWorkerSource=function(t,e,r){var n=this;return this.workerSources[t]||(this.workerSources[t]={}),this.workerSources[t][e]||(this.workerSources[t][e]={}),this.workerSources[t][e][r]||(this.workerSources[t][e][r]=new this.workerSourceTypes[e]({send:function(e,r,a){n.actor.send(e,r,a,t)}},this.getLayerIndex(t),this.getAvailableImages(t))),this.workerSources[t][e][r]},_t.prototype.getDEMWorkerSource=function(t,e){return this.demWorkerSources[t]||(this.demWorkerSources[t]={}),this.demWorkerSources[t][e]||(this.demWorkerSources[t][e]=new u),this.demWorkerSources[t][e]},_t.prototype.enforceCacheSizeLimit=function(e,r){t.enforceCacheSizeLimit(r)},\"undefined\"!=typeof WorkerGlobalScope&&void 0!==t.window&&t.window instanceof WorkerGlobalScope&&(t.window.worker=new _t(t.window)),_t})),n(0,(function(t){var e=t.createCommonjsModule((function(t){function e(t){return!r(t)}function r(t){return\"undefined\"==typeof window||\"undefined\"==typeof document?\"not a browser\":Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray?Function.prototype&&Function.prototype.bind?Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions?\"JSON\"in window&&\"parse\"in JSON&&\"stringify\"in JSON?function(){if(!(\"Worker\"in window&&\"Blob\"in window&&\"URL\"in window))return!1;var t,e,r=new Blob([\"\"],{type:\"text/javascript\"}),n=URL.createObjectURL(r);try{e=new Worker(n),t=!0}catch(e){t=!1}return e&&e.terminate(),URL.revokeObjectURL(n),t}()?\"Uint8ClampedArray\"in window?ArrayBuffer.isView?function(){var t=document.createElement(\"canvas\");t.width=t.height=1;var e=t.getContext(\"2d\");if(!e)return!1;var r=e.getImageData(0,0,1,1);return r&&r.width===t.width}()?(void 0===n[r=t&&t.failIfMajorPerformanceCaveat]&&(n[r]=function(t){var r=function(t){var r=document.createElement(\"canvas\"),n=Object.create(e.webGLContextAttributes);return n.failIfMajorPerformanceCaveat=t,r.probablySupportsContext?r.probablySupportsContext(\"webgl\",n)||r.probablySupportsContext(\"experimental-webgl\",n):r.supportsContext?r.supportsContext(\"webgl\",n)||r.supportsContext(\"experimental-webgl\",n):r.getContext(\"webgl\",n)||r.getContext(\"experimental-webgl\",n)}(t);if(!r)return!1;var n=r.createShader(r.VERTEX_SHADER);return!(!n||r.isContextLost())&&(r.shaderSource(n,\"void main() {}\"),r.compileShader(n),!0===r.getShaderParameter(n,r.COMPILE_STATUS))}(r)),n[r]?void 0:\"insufficient WebGL support\"):\"insufficient Canvas/getImageData support\":\"insufficient ArrayBuffer support\":\"insufficient Uint8ClampedArray support\":\"insufficient worker support\":\"insufficient JSON support\":\"insufficient Object support\":\"insufficient Function support\":\"insufficent Array support\";var r}t.exports?t.exports=e:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=e,window.mapboxgl.notSupportedReason=r);var n={};e.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}})),r={create:function(e,r,n){var a=t.window.document.createElement(e);return void 0!==r&&(a.className=r),n&&n.appendChild(a),a},createNS:function(e,r){return t.window.document.createElementNS(e,r)}},n=t.window.document.documentElement.style;function a(t){if(!n)return t[0];for(var e=0;e<t.length;e++)if(t[e]in n)return t[e];return t[0]}var i,o=a([\"userSelect\",\"MozUserSelect\",\"WebkitUserSelect\",\"msUserSelect\"]);r.disableDrag=function(){n&&o&&(i=n[o],n[o]=\"none\")},r.enableDrag=function(){n&&o&&(n[o]=i)};var s=a([\"transform\",\"WebkitTransform\"]);r.setTransform=function(t,e){t.style[s]=e};var l=!1;try{var c=Object.defineProperty({},\"passive\",{get:function(){l=!0}});t.window.addEventListener(\"test\",c,c),t.window.removeEventListener(\"test\",c,c)}catch(t){l=!1}r.addEventListener=function(t,e,r,n){void 0===n&&(n={}),t.addEventListener(e,r,\"passive\"in n&&l?n:n.capture)},r.removeEventListener=function(t,e,r,n){void 0===n&&(n={}),t.removeEventListener(e,r,\"passive\"in n&&l?n:n.capture)};var u=function(e){e.preventDefault(),e.stopPropagation(),t.window.removeEventListener(\"click\",u,!0)};function h(t){var e=t.userImage;return!!(e&&e.render&&e.render())&&(t.data.replace(new Uint8Array(e.data.buffer)),!0)}r.suppressClick=function(){t.window.addEventListener(\"click\",u,!0),t.window.setTimeout((function(){t.window.removeEventListener(\"click\",u,!0)}),0)},r.mousePos=function(e,r){var n=e.getBoundingClientRect();return new t.Point(r.clientX-n.left-e.clientLeft,r.clientY-n.top-e.clientTop)},r.touchPos=function(e,r){for(var n=e.getBoundingClientRect(),a=[],i=0;i<r.length;i++)a.push(new t.Point(r[i].clientX-n.left-e.clientLeft,r[i].clientY-n.top-e.clientTop));return a},r.mouseButton=function(e){return void 0!==t.window.InstallTrigger&&2===e.button&&e.ctrlKey&&t.window.navigator.platform.toUpperCase().indexOf(\"MAC\")>=0?0:e.button},r.remove=function(t){t.parentNode&&t.parentNode.removeChild(t)};var f=function(e){function r(){e.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.RGBAImage({width:1,height:1}),this.dirty=!0}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.isLoaded=function(){return this.loaded},r.prototype.setLoaded=function(t){if(this.loaded!==t&&(this.loaded=t,t)){for(var e=0,r=this.requestors;e<r.length;e+=1){var n=r[e];this._notify(n.ids,n.callback)}this.requestors=[]}},r.prototype.getImage=function(t){return this.images[t]},r.prototype.addImage=function(t,e){this._validate(t,e)&&(this.images[t]=e)},r.prototype._validate=function(e,r){var n=!0;return this._validateStretch(r.stretchX,r.data&&r.data.width)||(this.fire(new t.ErrorEvent(new Error('Image \"'+e+'\" has invalid \"stretchX\" value'))),n=!1),this._validateStretch(r.stretchY,r.data&&r.data.height)||(this.fire(new t.ErrorEvent(new Error('Image \"'+e+'\" has invalid \"stretchY\" value'))),n=!1),this._validateContent(r.content,r)||(this.fire(new t.ErrorEvent(new Error('Image \"'+e+'\" has invalid \"content\" value'))),n=!1),n},r.prototype._validateStretch=function(t,e){if(!t)return!0;for(var r=0,n=0,a=t;n<a.length;n+=1){var i=a[n];if(i[0]<r||i[1]<i[0]||e<i[1])return!1;r=i[1]}return!0},r.prototype._validateContent=function(t,e){return!(t&&(4!==t.length||t[0]<0||e.data.width<t[0]||t[1]<0||e.data.height<t[1]||t[2]<0||e.data.width<t[2]||t[3]<0||e.data.height<t[3]||t[2]<t[0]||t[3]<t[1]))},r.prototype.updateImage=function(t,e){e.version=this.images[t].version+1,this.images[t]=e,this.updatedImages[t]=!0},r.prototype.removeImage=function(t){var e=this.images[t];delete this.images[t],delete this.patterns[t],e.userImage&&e.userImage.onRemove&&e.userImage.onRemove()},r.prototype.listImages=function(){return Object.keys(this.images)},r.prototype.getImages=function(t,e){var r=!0;if(!this.isLoaded())for(var n=0,a=t;n<a.length;n+=1)this.images[a[n]]||(r=!1);this.isLoaded()||r?this._notify(t,e):this.requestors.push({ids:t,callback:e})},r.prototype._notify=function(e,r){for(var n={},a=0,i=e;a<i.length;a+=1){var o=i[a];this.images[o]||this.fire(new t.Event(\"styleimagemissing\",{id:o}));var s=this.images[o];s?n[o]={data:s.data.clone(),pixelRatio:s.pixelRatio,sdf:s.sdf,version:s.version,stretchX:s.stretchX,stretchY:s.stretchY,content:s.content,hasRenderCallback:Boolean(s.userImage&&s.userImage.render)}:t.warnOnce('Image \"'+o+'\" could not be loaded. Please make sure you have added the image with map.addImage() or a \"sprite\" property in your style. You can provide missing images by listening for the \"styleimagemissing\" map event.')}r(null,n)},r.prototype.getPixelSize=function(){var t=this.atlasImage;return{width:t.width,height:t.height}},r.prototype.getPattern=function(e){var r=this.patterns[e],n=this.getImage(e);if(!n)return null;if(r&&r.position.version===n.version)return r.position;if(r)r.position.version=n.version;else{var a={w:n.data.width+2,h:n.data.height+2,x:0,y:0},i=new t.ImagePosition(a,n);this.patterns[e]={bin:a,position:i}}return this._updatePatternAtlas(),this.patterns[e].position},r.prototype.bind=function(e){var r=e.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new t.Texture(e,this.atlasImage,r.RGBA),this.atlasTexture.bind(r.LINEAR,r.CLAMP_TO_EDGE)},r.prototype._updatePatternAtlas=function(){var e=[];for(var r in this.patterns)e.push(this.patterns[r].bin);var n=t.potpack(e),a=n.w,i=n.h,o=this.atlasImage;for(var s in o.resize({width:a||1,height:i||1}),this.patterns){var l=this.patterns[s].bin,c=l.x+1,u=l.y+1,h=this.images[s].data,f=h.width,p=h.height;t.RGBAImage.copy(h,o,{x:0,y:0},{x:c,y:u},{width:f,height:p}),t.RGBAImage.copy(h,o,{x:0,y:p-1},{x:c,y:u-1},{width:f,height:1}),t.RGBAImage.copy(h,o,{x:0,y:0},{x:c,y:u+p},{width:f,height:1}),t.RGBAImage.copy(h,o,{x:f-1,y:0},{x:c-1,y:u},{width:1,height:p}),t.RGBAImage.copy(h,o,{x:0,y:0},{x:c+f,y:u},{width:1,height:p})}this.dirty=!0},r.prototype.beginFrame=function(){this.callbackDispatchedThisFrame={}},r.prototype.dispatchRenderCallbacks=function(t){for(var e=0,r=t;e<r.length;e+=1){var n=r[e];if(!this.callbackDispatchedThisFrame[n]){this.callbackDispatchedThisFrame[n]=!0;var a=this.images[n];h(a)&&this.updateImage(n,a)}}},r}(t.Evented),p=m,d=m,g=1e20;function m(t,e,r,n,a,i){this.fontSize=t||24,this.buffer=void 0===e?3:e,this.cutoff=n||.25,this.fontFamily=a||\"sans-serif\",this.fontWeight=i||\"normal\",this.radius=r||8;var o=this.size=this.fontSize+2*this.buffer;this.canvas=document.createElement(\"canvas\"),this.canvas.width=this.canvas.height=o,this.ctx=this.canvas.getContext(\"2d\"),this.ctx.font=this.fontWeight+\" \"+this.fontSize+\"px \"+this.fontFamily,this.ctx.textBaseline=\"middle\",this.ctx.fillStyle=\"black\",this.gridOuter=new Float64Array(o*o),this.gridInner=new Float64Array(o*o),this.f=new Float64Array(o),this.d=new Float64Array(o),this.z=new Float64Array(o+1),this.v=new Int16Array(o),this.middle=Math.round(o/2*(navigator.userAgent.indexOf(\"Gecko/\")>=0?1.2:1))}function v(t,e,r,n,a,i,o){for(var s=0;s<e;s++){for(var l=0;l<r;l++)n[l]=t[l*e+s];for(y(n,a,i,o,r),l=0;l<r;l++)t[l*e+s]=a[l]}for(l=0;l<r;l++){for(s=0;s<e;s++)n[s]=t[l*e+s];for(y(n,a,i,o,e),s=0;s<e;s++)t[l*e+s]=Math.sqrt(a[s])}}function y(t,e,r,n,a){r[0]=0,n[0]=-g,n[1]=+g;for(var i=1,o=0;i<a;i++){for(var s=(t[i]+i*i-(t[r[o]]+r[o]*r[o]))/(2*i-2*r[o]);s<=n[o];)o--,s=(t[i]+i*i-(t[r[o]]+r[o]*r[o]))/(2*i-2*r[o]);r[++o]=i,n[o]=s,n[o+1]=+g}for(i=0,o=0;i<a;i++){for(;n[o+1]<i;)o++;e[i]=(i-r[o])*(i-r[o])+t[r[o]]}}m.prototype.draw=function(t){this.ctx.clearRect(0,0,this.size,this.size),this.ctx.fillText(t,this.buffer,this.middle);for(var e=this.ctx.getImageData(0,0,this.size,this.size),r=new Uint8ClampedArray(this.size*this.size),n=0;n<this.size*this.size;n++){var a=e.data[4*n+3]/255;this.gridOuter[n]=1===a?0:0===a?g:Math.pow(Math.max(0,.5-a),2),this.gridInner[n]=1===a?g:0===a?0:Math.pow(Math.max(0,a-.5),2)}for(v(this.gridOuter,this.size,this.size,this.f,this.d,this.v,this.z),v(this.gridInner,this.size,this.size,this.f,this.d,this.v,this.z),n=0;n<this.size*this.size;n++)r[n]=Math.max(0,Math.min(255,Math.round(255-255*((this.gridOuter[n]-this.gridInner[n])/this.radius+this.cutoff))));return r},p.default=d;var x=function(t,e){this.requestManager=t,this.localIdeographFontFamily=e,this.entries={}};x.prototype.setURL=function(t){this.url=t},x.prototype.getGlyphs=function(e,r){var n=this,a=[];for(var i in e)for(var o=0,s=e[i];o<s.length;o+=1)a.push({stack:i,id:s[o]});t.asyncAll(a,(function(t,e){var r=t.stack,a=t.id,i=n.entries[r];i||(i=n.entries[r]={glyphs:{},requests:{},ranges:{}});var o=i.glyphs[a];if(void 0===o){if(o=n._tinySDF(i,r,a))return i.glyphs[a]=o,void e(null,{stack:r,id:a,glyph:o});var s=Math.floor(a/256);if(256*s>65535)e(new Error(\"glyphs > 65535 not supported\"));else if(i.ranges[s])e(null,{stack:r,id:a,glyph:o});else{var l=i.requests[s];l||(l=i.requests[s]=[],x.loadGlyphRange(r,s,n.url,n.requestManager,(function(t,e){if(e){for(var r in e)n._doesCharSupportLocalGlyph(+r)||(i.glyphs[+r]=e[+r]);i.ranges[s]=!0}for(var a=0,o=l;a<o.length;a+=1)(0,o[a])(t,e);delete i.requests[s]}))),l.push((function(t,n){t?e(t):n&&e(null,{stack:r,id:a,glyph:n[a]||null})}))}}else e(null,{stack:r,id:a,glyph:o})}),(function(t,e){if(t)r(t);else if(e){for(var n={},a=0,i=e;a<i.length;a+=1){var o=i[a],s=o.stack,l=o.id,c=o.glyph;(n[s]||(n[s]={}))[l]=c&&{id:c.id,bitmap:c.bitmap.clone(),metrics:c.metrics}}r(null,n)}}))},x.prototype._doesCharSupportLocalGlyph=function(e){return!!this.localIdeographFontFamily&&(t.isChar[\"CJK Unified Ideographs\"](e)||t.isChar[\"Hangul Syllables\"](e)||t.isChar.Hiragana(e)||t.isChar.Katakana(e))},x.prototype._tinySDF=function(e,r,n){var a=this.localIdeographFontFamily;if(a&&this._doesCharSupportLocalGlyph(n)){var i=e.tinySDF;if(!i){var o=\"400\";/bold/i.test(r)?o=\"900\":/medium/i.test(r)?o=\"500\":/light/i.test(r)&&(o=\"200\"),i=e.tinySDF=new x.TinySDF(24,3,8,.25,a,o)}return{id:n,bitmap:new t.AlphaImage({width:30,height:30},i.draw(String.fromCharCode(n))),metrics:{width:24,height:24,left:0,top:-8,advance:24}}}},x.loadGlyphRange=function(e,r,n,a,i){var o=256*r,s=o+255,l=a.transformRequest(a.normalizeGlyphsURL(n).replace(\"{fontstack}\",e).replace(\"{range}\",o+\"-\"+s),t.ResourceType.Glyphs);t.getArrayBuffer(l,(function(e,r){if(e)i(e);else if(r){for(var n={},a=0,o=t.parseGlyphPBF(r);a<o.length;a+=1){var s=o[a];n[s.id]=s}i(null,n)}}))},x.TinySDF=p;var b=function(){this.specification=t.styleSpec.light.position};b.prototype.possiblyEvaluate=function(e,r){return t.sphericalToCartesian(e.expression.evaluate(r))},b.prototype.interpolate=function(e,r,n){return{x:t.number(e.x,r.x,n),y:t.number(e.y,r.y,n),z:t.number(e.z,r.z,n)}};var _=new t.Properties({anchor:new t.DataConstantProperty(t.styleSpec.light.anchor),position:new b,color:new t.DataConstantProperty(t.styleSpec.light.color),intensity:new t.DataConstantProperty(t.styleSpec.light.intensity)}),w=function(e){function r(r){e.call(this),this._transitionable=new t.Transitionable(_),this.setLight(r),this._transitioning=this._transitionable.untransitioned()}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.getLight=function(){return this._transitionable.serialize()},r.prototype.setLight=function(e,r){if(void 0===r&&(r={}),!this._validate(t.validateLight,e,r))for(var n in e){var a=e[n];t.endsWith(n,\"-transition\")?this._transitionable.setTransition(n.slice(0,-\"-transition\".length),a):this._transitionable.setValue(n,a)}},r.prototype.updateTransitions=function(t){this._transitioning=this._transitionable.transitioned(t,this._transitioning)},r.prototype.hasTransition=function(){return this._transitioning.hasTransition()},r.prototype.recalculate=function(t){this.properties=this._transitioning.possiblyEvaluate(t)},r.prototype._validate=function(e,r,n){return(!n||!1!==n.validate)&&t.emitValidationErrors(this,e.call(t.validateStyle,t.extend({value:r,style:{glyphs:!0,sprite:!0},styleSpec:t.styleSpec})))},r}(t.Evented),T=function(t,e){this.width=t,this.height=e,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={}};T.prototype.getDash=function(t,e){var r=t.join(\",\")+String(e);return this.dashEntry[r]||(this.dashEntry[r]=this.addDash(t,e)),this.dashEntry[r]},T.prototype.getDashRanges=function(t,e,r){var n=[],a=t.length%2==1?-t[t.length-1]*r:0,i=t[0]*r,o=!0;n.push({left:a,right:i,isDash:o,zeroLength:0===t[0]});for(var s=t[0],l=1;l<t.length;l++){var c=t[l];n.push({left:a=s*r,right:i=(s+=c)*r,isDash:o=!o,zeroLength:0===c})}return n},T.prototype.addRoundDash=function(t,e,r){for(var n=e/2,a=-r;a<=r;a++)for(var i=this.width*(this.nextRow+r+a),o=0,s=t[o],l=0;l<this.width;l++){l/s.right>1&&(s=t[++o]);var c=Math.abs(l-s.left),u=Math.abs(l-s.right),h=Math.min(c,u),f=void 0,p=a/r*(n+1);if(s.isDash){var d=n-Math.abs(p);f=Math.sqrt(h*h+d*d)}else f=n-Math.sqrt(h*h+p*p);this.data[i+l]=Math.max(0,Math.min(255,f+128))}},T.prototype.addRegularDash=function(t){for(var e=t.length-1;e>=0;--e){var r=t[e],n=t[e+1];r.zeroLength?t.splice(e,1):n&&n.isDash===r.isDash&&(n.left=r.left,t.splice(e,1))}var a=t[0],i=t[t.length-1];a.isDash===i.isDash&&(a.left=i.left-this.width,i.right=a.right+this.width);for(var o=this.width*this.nextRow,s=0,l=t[s],c=0;c<this.width;c++){c/l.right>1&&(l=t[++s]);var u=Math.abs(c-l.left),h=Math.abs(c-l.right),f=Math.min(u,h);this.data[o+c]=Math.max(0,Math.min(255,(l.isDash?f:-f)+128))}},T.prototype.addDash=function(e,r){var n=r?7:0,a=2*n+1;if(this.nextRow+a>this.height)return t.warnOnce(\"LineAtlas out of space\"),null;for(var i=0,o=0;o<e.length;o++)i+=e[o];if(0!==i){var s=this.width/i,l=this.getDashRanges(e,this.width,s);r?this.addRoundDash(l,s,n):this.addRegularDash(l)}var c={y:(this.nextRow+n+.5)/this.height,height:2*n/this.height,width:i};return this.nextRow+=a,this.dirty=!0,c},T.prototype.bind=function(t){var e=t.gl;this.texture?(e.bindTexture(e.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,e.texSubImage2D(e.TEXTURE_2D,0,0,0,this.width,this.height,e.ALPHA,e.UNSIGNED_BYTE,this.data))):(this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texImage2D(e.TEXTURE_2D,0,e.ALPHA,this.width,this.height,0,e.ALPHA,e.UNSIGNED_BYTE,this.data))};var k=function e(r,n){this.workerPool=r,this.actors=[],this.currentActor=0,this.id=t.uniqueId();for(var a=this.workerPool.acquire(this.id),i=0;i<a.length;i++){var o=new e.Actor(a[i],n,this.id);o.name=\"Worker \"+i,this.actors.push(o)}};function A(e,r,n){var a=function(a,i){if(a)return n(a);if(i){var o=t.pick(t.extend(i,e),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"mapbox_logo\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);i.vector_layers&&(o.vectorLayers=i.vector_layers,o.vectorLayerIds=o.vectorLayers.map((function(t){return t.id}))),o.tiles=r.canonicalizeTileset(o,e.url),n(null,o)}};return e.url?t.getJSON(r.transformRequest(r.normalizeSourceURL(e.url),t.ResourceType.Source),a):t.browser.frame((function(){return a(null,e)}))}k.prototype.broadcast=function(e,r,n){t.asyncAll(this.actors,(function(t,n){t.send(e,r,n)}),n=n||function(){})},k.prototype.getActor=function(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]},k.prototype.remove=function(){this.actors.forEach((function(t){t.remove()})),this.actors=[],this.workerPool.release(this.id)},k.Actor=t.Actor;var M=function(e,r,n){this.bounds=t.LngLatBounds.convert(this.validateBounds(e)),this.minzoom=r||0,this.maxzoom=n||24};M.prototype.validateBounds=function(t){return Array.isArray(t)&&4===t.length?[Math.max(-180,t[0]),Math.max(-90,t[1]),Math.min(180,t[2]),Math.min(90,t[3])]:[-180,-90,180,90]},M.prototype.contains=function(e){var r=Math.pow(2,e.z),n=Math.floor(t.mercatorXfromLng(this.bounds.getWest())*r),a=Math.floor(t.mercatorYfromLat(this.bounds.getNorth())*r),i=Math.ceil(t.mercatorXfromLng(this.bounds.getEast())*r),o=Math.ceil(t.mercatorYfromLat(this.bounds.getSouth())*r);return e.x>=n&&e.x<i&&e.y>=a&&e.y<o};var S=function(e){function r(r,n,a,i){if(e.call(this),this.id=r,this.dispatcher=a,this.type=\"vector\",this.minzoom=0,this.maxzoom=22,this.scheme=\"xyz\",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,t.extend(this,t.pick(n,[\"url\",\"scheme\",\"tileSize\",\"promoteId\"])),this._options=t.extend({type:\"vector\"},n),this._collectResourceTiming=n.collectResourceTiming,512!==this.tileSize)throw new Error(\"vector tile sources must have a tileSize of 512\");this.setEventedParent(i)}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.load=function(){var e=this;this._loaded=!1,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=A(this._options,this.map._requestManager,(function(r,n){e._tileJSONRequest=null,e._loaded=!0,r?e.fire(new t.ErrorEvent(r)):n&&(t.extend(e,n),n.bounds&&(e.tileBounds=new M(n.bounds,e.minzoom,e.maxzoom)),t.postTurnstileEvent(n.tiles,e.map._requestManager._customAccessToken),t.postMapLoadEvent(n.tiles,e.map._getMapId(),e.map._requestManager._skuToken,e.map._requestManager._customAccessToken),e.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),e.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.hasTile=function(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)},r.prototype.serialize=function(){return t.extend({},this._options)},r.prototype.loadTile=function(e,r){var n=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme)),a={request:this.map._requestManager.transformRequest(n,t.ResourceType.Tile),uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};function i(n,a){return delete e.request,e.aborted?r(null):n&&404!==n.status?r(n):(a&&a.resourceTiming&&(e.resourceTiming=a.resourceTiming),this.map._refreshExpiredTiles&&a&&e.setExpiryData(a),e.loadVectorData(a,this.map.painter),t.cacheEntryPossiblyAdded(this.dispatcher),r(null),void(e.reloadCallback&&(this.loadTile(e,e.reloadCallback),e.reloadCallback=null)))}a.request.collectResourceTiming=this._collectResourceTiming,e.actor&&\"expired\"!==e.state?\"loading\"===e.state?e.reloadCallback=r:e.request=e.actor.send(\"reloadTile\",a,i.bind(this)):(e.actor=this.dispatcher.getActor(),e.request=e.actor.send(\"loadTile\",a,i.bind(this)))},r.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.actor&&t.actor.send(\"abortTile\",{uid:t.uid,type:this.type,source:this.id},void 0)},r.prototype.unloadTile=function(t){t.unloadVectorData(),t.actor&&t.actor.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id},void 0)},r.prototype.hasTransition=function(){return!1},r}(t.Evented),E=function(e){function r(r,n,a,i){e.call(this),this.id=r,this.dispatcher=a,this.setEventedParent(i),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=t.extend({type:\"raster\"},n),t.extend(this,t.pick(n,[\"url\",\"scheme\",\"tileSize\"]))}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.load=function(){var e=this;this._loaded=!1,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=A(this._options,this.map._requestManager,(function(r,n){e._tileJSONRequest=null,e._loaded=!0,r?e.fire(new t.ErrorEvent(r)):n&&(t.extend(e,n),n.bounds&&(e.tileBounds=new M(n.bounds,e.minzoom,e.maxzoom)),t.postTurnstileEvent(n.tiles),t.postMapLoadEvent(n.tiles,e.map._getMapId(),e.map._requestManager._skuToken),e.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),e.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)},r.prototype.serialize=function(){return t.extend({},this._options)},r.prototype.hasTile=function(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)},r.prototype.loadTile=function(e,r){var n=this,a=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme),this.tileSize);e.request=t.getImage(this.map._requestManager.transformRequest(a,t.ResourceType.Tile),(function(a,i){if(delete e.request,e.aborted)e.state=\"unloaded\",r(null);else if(a)e.state=\"errored\",r(a);else if(i){n.map._refreshExpiredTiles&&e.setExpiryData(i),delete i.cacheControl,delete i.expires;var o=n.map.painter.context,s=o.gl;e.texture=n.map.painter.getTileTexture(i.width),e.texture?e.texture.update(i,{useMipmap:!0}):(e.texture=new t.Texture(o,i,s.RGBA,{useMipmap:!0}),e.texture.bind(s.LINEAR,s.CLAMP_TO_EDGE,s.LINEAR_MIPMAP_NEAREST),o.extTextureFilterAnisotropic&&s.texParameterf(s.TEXTURE_2D,o.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,o.extTextureFilterAnisotropicMax)),e.state=\"loaded\",t.cacheEntryPossiblyAdded(n.dispatcher),r(null)}}))},r.prototype.abortTile=function(t,e){t.request&&(t.request.cancel(),delete t.request),e()},r.prototype.unloadTile=function(t,e){t.texture&&this.map.painter.saveTileTexture(t.texture),e()},r.prototype.hasTransition=function(){return!1},r}(t.Evented),C=function(e){function r(r,n,a,i){e.call(this,r,n,a,i),this.type=\"raster-dem\",this.maxzoom=22,this._options=t.extend({type:\"raster-dem\"},n),this.encoding=n.encoding||\"mapbox\"}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.serialize=function(){return{type:\"raster-dem\",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds,encoding:this.encoding}},r.prototype.loadTile=function(e,r){var n=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme),this.tileSize);function a(t,n){t&&(e.state=\"errored\",r(t)),n&&(e.dem=n,e.needsHillshadePrepare=!0,e.state=\"loaded\",r(null))}e.request=t.getImage(this.map._requestManager.transformRequest(n,t.ResourceType.Tile),function(n,i){if(delete e.request,e.aborted)e.state=\"unloaded\",r(null);else if(n)e.state=\"errored\",r(n);else if(i){this.map._refreshExpiredTiles&&e.setExpiryData(i),delete i.cacheControl,delete i.expires;var o=t.window.ImageBitmap&&i instanceof t.window.ImageBitmap&&t.offscreenCanvasSupported()?i:t.browser.getImageData(i,1),s={uid:e.uid,coord:e.tileID,source:this.id,rawImageData:o,encoding:this.encoding};e.actor&&\"expired\"!==e.state||(e.actor=this.dispatcher.getActor(),e.actor.send(\"loadDEMTile\",s,a.bind(this)))}}.bind(this)),e.neighboringTiles=this._getNeighboringTiles(e.tileID)},r.prototype._getNeighboringTiles=function(e){var r=e.canonical,n=Math.pow(2,r.z),a=(r.x-1+n)%n,i=0===r.x?e.wrap-1:e.wrap,o=(r.x+1+n)%n,s=r.x+1===n?e.wrap+1:e.wrap,l={};return l[new t.OverscaledTileID(e.overscaledZ,i,r.z,a,r.y).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y).key]={backfilled:!1},r.y>0&&(l[new t.OverscaledTileID(e.overscaledZ,i,r.z,a,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+1<n&&(l[new t.OverscaledTileID(e.overscaledZ,i,r.z,a,r.y+1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y+1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y+1).key]={backfilled:!1}),l},r.prototype.unloadTile=function(t){t.demTexture&&this.map.painter.saveTileTexture(t.demTexture),t.fbo&&(t.fbo.destroy(),delete t.fbo),t.dem&&delete t.dem,delete t.neighboringTiles,t.state=\"unloaded\",t.actor&&t.actor.send(\"removeDEMTile\",{uid:t.uid,source:this.id})},r}(E),L=function(e){function r(r,n,a,i){e.call(this),this.id=r,this.type=\"geojson\",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._loaded=!1,this.actor=a.getActor(),this.setEventedParent(i),this._data=n.data,this._options=t.extend({},n),this._collectResourceTiming=n.collectResourceTiming,this._resourceTiming=[],void 0!==n.maxzoom&&(this.maxzoom=n.maxzoom),n.type&&(this.type=n.type),n.attribution&&(this.attribution=n.attribution),this.promoteId=n.promoteId;var o=t.EXTENT/this.tileSize;this.workerOptions=t.extend({source:this.id,cluster:n.cluster||!1,geojsonVtOptions:{buffer:(void 0!==n.buffer?n.buffer:128)*o,tolerance:(void 0!==n.tolerance?n.tolerance:.375)*o,extent:t.EXTENT,maxZoom:this.maxzoom,lineMetrics:n.lineMetrics||!1,generateId:n.generateId||!1},superclusterOptions:{maxZoom:void 0!==n.clusterMaxZoom?Math.min(n.clusterMaxZoom,this.maxzoom-1):this.maxzoom-1,extent:t.EXTENT,radius:(n.clusterRadius||50)*o,log:!1,generateId:n.generateId||!1},clusterProperties:n.clusterProperties},n.workerOptions)}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.load=function(){var e=this;this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this._updateWorkerData((function(r){if(r)e.fire(new t.ErrorEvent(r));else{var n={dataType:\"source\",sourceDataType:\"metadata\"};e._collectResourceTiming&&e._resourceTiming&&e._resourceTiming.length>0&&(n.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(new t.Event(\"data\",n))}}))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setData=function(e){var r=this;return this._data=e,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this._updateWorkerData((function(e){if(e)r.fire(new t.ErrorEvent(e));else{var n={dataType:\"source\",sourceDataType:\"content\"};r._collectResourceTiming&&r._resourceTiming&&r._resourceTiming.length>0&&(n.resourceTiming=r._resourceTiming,r._resourceTiming=[]),r.fire(new t.Event(\"data\",n))}})),this},r.prototype.getClusterExpansionZoom=function(t,e){return this.actor.send(\"geojson.getClusterExpansionZoom\",{clusterId:t,source:this.id},e),this},r.prototype.getClusterChildren=function(t,e){return this.actor.send(\"geojson.getClusterChildren\",{clusterId:t,source:this.id},e),this},r.prototype.getClusterLeaves=function(t,e,r,n){return this.actor.send(\"geojson.getClusterLeaves\",{source:this.id,clusterId:t,limit:e,offset:r},n),this},r.prototype._updateWorkerData=function(e){var r=this;this._loaded=!1;var n=t.extend({},this.workerOptions),a=this._data;\"string\"==typeof a?(n.request=this.map._requestManager.transformRequest(t.browser.resolveURL(a),t.ResourceType.Source),n.request.collectResourceTiming=this._collectResourceTiming):n.data=JSON.stringify(a),this.actor.send(this.type+\".loadData\",n,(function(t,a){r._removed||a&&a.abandoned||(r._loaded=!0,a&&a.resourceTiming&&a.resourceTiming[r.id]&&(r._resourceTiming=a.resourceTiming[r.id].slice(0)),r.actor.send(r.type+\".coalesce\",{source:n.source},null),e(t))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.loadTile=function(e,r){var n=this,a=e.actor?\"reloadTile\":\"loadTile\";e.actor=this.actor,e.request=this.actor.send(a,{type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId},(function(t,i){return delete e.request,e.unloadVectorData(),e.aborted?r(null):t?r(t):(e.loadVectorData(i,n.map.painter,\"reloadTile\"===a),r(null))}))},r.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0},r.prototype.unloadTile=function(t){t.unloadVectorData(),this.actor.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id})},r.prototype.onRemove=function(){this._removed=!0,this.actor.send(\"removeSource\",{type:this.type,source:this.id})},r.prototype.serialize=function(){return t.extend({},this._options,{type:this.type,data:this._data})},r.prototype.hasTransition=function(){return!1},r}(t.Evented),P=t.createLayout([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]),I=function(e){function r(t,r,n,a){e.call(this),this.id=t,this.dispatcher=n,this.coordinates=r.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(a),this.options=r}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.load=function(e,r){var n=this;this._loaded=!1,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,t.getImage(this.map._requestManager.transformRequest(this.url,t.ResourceType.Image),(function(a,i){n._loaded=!0,a?n.fire(new t.ErrorEvent(a)):i&&(n.image=i,e&&(n.coordinates=e),r&&r(),n._finishLoading())}))},r.prototype.loaded=function(){return this._loaded},r.prototype.updateImage=function(t){var e=this;return this.image&&t.url?(this.options.url=t.url,this.load(t.coordinates,(function(){e.texture=null})),this):this},r.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setCoordinates=function(e){var r=this;this.coordinates=e;var n=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){for(var r=1/0,n=1/0,a=-1/0,i=-1/0,o=0,s=e;o<s.length;o+=1){var l=s[o];r=Math.min(r,l.x),n=Math.min(n,l.y),a=Math.max(a,l.x),i=Math.max(i,l.y)}var c=Math.max(a-r,i-n),u=Math.max(0,Math.floor(-Math.log(c)/Math.LN2)),h=Math.pow(2,u);return new t.CanonicalTileID(u,Math.floor((r+a)/2*h),Math.floor((n+i)/2*h))}(n),this.minzoom=this.maxzoom=this.tileID.z;var a=n.map((function(t){return r.tileID.getTilePoint(t)._round()}));return this._boundsArray=new t.StructArrayLayout4i8,this._boundsArray.emplaceBack(a[0].x,a[0].y,0,0),this._boundsArray.emplaceBack(a[1].x,a[1].y,t.EXTENT,0),this._boundsArray.emplaceBack(a[3].x,a[3].y,0,t.EXTENT),this._boundsArray.emplaceBack(a[2].x,a[2].y,t.EXTENT,t.EXTENT),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this},r.prototype.prepare=function(){if(0!==Object.keys(this.tiles).length&&this.image){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,P.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture||(this.texture=new t.Texture(e,this.image,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var a=this.tiles[n];\"loaded\"!==a.state&&(a.state=\"loaded\",a.texture=this.texture)}}},r.prototype.loadTile=function(t,e){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={},e(null)):(t.state=\"errored\",e(null))},r.prototype.serialize=function(){return{type:\"image\",url:this.options.url,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return!1},r}(t.Evented),z=function(e){function r(t,r,n,a){e.call(this,t,r,n,a),this.roundZoom=!0,this.type=\"video\",this.options=r}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.load=function(){var e=this;this._loaded=!1;var r=this.options;this.urls=[];for(var n=0,a=r.urls;n<a.length;n+=1)this.urls.push(this.map._requestManager.transformRequest(a[n],t.ResourceType.Source).url);t.getVideo(this.urls,(function(r,n){e._loaded=!0,r?e.fire(new t.ErrorEvent(r)):n&&(e.video=n,e.video.loop=!0,e.video.addEventListener(\"playing\",(function(){e.map.triggerRepaint()})),e.map&&e.video.play(),e._finishLoading())}))},r.prototype.pause=function(){this.video&&this.video.pause()},r.prototype.play=function(){this.video&&this.video.play()},r.prototype.seek=function(e){if(this.video){var r=this.video.seekable;e<r.start(0)||e>r.end(0)?this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+this.id,null,\"Playback for this video can be set only between the \"+r.start(0)+\" and \"+r.end(0)+\"-second mark.\"))):this.video.currentTime=e}},r.prototype.getVideo=function(){return this.video},r.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},r.prototype.prepare=function(){if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,P.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.video)):(this.texture=new t.Texture(e,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var a=this.tiles[n];\"loaded\"!==a.state&&(a.state=\"loaded\",a.texture=this.texture)}}},r.prototype.serialize=function(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this.video&&!this.video.paused},r}(I),O=function(e){function r(r,n,a,i){e.call(this,r,n,a,i),n.coordinates?Array.isArray(n.coordinates)&&4===n.coordinates.length&&!n.coordinates.some((function(t){return!Array.isArray(t)||2!==t.length||t.some((function(t){return\"number\"!=typeof t}))}))||this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+r,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+r,null,'missing required property \"coordinates\"'))),n.animate&&\"boolean\"!=typeof n.animate&&this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+r,null,'optional \"animate\" property must be a boolean value'))),n.canvas?\"string\"==typeof n.canvas||n.canvas instanceof t.window.HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+r,null,'\"canvas\" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+r,null,'missing required property \"canvas\"'))),this.options=n,this.animate=void 0===n.animate||n.animate}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.load=function(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof t.window.HTMLCanvasElement?this.options.canvas:t.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(new Error(\"Canvas dimensions cannot be less than or equal to zero.\"))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())},r.prototype.getCanvas=function(){return this.canvas},r.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},r.prototype.onRemove=function(){this.pause()},r.prototype.prepare=function(){var e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var r=this.map.painter.context,n=r.gl;for(var a in this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,P.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new t.Texture(r,this.canvas,n.RGBA,{premultiply:!0}),this.tiles){var i=this.tiles[a];\"loaded\"!==i.state&&(i.state=\"loaded\",i.texture=this.texture)}}},r.prototype.serialize=function(){return{type:\"canvas\",coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this._playing},r.prototype._hasInvalidDimensions=function(){for(var t=0,e=[this.canvas.width,this.canvas.height];t<e.length;t+=1){var r=e[t];if(isNaN(r)||r<=0)return!0}return!1},r}(I),D={vector:S,raster:E,\"raster-dem\":C,geojson:L,video:z,image:I,canvas:O};function R(e,r){var n=t.identity([]);return t.translate(n,n,[1,1,0]),t.scale(n,n,[.5*e.width,.5*e.height,1]),t.multiply(n,n,e.calculatePosMatrix(r.toUnwrapped()))}function F(t,e,r,n,a,i){var o=function(t,e,r){if(t)for(var n=0,a=t;n<a.length;n+=1){var i=e[a[n]];if(i&&i.source===r&&\"fill-extrusion\"===i.type)return!0}else for(var o in e){var s=e[o];if(s.source===r&&\"fill-extrusion\"===s.type)return!0}return!1}(a&&a.layers,e,t.id),s=i.maxPitchScaleFactor(),l=t.tilesIn(n,s,o);l.sort(B);for(var c=[],u=0,h=l;u<h.length;u+=1){var f=h[u];c.push({wrappedTileID:f.tileID.wrapped().key,queryResults:f.tile.queryRenderedFeatures(e,r,t._state,f.queryGeometry,f.cameraQueryGeometry,f.scale,a,i,s,R(t.transform,f.tileID))})}var p=function(t){for(var e={},r={},n=0,a=t;n<a.length;n+=1){var i=a[n],o=i.queryResults,s=i.wrappedTileID,l=r[s]=r[s]||{};for(var c in o)for(var u=o[c],h=l[c]=l[c]||{},f=e[c]=e[c]||[],p=0,d=u;p<d.length;p+=1){var g=d[p];h[g.featureIndex]||(h[g.featureIndex]=!0,f.push(g))}}return e}(c);for(var d in p)p[d].forEach((function(e){var r=e.feature,n=t.getFeatureState(r.layer[\"source-layer\"],r.id);r.source=r.layer.source,r.layer[\"source-layer\"]&&(r.sourceLayer=r.layer[\"source-layer\"]),r.state=n}));return p}function B(t,e){var r=t.tileID,n=e.tileID;return r.overscaledZ-n.overscaledZ||r.canonical.y-n.canonical.y||r.wrap-n.wrap||r.canonical.x-n.canonical.x}var N=function(t,e){this.max=t,this.onRemove=e,this.reset()};N.prototype.reset=function(){for(var t in this.data)for(var e=0,r=this.data[t];e<r.length;e+=1){var n=r[e];n.timeout&&clearTimeout(n.timeout),this.onRemove(n.value)}return this.data={},this.order=[],this},N.prototype.add=function(t,e,r){var n=this,a=t.wrapped().key;void 0===this.data[a]&&(this.data[a]=[]);var i={value:e,timeout:void 0};if(void 0!==r&&(i.timeout=setTimeout((function(){n.remove(t,i)}),r)),this.data[a].push(i),this.order.push(a),this.order.length>this.max){var o=this._getAndRemoveByKey(this.order[0]);o&&this.onRemove(o)}return this},N.prototype.has=function(t){return t.wrapped().key in this.data},N.prototype.getAndRemove=function(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null},N.prototype._getAndRemoveByKey=function(t){var e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value},N.prototype.getByKey=function(t){var e=this.data[t];return e?e[0].value:null},N.prototype.get=function(t){return this.has(t)?this.data[t.wrapped().key][0].value:null},N.prototype.remove=function(t,e){if(!this.has(t))return this;var r=t.wrapped().key,n=void 0===e?0:this.data[r].indexOf(e),a=this.data[r][n];return this.data[r].splice(n,1),a.timeout&&clearTimeout(a.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(a.value),this.order.splice(this.order.indexOf(r),1),this},N.prototype.setMaxSize=function(t){for(this.max=t;this.order.length>this.max;){var e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this},N.prototype.filter=function(t){var e=[];for(var r in this.data)for(var n=0,a=this.data[r];n<a.length;n+=1){var i=a[n];t(i.value)||e.push(i)}for(var o=0,s=e;o<s.length;o+=1){var l=s[o];this.remove(l.value.tileID,l)}};var j=function(t,e,r){this.context=t;var n=t.gl;this.buffer=n.createBuffer(),this.dynamicDraw=Boolean(r),this.context.unbindVAO(),t.bindElementBuffer.set(this.buffer),n.bufferData(n.ELEMENT_ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?n.DYNAMIC_DRAW:n.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};j.prototype.bind=function(){this.context.bindElementBuffer.set(this.buffer)},j.prototype.updateData=function(t){var e=this.context.gl;this.context.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer)},j.prototype.destroy=function(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)};var V={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"},U=function(t,e,r,n){this.length=e.length,this.attributes=r,this.itemSize=e.bytesPerElement,this.dynamicDraw=n,this.context=t;var a=t.gl;this.buffer=a.createBuffer(),t.bindVertexBuffer.set(this.buffer),a.bufferData(a.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?a.DYNAMIC_DRAW:a.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};U.prototype.bind=function(){this.context.bindVertexBuffer.set(this.buffer)},U.prototype.updateData=function(t){var e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer)},U.prototype.enableAttributes=function(t,e){for(var r=0;r<this.attributes.length;r++){var n=e.attributes[this.attributes[r].name];void 0!==n&&t.enableVertexAttribArray(n)}},U.prototype.setVertexAttribPointers=function(t,e,r){for(var n=0;n<this.attributes.length;n++){var a=this.attributes[n],i=e.attributes[a.name];void 0!==i&&t.vertexAttribPointer(i,a.components,t[V[a.type]],!1,this.itemSize,a.offset+this.itemSize*(r||0))}},U.prototype.destroy=function(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)};var q=function(t){this.gl=t.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1};q.prototype.get=function(){return this.current},q.prototype.set=function(t){},q.prototype.getDefault=function(){return this.default},q.prototype.setDefault=function(){this.set(this.default)};var H=function(e){function r(){e.apply(this,arguments)}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.getDefault=function(){return t.Color.transparent},r.prototype.set=function(t){var e=this.current;(t.r!==e.r||t.g!==e.g||t.b!==e.b||t.a!==e.a||this.dirty)&&(this.gl.clearColor(t.r,t.g,t.b,t.a),this.current=t,this.dirty=!1)},r}(q),G=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return 1},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.clearDepth(t),this.current=t,this.dirty=!1)},e}(q),Y=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return 0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.clearStencil(t),this.current=t,this.dirty=!1)},e}(q),W=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return[!0,!0,!0,!0]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||t[3]!==e[3]||this.dirty)&&(this.gl.colorMask(t[0],t[1],t[2],t[3]),this.current=t,this.dirty=!1)},e}(q),Z=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return!0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.depthMask(t),this.current=t,this.dirty=!1)},e}(q),X=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return 255},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.stencilMask(t),this.current=t,this.dirty=!1)},e}(q),J=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return{func:this.gl.ALWAYS,ref:0,mask:255}},e.prototype.set=function(t){var e=this.current;(t.func!==e.func||t.ref!==e.ref||t.mask!==e.mask||this.dirty)&&(this.gl.stencilFunc(t.func,t.ref,t.mask),this.current=t,this.dirty=!1)},e}(q),K=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){var t=this.gl;return[t.KEEP,t.KEEP,t.KEEP]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||this.dirty)&&(this.gl.stencilOp(t[0],t[1],t[2]),this.current=t,this.dirty=!1)},e}(q),Q=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.current=t,this.dirty=!1}},e}(q),$=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return[0,1]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||this.dirty)&&(this.gl.depthRange(t[0],t[1]),this.current=t,this.dirty=!1)},e}(q),tt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),this.current=t,this.dirty=!1}},e}(q),et=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.LESS},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.depthFunc(t),this.current=t,this.dirty=!1)},e}(q),rt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.BLEND):e.disable(e.BLEND),this.current=t,this.dirty=!1}},e}(q),nt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){var t=this.gl;return[t.ONE,t.ZERO]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||this.dirty)&&(this.gl.blendFunc(t[0],t[1]),this.current=t,this.dirty=!1)},e}(q),at=function(e){function r(){e.apply(this,arguments)}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.getDefault=function(){return t.Color.transparent},r.prototype.set=function(t){var e=this.current;(t.r!==e.r||t.g!==e.g||t.b!==e.b||t.a!==e.a||this.dirty)&&(this.gl.blendColor(t.r,t.g,t.b,t.a),this.current=t,this.dirty=!1)},r}(q),it=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.FUNC_ADD},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.blendEquation(t),this.current=t,this.dirty=!1)},e}(q),ot=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.CULL_FACE):e.disable(e.CULL_FACE),this.current=t,this.dirty=!1}},e}(q),st=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.BACK},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.cullFace(t),this.current=t,this.dirty=!1)},e}(q),lt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.CCW},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.frontFace(t),this.current=t,this.dirty=!1)},e}(q),ct=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.useProgram(t),this.current=t,this.dirty=!1)},e}(q),ut=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.TEXTURE0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.activeTexture(t),this.current=t,this.dirty=!1)},e}(q),ht=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){var t=this.gl;return[0,0,t.drawingBufferWidth,t.drawingBufferHeight]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||t[3]!==e[3]||this.dirty)&&(this.gl.viewport(t[0],t[1],t[2],t[3]),this.current=t,this.dirty=!1)},e}(q),ft=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindFramebuffer(e.FRAMEBUFFER,t),this.current=t,this.dirty=!1}},e}(q),pt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindRenderbuffer(e.RENDERBUFFER,t),this.current=t,this.dirty=!1}},e}(q),dt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindTexture(e.TEXTURE_2D,t),this.current=t,this.dirty=!1}},e}(q),gt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindBuffer(e.ARRAY_BUFFER,t),this.current=t,this.dirty=!1}},e}(q),mt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){var e=this.gl;e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t),this.current=t,this.dirty=!1},e}(q),vt=function(t){function e(e){t.call(this,e),this.vao=e.extVertexArrayObject}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){this.vao&&(t!==this.current||this.dirty)&&(this.vao.bindVertexArrayOES(t),this.current=t,this.dirty=!1)},e}(q),yt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return 4},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_ALIGNMENT,t),this.current=t,this.dirty=!1}},e}(q),xt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t),this.current=t,this.dirty=!1}},e}(q),bt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,t),this.current=t,this.dirty=!1}},e}(q),_t=function(t){function e(e,r){t.call(this,e),this.context=e,this.parent=r}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e}(q),wt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.setDirty=function(){this.dirty=!0},e.prototype.set=function(t){if(t!==this.current||this.dirty){this.context.bindFramebuffer.set(this.parent);var e=this.gl;e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0),this.current=t,this.dirty=!1}},e}(_t),Tt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){if(t!==this.current||this.dirty){this.context.bindFramebuffer.set(this.parent);var e=this.gl;e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,t),this.current=t,this.dirty=!1}},e}(_t),kt=function(t,e,r,n){this.context=t,this.width=e,this.height=r;var a=this.framebuffer=t.gl.createFramebuffer();this.colorAttachment=new wt(t,a),n&&(this.depthAttachment=new Tt(t,a))};kt.prototype.destroy=function(){var t=this.context.gl,e=this.colorAttachment.get();if(e&&t.deleteTexture(e),this.depthAttachment){var r=this.depthAttachment.get();r&&t.deleteRenderbuffer(r)}t.deleteFramebuffer(this.framebuffer)};var At=function(t,e,r){this.func=t,this.mask=e,this.range=r};At.ReadOnly=!1,At.ReadWrite=!0,At.disabled=new At(519,At.ReadOnly,[0,1]);var Mt=function(t,e,r,n,a,i){this.test=t,this.ref=e,this.mask=r,this.fail=n,this.depthFail=a,this.pass=i};Mt.disabled=new Mt({func:519,mask:0},0,0,7680,7680,7680);var St=function(t,e,r){this.blendFunction=t,this.blendColor=e,this.mask=r};St.disabled=new St(St.Replace=[1,0],t.Color.transparent,[!1,!1,!1,!1]),St.unblended=new St(St.Replace,t.Color.transparent,[!0,!0,!0,!0]),St.alphaBlended=new St([1,771],t.Color.transparent,[!0,!0,!0,!0]);var Et=function(t,e,r){this.enable=t,this.mode=e,this.frontFace=r};Et.disabled=new Et(!1,1029,2305),Et.backCCW=new Et(!0,1029,2305);var Ct=function(t){this.gl=t,this.extVertexArrayObject=this.gl.getExtension(\"OES_vertex_array_object\"),this.clearColor=new H(this),this.clearDepth=new G(this),this.clearStencil=new Y(this),this.colorMask=new W(this),this.depthMask=new Z(this),this.stencilMask=new X(this),this.stencilFunc=new J(this),this.stencilOp=new K(this),this.stencilTest=new Q(this),this.depthRange=new $(this),this.depthTest=new tt(this),this.depthFunc=new et(this),this.blend=new rt(this),this.blendFunc=new nt(this),this.blendColor=new at(this),this.blendEquation=new it(this),this.cullFace=new ot(this),this.cullFaceSide=new st(this),this.frontFace=new lt(this),this.program=new ct(this),this.activeTexture=new ut(this),this.viewport=new ht(this),this.bindFramebuffer=new ft(this),this.bindRenderbuffer=new pt(this),this.bindTexture=new dt(this),this.bindVertexBuffer=new gt(this),this.bindElementBuffer=new mt(this),this.bindVertexArrayOES=this.extVertexArrayObject&&new vt(this),this.pixelStoreUnpack=new yt(this),this.pixelStoreUnpackPremultiplyAlpha=new xt(this),this.pixelStoreUnpackFlipY=new bt(this),this.extTextureFilterAnisotropic=t.getExtension(\"EXT_texture_filter_anisotropic\")||t.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||t.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=t.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.extTextureHalfFloat=t.getExtension(\"OES_texture_half_float\"),this.extTextureHalfFloat&&(t.getExtension(\"OES_texture_half_float_linear\"),this.extRenderToTextureHalfFloat=t.getExtension(\"EXT_color_buffer_half_float\")),this.extTimerQuery=t.getExtension(\"EXT_disjoint_timer_query\")};Ct.prototype.setDefault=function(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault()},Ct.prototype.setDirty=function(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.extVertexArrayObject&&(this.bindVertexArrayOES.dirty=!0),this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0},Ct.prototype.createIndexBuffer=function(t,e){return new j(this,t,e)},Ct.prototype.createVertexBuffer=function(t,e,r){return new U(this,t,e,r)},Ct.prototype.createRenderbuffer=function(t,e,r){var n=this.gl,a=n.createRenderbuffer();return this.bindRenderbuffer.set(a),n.renderbufferStorage(n.RENDERBUFFER,t,e,r),this.bindRenderbuffer.set(null),a},Ct.prototype.createFramebuffer=function(t,e,r){return new kt(this,t,e,r)},Ct.prototype.clear=function(t){var e=t.color,r=t.depth,n=this.gl,a=0;e&&(a|=n.COLOR_BUFFER_BIT,this.clearColor.set(e),this.colorMask.set([!0,!0,!0,!0])),void 0!==r&&(a|=n.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(r),this.depthMask.set(!0)),n.clear(a)},Ct.prototype.setCullFace=function(t){!1===t.enable?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(t.mode),this.frontFace.set(t.frontFace))},Ct.prototype.setDepthMode=function(t){t.func!==this.gl.ALWAYS||t.mask?(this.depthTest.set(!0),this.depthFunc.set(t.func),this.depthMask.set(t.mask),this.depthRange.set(t.range)):this.depthTest.set(!1)},Ct.prototype.setStencilMode=function(t){t.test.func!==this.gl.ALWAYS||t.mask?(this.stencilTest.set(!0),this.stencilMask.set(t.mask),this.stencilOp.set([t.fail,t.depthFail,t.pass]),this.stencilFunc.set({func:t.test.func,ref:t.ref,mask:t.test.mask})):this.stencilTest.set(!1)},Ct.prototype.setColorMode=function(e){t.deepEqual(e.blendFunction,St.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(e.blendFunction),this.blendColor.set(e.blendColor)),this.colorMask.set(e.mask)},Ct.prototype.unbindVAO=function(){this.extVertexArrayObject&&this.bindVertexArrayOES.set(null)};var Lt=function(e){function r(r,n,a){var i=this;e.call(this),this.id=r,this.dispatcher=a,this.on(\"data\",(function(t){\"source\"===t.dataType&&\"metadata\"===t.sourceDataType&&(i._sourceLoaded=!0),i._sourceLoaded&&!i._paused&&\"source\"===t.dataType&&\"content\"===t.sourceDataType&&(i.reload(),i.transform&&i.update(i.transform))})),this.on(\"error\",(function(){i._sourceErrored=!0})),this._source=function(e,r,n,a){var i=new D[r.type](e,r,n,a);if(i.id!==e)throw new Error(\"Expected Source id to be \"+e+\" instead of \"+i.id);return t.bindAll([\"load\",\"abort\",\"unload\",\"serialize\",\"prepare\"],i),i}(r,n,a,this),this._tiles={},this._cache=new N(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new t.SourceFeatureState}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.onAdd=function(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._source&&this._source.onAdd&&this._source.onAdd(t)},r.prototype.onRemove=function(t){this._source&&this._source.onRemove&&this._source.onRemove(t)},r.prototype.loaded=function(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;if(!this._source.loaded())return!1;for(var t in this._tiles){var e=this._tiles[t];if(\"loaded\"!==e.state&&\"errored\"!==e.state)return!1}return!0},r.prototype.getSource=function(){return this._source},r.prototype.pause=function(){this._paused=!0},r.prototype.resume=function(){if(this._paused){var t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform)}},r.prototype._loadTile=function(t,e){return this._source.loadTile(t,e)},r.prototype._unloadTile=function(t){if(this._source.unloadTile)return this._source.unloadTile(t,(function(){}))},r.prototype._abortTile=function(t){if(this._source.abortTile)return this._source.abortTile(t,(function(){}))},r.prototype.serialize=function(){return this._source.serialize()},r.prototype.prepare=function(t){for(var e in this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null),this._tiles){var r=this._tiles[e];r.upload(t),r.prepare(this.map.style.imageManager)}},r.prototype.getIds=function(){return t.values(this._tiles).map((function(t){return t.tileID})).sort(Pt).map((function(t){return t.key}))},r.prototype.getRenderableIds=function(e){var r=this,n=[];for(var a in this._tiles)this._isIdRenderable(a,e)&&n.push(this._tiles[a]);return e?n.sort((function(e,n){var a=e.tileID,i=n.tileID,o=new t.Point(a.canonical.x,a.canonical.y)._rotate(r.transform.angle),s=new t.Point(i.canonical.x,i.canonical.y)._rotate(r.transform.angle);return a.overscaledZ-i.overscaledZ||s.y-o.y||s.x-o.x})).map((function(t){return t.tileID.key})):n.map((function(t){return t.tileID})).sort(Pt).map((function(t){return t.key}))},r.prototype.hasRenderableParent=function(t){var e=this.findLoadedParent(t,0);return!!e&&this._isIdRenderable(e.tileID.key)},r.prototype._isIdRenderable=function(t,e){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]&&(e||!this._tiles[t].holdingForFade())},r.prototype.reload=function(){if(this._paused)this._shouldReloadOnResume=!0;else for(var t in this._cache.reset(),this._tiles)\"errored\"!==this._tiles[t].state&&this._reloadTile(t,\"reloading\")},r.prototype._reloadTile=function(t,e){var r=this._tiles[t];r&&(\"loading\"!==r.state&&(r.state=e),this._loadTile(r,this._tileLoaded.bind(this,r,t,e)))},r.prototype._tileLoaded=function(e,r,n,a){if(a)return e.state=\"errored\",void(404!==a.status?this._source.fire(new t.ErrorEvent(a,{tile:e})):this.update(this.transform));e.timeAdded=t.browser.now(),\"expired\"===n&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(r,e),\"raster-dem\"===this.getSource().type&&e.dem&&this._backfillDEM(e),this._state.initializeTileState(e,this.map?this.map.painter:null),this._source.fire(new t.Event(\"data\",{dataType:\"source\",tile:e,coord:e.tileID}))},r.prototype._backfillDEM=function(t){for(var e=this.getRenderableIds(),r=0;r<e.length;r++){var n=e[r];if(t.neighboringTiles&&t.neighboringTiles[n]){var a=this.getTileByID(n);i(t,a),i(a,t)}}function i(t,e){t.needsHillshadePrepare=!0;var r=e.tileID.canonical.x-t.tileID.canonical.x,n=e.tileID.canonical.y-t.tileID.canonical.y,a=Math.pow(2,t.tileID.canonical.z),i=e.tileID.key;0===r&&0===n||Math.abs(n)>1||(Math.abs(r)>1&&(1===Math.abs(r+a)?r+=a:1===Math.abs(r-a)&&(r-=a)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[i]&&(t.neighboringTiles[i].backfilled=!0)))}},r.prototype.getTile=function(t){return this.getTileByID(t.key)},r.prototype.getTileByID=function(t){return this._tiles[t]},r.prototype._retainLoadedChildren=function(t,e,r,n){for(var a in this._tiles){var i=this._tiles[a];if(!(n[a]||!i.hasData()||i.tileID.overscaledZ<=e||i.tileID.overscaledZ>r)){for(var o=i.tileID;i&&i.tileID.overscaledZ>e+1;){var s=i.tileID.scaledTo(i.tileID.overscaledZ-1);(i=this._tiles[s.key])&&i.hasData()&&(o=s)}for(var l=o;l.overscaledZ>e;)if(t[(l=l.scaledTo(l.overscaledZ-1)).key]){n[o.key]=o;break}}}},r.prototype.findLoadedParent=function(t,e){if(t.key in this._loadedParentTiles){var r=this._loadedParentTiles[t.key];return r&&r.tileID.overscaledZ>=e?r:null}for(var n=t.overscaledZ-1;n>=e;n--){var a=t.scaledTo(n),i=this._getLoadedTile(a);if(i)return i}},r.prototype._getLoadedTile=function(t){var e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)},r.prototype.updateCacheSize=function(t){var e=Math.ceil(t.width/this._source.tileSize)+1,r=Math.ceil(t.height/this._source.tileSize)+1,n=Math.floor(e*r*5),a=\"number\"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,n):n;this._cache.setMaxSize(a)},r.prototype.handleWrapJump=function(t){var e=Math.round((t-(void 0===this._prevLng?t:this._prevLng))/360);if(this._prevLng=t,e){var r={};for(var n in this._tiles){var a=this._tiles[n];a.tileID=a.tileID.unwrapTo(a.tileID.wrap+e),r[a.tileID.key]=a}for(var i in this._tiles=r,this._timers)clearTimeout(this._timers[i]),delete this._timers[i];for(var o in this._tiles)this._setTileReloadTimer(o,this._tiles[o])}},r.prototype.update=function(e){var n=this;if(this.transform=e,this._sourceLoaded&&!this._paused){var a;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?a=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((function(e){return new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y)})):(a=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(a=a.filter((function(t){return n._source.hasTile(t)})))):a=[];var i=e.coveringZoomLevel(this._source),o=Math.max(i-r.maxOverzooming,this._source.minzoom),s=Math.max(i+r.maxUnderzooming,this._source.minzoom),l=this._updateRetainedTiles(a,i);if(It(this._source.type)){for(var c={},u={},h=0,f=Object.keys(l);h<f.length;h+=1){var p=f[h],d=l[p],g=this._tiles[p];if(g&&!(g.fadeEndTime&&g.fadeEndTime<=t.browser.now())){var m=this.findLoadedParent(d,o);m&&(this._addTile(m.tileID),c[m.tileID.key]=m.tileID),u[p]=d}}for(var v in this._retainLoadedChildren(u,i,s,l),c)l[v]||(this._coveredTiles[v]=!0,l[v]=c[v])}for(var y in l)this._tiles[y].clearFadeHold();for(var x=0,b=t.keysDifference(this._tiles,l);x<b.length;x+=1){var _=b[x],w=this._tiles[_];w.hasSymbolBuckets&&!w.holdingForFade()?w.setHoldDuration(this.map._fadeDuration):w.hasSymbolBuckets&&!w.symbolFadeFinished()||this._removeTile(_)}this._updateLoadedParentTileCache()}},r.prototype.releaseSymbolFadeTiles=function(){for(var t in this._tiles)this._tiles[t].holdingForFade()&&this._removeTile(t)},r.prototype._updateRetainedTiles=function(t,e){for(var n={},a={},i=Math.max(e-r.maxOverzooming,this._source.minzoom),o=Math.max(e+r.maxUnderzooming,this._source.minzoom),s={},l=0,c=t;l<c.length;l+=1){var u=c[l],h=this._addTile(u);n[u.key]=u,h.hasData()||e<this._source.maxzoom&&(s[u.key]=u)}this._retainLoadedChildren(s,e,o,n);for(var f=0,p=t;f<p.length;f+=1){var d=p[f],g=this._tiles[d.key];if(!g.hasData()){if(e+1>this._source.maxzoom){var m=d.children(this._source.maxzoom)[0],v=this.getTile(m);if(v&&v.hasData()){n[m.key]=m;continue}}else{var y=d.children(this._source.maxzoom);if(n[y[0].key]&&n[y[1].key]&&n[y[2].key]&&n[y[3].key])continue}for(var x=g.wasRequested(),b=d.overscaledZ-1;b>=i;--b){var _=d.scaledTo(b);if(a[_.key])break;if(a[_.key]=!0,!(g=this.getTile(_))&&x&&(g=this._addTile(_)),g&&(n[_.key]=_,x=g.wasRequested(),g.hasData()))break}}}return n},r.prototype._updateLoadedParentTileCache=function(){for(var t in this._loadedParentTiles={},this._tiles){for(var e=[],r=void 0,n=this._tiles[t].tileID;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){r=this._loadedParentTiles[n.key];break}e.push(n.key);var a=n.scaledTo(n.overscaledZ-1);if(r=this._getLoadedTile(a))break;n=a}for(var i=0,o=e;i<o.length;i+=1)this._loadedParentTiles[o[i]]=r}},r.prototype._addTile=function(e){var r=this._tiles[e.key];if(r)return r;(r=this._cache.getAndRemove(e))&&(this._setTileReloadTimer(e.key,r),r.tileID=e,this._state.initializeTileState(r,this.map?this.map.painter:null),this._cacheTimers[e.key]&&(clearTimeout(this._cacheTimers[e.key]),delete this._cacheTimers[e.key],this._setTileReloadTimer(e.key,r)));var n=Boolean(r);return n||(r=new t.Tile(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(r,this._tileLoaded.bind(this,r,e.key,r.state))),r?(r.uses++,this._tiles[e.key]=r,n||this._source.fire(new t.Event(\"dataloading\",{tile:r,coord:r.tileID,dataType:\"source\"})),r):null},r.prototype._setTileReloadTimer=function(t,e){var r=this;t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);var n=e.getExpiryTimeout();n&&(this._timers[t]=setTimeout((function(){r._reloadTile(t,\"expired\"),delete r._timers[t]}),n))},r.prototype._removeTile=function(t){var e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),e.uses>0||(e.hasData()&&\"reloading\"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))},r.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._cache.reset()},r.prototype.tilesIn=function(e,r,n){var a=this,i=[],o=this.transform;if(!o)return i;for(var s=n?o.getCameraQueryGeometry(e):e,l=e.map((function(t){return o.pointCoordinate(t)})),c=s.map((function(t){return o.pointCoordinate(t)})),u=this.getIds(),h=1/0,f=1/0,p=-1/0,d=-1/0,g=0,m=c;g<m.length;g+=1){var v=m[g];h=Math.min(h,v.x),f=Math.min(f,v.y),p=Math.max(p,v.x),d=Math.max(d,v.y)}for(var y=function(e){var n=a._tiles[u[e]];if(!n.holdingForFade()){var s=n.tileID,g=Math.pow(2,o.zoom-n.tileID.overscaledZ),m=r*n.queryPadding*t.EXTENT/n.tileSize/g,v=[s.getTilePoint(new t.MercatorCoordinate(h,f)),s.getTilePoint(new t.MercatorCoordinate(p,d))];if(v[0].x-m<t.EXTENT&&v[0].y-m<t.EXTENT&&v[1].x+m>=0&&v[1].y+m>=0){var y=l.map((function(t){return s.getTilePoint(t)})),x=c.map((function(t){return s.getTilePoint(t)}));i.push({tile:n,tileID:s,queryGeometry:y,cameraQueryGeometry:x,scale:g})}}},x=0;x<u.length;x++)y(x);return i},r.prototype.getVisibleCoordinates=function(t){for(var e=this,r=this.getRenderableIds(t).map((function(t){return e._tiles[t].tileID})),n=0,a=r;n<a.length;n+=1){var i=a[n];i.posMatrix=this.transform.calculatePosMatrix(i.toUnwrapped())}return r},r.prototype.hasTransition=function(){if(this._source.hasTransition())return!0;if(It(this._source.type))for(var e in this._tiles){var r=this._tiles[e];if(void 0!==r.fadeEndTime&&r.fadeEndTime>=t.browser.now())return!0}return!1},r.prototype.setFeatureState=function(t,e,r){this._state.updateState(t=t||\"_geojsonTileLayer\",e,r)},r.prototype.removeFeatureState=function(t,e,r){this._state.removeFeatureState(t=t||\"_geojsonTileLayer\",e,r)},r.prototype.getFeatureState=function(t,e){return this._state.getState(t=t||\"_geojsonTileLayer\",e)},r.prototype.setDependencies=function(t,e,r){var n=this._tiles[t];n&&n.setDependencies(e,r)},r.prototype.reloadTilesForDependencies=function(t,e){for(var r in this._tiles)this._tiles[r].hasDependency(t,e)&&this._reloadTile(r,\"reloading\");this._cache.filter((function(r){return!r.hasDependency(t,e)}))},r}(t.Evented);function Pt(t,e){var r=Math.abs(2*t.wrap)-+(t.wrap<0),n=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||n-r||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function It(t){return\"raster\"===t||\"image\"===t||\"video\"===t}function zt(){return new t.window.Worker(Ya.workerUrl)}Lt.maxOverzooming=10,Lt.maxUnderzooming=3;var Ot=\"mapboxgl_preloaded_worker_pool\",Dt=function(){this.active={}};Dt.prototype.acquire=function(t){if(!this.workers)for(this.workers=[];this.workers.length<Dt.workerCount;)this.workers.push(new zt);return this.active[t]=!0,this.workers.slice()},Dt.prototype.release=function(t){delete this.active[t],0===this.numActive()&&(this.workers.forEach((function(t){t.terminate()})),this.workers=null)},Dt.prototype.isPreloaded=function(){return!!this.active[Ot]},Dt.prototype.numActive=function(){return Object.keys(this.active).length};var Rt,Ft=Math.floor(t.browser.hardwareConcurrency/2);function Bt(){return Rt||(Rt=new Dt),Rt}function Nt(e,r){var n={};for(var a in e)\"ref\"!==a&&(n[a]=e[a]);return t.refProperties.forEach((function(t){t in r&&(n[t]=r[t])})),n}function jt(t){t=t.slice();for(var e=Object.create(null),r=0;r<t.length;r++)e[t[r].id]=t[r];for(var n=0;n<t.length;n++)\"ref\"in t[n]&&(t[n]=Nt(t[n],e[t[n].ref]));return t}Dt.workerCount=Math.max(Math.min(Ft,6),1);var Vt={setStyle:\"setStyle\",addLayer:\"addLayer\",removeLayer:\"removeLayer\",setPaintProperty:\"setPaintProperty\",setLayoutProperty:\"setLayoutProperty\",setFilter:\"setFilter\",addSource:\"addSource\",removeSource:\"removeSource\",setGeoJSONSourceData:\"setGeoJSONSourceData\",setLayerZoomRange:\"setLayerZoomRange\",setLayerProperty:\"setLayerProperty\",setCenter:\"setCenter\",setZoom:\"setZoom\",setBearing:\"setBearing\",setPitch:\"setPitch\",setSprite:\"setSprite\",setGlyphs:\"setGlyphs\",setTransition:\"setTransition\",setLight:\"setLight\"};function Ut(t,e,r){r.push({command:Vt.addSource,args:[t,e[t]]})}function qt(t,e,r){e.push({command:Vt.removeSource,args:[t]}),r[t]=!0}function Ht(t,e,r,n){qt(t,r,n),Ut(t,e,r)}function Gt(e,r,n){var a;for(a in e[n])if(e[n].hasOwnProperty(a)&&\"data\"!==a&&!t.deepEqual(e[n][a],r[n][a]))return!1;for(a in r[n])if(r[n].hasOwnProperty(a)&&\"data\"!==a&&!t.deepEqual(e[n][a],r[n][a]))return!1;return!0}function Yt(e,r,n,a,i,o){var s;for(s in r=r||{},e=e||{})e.hasOwnProperty(s)&&(t.deepEqual(e[s],r[s])||n.push({command:o,args:[a,s,r[s],i]}));for(s in r)r.hasOwnProperty(s)&&!e.hasOwnProperty(s)&&(t.deepEqual(e[s],r[s])||n.push({command:o,args:[a,s,r[s],i]}))}function Wt(t){return t.id}function Zt(t,e){return t[e.id]=e,t}var Xt=function(t,e){this.reset(t,e)};Xt.prototype.reset=function(t,e){this.points=t||[],this._distances=[0];for(var r=1;r<this.points.length;r++)this._distances[r]=this._distances[r-1]+this.points[r].dist(this.points[r-1]);this.length=this._distances[this._distances.length-1],this.padding=Math.min(e||0,.5*this.length),this.paddedLength=this.length-2*this.padding},Xt.prototype.lerp=function(e){if(1===this.points.length)return this.points[0];e=t.clamp(e,0,1);for(var r=1,n=this._distances[r],a=e*this.paddedLength+this.padding;n<a&&r<this._distances.length;)n=this._distances[++r];var i=r-1,o=this._distances[i],s=n-o,l=s>0?(a-o)/s:0;return this.points[i].mult(1-l).add(this.points[r].mult(l))};var Jt=function(t,e,r){var n=this.boxCells=[],a=this.circleCells=[];this.xCellCount=Math.ceil(t/r),this.yCellCount=Math.ceil(e/r);for(var i=0;i<this.xCellCount*this.yCellCount;i++)n.push([]),a.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=t,this.height=e,this.xScale=this.xCellCount/t,this.yScale=this.yCellCount/e,this.boxUid=0,this.circleUid=0};function Kt(e,r,n,a,i){var o=t.create();return r?(t.scale(o,o,[1/i,1/i,1]),n||t.rotateZ(o,o,a.angle)):t.multiply(o,a.labelPlaneMatrix,e),o}function Qt(e,r,n,a,i){if(r){var o=t.clone(e);return t.scale(o,o,[i,i,1]),n||t.rotateZ(o,o,-a.angle),o}return a.glCoordMatrix}function $t(e,r){var n=[e.x,e.y,0,1];ue(n,n,r);var a=n[3];return{point:new t.Point(n[0]/a,n[1]/a),signedDistanceFromCamera:a}}function te(t,e){return.5+t/e*.5}function ee(t,e){var r=t[0]/t[3],n=t[1]/t[3];return r>=-e[0]&&r<=e[0]&&n>=-e[1]&&n<=e[1]}function re(e,r,n,a,i,o,s,l){var c=a?e.textSizeData:e.iconSizeData,u=t.evaluateSizeForZoom(c,n.transform.zoom),h=[256/n.width*2+1,256/n.height*2+1],f=a?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;f.clear();for(var p=e.lineVertexArray,d=a?e.text.placedSymbolArray:e.icon.placedSymbolArray,g=n.transform.width/n.transform.height,m=!1,v=0;v<d.length;v++){var y=d.get(v);if(y.hidden||y.writingMode===t.WritingMode.vertical&&!m)ce(y.numGlyphs,f);else{m=!1;var x=[y.anchorX,y.anchorY,0,1];if(t.transformMat4(x,x,r),ee(x,h)){var b=te(n.transform.cameraToCenterDistance,x[3]),_=t.evaluateSizeForFeature(c,u,y),w=s?_/b:_*b,T=new t.Point(y.anchorX,y.anchorY),k=$t(T,i).point,A={},M=ie(y,w,!1,l,r,i,o,e.glyphOffsetArray,p,f,k,T,A,g);m=M.useVertical,(M.notEnoughRoom||m||M.needsFlipping&&ie(y,w,!0,l,r,i,o,e.glyphOffsetArray,p,f,k,T,A,g).notEnoughRoom)&&ce(y.numGlyphs,f)}else ce(y.numGlyphs,f)}}a?e.text.dynamicLayoutVertexBuffer.updateData(f):e.icon.dynamicLayoutVertexBuffer.updateData(f)}function ne(t,e,r,n,a,i,o,s,l,c,u){var h=s.glyphStartIndex+s.numGlyphs,f=s.lineStartIndex,p=s.lineStartIndex+s.lineLength,d=e.getoffsetX(s.glyphStartIndex),g=e.getoffsetX(h-1),m=se(t*d,r,n,a,i,o,s.segment,f,p,l,c,u);if(!m)return null;var v=se(t*g,r,n,a,i,o,s.segment,f,p,l,c,u);return v?{first:m,last:v}:null}function ae(e,r,n,a){return e===t.WritingMode.horizontal&&Math.abs(n.y-r.y)>Math.abs(n.x-r.x)*a?{useVertical:!0}:(e===t.WritingMode.vertical?r.y<n.y:r.x>n.x)?{needsFlipping:!0}:null}function ie(e,r,n,a,i,o,s,l,c,u,h,f,p,d){var g,m=r/24,v=e.lineOffsetX*m,y=e.lineOffsetY*m;if(e.numGlyphs>1){var x=e.glyphStartIndex+e.numGlyphs,b=e.lineStartIndex,_=e.lineStartIndex+e.lineLength,w=ne(m,l,v,y,n,h,f,e,c,o,p);if(!w)return{notEnoughRoom:!0};var T=$t(w.first.point,s).point,k=$t(w.last.point,s).point;if(a&&!n){var A=ae(e.writingMode,T,k,d);if(A)return A}g=[w.first];for(var M=e.glyphStartIndex+1;M<x-1;M++)g.push(se(m*l.getoffsetX(M),v,y,n,h,f,e.segment,b,_,c,o,p));g.push(w.last)}else{if(a&&!n){var S=$t(f,i).point,E=e.lineStartIndex+e.segment+1,C=new t.Point(c.getx(E),c.gety(E)),L=$t(C,i),P=L.signedDistanceFromCamera>0?L.point:oe(f,C,S,1,i),I=ae(e.writingMode,S,P,d);if(I)return I}var z=se(m*l.getoffsetX(e.glyphStartIndex),v,y,n,h,f,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,c,o,p);if(!z)return{notEnoughRoom:!0};g=[z]}for(var O=0,D=g;O<D.length;O+=1){var R=D[O];t.addDynamicAttributes(u,R.point,R.angle)}return{}}function oe(t,e,r,n,a){var i=$t(t.add(t.sub(e)._unit()),a).point,o=r.sub(i);return r.add(o._mult(n/o.mag()))}function se(e,r,n,a,i,o,s,l,c,u,h,f){var p=a?e-r:e+r,d=p>0?1:-1,g=0;a&&(d*=-1,g=Math.PI),d<0&&(g+=Math.PI);for(var m=d>0?l+s:l+s+1,v=i,y=i,x=0,b=0,_=Math.abs(p),w=[];x+b<=_;){if((m+=d)<l||m>=c)return null;if(y=v,w.push(v),void 0===(v=f[m])){var T=new t.Point(u.getx(m),u.gety(m)),k=$t(T,h);if(k.signedDistanceFromCamera>0)v=f[m]=k.point;else{var A=m-d;v=oe(0===x?o:new t.Point(u.getx(A),u.gety(A)),T,y,_-x+1,h)}}x+=b,b=y.dist(v)}var M=(_-x)/b,S=v.sub(y),E=S.mult(M)._add(y);E._add(S._unit()._perp()._mult(n*d));var C=g+Math.atan2(v.y-y.y,v.x-y.x);return w.push(E),{point:E,angle:C,path:w}}Jt.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},Jt.prototype.insert=function(t,e,r,n,a){this._forEachCell(e,r,n,a,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(a)},Jt.prototype.insertCircle=function(t,e,r,n){this._forEachCell(e-n,r-n,e+n,r+n,this._insertCircleCell,this.circleUid++),this.circleKeys.push(t),this.circles.push(e),this.circles.push(r),this.circles.push(n)},Jt.prototype._insertBoxCell=function(t,e,r,n,a,i){this.boxCells[a].push(i)},Jt.prototype._insertCircleCell=function(t,e,r,n,a,i){this.circleCells[a].push(i)},Jt.prototype._query=function(t,e,r,n,a,i){if(r<0||t>this.width||n<0||e>this.height)return!a&&[];var o=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n){if(a)return!0;for(var s=0;s<this.boxKeys.length;s++)o.push({key:this.boxKeys[s],x1:this.bboxes[4*s],y1:this.bboxes[4*s+1],x2:this.bboxes[4*s+2],y2:this.bboxes[4*s+3]});for(var l=0;l<this.circleKeys.length;l++){var c=this.circles[3*l],u=this.circles[3*l+1],h=this.circles[3*l+2];o.push({key:this.circleKeys[l],x1:c-h,y1:u-h,x2:c+h,y2:u+h})}return i?o.filter(i):o}return this._forEachCell(t,e,r,n,this._queryCell,o,{hitTest:a,seenUids:{box:{},circle:{}}},i),a?o.length>0:o},Jt.prototype._queryCircle=function(t,e,r,n,a){var i=t-r,o=t+r,s=e-r,l=e+r;if(o<0||i>this.width||l<0||s>this.height)return!n&&[];var c=[];return this._forEachCell(i,s,o,l,this._queryCellCircle,c,{hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}},a),n?c.length>0:c},Jt.prototype.query=function(t,e,r,n,a){return this._query(t,e,r,n,!1,a)},Jt.prototype.hitTest=function(t,e,r,n,a){return this._query(t,e,r,n,!0,a)},Jt.prototype.hitTestCircle=function(t,e,r,n){return this._queryCircle(t,e,r,!0,n)},Jt.prototype._queryCell=function(t,e,r,n,a,i,o,s){var l=o.seenUids,c=this.boxCells[a];if(null!==c)for(var u=this.bboxes,h=0,f=c;h<f.length;h+=1){var p=f[h];if(!l.box[p]){l.box[p]=!0;var d=4*p;if(t<=u[d+2]&&e<=u[d+3]&&r>=u[d+0]&&n>=u[d+1]&&(!s||s(this.boxKeys[p]))){if(o.hitTest)return i.push(!0),!0;i.push({key:this.boxKeys[p],x1:u[d],y1:u[d+1],x2:u[d+2],y2:u[d+3]})}}}var g=this.circleCells[a];if(null!==g)for(var m=this.circles,v=0,y=g;v<y.length;v+=1){var x=y[v];if(!l.circle[x]){l.circle[x]=!0;var b=3*x;if(this._circleAndRectCollide(m[b],m[b+1],m[b+2],t,e,r,n)&&(!s||s(this.circleKeys[x]))){if(o.hitTest)return i.push(!0),!0;var _=m[b],w=m[b+1],T=m[b+2];i.push({key:this.circleKeys[x],x1:_-T,y1:w-T,x2:_+T,y2:w+T})}}}},Jt.prototype._queryCellCircle=function(t,e,r,n,a,i,o,s){var l=o.circle,c=o.seenUids,u=this.boxCells[a];if(null!==u)for(var h=this.bboxes,f=0,p=u;f<p.length;f+=1){var d=p[f];if(!c.box[d]){c.box[d]=!0;var g=4*d;if(this._circleAndRectCollide(l.x,l.y,l.radius,h[g+0],h[g+1],h[g+2],h[g+3])&&(!s||s(this.boxKeys[d])))return i.push(!0),!0}}var m=this.circleCells[a];if(null!==m)for(var v=this.circles,y=0,x=m;y<x.length;y+=1){var b=x[y];if(!c.circle[b]){c.circle[b]=!0;var _=3*b;if(this._circlesCollide(v[_],v[_+1],v[_+2],l.x,l.y,l.radius)&&(!s||s(this.circleKeys[b])))return i.push(!0),!0}}},Jt.prototype._forEachCell=function(t,e,r,n,a,i,o,s){for(var l=this._convertToXCellCoord(t),c=this._convertToYCellCoord(e),u=this._convertToXCellCoord(r),h=this._convertToYCellCoord(n),f=l;f<=u;f++)for(var p=c;p<=h;p++)if(a.call(this,t,e,r,n,this.xCellCount*p+f,i,o,s))return},Jt.prototype._convertToXCellCoord=function(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))},Jt.prototype._convertToYCellCoord=function(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))},Jt.prototype._circlesCollide=function(t,e,r,n,a,i){var o=n-t,s=a-e,l=r+i;return l*l>o*o+s*s},Jt.prototype._circleAndRectCollide=function(t,e,r,n,a,i,o){var s=(i-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;var c=(o-a)/2,u=Math.abs(e-(a+c));if(u>c+r)return!1;if(l<=s||u<=c)return!0;var h=l-s,f=u-c;return h*h+f*f<=r*r};var le=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ce(t,e){for(var r=0;r<t;r++){var n=e.length;e.resize(n+4),e.float32.set(le,3*n)}}function ue(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[4]*a+r[12],t[1]=r[1]*n+r[5]*a+r[13],t[3]=r[3]*n+r[7]*a+r[15],t}var he=function(t,e,r){void 0===e&&(e=new Jt(t.width+200,t.height+200,25)),void 0===r&&(r=new Jt(t.width+200,t.height+200,25)),this.transform=t,this.grid=e,this.ignoredGrid=r,this.pitchfactor=Math.cos(t._pitch)*t.cameraToCenterDistance,this.screenRightBoundary=t.width+100,this.screenBottomBoundary=t.height+100,this.gridRightBoundary=t.width+200,this.gridBottomBoundary=t.height+200};function fe(e,r,n){return r*(t.EXTENT/(e.tileSize*Math.pow(2,n-e.tileID.overscaledZ)))}he.prototype.placeCollisionBox=function(t,e,r,n,a){var i=this.projectAndGetPerspectiveRatio(n,t.anchorPointX,t.anchorPointY),o=r*i.perspectiveRatio,s=t.x1*o+i.point.x,l=t.y1*o+i.point.y,c=t.x2*o+i.point.x,u=t.y2*o+i.point.y;return!this.isInsideGrid(s,l,c,u)||!e&&this.grid.hitTest(s,l,c,u,a)?{box:[],offscreen:!1}:{box:[s,l,c,u],offscreen:this.isOffscreen(s,l,c,u)}},he.prototype.placeCollisionCircles=function(e,r,n,a,i,o,s,l,c,u,h,f,p){var d=[],g=new t.Point(r.anchorX,r.anchorY),m=$t(g,o),v=te(this.transform.cameraToCenterDistance,m.signedDistanceFromCamera),y=(u?i/v:i*v)/t.ONE_EM,x=$t(g,s).point,b=ne(y,a,r.lineOffsetX*y,r.lineOffsetY*y,!1,x,g,r,n,s,{}),_=!1,w=!1,T=!0;if(b){for(var k=.5*f*v+p,A=new t.Point(-100,-100),M=new t.Point(this.screenRightBoundary,this.screenBottomBoundary),S=new Xt,E=b.first,C=b.last,L=[],P=E.path.length-1;P>=1;P--)L.push(E.path[P]);for(var I=1;I<C.path.length;I++)L.push(C.path[I]);var z=2.5*k;if(l){var O=L.map((function(t){return $t(t,l)}));L=O.some((function(t){return t.signedDistanceFromCamera<=0}))?[]:O.map((function(t){return t.point}))}var D=[];if(L.length>0){for(var R=L[0].clone(),F=L[0].clone(),B=1;B<L.length;B++)R.x=Math.min(R.x,L[B].x),R.y=Math.min(R.y,L[B].y),F.x=Math.max(F.x,L[B].x),F.y=Math.max(F.y,L[B].y);D=R.x>=A.x&&F.x<=M.x&&R.y>=A.y&&F.y<=M.y?[L]:F.x<A.x||R.x>M.x||F.y<A.y||R.y>M.y?[]:t.clipLine([L],A.x,A.y,M.x,M.y)}for(var N=0,j=D;N<j.length;N+=1){var V;S.reset(j[N],.25*k),V=S.length<=.5*k?1:Math.ceil(S.paddedLength/z)+1;for(var U=0;U<V;U++){var q=U/Math.max(V-1,1),H=S.lerp(q),G=H.x+100,Y=H.y+100;d.push(G,Y,k,0);var W=G-k,Z=Y-k,X=G+k,J=Y+k;if(T=T&&this.isOffscreen(W,Z,X,J),w=w||this.isInsideGrid(W,Z,X,J),!e&&this.grid.hitTestCircle(G,Y,k,h)&&(_=!0,!c))return{circles:[],offscreen:!1,collisionDetected:_}}}}return{circles:!c&&_||!w?[]:d,offscreen:T,collisionDetected:_}},he.prototype.queryRenderedSymbols=function(e){if(0===e.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return{};for(var r=[],n=1/0,a=1/0,i=-1/0,o=-1/0,s=0,l=e;s<l.length;s+=1){var c=l[s],u=new t.Point(c.x+100,c.y+100);n=Math.min(n,u.x),a=Math.min(a,u.y),i=Math.max(i,u.x),o=Math.max(o,u.y),r.push(u)}for(var h={},f={},p=0,d=this.grid.query(n,a,i,o).concat(this.ignoredGrid.query(n,a,i,o));p<d.length;p+=1){var g=d[p],m=g.key;if(void 0===h[m.bucketInstanceId]&&(h[m.bucketInstanceId]={}),!h[m.bucketInstanceId][m.featureIndex]){var v=[new t.Point(g.x1,g.y1),new t.Point(g.x2,g.y1),new t.Point(g.x2,g.y2),new t.Point(g.x1,g.y2)];t.polygonIntersectsPolygon(r,v)&&(h[m.bucketInstanceId][m.featureIndex]=!0,void 0===f[m.bucketInstanceId]&&(f[m.bucketInstanceId]=[]),f[m.bucketInstanceId].push(m.featureIndex))}}return f},he.prototype.insertCollisionBox=function(t,e,r,n,a){(e?this.ignoredGrid:this.grid).insert({bucketInstanceId:r,featureIndex:n,collisionGroupID:a},t[0],t[1],t[2],t[3])},he.prototype.insertCollisionCircles=function(t,e,r,n,a){for(var i=e?this.ignoredGrid:this.grid,o={bucketInstanceId:r,featureIndex:n,collisionGroupID:a},s=0;s<t.length;s+=4)i.insertCircle(o,t[s],t[s+1],t[s+2])},he.prototype.projectAndGetPerspectiveRatio=function(e,r,n){var a=[r,n,0,1];return ue(a,a,e),{point:new t.Point((a[0]/a[3]+1)/2*this.transform.width+100,(-a[1]/a[3]+1)/2*this.transform.height+100),perspectiveRatio:.5+this.transform.cameraToCenterDistance/a[3]*.5}},he.prototype.isOffscreen=function(t,e,r,n){return r<100||t>=this.screenRightBoundary||n<100||e>this.screenBottomBoundary},he.prototype.isInsideGrid=function(t,e,r,n){return r>=0&&t<this.gridRightBoundary&&n>=0&&e<this.gridBottomBoundary},he.prototype.getViewportMatrix=function(){var e=t.identity([]);return t.translate(e,e,[-100,-100,0]),e};var pe=function(t,e,r,n){this.opacity=t?Math.max(0,Math.min(1,t.opacity+(t.placed?e:-e))):n&&r?1:0,this.placed=r};pe.prototype.isHidden=function(){return 0===this.opacity&&!this.placed};var de=function(t,e,r,n,a){this.text=new pe(t?t.text:null,e,r,a),this.icon=new pe(t?t.icon:null,e,n,a)};de.prototype.isHidden=function(){return this.text.isHidden()&&this.icon.isHidden()};var ge=function(t,e,r){this.text=t,this.icon=e,this.skipFade=r},me=function(){this.invProjMatrix=t.create(),this.viewportMatrix=t.create(),this.circles=[]},ve=function(t,e,r,n,a){this.bucketInstanceId=t,this.featureIndex=e,this.sourceLayerIndex=r,this.bucketIndex=n,this.tileID=a},ye=function(t){this.crossSourceCollisions=t,this.maxGroupID=0,this.collisionGroups={}};function xe(e,r,n,a,i){var o=t.getAnchorAlignment(e),s=-(o.horizontalAlign-.5)*r,l=-(o.verticalAlign-.5)*n,c=t.evaluateVariableOffset(e,a);return new t.Point(s+c[0]*i,l+c[1]*i)}function be(e,r,n,a,i,o){var s=e.x1,l=e.x2,c=e.y1,u=e.y2,h=e.anchorPointX,f=e.anchorPointY,p=new t.Point(r,n);return a&&p._rotate(i?o:-o),{x1:s+p.x,y1:c+p.y,x2:l+p.x,y2:u+p.y,anchorPointX:h,anchorPointY:f}}ye.prototype.get=function(t){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[t]){var e=++this.maxGroupID;this.collisionGroups[t]={ID:e,predicate:function(t){return t.collisionGroupID===e}}}return this.collisionGroups[t]};var _e=function(t,e,r,n){this.transform=t.clone(),this.collisionIndex=new he(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=e,this.retainedQueryData={},this.collisionGroups=new ye(r),this.collisionCircleArrays={},this.prevPlacement=n,n&&(n.prevPlacement=void 0),this.placedOrientations={}};function we(t,e,r,n,a){t.emplaceBack(e?1:0,r?1:0,n||0,a||0),t.emplaceBack(e?1:0,r?1:0,n||0,a||0),t.emplaceBack(e?1:0,r?1:0,n||0,a||0),t.emplaceBack(e?1:0,r?1:0,n||0,a||0)}_e.prototype.getBucketParts=function(e,r,n,a){var i=n.getBucket(r),o=n.latestFeatureIndex;if(i&&o&&r.id===i.layerIds[0]){var s=n.collisionBoxArray,l=i.layers[0].layout,c=Math.pow(2,this.transform.zoom-n.tileID.overscaledZ),u=n.tileSize/t.EXTENT,h=this.transform.calculatePosMatrix(n.tileID.toUnwrapped()),f=\"map\"===l.get(\"text-pitch-alignment\"),p=\"map\"===l.get(\"text-rotation-alignment\"),d=fe(n,1,this.transform.zoom),g=Kt(h,f,p,this.transform,d),m=null;if(f){var v=Qt(h,f,p,this.transform,d);m=t.multiply([],this.transform.labelPlaneMatrix,v)}this.retainedQueryData[i.bucketInstanceId]=new ve(i.bucketInstanceId,o,i.sourceLayerIndex,i.index,n.tileID);var y={bucket:i,layout:l,posMatrix:h,textLabelPlaneMatrix:g,labelToScreenMatrix:m,scale:c,textPixelRatio:u,holdingForFade:n.holdingForFade(),collisionBoxArray:s,partiallyEvaluatedTextSize:t.evaluateSizeForZoom(i.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(i.sourceID)};if(a)for(var x=0,b=i.sortKeyRanges;x<b.length;x+=1){var _=b[x];e.push({sortKey:_.sortKey,symbolInstanceStart:_.symbolInstanceStart,symbolInstanceEnd:_.symbolInstanceEnd,parameters:y})}else e.push({symbolInstanceStart:0,symbolInstanceEnd:i.symbolInstances.length,parameters:y})}},_e.prototype.attemptAnchorPlacement=function(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d){var g,m=[h.textOffset0,h.textOffset1],v=xe(t,r,n,m,a),y=this.collisionIndex.placeCollisionBox(be(e,v.x,v.y,i,o,this.transform.angle),u,s,l,c.predicate);if(!d||0!==this.collisionIndex.placeCollisionBox(be(d,v.x,v.y,i,o,this.transform.angle),u,s,l,c.predicate).box.length)return y.box.length>0?(this.prevPlacement&&this.prevPlacement.variableOffsets[h.crossTileID]&&this.prevPlacement.placements[h.crossTileID]&&this.prevPlacement.placements[h.crossTileID].text&&(g=this.prevPlacement.variableOffsets[h.crossTileID].anchor),this.variableOffsets[h.crossTileID]={textOffset:m,width:r,height:n,anchor:t,textBoxScale:a,prevAnchor:g},this.markUsedJustification(f,t,h,p),f.allowVerticalPlacement&&(this.markUsedOrientation(f,p,h),this.placedOrientations[h.crossTileID]=p),{shift:v,placedGlyphBoxes:y}):void 0},_e.prototype.placeLayerBucketPart=function(e,r,n){var a=this,i=e.parameters,o=i.bucket,s=i.layout,l=i.posMatrix,c=i.textLabelPlaneMatrix,u=i.labelToScreenMatrix,h=i.textPixelRatio,f=i.holdingForFade,p=i.collisionBoxArray,d=i.partiallyEvaluatedTextSize,g=i.collisionGroup,m=s.get(\"text-optional\"),v=s.get(\"icon-optional\"),y=s.get(\"text-allow-overlap\"),x=s.get(\"icon-allow-overlap\"),b=\"map\"===s.get(\"text-rotation-alignment\"),_=\"map\"===s.get(\"text-pitch-alignment\"),w=\"none\"!==s.get(\"icon-text-fit\"),T=\"viewport-y\"===s.get(\"symbol-z-order\"),k=y&&(x||!o.hasIconData()||v),A=x&&(y||!o.hasTextData()||m);!o.collisionArrays&&p&&o.deserializeCollisionBoxes(p);var M=function(e,i){if(!r[e.crossTileID])if(f)a.placements[e.crossTileID]=new ge(!1,!1,!1);else{var p,T=!1,M=!1,S=!0,E=null,C={box:null,offscreen:null},L={box:null,offscreen:null},P=null,I=null,z=0,O=0,D=0;i.textFeatureIndex?z=i.textFeatureIndex:e.useRuntimeCollisionCircles&&(z=e.featureIndex),i.verticalTextFeatureIndex&&(O=i.verticalTextFeatureIndex);var R=i.textBox;if(R){var F=function(r){var n=t.WritingMode.horizontal;if(o.allowVerticalPlacement&&!r&&a.prevPlacement){var i=a.prevPlacement.placedOrientations[e.crossTileID];i&&(a.placedOrientations[e.crossTileID]=i,a.markUsedOrientation(o,n=i,e))}return n},B=function(r,n){if(o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&i.verticalTextBox)for(var a=0,s=o.writingModes;a<s.length&&(s[a]===t.WritingMode.vertical?(C=n(),L=C):C=r(),!(C&&C.box&&C.box.length));a+=1);else C=r()};if(s.get(\"text-variable-anchor\")){var N=s.get(\"text-variable-anchor\");if(a.prevPlacement&&a.prevPlacement.variableOffsets[e.crossTileID]){var j=a.prevPlacement.variableOffsets[e.crossTileID];N.indexOf(j.anchor)>0&&(N=N.filter((function(t){return t!==j.anchor}))).unshift(j.anchor)}var V=function(t,r,n){for(var i=t.x2-t.x1,s=t.y2-t.y1,c=e.textBoxScale,u=w&&!x?r:null,f={box:[],offscreen:!1},p=y?2*N.length:N.length,d=0;d<p;++d){var m=a.attemptAnchorPlacement(N[d%N.length],t,i,s,c,b,_,h,l,g,d>=N.length,e,o,n,u);if(m&&(f=m.placedGlyphBoxes)&&f.box&&f.box.length){T=!0,E=m.shift;break}}return f};B((function(){return V(R,i.iconBox,t.WritingMode.horizontal)}),(function(){var r=i.verticalTextBox;return o.allowVerticalPlacement&&!(C&&C.box&&C.box.length)&&e.numVerticalGlyphVertices>0&&r?V(r,i.verticalIconBox,t.WritingMode.vertical):{box:null,offscreen:null}})),C&&(T=C.box,S=C.offscreen);var U=F(C&&C.box);if(!T&&a.prevPlacement){var q=a.prevPlacement.variableOffsets[e.crossTileID];q&&(a.variableOffsets[e.crossTileID]=q,a.markUsedJustification(o,q.anchor,e,U))}}else{var H=function(t,r){var n=a.collisionIndex.placeCollisionBox(t,y,h,l,g.predicate);return n&&n.box&&n.box.length&&(a.markUsedOrientation(o,r,e),a.placedOrientations[e.crossTileID]=r),n};B((function(){return H(R,t.WritingMode.horizontal)}),(function(){var r=i.verticalTextBox;return o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&r?H(r,t.WritingMode.vertical):{box:null,offscreen:null}})),F(C&&C.box&&C.box.length)}}if(T=(p=C)&&p.box&&p.box.length>0,S=p&&p.offscreen,e.useRuntimeCollisionCircles){var G=o.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),Y=t.evaluateSizeForFeature(o.textSizeData,d,G),W=s.get(\"text-padding\");P=a.collisionIndex.placeCollisionCircles(y,G,o.lineVertexArray,o.glyphOffsetArray,Y,l,c,u,n,_,g.predicate,e.collisionCircleDiameter,W),T=y||P.circles.length>0&&!P.collisionDetected,S=S&&P.offscreen}if(i.iconFeatureIndex&&(D=i.iconFeatureIndex),i.iconBox){var Z=function(t){var e=w&&E?be(t,E.x,E.y,b,_,a.transform.angle):t;return a.collisionIndex.placeCollisionBox(e,x,h,l,g.predicate)};M=L&&L.box&&L.box.length&&i.verticalIconBox?(I=Z(i.verticalIconBox)).box.length>0:(I=Z(i.iconBox)).box.length>0,S=S&&I.offscreen}var X=m||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,J=v||0===e.numIconVertices;if(X||J?J?X||(M=M&&T):T=M&&T:M=T=M&&T,T&&p&&p.box&&a.collisionIndex.insertCollisionBox(p.box,s.get(\"text-ignore-placement\"),o.bucketInstanceId,L&&L.box&&O?O:z,g.ID),M&&I&&a.collisionIndex.insertCollisionBox(I.box,s.get(\"icon-ignore-placement\"),o.bucketInstanceId,D,g.ID),P&&(T&&a.collisionIndex.insertCollisionCircles(P.circles,s.get(\"text-ignore-placement\"),o.bucketInstanceId,z,g.ID),n)){var K=o.bucketInstanceId,Q=a.collisionCircleArrays[K];void 0===Q&&(Q=a.collisionCircleArrays[K]=new me);for(var $=0;$<P.circles.length;$+=4)Q.circles.push(P.circles[$+0]),Q.circles.push(P.circles[$+1]),Q.circles.push(P.circles[$+2]),Q.circles.push(P.collisionDetected?1:0)}a.placements[e.crossTileID]=new ge(T||k,M||A,S||o.justReloaded),r[e.crossTileID]=!0}};if(T)for(var S=o.getSortedSymbolIndexes(this.transform.angle),E=S.length-1;E>=0;--E){var C=S[E];M(o.symbolInstances.get(C),o.collisionArrays[C])}else for(var L=e.symbolInstanceStart;L<e.symbolInstanceEnd;L++)M(o.symbolInstances.get(L),o.collisionArrays[L]);if(n&&o.bucketInstanceId in this.collisionCircleArrays){var P=this.collisionCircleArrays[o.bucketInstanceId];t.invert(P.invProjMatrix,l),P.viewportMatrix=this.collisionIndex.getViewportMatrix()}o.justReloaded=!1},_e.prototype.markUsedJustification=function(e,r,n,a){var i;i=a===t.WritingMode.vertical?n.verticalPlacedTextSymbolIndex:{left:n.leftJustifiedTextSymbolIndex,center:n.centerJustifiedTextSymbolIndex,right:n.rightJustifiedTextSymbolIndex}[t.getAnchorJustification(r)];for(var o=0,s=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex,n.verticalPlacedTextSymbolIndex];o<s.length;o+=1){var l=s[o];l>=0&&(e.text.placedSymbolArray.get(l).crossTileID=i>=0&&l!==i?0:n.crossTileID)}},_e.prototype.markUsedOrientation=function(e,r,n){for(var a=r===t.WritingMode.horizontal||r===t.WritingMode.horizontalOnly?r:0,i=r===t.WritingMode.vertical?r:0,o=0,s=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];o<s.length;o+=1)e.text.placedSymbolArray.get(s[o]).placedOrientation=a;n.verticalPlacedTextSymbolIndex&&(e.text.placedSymbolArray.get(n.verticalPlacedTextSymbolIndex).placedOrientation=i)},_e.prototype.commit=function(t){this.commitTime=t,this.zoomAtLastRecencyCheck=this.transform.zoom;var e=this.prevPlacement,r=!1;this.prevZoomAdjustment=e?e.zoomAdjustment(this.transform.zoom):0;var n=e?e.symbolFadeChange(t):1,a=e?e.opacities:{},i=e?e.variableOffsets:{},o=e?e.placedOrientations:{};for(var s in this.placements){var l=this.placements[s],c=a[s];c?(this.opacities[s]=new de(c,n,l.text,l.icon),r=r||l.text!==c.text.placed||l.icon!==c.icon.placed):(this.opacities[s]=new de(null,n,l.text,l.icon,l.skipFade),r=r||l.text||l.icon)}for(var u in a){var h=a[u];if(!this.opacities[u]){var f=new de(h,n,!1,!1);f.isHidden()||(this.opacities[u]=f,r=r||h.text.placed||h.icon.placed)}}for(var p in i)this.variableOffsets[p]||!this.opacities[p]||this.opacities[p].isHidden()||(this.variableOffsets[p]=i[p]);for(var d in o)this.placedOrientations[d]||!this.opacities[d]||this.opacities[d].isHidden()||(this.placedOrientations[d]=o[d]);r?this.lastPlacementChangeTime=t:\"number\"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=e?e.lastPlacementChangeTime:t)},_e.prototype.updateLayerOpacities=function(t,e){for(var r={},n=0,a=e;n<a.length;n+=1){var i=a[n],o=i.getBucket(t);o&&i.latestFeatureIndex&&t.id===o.layerIds[0]&&this.updateBucketOpacities(o,r,i.collisionBoxArray)}},_e.prototype.updateBucketOpacities=function(e,r,n){var a=this;e.hasTextData()&&e.text.opacityVertexArray.clear(),e.hasIconData()&&e.icon.opacityVertexArray.clear(),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexArray.clear(),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexArray.clear();var i=e.layers[0].layout,o=new de(null,0,!1,!1,!0),s=i.get(\"text-allow-overlap\"),l=i.get(\"icon-allow-overlap\"),c=i.get(\"text-variable-anchor\"),u=\"map\"===i.get(\"text-rotation-alignment\"),h=\"map\"===i.get(\"text-pitch-alignment\"),f=\"none\"!==i.get(\"icon-text-fit\"),p=new de(null,0,s&&(l||!e.hasIconData()||i.get(\"icon-optional\")),l&&(s||!e.hasTextData()||i.get(\"text-optional\")),!0);!e.collisionArrays&&n&&(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData())&&e.deserializeCollisionBoxes(n);for(var d=function(t,e,r){for(var n=0;n<e/4;n++)t.opacityVertexArray.emplaceBack(r)},g=function(n){var i=e.symbolInstances.get(n),s=i.numHorizontalGlyphVertices,l=i.numVerticalGlyphVertices,g=i.crossTileID,m=a.opacities[g];r[g]?m=o:m||(a.opacities[g]=m=p),r[g]=!0;var v=i.numIconVertices>0,y=a.placedOrientations[i.crossTileID],x=y===t.WritingMode.vertical,b=y===t.WritingMode.horizontal||y===t.WritingMode.horizontalOnly;if(s>0||l>0){var _=Le(m.text);d(e.text,s,x?Pe:_),d(e.text,l,b?Pe:_);var w=m.text.isHidden();[i.rightJustifiedTextSymbolIndex,i.centerJustifiedTextSymbolIndex,i.leftJustifiedTextSymbolIndex].forEach((function(t){t>=0&&(e.text.placedSymbolArray.get(t).hidden=w||x?1:0)})),i.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(i.verticalPlacedTextSymbolIndex).hidden=w||b?1:0);var T=a.variableOffsets[i.crossTileID];T&&a.markUsedJustification(e,T.anchor,i,y);var k=a.placedOrientations[i.crossTileID];k&&(a.markUsedJustification(e,\"left\",i,k),a.markUsedOrientation(e,k,i))}if(v){var A=Le(m.icon),M=!(f&&i.verticalPlacedIconSymbolIndex&&x);i.placedIconSymbolIndex>=0&&(d(e.icon,i.numIconVertices,M?A:Pe),e.icon.placedSymbolArray.get(i.placedIconSymbolIndex).hidden=m.icon.isHidden()),i.verticalPlacedIconSymbolIndex>=0&&(d(e.icon,i.numVerticalIconVertices,M?Pe:A),e.icon.placedSymbolArray.get(i.verticalPlacedIconSymbolIndex).hidden=m.icon.isHidden())}if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){var S=e.collisionArrays[n];if(S){var E=new t.Point(0,0);if(S.textBox||S.verticalTextBox){var C=!0;if(c){var L=a.variableOffsets[g];L?(E=xe(L.anchor,L.width,L.height,L.textOffset,L.textBoxScale),u&&E._rotate(h?a.transform.angle:-a.transform.angle)):C=!1}S.textBox&&we(e.textCollisionBox.collisionVertexArray,m.text.placed,!C||x,E.x,E.y),S.verticalTextBox&&we(e.textCollisionBox.collisionVertexArray,m.text.placed,!C||b,E.x,E.y)}var P=Boolean(!b&&S.verticalIconBox);S.iconBox&&we(e.iconCollisionBox.collisionVertexArray,m.icon.placed,P,f?E.x:0,f?E.y:0),S.verticalIconBox&&we(e.iconCollisionBox.collisionVertexArray,m.icon.placed,!P,f?E.x:0,f?E.y:0)}}},m=0;m<e.symbolInstances.length;m++)g(m);if(e.sortFeatures(this.transform.angle),this.retainedQueryData[e.bucketInstanceId]&&(this.retainedQueryData[e.bucketInstanceId].featureSortOrder=e.featureSortOrder),e.hasTextData()&&e.text.opacityVertexBuffer&&e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),e.hasIconData()&&e.icon.opacityVertexBuffer&&e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexBuffer&&e.iconCollisionBox.collisionVertexBuffer.updateData(e.iconCollisionBox.collisionVertexArray),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexBuffer&&e.textCollisionBox.collisionVertexBuffer.updateData(e.textCollisionBox.collisionVertexArray),e.bucketInstanceId in this.collisionCircleArrays){var v=this.collisionCircleArrays[e.bucketInstanceId];e.placementInvProjMatrix=v.invProjMatrix,e.placementViewportMatrix=v.viewportMatrix,e.collisionCircleArray=v.circles,delete this.collisionCircleArrays[e.bucketInstanceId]}},_e.prototype.symbolFadeChange=function(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment},_e.prototype.zoomAdjustment=function(t){return Math.max(0,(this.transform.zoom-t)/1.5)},_e.prototype.hasTransitions=function(t){return this.stale||t-this.lastPlacementChangeTime<this.fadeDuration},_e.prototype.stillRecent=function(t,e){var r=this.zoomAtLastRecencyCheck===e?1-this.zoomAdjustment(e):1;return this.zoomAtLastRecencyCheck=e,this.commitTime+this.fadeDuration*r>t},_e.prototype.setStale=function(){this.stale=!0};var Te=Math.pow(2,25),ke=Math.pow(2,24),Ae=Math.pow(2,17),Me=Math.pow(2,16),Se=Math.pow(2,9),Ee=Math.pow(2,8),Ce=Math.pow(2,1);function Le(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;var e=t.placed?1:0,r=Math.floor(127*t.opacity);return r*Te+e*ke+r*Ae+e*Me+r*Se+e*Ee+r*Ce+e}var Pe=0,Ie=function(t){this._sortAcrossTiles=\"viewport-y\"!==t.layout.get(\"symbol-z-order\")&&void 0!==t.layout.get(\"symbol-sort-key\").constantOr(1),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};Ie.prototype.continuePlacement=function(t,e,r,n,a){for(var i=this._bucketParts;this._currentTileIndex<t.length;)if(e.getBucketParts(i,n,t[this._currentTileIndex],this._sortAcrossTiles),this._currentTileIndex++,a())return!0;for(this._sortAcrossTiles&&(this._sortAcrossTiles=!1,i.sort((function(t,e){return t.sortKey-e.sortKey})));this._currentPartIndex<i.length;)if(e.placeLayerBucketPart(i[this._currentPartIndex],this._seenCrossTileIDs,r),this._currentPartIndex++,a())return!0;return!1};var ze=function(t,e,r,n,a,i,o){this.placement=new _e(t,a,i,o),this._currentPlacementIndex=e.length-1,this._forceFullPlacement=r,this._showCollisionBoxes=n,this._done=!1};ze.prototype.isDone=function(){return this._done},ze.prototype.continuePlacement=function(e,r,n){for(var a=this,i=t.browser.now(),o=function(){var e=t.browser.now()-i;return!a._forceFullPlacement&&e>2};this._currentPlacementIndex>=0;){var s=r[e[this._currentPlacementIndex]],l=this.placement.collisionIndex.transform.zoom;if(\"symbol\"===s.type&&(!s.minzoom||s.minzoom<=l)&&(!s.maxzoom||s.maxzoom>l)){if(this._inProgressLayer||(this._inProgressLayer=new Ie(s)),this._inProgressLayer.continuePlacement(n[s.source],this.placement,this._showCollisionBoxes,s,o))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},ze.prototype.commit=function(t){return this.placement.commit(t),this.placement};var Oe=512/t.EXTENT/2,De=function(t,e,r){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var n=0;n<e.length;n++){var a=e.get(n),i=a.key;this.indexedSymbolInstances[i]||(this.indexedSymbolInstances[i]=[]),this.indexedSymbolInstances[i].push({crossTileID:a.crossTileID,coord:this.getScaledCoordinates(a,t)})}};De.prototype.getScaledCoordinates=function(e,r){var n=Oe/Math.pow(2,r.canonical.z-this.tileID.canonical.z);return{x:Math.floor((r.canonical.x*t.EXTENT+e.anchorX)*n),y:Math.floor((r.canonical.y*t.EXTENT+e.anchorY)*n)}},De.prototype.findMatches=function(t,e,r){for(var n=this.tileID.canonical.z<e.canonical.z?1:Math.pow(2,this.tileID.canonical.z-e.canonical.z),a=0;a<t.length;a++){var i=t.get(a);if(!i.crossTileID){var o=this.indexedSymbolInstances[i.key];if(o)for(var s=this.getScaledCoordinates(i,e),l=0,c=o;l<c.length;l+=1){var u=c[l];if(Math.abs(u.coord.x-s.x)<=n&&Math.abs(u.coord.y-s.y)<=n&&!r[u.crossTileID]){r[u.crossTileID]=!0,i.crossTileID=u.crossTileID;break}}}}};var Re=function(){this.maxCrossTileID=0};Re.prototype.generate=function(){return++this.maxCrossTileID};var Fe=function(){this.indexes={},this.usedCrossTileIDs={},this.lng=0};Fe.prototype.handleWrapJump=function(t){var e=Math.round((t-this.lng)/360);if(0!==e)for(var r in this.indexes){var n=this.indexes[r],a={};for(var i in n){var o=n[i];o.tileID=o.tileID.unwrapTo(o.tileID.wrap+e),a[o.tileID.key]=o}this.indexes[r]=a}this.lng=t},Fe.prototype.addBucket=function(t,e,r){if(this.indexes[t.overscaledZ]&&this.indexes[t.overscaledZ][t.key]){if(this.indexes[t.overscaledZ][t.key].bucketInstanceId===e.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(t.overscaledZ,this.indexes[t.overscaledZ][t.key])}for(var n=0;n<e.symbolInstances.length;n++)e.symbolInstances.get(n).crossTileID=0;this.usedCrossTileIDs[t.overscaledZ]||(this.usedCrossTileIDs[t.overscaledZ]={});var a=this.usedCrossTileIDs[t.overscaledZ];for(var i in this.indexes){var o=this.indexes[i];if(Number(i)>t.overscaledZ)for(var s in o){var l=o[s];l.tileID.isChildOf(t)&&l.findMatches(e.symbolInstances,t,a)}else{var c=o[t.scaledTo(Number(i)).key];c&&c.findMatches(e.symbolInstances,t,a)}}for(var u=0;u<e.symbolInstances.length;u++){var h=e.symbolInstances.get(u);h.crossTileID||(h.crossTileID=r.generate(),a[h.crossTileID]=!0)}return void 0===this.indexes[t.overscaledZ]&&(this.indexes[t.overscaledZ]={}),this.indexes[t.overscaledZ][t.key]=new De(t,e.symbolInstances,e.bucketInstanceId),!0},Fe.prototype.removeBucketCrossTileIDs=function(t,e){for(var r in e.indexedSymbolInstances)for(var n=0,a=e.indexedSymbolInstances[r];n<a.length;n+=1)delete this.usedCrossTileIDs[t][a[n].crossTileID]},Fe.prototype.removeStaleBuckets=function(t){var e=!1;for(var r in this.indexes){var n=this.indexes[r];for(var a in n)t[n[a].bucketInstanceId]||(this.removeBucketCrossTileIDs(r,n[a]),delete n[a],e=!0)}return e};var Be=function(){this.layerIndexes={},this.crossTileIDs=new Re,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={}};Be.prototype.addLayer=function(t,e,r){var n=this.layerIndexes[t.id];void 0===n&&(n=this.layerIndexes[t.id]=new Fe);var a=!1,i={};n.handleWrapJump(r);for(var o=0,s=e;o<s.length;o+=1){var l=s[o],c=l.getBucket(t);c&&t.id===c.layerIds[0]&&(c.bucketInstanceId||(c.bucketInstanceId=++this.maxBucketInstanceId),n.addBucket(l.tileID,c,this.crossTileIDs)&&(a=!0),i[c.bucketInstanceId]=!0)}return n.removeStaleBuckets(i)&&(a=!0),a},Be.prototype.pruneUnusedLayers=function(t){var e={};for(var r in t.forEach((function(t){e[t]=!0})),this.layerIndexes)e[r]||delete this.layerIndexes[r]};var Ne=function(e,r){return t.emitValidationErrors(e,r&&r.filter((function(t){return\"source.canvas\"!==t.identifier})))},je=t.pick(Vt,[\"addLayer\",\"removeLayer\",\"setPaintProperty\",\"setLayoutProperty\",\"setFilter\",\"addSource\",\"removeSource\",\"setLayerZoomRange\",\"setLight\",\"setTransition\",\"setGeoJSONSourceData\"]),Ve=t.pick(Vt,[\"setCenter\",\"setZoom\",\"setBearing\",\"setPitch\"]),Ue=function(){var e={},r=t.styleSpec.$version;for(var n in t.styleSpec.$root){var a,i=t.styleSpec.$root[n];i.required&&null!=(a=\"version\"===n?r:\"array\"===i.type?[]:{})&&(e[n]=a)}return e}(),qe=function(e){function r(n,a){var i=this;void 0===a&&(a={}),e.call(this),this.map=n,this.dispatcher=new k(Bt(),this),this.imageManager=new f,this.imageManager.setEventedParent(this),this.glyphManager=new x(n._requestManager,a.localIdeographFontFamily),this.lineAtlas=new T(256,512),this.crossTileSymbolIndex=new Be,this._layers={},this._serializedLayers={},this._order=[],this.sourceCaches={},this.zoomHistory=new t.ZoomHistory,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast(\"setReferrer\",t.getReferrer());var o=this;this._rtlTextPluginCallback=r.registerForPluginStateChange((function(e){o.dispatcher.broadcast(\"syncRTLPluginState\",{pluginStatus:e.pluginStatus,pluginURL:e.pluginURL},(function(e,r){if(t.triggerPluginCompletionEvent(e),r&&r.every((function(t){return t})))for(var n in o.sourceCaches)o.sourceCaches[n].reload()}))})),this.on(\"data\",(function(t){if(\"source\"===t.dataType&&\"metadata\"===t.sourceDataType){var e=i.sourceCaches[t.sourceId];if(e){var r=e.getSource();if(r&&r.vectorLayerIds)for(var n in i._layers){var a=i._layers[n];a.source===r.id&&i._validateLayer(a)}}}}))}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.loadURL=function(e,r){var n=this;void 0===r&&(r={}),this.fire(new t.Event(\"dataloading\",{dataType:\"style\"}));var a=\"boolean\"==typeof r.validate?r.validate:!t.isMapboxURL(e);e=this.map._requestManager.normalizeStyleURL(e,r.accessToken);var i=this.map._requestManager.transformRequest(e,t.ResourceType.Style);this._request=t.getJSON(i,(function(e,r){n._request=null,e?n.fire(new t.ErrorEvent(e)):r&&n._load(r,a)}))},r.prototype.loadJSON=function(e,r){var n=this;void 0===r&&(r={}),this.fire(new t.Event(\"dataloading\",{dataType:\"style\"})),this._request=t.browser.frame((function(){n._request=null,n._load(e,!1!==r.validate)}))},r.prototype.loadEmpty=function(){this.fire(new t.Event(\"dataloading\",{dataType:\"style\"})),this._load(Ue,!1)},r.prototype._load=function(e,r){if(!r||!Ne(this,t.validateStyle(e))){for(var n in this._loaded=!0,this.stylesheet=e,e.sources)this.addSource(n,e.sources[n],{validate:!1});e.sprite?this._loadSprite(e.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(e.glyphs);var a=jt(this.stylesheet.layers);this._order=a.map((function(t){return t.id})),this._layers={},this._serializedLayers={};for(var i=0,o=a;i<o.length;i+=1){var s=o[i];(s=t.createStyleLayer(s)).setEventedParent(this,{layer:{id:s.id}}),this._layers[s.id]=s,this._serializedLayers[s.id]=s.serialize()}this.dispatcher.broadcast(\"setLayers\",this._serializeLayers(this._order)),this.light=new w(this.stylesheet.light),this.fire(new t.Event(\"data\",{dataType:\"style\"})),this.fire(new t.Event(\"style.load\"))}},r.prototype._loadSprite=function(e){var r=this;this._spriteRequest=function(e,r,n){var a,i,o,s=t.browser.devicePixelRatio>1?\"@2x\":\"\",l=t.getJSON(r.transformRequest(r.normalizeSpriteURL(e,s,\".json\"),t.ResourceType.SpriteJSON),(function(t,e){l=null,o||(o=t,a=e,u())})),c=t.getImage(r.transformRequest(r.normalizeSpriteURL(e,s,\".png\"),t.ResourceType.SpriteImage),(function(t,e){c=null,o||(o=t,i=e,u())}));function u(){if(o)n(o);else if(a&&i){var e=t.browser.getImageData(i),r={};for(var s in a){var l=a[s],c=l.width,u=l.height,h=l.x,f=l.y,p=l.sdf,d=l.pixelRatio,g=l.stretchX,m=l.stretchY,v=l.content,y=new t.RGBAImage({width:c,height:u});t.RGBAImage.copy(e,y,{x:h,y:f},{x:0,y:0},{width:c,height:u}),r[s]={data:y,pixelRatio:d,sdf:p,stretchX:g,stretchY:m,content:v}}n(null,r)}}return{cancel:function(){l&&(l.cancel(),l=null),c&&(c.cancel(),c=null)}}}(e,this.map._requestManager,(function(e,n){if(r._spriteRequest=null,e)r.fire(new t.ErrorEvent(e));else if(n)for(var a in n)r.imageManager.addImage(a,n[a]);r.imageManager.setLoaded(!0),r._availableImages=r.imageManager.listImages(),r.dispatcher.broadcast(\"setImages\",r._availableImages),r.fire(new t.Event(\"data\",{dataType:\"style\"}))}))},r.prototype._validateLayer=function(e){var r=this.sourceCaches[e.source];if(r){var n=e.sourceLayer;if(n){var a=r.getSource();(\"geojson\"===a.type||a.vectorLayerIds&&-1===a.vectorLayerIds.indexOf(n))&&this.fire(new t.ErrorEvent(new Error('Source layer \"'+n+'\" does not exist on source \"'+a.id+'\" as specified by style layer \"'+e.id+'\"')))}}},r.prototype.loaded=function(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(var t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()},r.prototype._serializeLayers=function(t){for(var e=[],r=0,n=t;r<n.length;r+=1){var a=this._layers[n[r]];\"custom\"!==a.type&&e.push(a.serialize())}return e},r.prototype.hasTransitions=function(){if(this.light&&this.light.hasTransition())return!0;for(var t in this.sourceCaches)if(this.sourceCaches[t].hasTransition())return!0;for(var e in this._layers)if(this._layers[e].hasTransition())return!0;return!1},r.prototype._checkLoaded=function(){if(!this._loaded)throw new Error(\"Style is not done loading\")},r.prototype.update=function(e){if(this._loaded){var r=this._changed;if(this._changed){var n=Object.keys(this._updatedLayers),a=Object.keys(this._removedLayers);for(var i in(n.length||a.length)&&this._updateWorkerLayers(n,a),this._updatedSources){var o=this._updatedSources[i];\"reload\"===o?this._reloadSource(i):\"clear\"===o&&this._clearSource(i)}for(var s in this._updateTilesForChangedImages(),this._updatedPaintProps)this._layers[s].updateTransitions(e);this.light.updateTransitions(e),this._resetUpdates()}for(var l in this.sourceCaches)this.sourceCaches[l].used=!1;for(var c=0,u=this._order;c<u.length;c+=1){var h=this._layers[u[c]];h.recalculate(e,this._availableImages),!h.isHidden(e.zoom)&&h.source&&(this.sourceCaches[h.source].used=!0)}this.light.recalculate(e),this.z=e.zoom,r&&this.fire(new t.Event(\"data\",{dataType:\"style\"}))}},r.prototype._updateTilesForChangedImages=function(){var t=Object.keys(this._changedImages);if(t.length){for(var e in this.sourceCaches)this.sourceCaches[e].reloadTilesForDependencies([\"icons\",\"patterns\"],t);this._changedImages={}}},r.prototype._updateWorkerLayers=function(t,e){this.dispatcher.broadcast(\"updateLayers\",{layers:this._serializeLayers(t),removedIds:e})},r.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={}},r.prototype.setState=function(e){var r=this;if(this._checkLoaded(),Ne(this,t.validateStyle(e)))return!1;(e=t.clone$1(e)).layers=jt(e.layers);var n=function(e,r){if(!e)return[{command:Vt.setStyle,args:[r]}];var n=[];try{if(!t.deepEqual(e.version,r.version))return[{command:Vt.setStyle,args:[r]}];t.deepEqual(e.center,r.center)||n.push({command:Vt.setCenter,args:[r.center]}),t.deepEqual(e.zoom,r.zoom)||n.push({command:Vt.setZoom,args:[r.zoom]}),t.deepEqual(e.bearing,r.bearing)||n.push({command:Vt.setBearing,args:[r.bearing]}),t.deepEqual(e.pitch,r.pitch)||n.push({command:Vt.setPitch,args:[r.pitch]}),t.deepEqual(e.sprite,r.sprite)||n.push({command:Vt.setSprite,args:[r.sprite]}),t.deepEqual(e.glyphs,r.glyphs)||n.push({command:Vt.setGlyphs,args:[r.glyphs]}),t.deepEqual(e.transition,r.transition)||n.push({command:Vt.setTransition,args:[r.transition]}),t.deepEqual(e.light,r.light)||n.push({command:Vt.setLight,args:[r.light]});var a={},i=[];!function(e,r,n,a){var i;for(i in r=r||{},e=e||{})e.hasOwnProperty(i)&&(r.hasOwnProperty(i)||qt(i,n,a));for(i in r)r.hasOwnProperty(i)&&(e.hasOwnProperty(i)?t.deepEqual(e[i],r[i])||(\"geojson\"===e[i].type&&\"geojson\"===r[i].type&&Gt(e,r,i)?n.push({command:Vt.setGeoJSONSourceData,args:[i,r[i].data]}):Ht(i,r,n,a)):Ut(i,r,n))}(e.sources,r.sources,i,a);var o=[];e.layers&&e.layers.forEach((function(t){a[t.source]?n.push({command:Vt.removeLayer,args:[t.id]}):o.push(t)})),n=n.concat(i),function(e,r,n){r=r||[];var a,i,o,s,l,c,u,h=(e=e||[]).map(Wt),f=r.map(Wt),p=e.reduce(Zt,{}),d=r.reduce(Zt,{}),g=h.slice(),m=Object.create(null);for(a=0,i=0;a<h.length;a++)d.hasOwnProperty(o=h[a])?i++:(n.push({command:Vt.removeLayer,args:[o]}),g.splice(g.indexOf(o,i),1));for(a=0,i=0;a<f.length;a++)g[g.length-1-a]!==(o=f[f.length-1-a])&&(p.hasOwnProperty(o)?(n.push({command:Vt.removeLayer,args:[o]}),g.splice(g.lastIndexOf(o,g.length-i),1)):i++,n.push({command:Vt.addLayer,args:[d[o],c=g[g.length-a]]}),g.splice(g.length-a,0,o),m[o]=!0);for(a=0;a<f.length;a++)if(s=p[o=f[a]],l=d[o],!m[o]&&!t.deepEqual(s,l))if(t.deepEqual(s.source,l.source)&&t.deepEqual(s[\"source-layer\"],l[\"source-layer\"])&&t.deepEqual(s.type,l.type)){for(u in Yt(s.layout,l.layout,n,o,null,Vt.setLayoutProperty),Yt(s.paint,l.paint,n,o,null,Vt.setPaintProperty),t.deepEqual(s.filter,l.filter)||n.push({command:Vt.setFilter,args:[o,l.filter]}),t.deepEqual(s.minzoom,l.minzoom)&&t.deepEqual(s.maxzoom,l.maxzoom)||n.push({command:Vt.setLayerZoomRange,args:[o,l.minzoom,l.maxzoom]}),s)s.hasOwnProperty(u)&&\"layout\"!==u&&\"paint\"!==u&&\"filter\"!==u&&\"metadata\"!==u&&\"minzoom\"!==u&&\"maxzoom\"!==u&&(0===u.indexOf(\"paint.\")?Yt(s[u],l[u],n,o,u.slice(6),Vt.setPaintProperty):t.deepEqual(s[u],l[u])||n.push({command:Vt.setLayerProperty,args:[o,u,l[u]]}));for(u in l)l.hasOwnProperty(u)&&!s.hasOwnProperty(u)&&\"layout\"!==u&&\"paint\"!==u&&\"filter\"!==u&&\"metadata\"!==u&&\"minzoom\"!==u&&\"maxzoom\"!==u&&(0===u.indexOf(\"paint.\")?Yt(s[u],l[u],n,o,u.slice(6),Vt.setPaintProperty):t.deepEqual(s[u],l[u])||n.push({command:Vt.setLayerProperty,args:[o,u,l[u]]}))}else n.push({command:Vt.removeLayer,args:[o]}),c=g[g.lastIndexOf(o)+1],n.push({command:Vt.addLayer,args:[l,c]})}(o,r.layers,n)}catch(t){console.warn(\"Unable to compute style diff:\",t),n=[{command:Vt.setStyle,args:[r]}]}return n}(this.serialize(),e).filter((function(t){return!(t.command in Ve)}));if(0===n.length)return!1;var a=n.filter((function(t){return!(t.command in je)}));if(a.length>0)throw new Error(\"Unimplemented: \"+a.map((function(t){return t.command})).join(\", \")+\".\");return n.forEach((function(t){\"setTransition\"!==t.command&&r[t.command].apply(r,t.args)})),this.stylesheet=e,!0},r.prototype.addImage=function(e,r){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error(\"An image with this name already exists.\")));this.imageManager.addImage(e,r),this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.fire(new t.Event(\"data\",{dataType:\"style\"}))},r.prototype.updateImage=function(t,e){this.imageManager.updateImage(t,e)},r.prototype.getImage=function(t){return this.imageManager.getImage(t)},r.prototype.removeImage=function(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error(\"No image with this name exists.\")));this.imageManager.removeImage(e),this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.fire(new t.Event(\"data\",{dataType:\"style\"}))},r.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},r.prototype.addSource=function(e,r,n){var a=this;if(void 0===n&&(n={}),this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error(\"There is already a source with this ID\");if(!r.type)throw new Error(\"The type property must be defined, but the only the following properties were given: \"+Object.keys(r).join(\", \")+\".\");if(!([\"vector\",\"raster\",\"geojson\",\"video\",\"image\"].indexOf(r.type)>=0&&this._validate(t.validateStyle.source,\"sources.\"+e,r,null,n))){this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);var i=this.sourceCaches[e]=new Lt(e,r,this.dispatcher);i.style=this,i.setEventedParent(this,(function(){return{isSourceLoaded:a.loaded(),source:i.serialize(),sourceId:e}})),i.onAdd(this.map),this._changed=!0}},r.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error(\"There is no source with this ID\");for(var r in this._layers)if(this._layers[r].source===e)return this.fire(new t.ErrorEvent(new Error('Source \"'+e+'\" cannot be removed while layer \"'+r+'\" is using it.')));var n=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],n.fire(new t.Event(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:e})),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},r.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0},r.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},r.prototype.addLayer=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var a=e.id;if(this.getLayer(a))this.fire(new t.ErrorEvent(new Error('Layer with id \"'+a+'\" already exists on this map')));else{var i;if(\"custom\"===e.type){if(Ne(this,t.validateCustomStyleLayer(e)))return;i=t.createStyleLayer(e)}else{if(\"object\"==typeof e.source&&(this.addSource(a,e.source),e=t.clone$1(e),e=t.extend(e,{source:a})),this._validate(t.validateStyle.layer,\"layers.\"+a,e,{arrayIndex:-1},n))return;i=t.createStyleLayer(e),this._validateLayer(i),i.setEventedParent(this,{layer:{id:a}}),this._serializedLayers[i.id]=i.serialize()}var o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new t.ErrorEvent(new Error('Layer with id \"'+r+'\" does not exist on this map.')));else{if(this._order.splice(o,0,a),this._layerOrderChanged=!0,this._layers[a]=i,this._removedLayers[a]&&i.source&&\"custom\"!==i.type){var s=this._removedLayers[a];delete this._removedLayers[a],s.type!==i.type?this._updatedSources[i.source]=\"clear\":(this._updatedSources[i.source]=\"reload\",this.sourceCaches[i.source].pause())}this._updateLayer(i),i.onAdd&&i.onAdd(this.map)}}},r.prototype.moveLayer=function(e,r){if(this._checkLoaded(),this._changed=!0,this._layers[e]){if(e!==r){var n=this._order.indexOf(e);this._order.splice(n,1);var a=r?this._order.indexOf(r):this._order.length;r&&-1===a?this.fire(new t.ErrorEvent(new Error('Layer with id \"'+r+'\" does not exist on this map.'))):(this._order.splice(a,0,e),this._layerOrderChanged=!0)}}else this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be moved.\")))},r.prototype.removeLayer=function(e){this._checkLoaded();var r=this._layers[e];if(r){r.setEventedParent(null);var n=this._order.indexOf(e);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=r,delete this._layers[e],delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],r.onRemove&&r.onRemove(this.map)}else this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be removed.\")))},r.prototype.getLayer=function(t){return this._layers[t]},r.prototype.hasLayer=function(t){return t in this._layers},r.prototype.setLayerZoomRange=function(e,r,n){this._checkLoaded();var a=this.getLayer(e);a?a.minzoom===r&&a.maxzoom===n||(null!=r&&(a.minzoom=r),null!=n&&(a.maxzoom=n),this._updateLayer(a)):this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot have zoom extent.\")))},r.prototype.setFilter=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var a=this.getLayer(e);if(a){if(!t.deepEqual(a.filter,r))return null==r?(a.filter=void 0,void this._updateLayer(a)):void(this._validate(t.validateStyle.filter,\"layers.\"+a.id+\".filter\",r,null,n)||(a.filter=t.clone$1(r),this._updateLayer(a)))}else this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be filtered.\")))},r.prototype.getFilter=function(e){return t.clone$1(this.getLayer(e).filter)},r.prototype.setLayoutProperty=function(e,r,n,a){void 0===a&&(a={}),this._checkLoaded();var i=this.getLayer(e);i?t.deepEqual(i.getLayoutProperty(r),n)||(i.setLayoutProperty(r,n,a),this._updateLayer(i)):this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")))},r.prototype.getLayoutProperty=function(e,r){var n=this.getLayer(e);if(n)return n.getLayoutProperty(r);this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style.\")))},r.prototype.setPaintProperty=function(e,r,n,a){void 0===a&&(a={}),this._checkLoaded();var i=this.getLayer(e);i?t.deepEqual(i.getPaintProperty(r),n)||(i.setPaintProperty(r,n,a)&&this._updateLayer(i),this._changed=!0,this._updatedPaintProps[e]=!0):this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")))},r.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},r.prototype.setFeatureState=function(e,r){this._checkLoaded();var n=e.source,a=e.sourceLayer,i=this.sourceCaches[n];if(void 0!==i){var o=i.getSource().type;\"geojson\"===o&&a?this.fire(new t.ErrorEvent(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\"))):\"vector\"!==o||a?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),i.setFeatureState(a,e.id,r)):this.fire(new t.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}else this.fire(new t.ErrorEvent(new Error(\"The source '\"+n+\"' does not exist in the map's style.\")))},r.prototype.removeFeatureState=function(e,r){this._checkLoaded();var n=e.source,a=this.sourceCaches[n];if(void 0!==a){var i=a.getSource().type,o=\"vector\"===i?e.sourceLayer:void 0;\"vector\"!==i||o?r&&\"string\"!=typeof e.id&&\"number\"!=typeof e.id?this.fire(new t.ErrorEvent(new Error(\"A feature id is requred to remove its specific state property.\"))):a.removeFeatureState(o,e.id,r):this.fire(new t.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}else this.fire(new t.ErrorEvent(new Error(\"The source '\"+n+\"' does not exist in the map's style.\")))},r.prototype.getFeatureState=function(e){this._checkLoaded();var r=e.source,n=e.sourceLayer,a=this.sourceCaches[r];if(void 0!==a){if(\"vector\"!==a.getSource().type||n)return void 0===e.id&&this.fire(new t.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),a.getFeatureState(n,e.id);this.fire(new t.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}else this.fire(new t.ErrorEvent(new Error(\"The source '\"+r+\"' does not exist in the map's style.\")))},r.prototype.getTransition=function(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},r.prototype.serialize=function(){return t.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:t.mapObject(this.sourceCaches,(function(t){return t.serialize()})),layers:this._serializeLayers(this._order)},(function(t){return void 0!==t}))},r.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&\"raster\"!==this.sourceCaches[t.source].getSource().type&&(this._updatedSources[t.source]=\"reload\",this.sourceCaches[t.source].pause()),this._changed=!0},r.prototype._flattenAndSortRenderedFeatures=function(t){for(var e=this,r=function(t){return\"fill-extrusion\"===e._layers[t].type},n={},a=[],i=this._order.length-1;i>=0;i--){var o=this._order[i];if(r(o)){n[o]=i;for(var s=0,l=t;s<l.length;s+=1){var c=l[s][o];if(c)for(var u=0,h=c;u<h.length;u+=1)a.push(h[u])}}}a.sort((function(t,e){return e.intersectionZ-t.intersectionZ}));for(var f=[],p=this._order.length-1;p>=0;p--){var d=this._order[p];if(r(d))for(var g=a.length-1;g>=0;g--){var m=a[g].feature;if(n[m.layer.id]<p)break;f.push(m),a.pop()}else for(var v=0,y=t;v<y.length;v+=1){var x=y[v][d];if(x)for(var b=0,_=x;b<_.length;b+=1)f.push(_[b].feature)}}return f},r.prototype.queryRenderedFeatures=function(e,r,n){r&&r.filter&&this._validate(t.validateStyle.filter,\"queryRenderedFeatures.filter\",r.filter,null,r);var a={};if(r&&r.layers){if(!Array.isArray(r.layers))return this.fire(new t.ErrorEvent(new Error(\"parameters.layers must be an Array.\"))),[];for(var i=0,o=r.layers;i<o.length;i+=1){var s=o[i],l=this._layers[s];if(!l)return this.fire(new t.ErrorEvent(new Error(\"The layer '\"+s+\"' does not exist in the map's style and cannot be queried for features.\"))),[];a[l.source]=!0}}var c=[];for(var u in r.availableImages=this._availableImages,this.sourceCaches)r.layers&&!a[u]||c.push(F(this.sourceCaches[u],this._layers,this._serializedLayers,e,r,n));return this.placement&&c.push(function(t,e,r,n,a,i,o){for(var s={},l=i.queryRenderedSymbols(n),c=[],u=0,h=Object.keys(l).map(Number);u<h.length;u+=1)c.push(o[h[u]]);c.sort(B);for(var f=function(){var r=d[p],n=r.featureIndex.lookupSymbolFeatures(l[r.bucketInstanceId],e,r.bucketIndex,r.sourceLayerIndex,a.filter,a.layers,a.availableImages,t);for(var i in n){var o=s[i]=s[i]||[],c=n[i];c.sort((function(t,e){var n=r.featureSortOrder;if(n){var a=n.indexOf(t.featureIndex);return n.indexOf(e.featureIndex)-a}return e.featureIndex-t.featureIndex}));for(var u=0,h=c;u<h.length;u+=1)o.push(h[u])}},p=0,d=c;p<d.length;p+=1)f();var g=function(e){s[e].forEach((function(n){var a=n.feature,i=r[t[e].source].getFeatureState(a.layer[\"source-layer\"],a.id);a.source=a.layer.source,a.layer[\"source-layer\"]&&(a.sourceLayer=a.layer[\"source-layer\"]),a.state=i}))};for(var m in s)g(m);return s}(this._layers,this._serializedLayers,this.sourceCaches,e,r,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(c)},r.prototype.querySourceFeatures=function(e,r){r&&r.filter&&this._validate(t.validateStyle.filter,\"querySourceFeatures.filter\",r.filter,null,r);var n=this.sourceCaches[e];return n?function(t,e){for(var r=t.getRenderableIds().map((function(e){return t.getTileByID(e)})),n=[],a={},i=0;i<r.length;i++){var o=r[i],s=o.tileID.canonical.key;a[s]||(a[s]=!0,o.querySourceFeatures(n,e))}return n}(n,r):[]},r.prototype.addSourceType=function(t,e,n){return r.getSourceType(t)?n(new Error('A source type called \"'+t+'\" already exists.')):(r.setSourceType(t,e),e.workerSourceURL?void this.dispatcher.broadcast(\"loadWorkerSource\",{name:t,url:e.workerSourceURL},n):n(null,null))},r.prototype.getLight=function(){return this.light.getLight()},r.prototype.setLight=function(e,r){void 0===r&&(r={}),this._checkLoaded();var n=this.light.getLight(),a=!1;for(var i in e)if(!t.deepEqual(e[i],n[i])){a=!0;break}if(a){var o={now:t.browser.now(),transition:t.extend({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(e,r),this.light.updateTransitions(o)}},r.prototype._validate=function(e,r,n,a,i){return void 0===i&&(i={}),(!i||!1!==i.validate)&&Ne(this,e.call(t.validateStyle,t.extend({key:r,style:this.serialize(),value:n,styleSpec:t.styleSpec},a)))},r.prototype._remove=function(){for(var e in this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),t.evented.off(\"pluginStateChange\",this._rtlTextPluginCallback),this._layers)this._layers[e].setEventedParent(null);for(var r in this.sourceCaches)this.sourceCaches[r].clearTiles(),this.sourceCaches[r].setEventedParent(null);this.imageManager.setEventedParent(null),this.setEventedParent(null),this.dispatcher.remove()},r.prototype._clearSource=function(t){this.sourceCaches[t].clearTiles()},r.prototype._reloadSource=function(t){this.sourceCaches[t].resume(),this.sourceCaches[t].reload()},r.prototype._updateSources=function(t){for(var e in this.sourceCaches)this.sourceCaches[e].update(t)},r.prototype._generateCollisionBoxes=function(){for(var t in this.sourceCaches)this._reloadSource(t)},r.prototype._updatePlacement=function(e,r,n,a,i){void 0===i&&(i=!1);for(var o=!1,s=!1,l={},c=0,u=this._order;c<u.length;c+=1){var h=this._layers[u[c]];if(\"symbol\"===h.type){if(!l[h.source]){var f=this.sourceCaches[h.source];l[h.source]=f.getRenderableIds(!0).map((function(t){return f.getTileByID(t)})).sort((function(t,e){return e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)}))}var p=this.crossTileSymbolIndex.addLayer(h,l[h.source],e.center.lng);o=o||p}}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((i=i||this._layerOrderChanged||0===n)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(t.browser.now(),e.zoom))&&(this.pauseablePlacement=new ze(e,this._order,i,r,n,a,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,l),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(t.browser.now()),s=!0),o&&this.pauseablePlacement.placement.setStale()),s||o)for(var d=0,g=this._order;d<g.length;d+=1){var m=this._layers[g[d]];\"symbol\"===m.type&&this.placement.updateLayerOpacities(m,l[m.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(t.browser.now())},r.prototype._releaseSymbolFadeTiles=function(){for(var t in this.sourceCaches)this.sourceCaches[t].releaseSymbolFadeTiles()},r.prototype.getImages=function(t,e,r){this.imageManager.getImages(e.icons,r),this._updateTilesForChangedImages();var n=this.sourceCaches[e.source];n&&n.setDependencies(e.tileID.key,e.type,e.icons)},r.prototype.getGlyphs=function(t,e,r){this.glyphManager.getGlyphs(e.stacks,r)},r.prototype.getResource=function(e,r,n){return t.makeRequest(r,n)},r}(t.Evented);qe.getSourceType=function(t){return D[t]},qe.setSourceType=function(t,e){D[t]=e},qe.registerForPluginStateChange=t.registerForPluginStateChange;var He=t.createLayout([{name:\"a_pos\",type:\"Int16\",components:2}]),Ge=vr(\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n#if !defined(highp)\\n#define highp\\n#endif\\n#endif\",\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n#if !defined(highp)\\n#define highp\\n#endif\\n#endif\\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}\"),Ye=vr(\"uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),We=vr(\"uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}\"),Ze=vr(\"varying vec3 v_data;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define highp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize mediump float radius\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize highp vec4 stroke_color\\n#pragma mapbox: initialize mediump float stroke_width\\n#pragma mapbox: initialize lowp float stroke_opacity\\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define highp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\nvoid main(void) {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize mediump float radius\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize highp vec4 stroke_color\\n#pragma mapbox: initialize mediump float stroke_width\\n#pragma mapbox: initialize lowp float stroke_opacity\\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,0,1);} else {gl_Position=u_matrix*vec4(circle_center,0,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}\"),Xe=vr(\"void main() {gl_FragColor=vec4(1.0);}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),Je=vr(\"uniform highp float u_intensity;varying vec2 v_extrude;\\n#pragma mapbox: define highp float weight\\n#define GAUSS_COEF 0.3989422804014327\\nvoid main() {\\n#pragma mapbox: initialize highp float weight\\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude;\\n#pragma mapbox: define highp float weight\\n#pragma mapbox: define mediump float radius\\nconst highp float ZERO=1.0/255.0/16.0;\\n#define GAUSS_COEF 0.3989422804014327\\nvoid main(void) {\\n#pragma mapbox: initialize highp float weight\\n#pragma mapbox: initialize mediump float radius\\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}\"),Ke=vr(\"uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(0.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}\"),Qe=vr(\"varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}\",\"attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}\"),$e=vr(\"varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}\",\"attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd  =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz  /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}\"),tr=vr(\"uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}\",\"attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}\"),er=vr(\"#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float opacity\\ngl_FragColor=color*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float opacity\\ngl_Position=u_matrix*vec4(a_pos,0,1);}\"),rr=vr(\"varying vec2 v_pos;\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 outline_color\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 outline_color\\n#pragma mapbox: initialize lowp float opacity\\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}\"),nr=vr(\"uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}\"),ar=vr(\"uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}\"),ir=vr(\"varying vec4 v_color;void main() {gl_FragColor=v_color;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec4 v_color;\\n#pragma mapbox: define highp float base\\n#pragma mapbox: define highp float height\\n#pragma mapbox: define highp vec4 color\\nvoid main() {\\n#pragma mapbox: initialize highp float base\\n#pragma mapbox: initialize highp float height\\n#pragma mapbox: initialize highp vec4 color\\nvec3 normal=a_normal_ed.xyz;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}\"),or=vr(\"uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float base\\n#pragma mapbox: initialize lowp float height\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float base\\n#pragma mapbox: initialize lowp float height\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\\n? a_pos\\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}\"),sr=vr(\"#ifdef GL_ES\\nprecision highp float;\\n#endif\\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform float u_maxzoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggeration=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/ pow(2.0,(u_zoom-u_maxzoom)*exaggeration+19.2562-u_zoom);gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}\"),lr=vr(\"uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\\n#define PI 3.141592653589793\\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}\"),cr=vr(\"uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}\"),ur=vr(\"uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp float v_lineprogress;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,vec2(v_lineprogress,0.5));gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define MAX_LINE_DISTANCE 32767.0\\n#define scale 0.015873016\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_lineprogress;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_lineprogress=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0/MAX_LINE_DISTANCE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}\"),hr=vr(\"uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\n#define LINE_DISTANCE_SCALE 2.0\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}\"),fr=vr(\"uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\n#define LINE_DISTANCE_SCALE 2.0\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}\"),pr=vr(\"uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}\"),dr=vr(\"uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}\"),gr=vr(\"#define SDF_PX 8.0\\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}\"),mr=vr(\"#define SDF_PX 8.0\\n#define SDF 1.0\\n#define ICON 0.0\\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}\");function vr(t,e){var r=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,n={};return{fragmentSource:t=t.replace(r,(function(t,e,r,a,i){return n[i]=!0,\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+i+\"\\nvarying \"+r+\" \"+a+\" \"+i+\";\\n#else\\nuniform \"+r+\" \"+a+\" u_\"+i+\";\\n#endif\\n\":\"\\n#ifdef HAS_UNIFORM_u_\"+i+\"\\n    \"+r+\" \"+a+\" \"+i+\" = u_\"+i+\";\\n#endif\\n\"})),vertexSource:e=e.replace(r,(function(t,e,r,a,i){var o=\"float\"===a?\"vec2\":\"vec4\",s=i.match(/color/)?\"color\":o;return n[i]?\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+i+\"\\nuniform lowp float u_\"+i+\"_t;\\nattribute \"+r+\" \"+o+\" a_\"+i+\";\\nvarying \"+r+\" \"+a+\" \"+i+\";\\n#else\\nuniform \"+r+\" \"+a+\" u_\"+i+\";\\n#endif\\n\":\"vec4\"===s?\"\\n#ifndef HAS_UNIFORM_u_\"+i+\"\\n    \"+i+\" = a_\"+i+\";\\n#else\\n    \"+r+\" \"+a+\" \"+i+\" = u_\"+i+\";\\n#endif\\n\":\"\\n#ifndef HAS_UNIFORM_u_\"+i+\"\\n    \"+i+\" = unpack_mix_\"+s+\"(a_\"+i+\", u_\"+i+\"_t);\\n#else\\n    \"+r+\" \"+a+\" \"+i+\" = u_\"+i+\";\\n#endif\\n\":\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+i+\"\\nuniform lowp float u_\"+i+\"_t;\\nattribute \"+r+\" \"+o+\" a_\"+i+\";\\n#else\\nuniform \"+r+\" \"+a+\" u_\"+i+\";\\n#endif\\n\":\"vec4\"===s?\"\\n#ifndef HAS_UNIFORM_u_\"+i+\"\\n    \"+r+\" \"+a+\" \"+i+\" = a_\"+i+\";\\n#else\\n    \"+r+\" \"+a+\" \"+i+\" = u_\"+i+\";\\n#endif\\n\":\"\\n#ifndef HAS_UNIFORM_u_\"+i+\"\\n    \"+r+\" \"+a+\" \"+i+\" = unpack_mix_\"+s+\"(a_\"+i+\", u_\"+i+\"_t);\\n#else\\n    \"+r+\" \"+a+\" \"+i+\" = u_\"+i+\";\\n#endif\\n\"}))}}var yr=Object.freeze({__proto__:null,prelude:Ge,background:Ye,backgroundPattern:We,circle:Ze,clippingMask:Xe,heatmap:Je,heatmapTexture:Ke,collisionBox:Qe,collisionCircle:$e,debug:tr,fill:er,fillOutline:rr,fillOutlinePattern:nr,fillPattern:ar,fillExtrusion:ir,fillExtrusionPattern:or,hillshadePrepare:sr,hillshade:lr,line:cr,lineGradient:ur,linePattern:hr,lineSDF:fr,raster:pr,symbolIcon:dr,symbolSDF:gr,symbolTextAndIcon:mr}),xr=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};xr.prototype.bind=function(t,e,r,n,a,i,o,s){this.context=t;for(var l=this.boundPaintVertexBuffers.length!==n.length,c=0;!l&&c<n.length;c++)this.boundPaintVertexBuffers[c]!==n[c]&&(l=!0);t.extVertexArrayObject&&this.vao&&this.boundProgram===e&&this.boundLayoutVertexBuffer===r&&!l&&this.boundIndexBuffer===a&&this.boundVertexOffset===i&&this.boundDynamicVertexBuffer===o&&this.boundDynamicVertexBuffer2===s?(t.bindVertexArrayOES.set(this.vao),o&&o.bind(),a&&a.dynamicDraw&&a.bind(),s&&s.bind()):this.freshBind(e,r,n,a,i,o,s)},xr.prototype.freshBind=function(t,e,r,n,a,i,o){var s,l=t.numAttributes,c=this.context,u=c.gl;if(c.extVertexArrayObject)this.vao&&this.destroy(),this.vao=c.extVertexArrayObject.createVertexArrayOES(),c.bindVertexArrayOES.set(this.vao),s=0,this.boundProgram=t,this.boundLayoutVertexBuffer=e,this.boundPaintVertexBuffers=r,this.boundIndexBuffer=n,this.boundVertexOffset=a,this.boundDynamicVertexBuffer=i,this.boundDynamicVertexBuffer2=o;else{s=c.currentNumAttributes||0;for(var h=l;h<s;h++)u.disableVertexAttribArray(h)}e.enableAttributes(u,t);for(var f=0,p=r;f<p.length;f+=1)p[f].enableAttributes(u,t);i&&i.enableAttributes(u,t),o&&o.enableAttributes(u,t),e.bind(),e.setVertexAttribPointers(u,t,a);for(var d=0,g=r;d<g.length;d+=1){var m=g[d];m.bind(),m.setVertexAttribPointers(u,t,a)}i&&(i.bind(),i.setVertexAttribPointers(u,t,a)),n&&n.bind(),o&&(o.bind(),o.setVertexAttribPointers(u,t,a)),c.currentNumAttributes=l},xr.prototype.destroy=function(){this.vao&&(this.context.extVertexArrayObject.deleteVertexArrayOES(this.vao),this.vao=null)};var br=function(t,e,r,n,a){var i=t.gl;this.program=i.createProgram();var o=r?r.defines():[];a&&o.push(\"#define OVERDRAW_INSPECTOR;\");var s=o.concat(Ge.fragmentSource,e.fragmentSource).join(\"\\n\"),l=o.concat(Ge.vertexSource,e.vertexSource).join(\"\\n\"),c=i.createShader(i.FRAGMENT_SHADER);if(i.isContextLost())this.failedToCreate=!0;else{i.shaderSource(c,s),i.compileShader(c),i.attachShader(this.program,c);var u=i.createShader(i.VERTEX_SHADER);if(i.isContextLost())this.failedToCreate=!0;else{i.shaderSource(u,l),i.compileShader(u),i.attachShader(this.program,u);for(var h=r?r.layoutAttributes:[],f=0;f<h.length;f++)i.bindAttribLocation(this.program,f,h[f].name);i.linkProgram(this.program),i.deleteShader(u),i.deleteShader(c),this.numAttributes=i.getProgramParameter(this.program,i.ACTIVE_ATTRIBUTES),this.attributes={};for(var p={},d=0;d<this.numAttributes;d++){var g=i.getActiveAttrib(this.program,d);g&&(this.attributes[g.name]=i.getAttribLocation(this.program,g.name))}for(var m=i.getProgramParameter(this.program,i.ACTIVE_UNIFORMS),v=0;v<m;v++){var y=i.getActiveUniform(this.program,v);y&&(p[y.name]=i.getUniformLocation(this.program,y.name))}this.fixedUniforms=n(t,p),this.binderUniforms=r?r.getUniforms(t,p):[]}}};function _r(t,e,r){var n=1/fe(r,1,e.transform.tileZoom),a=Math.pow(2,r.tileID.overscaledZ),i=r.tileSize*Math.pow(2,e.transform.tileZoom)/a,o=i*(r.tileID.canonical.x+r.tileID.wrap*a),s=i*r.tileID.canonical.y;return{u_image:0,u_texsize:r.imageAtlasTexture.size,u_scale:[n,t.fromScale,t.toScale],u_fade:t.t,u_pixel_coord_upper:[o>>16,s>>16],u_pixel_coord_lower:[65535&o,65535&s]}}br.prototype.draw=function(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g){var m,v=t.gl;if(!this.failedToCreate){for(var y in t.program.set(this.program),t.setDepthMode(r),t.setStencilMode(n),t.setColorMode(a),t.setCullFace(i),this.fixedUniforms)this.fixedUniforms[y].set(o[y]);p&&p.setUniforms(t,this.binderUniforms,h,{zoom:f});for(var x=(m={},m[v.LINES]=2,m[v.TRIANGLES]=3,m[v.LINE_STRIP]=1,m)[e],b=0,_=u.get();b<_.length;b+=1){var w=_[b],T=w.vaos||(w.vaos={});(T[s]||(T[s]=new xr)).bind(t,this,l,p?p.getPaintVertexBuffers():[],c,w.vertexOffset,d,g),v.drawElements(e,w.primitiveLength*x,v.UNSIGNED_SHORT,w.primitiveOffset*x*2)}}};var wr=function(e,r,n,a){var i=r.style.light,o=i.properties.get(\"position\"),s=[o.x,o.y,o.z],l=t.create$1();\"viewport\"===i.properties.get(\"anchor\")&&t.fromRotation(l,-r.transform.angle),t.transformMat3(s,s,l);var c=i.properties.get(\"color\");return{u_matrix:e,u_lightpos:s,u_lightintensity:i.properties.get(\"intensity\"),u_lightcolor:[c.r,c.g,c.b],u_vertical_gradient:+n,u_opacity:a}},Tr=function(e,r,n,a,i,o,s){return t.extend(wr(e,r,n,a),_r(o,r,s),{u_height_factor:-Math.pow(2,i.overscaledZ)/s.tileSize/8})},kr=function(t){return{u_matrix:t}},Ar=function(e,r,n,a){return t.extend(kr(e),_r(n,r,a))},Mr=function(t,e){return{u_matrix:t,u_world:e}},Sr=function(e,r,n,a,i){return t.extend(Ar(e,r,n,a),{u_world:i})},Er=function(e,r,n,a){var i,o,s=e.transform;if(\"map\"===a.paint.get(\"circle-pitch-alignment\")){var l=fe(n,1,s.zoom);i=!0,o=[l,l]}else i=!1,o=s.pixelsToGLUnits;return{u_camera_to_center_distance:s.cameraToCenterDistance,u_scale_with_map:+(\"map\"===a.paint.get(\"circle-pitch-scale\")),u_matrix:e.translatePosMatrix(r.posMatrix,n,a.paint.get(\"circle-translate\"),a.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+i,u_device_pixel_ratio:t.browser.devicePixelRatio,u_extrude_scale:o}},Cr=function(t,e,r){var n=fe(r,1,e.zoom),a=Math.pow(2,e.zoom-r.tileID.overscaledZ),i=r.tileID.overscaleFactor();return{u_matrix:t,u_camera_to_center_distance:e.cameraToCenterDistance,u_pixels_to_tile_units:n,u_extrude_scale:[e.pixelsToGLUnits[0]/(n*a),e.pixelsToGLUnits[1]/(n*a)],u_overscale_factor:i}},Lr=function(t,e,r){return{u_matrix:t,u_inv_matrix:e,u_camera_to_center_distance:r.cameraToCenterDistance,u_viewport_size:[r.width,r.height]}},Pr=function(t,e,r){return void 0===r&&(r=1),{u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:r}},Ir=function(t){return{u_matrix:t}},zr=function(t,e,r,n){return{u_matrix:t,u_extrude_scale:fe(e,1,r),u_intensity:n}},Or=function(e,r,n){var a=e.transform;return{u_matrix:Nr(e,r,n),u_ratio:1/fe(r,1,a.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Dr=function(e,r,n){return t.extend(Or(e,r,n),{u_image:0})},Rr=function(e,r,n,a){var i=e.transform,o=Br(r,i);return{u_matrix:Nr(e,r,n),u_texsize:r.imageAtlasTexture.size,u_ratio:1/fe(r,1,i.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_image:0,u_scale:[o,a.fromScale,a.toScale],u_fade:a.t,u_units_to_pixels:[1/i.pixelsToGLUnits[0],1/i.pixelsToGLUnits[1]]}},Fr=function(e,r,n,a,i){var o=e.lineAtlas,s=Br(r,e.transform),l=\"round\"===n.layout.get(\"line-cap\"),c=o.getDash(a.from,l),u=o.getDash(a.to,l),h=c.width*i.fromScale,f=u.width*i.toScale;return t.extend(Or(e,r,n),{u_patternscale_a:[s/h,-c.height/2],u_patternscale_b:[s/f,-u.height/2],u_sdfgamma:o.width/(256*Math.min(h,f)*t.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:c.y,u_tex_y_b:u.y,u_mix:i.t})};function Br(t,e){return 1/fe(t,1,e.tileZoom)}function Nr(t,e,r){return t.translatePosMatrix(e.tileID.posMatrix,e,r.paint.get(\"line-translate\"),r.paint.get(\"line-translate-anchor\"))}var jr=function(t,e,r,n,a){return{u_matrix:t,u_tl_parent:e,u_scale_parent:r,u_buffer_scale:1,u_fade_t:n.mix,u_opacity:n.opacity*a.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:a.paint.get(\"raster-brightness-min\"),u_brightness_high:a.paint.get(\"raster-brightness-max\"),u_saturation_factor:(o=a.paint.get(\"raster-saturation\"),o>0?1-1/(1.001-o):-o),u_contrast_factor:(i=a.paint.get(\"raster-contrast\"),i>0?1/(1-i):1+i),u_spin_weights:Vr(a.paint.get(\"raster-hue-rotate\"))};var i,o};function Vr(t){t*=Math.PI/180;var e=Math.sin(t),r=Math.cos(t);return[(2*r+1)/3,(-Math.sqrt(3)*e-r+1)/3,(Math.sqrt(3)*e-r+1)/3]}var Ur,qr=function(t,e,r,n,a,i,o,s,l,c){var u=a.transform;return{u_is_size_zoom_constant:+(\"constant\"===t||\"source\"===t),u_is_size_feature_constant:+(\"constant\"===t||\"camera\"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:u.cameraToCenterDistance,u_pitch:u.pitch/360*2*Math.PI,u_rotate_symbol:+r,u_aspect_ratio:u.width/u.height,u_fade_change:a.options.fadeDuration?a.symbolFadeChange:1,u_matrix:i,u_label_plane_matrix:o,u_coord_matrix:s,u_is_text:+l,u_pitch_with_map:+n,u_texsize:c,u_texture:0}},Hr=function(e,r,n,a,i,o,s,l,c,u,h){var f=i.transform;return t.extend(qr(e,r,n,a,i,o,s,l,c,u),{u_gamma_scale:a?Math.cos(f._pitch)*f.cameraToCenterDistance:1,u_device_pixel_ratio:t.browser.devicePixelRatio,u_is_halo:+h})},Gr=function(e,r,n,a,i,o,s,l,c,u){return t.extend(Hr(e,r,n,a,i,o,s,l,!0,c,!0),{u_texsize_icon:u,u_texture_icon:1})},Yr=function(t,e,r){return{u_matrix:t,u_opacity:e,u_color:r}},Wr=function(e,r,n,a,i,o){return t.extend(function(t,e,r,n){var a=r.imageManager.getPattern(t.from.toString()),i=r.imageManager.getPattern(t.to.toString()),o=r.imageManager.getPixelSize(),s=o.width,l=o.height,c=Math.pow(2,n.tileID.overscaledZ),u=n.tileSize*Math.pow(2,r.transform.tileZoom)/c,h=u*(n.tileID.canonical.x+n.tileID.wrap*c),f=u*n.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:a.tl,u_pattern_br_a:a.br,u_pattern_tl_b:i.tl,u_pattern_br_b:i.br,u_texsize:[s,l],u_mix:e.t,u_pattern_size_a:a.displaySize,u_pattern_size_b:i.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/fe(n,1,r.transform.tileZoom),u_pixel_coord_upper:[h>>16,f>>16],u_pixel_coord_lower:[65535&h,65535&f]}}(a,o,n,i),{u_matrix:e,u_opacity:r})},Zr={fillExtrusion:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fillExtrusionPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_height_factor:new t.Uniform1f(e,r.u_height_factor),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fill:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},fillPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},fillOutline:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world)}},fillOutlinePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},circle:function(e,r){return{u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_scale_with_map:new t.Uniform1i(e,r.u_scale_with_map),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},collisionBox:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pixels_to_tile_units:new t.Uniform1f(e,r.u_pixels_to_tile_units),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_overscale_factor:new t.Uniform1f(e,r.u_overscale_factor)}},collisionCircle:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_inv_matrix:new t.UniformMatrix4f(e,r.u_inv_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_viewport_size:new t.Uniform2f(e,r.u_viewport_size)}},debug:function(e,r){return{u_color:new t.UniformColor(e,r.u_color),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_overlay:new t.Uniform1i(e,r.u_overlay),u_overlay_scale:new t.Uniform1f(e,r.u_overlay_scale)}},clippingMask:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmap:function(e,r){return{u_extrude_scale:new t.Uniform1f(e,r.u_extrude_scale),u_intensity:new t.Uniform1f(e,r.u_intensity),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmapTexture:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_color_ramp:new t.Uniform1i(e,r.u_color_ramp),u_opacity:new t.Uniform1f(e,r.u_opacity)}},hillshade:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_latrange:new t.Uniform2f(e,r.u_latrange),u_light:new t.Uniform2f(e,r.u_light),u_shadow:new t.UniformColor(e,r.u_shadow),u_highlight:new t.UniformColor(e,r.u_highlight),u_accent:new t.UniformColor(e,r.u_accent)}},hillshadePrepare:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_dimension:new t.Uniform2f(e,r.u_dimension),u_zoom:new t.Uniform1f(e,r.u_zoom),u_maxzoom:new t.Uniform1f(e,r.u_maxzoom),u_unpack:new t.Uniform4f(e,r.u_unpack)}},line:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels)}},lineGradient:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_image:new t.Uniform1i(e,r.u_image)}},linePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_texsize:new t.Uniform2f(e,r.u_texsize),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_image:new t.Uniform1i(e,r.u_image),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},lineSDF:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_patternscale_a:new t.Uniform2f(e,r.u_patternscale_a),u_patternscale_b:new t.Uniform2f(e,r.u_patternscale_b),u_sdfgamma:new t.Uniform1f(e,r.u_sdfgamma),u_image:new t.Uniform1i(e,r.u_image),u_tex_y_a:new t.Uniform1f(e,r.u_tex_y_a),u_tex_y_b:new t.Uniform1f(e,r.u_tex_y_b),u_mix:new t.Uniform1f(e,r.u_mix)}},raster:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_tl_parent:new t.Uniform2f(e,r.u_tl_parent),u_scale_parent:new t.Uniform1f(e,r.u_scale_parent),u_buffer_scale:new t.Uniform1f(e,r.u_buffer_scale),u_fade_t:new t.Uniform1f(e,r.u_fade_t),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image0:new t.Uniform1i(e,r.u_image0),u_image1:new t.Uniform1i(e,r.u_image1),u_brightness_low:new t.Uniform1f(e,r.u_brightness_low),u_brightness_high:new t.Uniform1f(e,r.u_brightness_high),u_saturation_factor:new t.Uniform1f(e,r.u_saturation_factor),u_contrast_factor:new t.Uniform1f(e,r.u_contrast_factor),u_spin_weights:new t.Uniform3f(e,r.u_spin_weights)}},symbolIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture)}},symbolSDF:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},symbolTextAndIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texsize_icon:new t.Uniform2f(e,r.u_texsize_icon),u_texture:new t.Uniform1i(e,r.u_texture),u_texture_icon:new t.Uniform1i(e,r.u_texture_icon),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},background:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_color:new t.UniformColor(e,r.u_color)}},backgroundPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image:new t.Uniform1i(e,r.u_image),u_pattern_tl_a:new t.Uniform2f(e,r.u_pattern_tl_a),u_pattern_br_a:new t.Uniform2f(e,r.u_pattern_br_a),u_pattern_tl_b:new t.Uniform2f(e,r.u_pattern_tl_b),u_pattern_br_b:new t.Uniform2f(e,r.u_pattern_br_b),u_texsize:new t.Uniform2f(e,r.u_texsize),u_mix:new t.Uniform1f(e,r.u_mix),u_pattern_size_a:new t.Uniform2f(e,r.u_pattern_size_a),u_pattern_size_b:new t.Uniform2f(e,r.u_pattern_size_b),u_scale_a:new t.Uniform1f(e,r.u_scale_a),u_scale_b:new t.Uniform1f(e,r.u_scale_b),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_tile_units_to_pixels:new t.Uniform1f(e,r.u_tile_units_to_pixels)}}};function Xr(e,r,n,a,i,o,s){for(var l=e.context,c=l.gl,u=e.useProgram(\"collisionBox\"),h=[],f=0,p=0,d=0;d<a.length;d++){var g=a[d],m=r.getTile(g),v=m.getBucket(n);if(v){var y=g.posMatrix;0===i[0]&&0===i[1]||(y=e.translatePosMatrix(g.posMatrix,m,i,o));var x=s?v.textCollisionBox:v.iconCollisionBox,b=v.collisionCircleArray;if(b.length>0){var _=t.create(),w=y;t.mul(_,v.placementInvProjMatrix,e.transform.glCoordMatrix),t.mul(_,_,v.placementViewportMatrix),h.push({circleArray:b,circleOffset:p,transform:w,invTransform:_}),p=f+=b.length/4}x&&u.draw(l,c.LINES,At.disabled,Mt.disabled,e.colorModeForRenderPass(),Et.disabled,Cr(y,e.transform,m),n.id,x.layoutVertexBuffer,x.indexBuffer,x.segments,null,e.transform.zoom,null,null,x.collisionVertexBuffer)}}if(s&&h.length){var T=e.useProgram(\"collisionCircle\"),k=new t.StructArrayLayout2f1f2i16;k.resize(4*f),k._trim();for(var A=0,M=0,S=h;M<S.length;M+=1)for(var E=S[M],C=0;C<E.circleArray.length/4;C++){var L=4*C,P=E.circleArray[L+0],I=E.circleArray[L+1],z=E.circleArray[L+2],O=E.circleArray[L+3];k.emplace(A++,P,I,z,O,0),k.emplace(A++,P,I,z,O,1),k.emplace(A++,P,I,z,O,2),k.emplace(A++,P,I,z,O,3)}(!Ur||Ur.length<2*f)&&(Ur=function(e){var r=2*e,n=new t.StructArrayLayout3ui6;n.resize(r),n._trim();for(var a=0;a<r;a++){var i=6*a;n.uint16[i+0]=4*a+0,n.uint16[i+1]=4*a+1,n.uint16[i+2]=4*a+2,n.uint16[i+3]=4*a+2,n.uint16[i+4]=4*a+3,n.uint16[i+5]=4*a+0}return n}(f));for(var D=l.createIndexBuffer(Ur,!0),R=l.createVertexBuffer(k,t.collisionCircleLayout.members,!0),F=0,B=h;F<B.length;F+=1){var N=B[F],j=Lr(N.transform,N.invTransform,e.transform);T.draw(l,c.TRIANGLES,At.disabled,Mt.disabled,e.colorModeForRenderPass(),Et.disabled,j,n.id,R,D,t.SegmentVector.simpleSegment(0,2*N.circleOffset,N.circleArray.length,N.circleArray.length/2),null,e.transform.zoom,null,null,null)}R.destroy(),D.destroy()}}var Jr=t.identity(new Float32Array(16));function Kr(e,r,n,a,i,o){var s=t.getAnchorAlignment(e),l=-(s.horizontalAlign-.5)*r,c=-(s.verticalAlign-.5)*n,u=t.evaluateVariableOffset(e,a);return new t.Point((l/i+u[0])*o,(c/i+u[1])*o)}function Qr(e,r,n,a,i,o,s,l,c,u,h){var f=e.text.placedSymbolArray,p=e.text.dynamicLayoutVertexArray,d=e.icon.dynamicLayoutVertexArray,g={};p.clear();for(var m=0;m<f.length;m++){var v=f.get(m),y=v.hidden||!v.crossTileID||e.allowVerticalPlacement&&!v.placedOrientation?null:a[v.crossTileID];if(y){var x=new t.Point(v.anchorX,v.anchorY),b=$t(x,n?l:s),_=te(o.cameraToCenterDistance,b.signedDistanceFromCamera),w=i.evaluateSizeForFeature(e.textSizeData,u,v)*_/t.ONE_EM;n&&(w*=e.tilePixelRatio/c);for(var T=Kr(y.anchor,y.width,y.height,y.textOffset,y.textBoxScale,w),k=n?$t(x.add(T),s).point:b.point.add(r?T.rotate(-o.angle):T),A=e.allowVerticalPlacement&&v.placedOrientation===t.WritingMode.vertical?Math.PI/2:0,M=0;M<v.numGlyphs;M++)t.addDynamicAttributes(p,k,A);h&&v.associatedIconIndex>=0&&(g[v.associatedIconIndex]={shiftedAnchor:k,angle:A})}else ce(v.numGlyphs,p)}if(h){d.clear();for(var S=e.icon.placedSymbolArray,E=0;E<S.length;E++){var C=S.get(E);if(C.hidden)ce(C.numGlyphs,d);else{var L=g[E];if(L)for(var P=0;P<C.numGlyphs;P++)t.addDynamicAttributes(d,L.shiftedAnchor,L.angle);else ce(C.numGlyphs,d)}}e.icon.dynamicLayoutVertexBuffer.updateData(d)}e.text.dynamicLayoutVertexBuffer.updateData(p)}function $r(t,e,r){return r.iconsInText&&e?\"symbolTextAndIcon\":t?\"symbolSDF\":\"symbolIcon\"}function tn(e,r,n,a,i,o,s,l,c,u,h,f){for(var p=e.context,d=p.gl,g=e.transform,m=\"map\"===l,v=\"map\"===c,y=m&&\"point\"!==n.layout.get(\"symbol-placement\"),x=m&&!v&&!y,b=void 0!==n.layout.get(\"symbol-sort-key\").constantOr(1),_=e.depthModeForSublayer(0,At.ReadOnly),w=n.layout.get(\"text-variable-anchor\"),T=[],k=0,A=a;k<A.length;k+=1){var M=A[k],S=r.getTile(M),E=S.getBucket(n);if(E){var C=i?E.text:E.icon;if(C&&C.segments.get().length){var L=C.programConfigurations.get(n.id),P=i||E.sdfIcons,I=i?E.textSizeData:E.iconSizeData,z=v||0!==g.pitch,O=e.useProgram($r(P,i,E),L),D=t.evaluateSizeForZoom(I,g.zoom),R=void 0,F=[0,0],B=void 0,N=void 0,j=null,V=void 0;if(i)B=S.glyphAtlasTexture,N=d.LINEAR,R=S.glyphAtlasTexture.size,E.iconsInText&&(F=S.imageAtlasTexture.size,j=S.imageAtlasTexture,V=z||e.options.rotating||e.options.zooming||\"composite\"===I.kind||\"camera\"===I.kind?d.LINEAR:d.NEAREST);else{var U=1!==n.layout.get(\"icon-size\").constantOr(0)||E.iconsNeedLinear;B=S.imageAtlasTexture,N=P||e.options.rotating||e.options.zooming||U||z?d.LINEAR:d.NEAREST,R=S.imageAtlasTexture.size}var q=fe(S,1,e.transform.zoom),H=Kt(M.posMatrix,v,m,e.transform,q),G=Qt(M.posMatrix,v,m,e.transform,q),Y=w&&E.hasTextData(),W=\"none\"!==n.layout.get(\"icon-text-fit\")&&Y&&E.hasIconData();y&&re(E,M.posMatrix,e,i,H,G,v,u);var Z=e.translatePosMatrix(M.posMatrix,S,o,s),X=y||i&&w||W?Jr:H,J=e.translatePosMatrix(G,S,o,s,!0),K=P&&0!==n.paint.get(i?\"text-halo-width\":\"icon-halo-width\").constantOr(1),Q={program:O,buffers:C,uniformValues:P?E.iconsInText?Gr(I.kind,D,x,v,e,Z,X,J,R,F):Hr(I.kind,D,x,v,e,Z,X,J,i,R,!0):qr(I.kind,D,x,v,e,Z,X,J,i,R),atlasTexture:B,atlasTextureIcon:j,atlasInterpolation:N,atlasInterpolationIcon:V,isSDF:P,hasHalo:K};if(b)for(var $=0,tt=C.segments.get();$<tt.length;$+=1){var et=tt[$];T.push({segments:new t.SegmentVector([et]),sortKey:et.sortKey,state:Q})}else T.push({segments:C.segments,sortKey:0,state:Q})}}}b&&T.sort((function(t,e){return t.sortKey-e.sortKey}));for(var rt=0,nt=T;rt<nt.length;rt+=1){var at=nt[rt],it=at.state;if(p.activeTexture.set(d.TEXTURE0),it.atlasTexture.bind(it.atlasInterpolation,d.CLAMP_TO_EDGE),it.atlasTextureIcon&&(p.activeTexture.set(d.TEXTURE1),it.atlasTextureIcon&&it.atlasTextureIcon.bind(it.atlasInterpolationIcon,d.CLAMP_TO_EDGE)),it.isSDF){var ot=it.uniformValues;it.hasHalo&&(ot.u_is_halo=1,en(it.buffers,at.segments,n,e,it.program,_,h,f,ot)),ot.u_is_halo=0}en(it.buffers,at.segments,n,e,it.program,_,h,f,it.uniformValues)}}function en(t,e,r,n,a,i,o,s,l){var c=n.context;a.draw(c,c.gl.TRIANGLES,i,o,s,Et.disabled,l,r.id,t.layoutVertexBuffer,t.indexBuffer,e,r.paint,n.transform.zoom,t.programConfigurations.get(r.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer)}function rn(t,e,r,n,a,i,o){var s,l,c,u,h,f=t.context.gl,p=r.paint.get(\"fill-pattern\"),d=p&&p.constantOr(1),g=r.getCrossfadeParameters();o?(l=d&&!r.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\",s=f.LINES):(l=d?\"fillPattern\":\"fill\",s=f.TRIANGLES);for(var m=0,v=n;m<v.length;m+=1){var y=v[m],x=e.getTile(y);if(!d||x.patternsLoaded()){var b=x.getBucket(r);if(b){var _=b.programConfigurations.get(r.id),w=t.useProgram(l,_);d&&(t.context.activeTexture.set(f.TEXTURE0),x.imageAtlasTexture.bind(f.LINEAR,f.CLAMP_TO_EDGE),_.updatePaintBuffers(g));var T=p.constantOr(null);if(T&&x.imageAtlas){var k=x.imageAtlas,A=k.patternPositions[T.to.toString()],M=k.patternPositions[T.from.toString()];A&&M&&_.setConstantPatternPositions(A,M)}var S=t.translatePosMatrix(y.posMatrix,x,r.paint.get(\"fill-translate\"),r.paint.get(\"fill-translate-anchor\"));if(o){u=b.indexBuffer2,h=b.segments2;var E=[f.drawingBufferWidth,f.drawingBufferHeight];c=\"fillOutlinePattern\"===l&&d?Sr(S,t,g,x,E):Mr(S,E)}else u=b.indexBuffer,h=b.segments,c=d?Ar(S,t,g,x):kr(S);w.draw(t.context,s,a,t.stencilModeForClipping(y),i,Et.disabled,c,r.id,b.layoutVertexBuffer,u,h,r.paint,t.transform.zoom,_)}}}}function nn(t,e,r,n,a,i,o){for(var s=t.context,l=s.gl,c=r.paint.get(\"fill-extrusion-pattern\"),u=c.constantOr(1),h=r.getCrossfadeParameters(),f=r.paint.get(\"fill-extrusion-opacity\"),p=0,d=n;p<d.length;p+=1){var g=d[p],m=e.getTile(g),v=m.getBucket(r);if(v){var y=v.programConfigurations.get(r.id),x=t.useProgram(u?\"fillExtrusionPattern\":\"fillExtrusion\",y);u&&(t.context.activeTexture.set(l.TEXTURE0),m.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),y.updatePaintBuffers(h));var b=c.constantOr(null);if(b&&m.imageAtlas){var _=m.imageAtlas,w=_.patternPositions[b.to.toString()],T=_.patternPositions[b.from.toString()];w&&T&&y.setConstantPatternPositions(w,T)}var k=t.translatePosMatrix(g.posMatrix,m,r.paint.get(\"fill-extrusion-translate\"),r.paint.get(\"fill-extrusion-translate-anchor\")),A=r.paint.get(\"fill-extrusion-vertical-gradient\"),M=u?Tr(k,t,A,f,g,h,m):wr(k,t,A,f);x.draw(s,s.gl.TRIANGLES,a,i,o,Et.backCCW,M,r.id,v.layoutVertexBuffer,v.indexBuffer,v.segments,r.paint,t.transform.zoom,y)}}}function an(e,r,n,a,i,o){var s=e.context,l=s.gl,c=r.fbo;if(c){var u=e.useProgram(\"hillshade\");s.activeTexture.set(l.TEXTURE0),l.bindTexture(l.TEXTURE_2D,c.colorAttachment.get());var h=function(e,r,n){var a=n.paint.get(\"hillshade-shadow-color\"),i=n.paint.get(\"hillshade-highlight-color\"),o=n.paint.get(\"hillshade-accent-color\"),s=n.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);\"viewport\"===n.paint.get(\"hillshade-illumination-anchor\")&&(s-=e.transform.angle);var l,c,u,h=!e.options.moving;return{u_matrix:e.transform.calculatePosMatrix(r.tileID.toUnwrapped(),h),u_image:0,u_latrange:(l=r.tileID,c=Math.pow(2,l.canonical.z),u=l.canonical.y,[new t.MercatorCoordinate(0,u/c).toLngLat().lat,new t.MercatorCoordinate(0,(u+1)/c).toLngLat().lat]),u_light:[n.paint.get(\"hillshade-exaggeration\"),s],u_shadow:a,u_highlight:i,u_accent:o}}(e,r,n);u.draw(s,l.TRIANGLES,a,i,o,Et.disabled,h,n.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments)}}function on(e,r,n,a,i,o,s){var l=e.context,c=l.gl,u=r.dem;if(u&&u.data){var h=u.dim,f=u.stride,p=u.getPixels();if(l.activeTexture.set(c.TEXTURE1),l.pixelStoreUnpackPremultiplyAlpha.set(!1),r.demTexture=r.demTexture||e.getTileTexture(f),r.demTexture){var d=r.demTexture;d.update(p,{premultiply:!1}),d.bind(c.NEAREST,c.CLAMP_TO_EDGE)}else r.demTexture=new t.Texture(l,p,c.RGBA,{premultiply:!1}),r.demTexture.bind(c.NEAREST,c.CLAMP_TO_EDGE);l.activeTexture.set(c.TEXTURE0);var g=r.fbo;if(!g){var m=new t.Texture(l,{width:h,height:h,data:null},c.RGBA);m.bind(c.LINEAR,c.CLAMP_TO_EDGE),(g=r.fbo=l.createFramebuffer(h,h,!0)).colorAttachment.set(m.texture)}l.bindFramebuffer.set(g.framebuffer),l.viewport.set([0,0,h,h]),e.useProgram(\"hillshadePrepare\").draw(l,c.TRIANGLES,i,o,s,Et.disabled,function(e,r,n){var a=r.stride,i=t.create();return t.ortho(i,0,t.EXTENT,-t.EXTENT,0,0,1),t.translate(i,i,[0,-t.EXTENT,0]),{u_matrix:i,u_image:1,u_dimension:[a,a],u_zoom:e.overscaledZ,u_maxzoom:n,u_unpack:r.getUnpackVector()}}(r.tileID,u,a),n.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments),r.needsHillshadePrepare=!1}}function sn(e,r,n,a,i){var o=a.paint.get(\"raster-fade-duration\");if(o>0){var s=t.browser.now(),l=(s-e.timeAdded)/o,c=r?(s-r.timeAdded)/o:-1,u=n.getSource(),h=i.coveringZoomLevel({tileSize:u.tileSize,roundZoom:u.roundZoom}),f=!r||Math.abs(r.tileID.overscaledZ-h)>Math.abs(e.tileID.overscaledZ-h),p=f&&e.refreshedUponExpiration?1:t.clamp(f?l:1-c,0,1);return e.refreshedUponExpiration&&l>=1&&(e.refreshedUponExpiration=!1),r?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}var ln=new t.Color(1,0,0,1),cn=new t.Color(0,1,0,1),un=new t.Color(0,0,1,1),hn=new t.Color(1,0,1,1),fn=new t.Color(0,1,1,1);function pn(t,e,r,n){gn(t,0,e+r/2,t.transform.width,r,n)}function dn(t,e,r,n){gn(t,e-r/2,0,r,t.transform.height,n)}function gn(e,r,n,a,i,o){var s=e.context,l=s.gl;l.enable(l.SCISSOR_TEST),l.scissor(r*t.browser.devicePixelRatio,n*t.browser.devicePixelRatio,a*t.browser.devicePixelRatio,i*t.browser.devicePixelRatio),s.clear({color:o}),l.disable(l.SCISSOR_TEST)}function mn(e,r,n){var a=e.context,i=a.gl,o=n.posMatrix,s=e.useProgram(\"debug\"),l=At.disabled,c=Mt.disabled,u=e.colorModeForRenderPass();a.activeTexture.set(i.TEXTURE0),e.emptyTexture.bind(i.LINEAR,i.CLAMP_TO_EDGE),s.draw(a,i.LINE_STRIP,l,c,u,Et.disabled,Pr(o,t.Color.red),\"$debug\",e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments);var h=r.getTileByID(n.key).latestRawTileData,f=Math.floor((h&&h.byteLength||0)/1024),p=r.getTile(n).tileSize,d=512/Math.min(p,512)*(n.overscaledZ/e.transform.zoom)*.5,g=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(g+=\" => \"+n.overscaledZ),function(t,e){t.initDebugOverlayCanvas();var r=t.debugOverlayCanvas,n=t.context.gl,a=t.debugOverlayCanvas.getContext(\"2d\");a.clearRect(0,0,r.width,r.height),a.shadowColor=\"white\",a.shadowBlur=2,a.lineWidth=1.5,a.strokeStyle=\"white\",a.textBaseline=\"top\",a.font=\"bold 36px Open Sans, sans-serif\",a.fillText(e,5,5),a.strokeText(e,5,5),t.debugOverlayTexture.update(r),t.debugOverlayTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}(e,g+\" \"+f+\"kb\"),s.draw(a,i.TRIANGLES,l,c,St.alphaBlended,Et.disabled,Pr(o,t.Color.transparent,d),\"$debug\",e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments)}var vn={symbol:function(e,r,n,a,i){if(\"translucent\"===e.renderPass){var o=Mt.disabled,s=e.colorModeForRenderPass();n.layout.get(\"text-variable-anchor\")&&function(e,r,n,a,i,o,s){for(var l=r.transform,c=\"map\"===i,u=\"map\"===o,h=0,f=e;h<f.length;h+=1){var p=f[h],d=a.getTile(p),g=d.getBucket(n);if(g&&g.text&&g.text.segments.get().length){var m=t.evaluateSizeForZoom(g.textSizeData,l.zoom),v=fe(d,1,r.transform.zoom),y=Kt(p.posMatrix,u,c,r.transform,v),x=\"none\"!==n.layout.get(\"icon-text-fit\")&&g.hasIconData();if(m){var b=Math.pow(2,l.zoom-d.tileID.overscaledZ);Qr(g,c,u,s,t.symbolSize,l,y,p.posMatrix,b,m,x)}}}}(a,e,n,r,n.layout.get(\"text-rotation-alignment\"),n.layout.get(\"text-pitch-alignment\"),i),0!==n.paint.get(\"icon-opacity\").constantOr(1)&&tn(e,r,n,a,!1,n.paint.get(\"icon-translate\"),n.paint.get(\"icon-translate-anchor\"),n.layout.get(\"icon-rotation-alignment\"),n.layout.get(\"icon-pitch-alignment\"),n.layout.get(\"icon-keep-upright\"),o,s),0!==n.paint.get(\"text-opacity\").constantOr(1)&&tn(e,r,n,a,!0,n.paint.get(\"text-translate\"),n.paint.get(\"text-translate-anchor\"),n.layout.get(\"text-rotation-alignment\"),n.layout.get(\"text-pitch-alignment\"),n.layout.get(\"text-keep-upright\"),o,s),r.map.showCollisionBoxes&&(Xr(e,r,n,a,n.paint.get(\"text-translate\"),n.paint.get(\"text-translate-anchor\"),!0),Xr(e,r,n,a,n.paint.get(\"icon-translate\"),n.paint.get(\"icon-translate-anchor\"),!1))}},circle:function(e,r,n,a){if(\"translucent\"===e.renderPass){var i=n.paint.get(\"circle-opacity\"),o=n.paint.get(\"circle-stroke-width\"),s=n.paint.get(\"circle-stroke-opacity\"),l=void 0!==n.layout.get(\"circle-sort-key\").constantOr(1);if(0!==i.constantOr(1)||0!==o.constantOr(1)&&0!==s.constantOr(1)){for(var c=e.context,u=c.gl,h=e.depthModeForSublayer(0,At.ReadOnly),f=Mt.disabled,p=e.colorModeForRenderPass(),d=[],g=0;g<a.length;g++){var m=a[g],v=r.getTile(m),y=v.getBucket(n);if(y){var x=y.programConfigurations.get(n.id),b={programConfiguration:x,program:e.useProgram(\"circle\",x),layoutVertexBuffer:y.layoutVertexBuffer,indexBuffer:y.indexBuffer,uniformValues:Er(e,m,v,n)};if(l)for(var _=0,w=y.segments.get();_<w.length;_+=1){var T=w[_];d.push({segments:new t.SegmentVector([T]),sortKey:T.sortKey,state:b})}else d.push({segments:y.segments,sortKey:0,state:b})}}l&&d.sort((function(t,e){return t.sortKey-e.sortKey}));for(var k=0,A=d;k<A.length;k+=1){var M=A[k],S=M.state;S.program.draw(c,u.TRIANGLES,h,f,p,Et.disabled,S.uniformValues,n.id,S.layoutVertexBuffer,S.indexBuffer,M.segments,n.paint,e.transform.zoom,S.programConfiguration)}}}},heatmap:function(e,r,n,a){if(0!==n.paint.get(\"heatmap-opacity\"))if(\"offscreen\"===e.renderPass){var i=e.context,o=i.gl,s=Mt.disabled,l=new St([o.ONE,o.ONE],t.Color.transparent,[!0,!0,!0,!0]);!function(t,e,r){var n=t.gl;t.activeTexture.set(n.TEXTURE1),t.viewport.set([0,0,e.width/4,e.height/4]);var a=r.heatmapFbo;if(a)n.bindTexture(n.TEXTURE_2D,a.colorAttachment.get()),t.bindFramebuffer.set(a.framebuffer);else{var i=n.createTexture();n.bindTexture(n.TEXTURE_2D,i),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.LINEAR),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.LINEAR),a=r.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4,!1),function(t,e,r,n){var a=t.gl;a.texImage2D(a.TEXTURE_2D,0,a.RGBA,e.width/4,e.height/4,0,a.RGBA,t.extRenderToTextureHalfFloat?t.extTextureHalfFloat.HALF_FLOAT_OES:a.UNSIGNED_BYTE,null),n.colorAttachment.set(r)}(t,e,i,a)}}(i,e,n),i.clear({color:t.Color.transparent});for(var c=0;c<a.length;c++){var u=a[c];if(!r.hasRenderableParent(u)){var h=r.getTile(u),f=h.getBucket(n);if(f){var p=f.programConfigurations.get(n.id);e.useProgram(\"heatmap\",p).draw(i,o.TRIANGLES,At.disabled,s,l,Et.disabled,zr(u.posMatrix,h,e.transform.zoom,n.paint.get(\"heatmap-intensity\")),n.id,f.layoutVertexBuffer,f.indexBuffer,f.segments,n.paint,e.transform.zoom,p)}}}i.viewport.set([0,0,e.width,e.height])}else\"translucent\"===e.renderPass&&(e.context.setColorMode(e.colorModeForRenderPass()),function(e,r){var n=e.context,a=n.gl,i=r.heatmapFbo;if(i){n.activeTexture.set(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,i.colorAttachment.get()),n.activeTexture.set(a.TEXTURE1);var o=r.colorRampTexture;o||(o=r.colorRampTexture=new t.Texture(n,r.colorRamp,a.RGBA)),o.bind(a.LINEAR,a.CLAMP_TO_EDGE),e.useProgram(\"heatmapTexture\").draw(n,a.TRIANGLES,At.disabled,Mt.disabled,e.colorModeForRenderPass(),Et.disabled,function(e,r,n,a){var i=t.create();t.ortho(i,0,e.width,e.height,0,0,1);var o=e.context.gl;return{u_matrix:i,u_world:[o.drawingBufferWidth,o.drawingBufferHeight],u_image:0,u_color_ramp:1,u_opacity:r.paint.get(\"heatmap-opacity\")}}(e,r),r.id,e.viewportBuffer,e.quadTriangleIndexBuffer,e.viewportSegments,r.paint,e.transform.zoom)}}(e,n))},line:function(e,r,n,a){if(\"translucent\"===e.renderPass){var i=n.paint.get(\"line-opacity\"),o=n.paint.get(\"line-width\");if(0!==i.constantOr(1)&&0!==o.constantOr(1)){var s=e.depthModeForSublayer(0,At.ReadOnly),l=e.colorModeForRenderPass(),c=n.paint.get(\"line-dasharray\"),u=n.paint.get(\"line-pattern\"),h=u.constantOr(1),f=n.paint.get(\"line-gradient\"),p=n.getCrossfadeParameters(),d=h?\"linePattern\":c?\"lineSDF\":f?\"lineGradient\":\"line\",g=e.context,m=g.gl,v=!0;if(f){g.activeTexture.set(m.TEXTURE0);var y=n.gradientTexture;if(!n.gradient)return;y||(y=n.gradientTexture=new t.Texture(g,n.gradient,m.RGBA)),y.bind(m.LINEAR,m.CLAMP_TO_EDGE)}for(var x=0,b=a;x<b.length;x+=1){var _=b[x],w=r.getTile(_);if(!h||w.patternsLoaded()){var T=w.getBucket(n);if(T){var k=T.programConfigurations.get(n.id),A=e.context.program.get(),M=e.useProgram(d,k),S=v||M.program!==A,E=u.constantOr(null);if(E&&w.imageAtlas){var C=w.imageAtlas,L=C.patternPositions[E.to.toString()],P=C.patternPositions[E.from.toString()];L&&P&&k.setConstantPatternPositions(L,P)}var I=h?Rr(e,w,n,p):c?Fr(e,w,n,c,p):f?Dr(e,w,n):Or(e,w,n);h?(g.activeTexture.set(m.TEXTURE0),w.imageAtlasTexture.bind(m.LINEAR,m.CLAMP_TO_EDGE),k.updatePaintBuffers(p)):c&&(S||e.lineAtlas.dirty)&&(g.activeTexture.set(m.TEXTURE0),e.lineAtlas.bind(g)),M.draw(g,m.TRIANGLES,s,e.stencilModeForClipping(_),l,Et.disabled,I,n.id,T.layoutVertexBuffer,T.indexBuffer,T.segments,n.paint,e.transform.zoom,k),v=!1}}}}}},fill:function(e,r,n,a){var i=n.paint.get(\"fill-color\"),o=n.paint.get(\"fill-opacity\");if(0!==o.constantOr(1)){var s=e.colorModeForRenderPass(),l=n.paint.get(\"fill-pattern\"),c=e.opaquePassEnabledForLayer()&&!l.constantOr(1)&&1===i.constantOr(t.Color.transparent).a&&1===o.constantOr(0)?\"opaque\":\"translucent\";if(e.renderPass===c){var u=e.depthModeForSublayer(1,\"opaque\"===e.renderPass?At.ReadWrite:At.ReadOnly);rn(e,r,n,a,u,s,!1)}if(\"translucent\"===e.renderPass&&n.paint.get(\"fill-antialias\")){var h=e.depthModeForSublayer(n.getPaintProperty(\"fill-outline-color\")?2:0,At.ReadOnly);rn(e,r,n,a,h,s,!0)}}},\"fill-extrusion\":function(t,e,r,n){var a=r.paint.get(\"fill-extrusion-opacity\");if(0!==a&&\"translucent\"===t.renderPass){var i=new At(t.context.gl.LEQUAL,At.ReadWrite,t.depthRangeFor3D);if(1!==a||r.paint.get(\"fill-extrusion-pattern\").constantOr(1))nn(t,e,r,n,i,Mt.disabled,St.disabled),nn(t,e,r,n,i,t.stencilModeFor3D(),t.colorModeForRenderPass());else{var o=t.colorModeForRenderPass();nn(t,e,r,n,i,Mt.disabled,o)}}},hillshade:function(t,e,r,n){if(\"offscreen\"===t.renderPass||\"translucent\"===t.renderPass){for(var a=t.context,i=e.getSource().maxzoom,o=t.depthModeForSublayer(0,At.ReadOnly),s=t.colorModeForRenderPass(),l=\"translucent\"===t.renderPass?t.stencilConfigForOverlap(n):[{},n],c=l[0],u=0,h=l[1];u<h.length;u+=1){var f=h[u],p=e.getTile(f);p.needsHillshadePrepare&&\"offscreen\"===t.renderPass?on(t,p,r,i,o,Mt.disabled,s):\"translucent\"===t.renderPass&&an(t,p,r,o,c[f.overscaledZ],s)}a.viewport.set([0,0,t.width,t.height])}},raster:function(t,e,r,n){if(\"translucent\"===t.renderPass&&0!==r.paint.get(\"raster-opacity\")&&n.length)for(var a=t.context,i=a.gl,o=e.getSource(),s=t.useProgram(\"raster\"),l=t.colorModeForRenderPass(),c=o instanceof I?[{},n]:t.stencilConfigForOverlap(n),u=c[0],h=c[1],f=h[h.length-1].overscaledZ,p=!t.options.moving,d=0,g=h;d<g.length;d+=1){var m=g[d],v=t.depthModeForSublayer(m.overscaledZ-f,1===r.paint.get(\"raster-opacity\")?At.ReadWrite:At.ReadOnly,i.LESS),y=e.getTile(m),x=t.transform.calculatePosMatrix(m.toUnwrapped(),p);y.registerFadeDuration(r.paint.get(\"raster-fade-duration\"));var b=e.findLoadedParent(m,0),_=sn(y,b,e,r,t.transform),w=void 0,T=void 0,k=\"nearest\"===r.paint.get(\"raster-resampling\")?i.NEAREST:i.LINEAR;a.activeTexture.set(i.TEXTURE0),y.texture.bind(k,i.CLAMP_TO_EDGE,i.LINEAR_MIPMAP_NEAREST),a.activeTexture.set(i.TEXTURE1),b?(b.texture.bind(k,i.CLAMP_TO_EDGE,i.LINEAR_MIPMAP_NEAREST),w=Math.pow(2,b.tileID.overscaledZ-y.tileID.overscaledZ),T=[y.tileID.canonical.x*w%1,y.tileID.canonical.y*w%1]):y.texture.bind(k,i.CLAMP_TO_EDGE,i.LINEAR_MIPMAP_NEAREST);var A=jr(x,T||[0,0],w||1,_,r);o instanceof I?s.draw(a,i.TRIANGLES,v,Mt.disabled,l,Et.disabled,A,r.id,o.boundsBuffer,t.quadTriangleIndexBuffer,o.boundsSegments):s.draw(a,i.TRIANGLES,v,u[m.overscaledZ],l,Et.disabled,A,r.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments)}},background:function(t,e,r){var n=r.paint.get(\"background-color\"),a=r.paint.get(\"background-opacity\");if(0!==a){var i=t.context,o=i.gl,s=t.transform,l=s.tileSize,c=r.paint.get(\"background-pattern\");if(!t.isPatternMissing(c)){var u=!c&&1===n.a&&1===a&&t.opaquePassEnabledForLayer()?\"opaque\":\"translucent\";if(t.renderPass===u){var h=Mt.disabled,f=t.depthModeForSublayer(0,\"opaque\"===u?At.ReadWrite:At.ReadOnly),p=t.colorModeForRenderPass(),d=t.useProgram(c?\"backgroundPattern\":\"background\"),g=s.coveringTiles({tileSize:l});c&&(i.activeTexture.set(o.TEXTURE0),t.imageManager.bind(t.context));for(var m=r.getCrossfadeParameters(),v=0,y=g;v<y.length;v+=1){var x=y[v],b=t.transform.calculatePosMatrix(x.toUnwrapped()),_=c?Wr(b,a,t,c,{tileID:x,tileSize:l},m):Yr(b,a,n);d.draw(i,o.TRIANGLES,f,h,p,Et.disabled,_,r.id,t.tileExtentBuffer,t.quadTriangleIndexBuffer,t.tileExtentSegments)}}}}},debug:function(t,e,r){for(var n=0;n<r.length;n++)mn(t,e,r[n])},custom:function(t,e,r){var n=t.context,a=r.implementation;if(\"offscreen\"===t.renderPass){var i=a.prerender;i&&(t.setCustomLayerDefaults(),n.setColorMode(t.colorModeForRenderPass()),i.call(a,n.gl,t.transform.customLayerMatrix()),n.setDirty(),t.setBaseState())}else if(\"translucent\"===t.renderPass){t.setCustomLayerDefaults(),n.setColorMode(t.colorModeForRenderPass()),n.setStencilMode(Mt.disabled);var o=\"3d\"===a.renderingMode?new At(t.context.gl.LEQUAL,At.ReadWrite,t.depthRangeFor3D):t.depthModeForSublayer(0,At.ReadOnly);n.setDepthMode(o),a.render(n.gl,t.transform.customLayerMatrix()),n.setDirty(),t.setBaseState(),n.bindFramebuffer.set(null)}}},yn=function(t,e){this.context=new Ct(t),this.transform=e,this._tileTextures={},this.setup(),this.numSublayers=Lt.maxUnderzooming+Lt.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Be,this.gpuTimers={}};yn.prototype.resize=function(e,r){if(this.width=e*t.browser.devicePixelRatio,this.height=r*t.browser.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var n=0,a=this.style._order;n<a.length;n+=1)this.style._layers[a[n]].resize()},yn.prototype.setup=function(){var e=this.context,r=new t.StructArrayLayout2i4;r.emplaceBack(0,0),r.emplaceBack(t.EXTENT,0),r.emplaceBack(0,t.EXTENT),r.emplaceBack(t.EXTENT,t.EXTENT),this.tileExtentBuffer=e.createVertexBuffer(r,He.members),this.tileExtentSegments=t.SegmentVector.simpleSegment(0,0,4,2);var n=new t.StructArrayLayout2i4;n.emplaceBack(0,0),n.emplaceBack(t.EXTENT,0),n.emplaceBack(0,t.EXTENT),n.emplaceBack(t.EXTENT,t.EXTENT),this.debugBuffer=e.createVertexBuffer(n,He.members),this.debugSegments=t.SegmentVector.simpleSegment(0,0,4,5);var a=new t.StructArrayLayout4i8;a.emplaceBack(0,0,0,0),a.emplaceBack(t.EXTENT,0,t.EXTENT,0),a.emplaceBack(0,t.EXTENT,0,t.EXTENT),a.emplaceBack(t.EXTENT,t.EXTENT,t.EXTENT,t.EXTENT),this.rasterBoundsBuffer=e.createVertexBuffer(a,P.members),this.rasterBoundsSegments=t.SegmentVector.simpleSegment(0,0,4,2);var i=new t.StructArrayLayout2i4;i.emplaceBack(0,0),i.emplaceBack(1,0),i.emplaceBack(0,1),i.emplaceBack(1,1),this.viewportBuffer=e.createVertexBuffer(i,He.members),this.viewportSegments=t.SegmentVector.simpleSegment(0,0,4,2);var o=new t.StructArrayLayout1ui2;o.emplaceBack(0),o.emplaceBack(1),o.emplaceBack(3),o.emplaceBack(2),o.emplaceBack(0),this.tileBorderIndexBuffer=e.createIndexBuffer(o);var s=new t.StructArrayLayout3ui6;s.emplaceBack(0,1,2),s.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=e.createIndexBuffer(s),this.emptyTexture=new t.Texture(e,{width:1,height:1,data:new Uint8Array([0,0,0,0])},e.gl.RGBA);var l=this.context.gl;this.stencilClearMode=new Mt({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO)},yn.prototype.clearStencil=function(){var e=this.context,r=e.gl;this.nextStencilID=1,this.currentStencilSource=void 0;var n=t.create();t.ortho(n,0,this.width,this.height,0,0,1),t.scale(n,n,[r.drawingBufferWidth,r.drawingBufferHeight,0]),this.useProgram(\"clippingMask\").draw(e,r.TRIANGLES,At.disabled,this.stencilClearMode,St.disabled,Et.disabled,Ir(n),\"$clipping\",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)},yn.prototype._renderTileClippingMasks=function(t,e){if(this.currentStencilSource!==t.source&&t.isTileClipped()&&e&&e.length){this.currentStencilSource=t.source;var r=this.context,n=r.gl;this.nextStencilID+e.length>256&&this.clearStencil(),r.setColorMode(St.disabled),r.setDepthMode(At.disabled);var a=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(var i=0,o=e;i<o.length;i+=1){var s=o[i],l=this._tileClippingMaskIDs[s.key]=this.nextStencilID++;a.draw(r,n.TRIANGLES,At.disabled,new Mt({func:n.ALWAYS,mask:0},l,255,n.KEEP,n.KEEP,n.REPLACE),St.disabled,Et.disabled,Ir(s.posMatrix),\"$clipping\",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}},yn.prototype.stencilModeFor3D=function(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();var t=this.nextStencilID++,e=this.context.gl;return new Mt({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)},yn.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new Mt({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},yn.prototype.stencilConfigForOverlap=function(t){var e,r=this.context.gl,n=t.sort((function(t,e){return e.overscaledZ-t.overscaledZ})),a=n[n.length-1].overscaledZ,i=n[0].overscaledZ-a+1;if(i>1){this.currentStencilSource=void 0,this.nextStencilID+i>256&&this.clearStencil();for(var o={},s=0;s<i;s++)o[s+a]=new Mt({func:r.GEQUAL,mask:255},s+this.nextStencilID,255,r.KEEP,r.KEEP,r.REPLACE);return this.nextStencilID+=i,[o,n]}return[(e={},e[a]=Mt.disabled,e),n]},yn.prototype.colorModeForRenderPass=function(){var e=this.context.gl;return this._showOverdrawInspector?new St([e.CONSTANT_COLOR,e.ONE],new t.Color(1/8,1/8,1/8,0),[!0,!0,!0,!0]):\"opaque\"===this.renderPass?St.unblended:St.alphaBlended},yn.prototype.depthModeForSublayer=function(t,e,r){if(!this.opaquePassEnabledForLayer())return At.disabled;var n=1-((1+this.currentLayer)*this.numSublayers+t)*this.depthEpsilon;return new At(r||this.context.gl.LEQUAL,e,[n,n])},yn.prototype.opaquePassEnabledForLayer=function(){return this.currentLayer<this.opaquePassCutoff},yn.prototype.render=function(e,r){var n=this;this.style=e,this.options=r,this.lineAtlas=e.lineAtlas,this.imageManager=e.imageManager,this.glyphManager=e.glyphManager,this.symbolFadeChange=e.placement.symbolFadeChange(t.browser.now()),this.imageManager.beginFrame();var a=this.style._order,i=this.style.sourceCaches;for(var o in i){var s=i[o];s.used&&s.prepare(this.context)}var l,c,u={},h={},f={};for(var p in i){var d=i[p];u[p]=d.getVisibleCoordinates(),h[p]=u[p].slice().reverse(),f[p]=d.getVisibleCoordinates(!0).reverse()}this.opaquePassCutoff=1/0;for(var g=0;g<a.length;g++)if(this.style._layers[a[g]].is3D()){this.opaquePassCutoff=g;break}this.renderPass=\"offscreen\";for(var m=0,v=a;m<v.length;m+=1){var y=this.style._layers[v[m]];if(y.hasOffscreenPass()&&!y.isHidden(this.transform.zoom)){var x=h[y.source];(\"custom\"===y.type||x.length)&&this.renderLayer(this,i[y.source],y,x)}}for(this.context.bindFramebuffer.set(null),this.context.clear({color:r.showOverdrawInspector?t.Color.black:t.Color.transparent,depth:1}),this.clearStencil(),this._showOverdrawInspector=r.showOverdrawInspector,this.depthRangeFor3D=[0,1-(e._order.length+2)*this.numSublayers*this.depthEpsilon],this.renderPass=\"opaque\",this.currentLayer=a.length-1;this.currentLayer>=0;this.currentLayer--){var b=this.style._layers[a[this.currentLayer]],_=i[b.source],w=u[b.source];this._renderTileClippingMasks(b,w),this.renderLayer(this,_,b,w)}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayer<a.length;this.currentLayer++){var T=this.style._layers[a[this.currentLayer]],k=i[T.source],A=(\"symbol\"===T.type?f:h)[T.source];this._renderTileClippingMasks(T,u[T.source]),this.renderLayer(this,k,T,A)}this.options.showTileBoundaries&&(t.values(this.style._layers).forEach((function(t){t.source&&!t.isHidden(n.transform.zoom)&&(t.source!==(c&&c.id)&&(c=n.style.sourceCaches[t.source]),(!l||l.getSource().maxzoom<c.getSource().maxzoom)&&(l=c))})),l&&vn.debug(this,l,l.getVisibleCoordinates())),this.options.showPadding&&function(t){var e=t.transform.padding;pn(t,t.transform.height-(e.top||0),3,ln),pn(t,e.bottom||0,3,cn),dn(t,e.left||0,3,un),dn(t,t.transform.width-(e.right||0),3,hn);var r=t.transform.centerPoint;!function(t,e,r,n){gn(t,e-1,r-10,2,20,n),gn(t,e-10,r-1,20,2,n)}(t,r.x,t.transform.height-r.y,fn)}(this),this.context.setDefault()},yn.prototype.renderLayer=function(t,e,r,n){r.isHidden(this.transform.zoom)||(\"background\"===r.type||\"custom\"===r.type||n.length)&&(this.id=r.id,this.gpuTimingStart(r),vn[r.type](t,e,r,n,this.style.placement.variableOffsets),this.gpuTimingEnd())},yn.prototype.gpuTimingStart=function(t){if(this.options.gpuTiming){var e=this.context.extTimerQuery,r=this.gpuTimers[t.id];r||(r=this.gpuTimers[t.id]={calls:0,cpuTime:0,query:e.createQueryEXT()}),r.calls++,e.beginQueryEXT(e.TIME_ELAPSED_EXT,r.query)}},yn.prototype.gpuTimingEnd=function(){if(this.options.gpuTiming){var t=this.context.extTimerQuery;t.endQueryEXT(t.TIME_ELAPSED_EXT)}},yn.prototype.collectGpuTimers=function(){var t=this.gpuTimers;return this.gpuTimers={},t},yn.prototype.queryGpuTimers=function(t){var e={};for(var r in t){var n=t[r],a=this.context.extTimerQuery,i=a.getQueryObjectEXT(n.query,a.QUERY_RESULT_EXT)/1e6;a.deleteQueryEXT(n.query),e[r]=i}return e},yn.prototype.translatePosMatrix=function(e,r,n,a,i){if(!n[0]&&!n[1])return e;var o=i?\"map\"===a?this.transform.angle:0:\"viewport\"===a?-this.transform.angle:0;if(o){var s=Math.sin(o),l=Math.cos(o);n=[n[0]*l-n[1]*s,n[0]*s+n[1]*l]}var c=[i?n[0]:fe(r,n[0],this.transform.zoom),i?n[1]:fe(r,n[1],this.transform.zoom),0],u=new Float32Array(16);return t.translate(u,e,c),u},yn.prototype.saveTileTexture=function(t){var e=this._tileTextures[t.size[0]];e?e.push(t):this._tileTextures[t.size[0]]=[t]},yn.prototype.getTileTexture=function(t){var e=this._tileTextures[t];return e&&e.length>0?e.pop():null},yn.prototype.isPatternMissing=function(t){if(!t)return!1;if(!t.from||!t.to)return!0;var e=this.imageManager.getPattern(t.from.toString()),r=this.imageManager.getPattern(t.to.toString());return!e||!r},yn.prototype.useProgram=function(t,e){this.cache=this.cache||{};var r=\"\"+t+(e?e.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\");return this.cache[r]||(this.cache[r]=new br(this.context,yr[t],e,Zr[t],this._showOverdrawInspector)),this.cache[r]},yn.prototype.setCustomLayerDefaults=function(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()},yn.prototype.setBaseState=function(){var t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD)},yn.prototype.initDebugOverlayCanvas=function(){null==this.debugOverlayCanvas&&(this.debugOverlayCanvas=t.window.document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new t.Texture(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))},yn.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var xn=function(t,e){this.points=t,this.planes=e};xn.fromInvProjectionMatrix=function(e,r,n){var a=Math.pow(2,n),i=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((function(r){return t.transformMat4([],r,e)})).map((function(e){return t.scale$1([],e,1/e[3]/r*a)})),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((function(e){var r=t.sub([],i[e[0]],i[e[1]]),n=t.sub([],i[e[2]],i[e[1]]),a=t.normalize([],t.cross([],r,n)),o=-t.dot(a,i[e[1]]);return a.concat(o)}));return new xn(i,o)};var bn=function(e,r){this.min=e,this.max=r,this.center=t.scale$2([],t.add([],this.min,this.max),.5)};bn.prototype.quadrant=function(e){for(var r=[e%2==0,e<2],n=t.clone$2(this.min),a=t.clone$2(this.max),i=0;i<r.length;i++)n[i]=r[i]?this.min[i]:this.center[i],a[i]=r[i]?this.center[i]:this.max[i];return a[2]=this.max[2],new bn(n,a)},bn.prototype.distanceX=function(t){return Math.max(Math.min(this.max[0],t[0]),this.min[0])-t[0]},bn.prototype.distanceY=function(t){return Math.max(Math.min(this.max[1],t[1]),this.min[1])-t[1]},bn.prototype.intersects=function(e){for(var r=[[this.min[0],this.min[1],0,1],[this.max[0],this.min[1],0,1],[this.max[0],this.max[1],0,1],[this.min[0],this.max[1],0,1]],n=!0,a=0;a<e.planes.length;a++){for(var i=e.planes[a],o=0,s=0;s<r.length;s++)o+=t.dot$1(i,r[s])>=0;if(0===o)return 0;o!==r.length&&(n=!1)}if(n)return 2;for(var l=0;l<3;l++){for(var c=Number.MAX_VALUE,u=-Number.MAX_VALUE,h=0;h<e.points.length;h++){var f=e.points[h][l]-this.min[l];c=Math.min(c,f),u=Math.max(u,f)}if(u<0||c>this.max[l]-this.min[l])return 0}return 1};var _n=function(t,e,r,n){if(void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),void 0===n&&(n=0),isNaN(t)||t<0||isNaN(e)||e<0||isNaN(r)||r<0||isNaN(n)||n<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=t,this.bottom=e,this.left=r,this.right=n};_n.prototype.interpolate=function(e,r,n){return null!=r.top&&null!=e.top&&(this.top=t.number(e.top,r.top,n)),null!=r.bottom&&null!=e.bottom&&(this.bottom=t.number(e.bottom,r.bottom,n)),null!=r.left&&null!=e.left&&(this.left=t.number(e.left,r.left,n)),null!=r.right&&null!=e.right&&(this.right=t.number(e.right,r.right,n)),this},_n.prototype.getCenter=function(e,r){var n=t.clamp((this.left+e-this.right)/2,0,e),a=t.clamp((this.top+r-this.bottom)/2,0,r);return new t.Point(n,a)},_n.prototype.equals=function(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right},_n.prototype.clone=function(){return new _n(this.top,this.bottom,this.left,this.right)},_n.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var wn=function(e,r,n,a,i){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=void 0===i||i,this._minZoom=e||0,this._maxZoom=r||22,this._minPitch=null==n?0:n,this._maxPitch=null==a?60:a,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new _n,this._posMatrixCache={},this._alignedPosMatrixCache={}},Tn={minZoom:{configurable:!0},maxZoom:{configurable:!0},minPitch:{configurable:!0},maxPitch:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerOffset:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},padding:{configurable:!0},centerPoint:{configurable:!0},unmodified:{configurable:!0},point:{configurable:!0}};wn.prototype.clone=function(){var t=new wn(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._edgeInsets=this._edgeInsets.clone(),t._calcMatrices(),t},Tn.minZoom.get=function(){return this._minZoom},Tn.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},Tn.maxZoom.get=function(){return this._maxZoom},Tn.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},Tn.minPitch.get=function(){return this._minPitch},Tn.minPitch.set=function(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t))},Tn.maxPitch.get=function(){return this._maxPitch},Tn.maxPitch.set=function(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t))},Tn.renderWorldCopies.get=function(){return this._renderWorldCopies},Tn.renderWorldCopies.set=function(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t},Tn.worldSize.get=function(){return this.tileSize*this.scale},Tn.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},Tn.size.get=function(){return new t.Point(this.width,this.height)},Tn.bearing.get=function(){return-this.angle/Math.PI*180},Tn.bearing.set=function(e){var r=-t.wrap(e,-180,180)*Math.PI/180;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=t.create$2(),t.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},Tn.pitch.get=function(){return this._pitch/Math.PI*180},Tn.pitch.set=function(e){var r=t.clamp(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())},Tn.fov.get=function(){return this._fov/Math.PI*180},Tn.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},Tn.zoom.get=function(){return this._zoom},Tn.zoom.set=function(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._constrain(),this._calcMatrices())},Tn.center.get=function(){return this._center},Tn.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},Tn.padding.get=function(){return this._edgeInsets.toJSON()},Tn.padding.set=function(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices())},Tn.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},wn.prototype.isPaddingEqual=function(t){return this._edgeInsets.equals(t)},wn.prototype.interpolatePadding=function(t,e,r){this._unmodified=!1,this._edgeInsets.interpolate(t,e,r),this._constrain(),this._calcMatrices()},wn.prototype.coveringZoomLevel=function(t){var e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)},wn.prototype.getVisibleUnwrappedCoordinates=function(e){var r=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies)for(var n=this.pointCoordinate(new t.Point(0,0)),a=this.pointCoordinate(new t.Point(this.width,0)),i=this.pointCoordinate(new t.Point(this.width,this.height)),o=this.pointCoordinate(new t.Point(0,this.height)),s=Math.floor(Math.min(n.x,a.x,i.x,o.x)),l=Math.floor(Math.max(n.x,a.x,i.x,o.x)),c=s-1;c<=l+1;c++)0!==c&&r.push(new t.UnwrappedTileID(c,e));return r},wn.prototype.coveringTiles=function(e){var r=this.coveringZoomLevel(e),n=r;if(void 0!==e.minzoom&&r<e.minzoom)return[];void 0!==e.maxzoom&&r>e.maxzoom&&(r=e.maxzoom);var a=t.MercatorCoordinate.fromLngLat(this.center),i=Math.pow(2,r),o=[i*a.x,i*a.y,0],s=xn.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,r),l=e.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(l=r);var c=function(t){return{aabb:new bn([t*i,0,0],[(t+1)*i,i,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}},u=[],h=[],f=r,p=e.reparseOverscaled?n:r;if(this._renderWorldCopies)for(var d=1;d<=3;d++)u.push(c(-d)),u.push(c(d));for(u.push(c(0));u.length>0;){var g=u.pop(),m=g.x,v=g.y,y=g.fullyVisible;if(!y){var x=g.aabb.intersects(s);if(0===x)continue;y=2===x}var b=g.aabb.distanceX(o),_=g.aabb.distanceY(o),w=Math.max(Math.abs(b),Math.abs(_));if(g.zoom===f||w>3+(1<<f-g.zoom)-2&&g.zoom>=l)h.push({tileID:new t.OverscaledTileID(g.zoom===f?p:g.zoom,g.wrap,g.zoom,m,v),distanceSq:t.sqrLen([o[0]-.5-m,o[1]-.5-v])});else for(var T=0;T<4;T++){var k=(m<<1)+T%2,A=(v<<1)+(T>>1);u.push({aabb:g.aabb.quadrant(T),zoom:g.zoom+1,x:k,y:A,wrap:g.wrap,fullyVisible:y})}}return h.sort((function(t,e){return t.distanceSq-e.distanceSq})).map((function(t){return t.tileID}))},wn.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()},Tn.unmodified.get=function(){return this._unmodified},wn.prototype.zoomScale=function(t){return Math.pow(2,t)},wn.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},wn.prototype.project=function(e){var r=t.clamp(e.lat,-this.maxValidLatitude,this.maxValidLatitude);return new t.Point(t.mercatorXfromLng(e.lng)*this.worldSize,t.mercatorYfromLat(r)*this.worldSize)},wn.prototype.unproject=function(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()},Tn.point.get=function(){return this.project(this.center)},wn.prototype.setLocationAtPoint=function(e,r){var n=this.pointCoordinate(r),a=this.pointCoordinate(this.centerPoint),i=this.locationCoordinate(e),o=new t.MercatorCoordinate(i.x-(n.x-a.x),i.y-(n.y-a.y));this.center=this.coordinateLocation(o),this._renderWorldCopies&&(this.center=this.center.wrap())},wn.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},wn.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},wn.prototype.locationCoordinate=function(e){return t.MercatorCoordinate.fromLngLat(e)},wn.prototype.coordinateLocation=function(t){return t.toLngLat()},wn.prototype.pointCoordinate=function(e){var r=[e.x,e.y,0,1],n=[e.x,e.y,1,1];t.transformMat4(r,r,this.pixelMatrixInverse),t.transformMat4(n,n,this.pixelMatrixInverse);var a=r[3],i=n[3],o=r[1]/a,s=n[1]/i,l=r[2]/a,c=n[2]/i,u=l===c?0:(0-l)/(c-l);return new t.MercatorCoordinate(t.number(r[0]/a,n[0]/i,u)/this.worldSize,t.number(o,s,u)/this.worldSize)},wn.prototype.coordinatePoint=function(e){var r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix),new t.Point(r[0]/r[3],r[1]/r[3])},wn.prototype.getBounds=function(){return(new t.LngLatBounds).extend(this.pointLocation(new t.Point(0,0))).extend(this.pointLocation(new t.Point(this.width,0))).extend(this.pointLocation(new t.Point(this.width,this.height))).extend(this.pointLocation(new t.Point(0,this.height)))},wn.prototype.getMaxBounds=function(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new t.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null},wn.prototype.setMaxBounds=function(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},wn.prototype.calculatePosMatrix=function(e,r){void 0===r&&(r=!1);var n=e.key,a=r?this._alignedPosMatrixCache:this._posMatrixCache;if(a[n])return a[n];var i=e.canonical,o=this.worldSize/this.zoomScale(i.z),s=i.x+Math.pow(2,i.z)*e.wrap,l=t.identity(new Float64Array(16));return t.translate(l,l,[s*o,i.y*o,0]),t.scale(l,l,[o/t.EXTENT,o/t.EXTENT,1]),t.multiply(l,r?this.alignedProjMatrix:this.projMatrix,l),a[n]=new Float32Array(l),a[n]},wn.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},wn.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var e,r,n,a,i=-90,o=90,s=-180,l=180,c=this.size,u=this._unmodified;if(this.latRange){var h=this.latRange;i=t.mercatorYfromLat(h[1])*this.worldSize,e=(o=t.mercatorYfromLat(h[0])*this.worldSize)-i<c.y?c.y/(o-i):0}if(this.lngRange){var f=this.lngRange;s=t.mercatorXfromLng(f[0])*this.worldSize,r=(l=t.mercatorXfromLng(f[1])*this.worldSize)-s<c.x?c.x/(l-s):0}var p=this.point,d=Math.max(r||0,e||0);if(d)return this.center=this.unproject(new t.Point(r?(l+s)/2:p.x,e?(o+i)/2:p.y)),this.zoom+=this.scaleZoom(d),this._unmodified=u,void(this._constraining=!1);if(this.latRange){var g=p.y,m=c.y/2;g-m<i&&(a=i+m),g+m>o&&(a=o-m)}if(this.lngRange){var v=p.x,y=c.x/2;v-y<s&&(n=s+y),v+y>l&&(n=l-y)}void 0===n&&void 0===a||(this.center=this.unproject(new t.Point(void 0!==n?n:p.x,void 0!==a?a:p.y))),this._unmodified=u,this._constraining=!1}},wn.prototype._calcMatrices=function(){if(this.height){var e=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var r=Math.PI/2+this._pitch,n=this._fov*(.5+e.y/this.height),a=Math.sin(n)*this.cameraToCenterDistance/Math.sin(t.clamp(Math.PI-r-n,.01,Math.PI-.01)),i=this.point,o=i.x,s=i.y,l=1.01*(Math.cos(Math.PI/2-this._pitch)*a+this.cameraToCenterDistance),c=this.height/50,u=new Float64Array(16);t.perspective(u,this._fov,this.width/this.height,c,l),u[8]=2*-e.x/this.width,u[9]=2*e.y/this.height,t.scale(u,u,[1,-1,1]),t.translate(u,u,[0,0,-this.cameraToCenterDistance]),t.rotateX(u,u,this._pitch),t.rotateZ(u,u,this.angle),t.translate(u,u,[-o,-s,0]),this.mercatorMatrix=t.scale([],u,[this.worldSize,this.worldSize,this.worldSize]),t.scale(u,u,[1,1,t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=u,this.invProjMatrix=t.invert([],this.projMatrix);var h=this.width%2/2,f=this.height%2/2,p=Math.cos(this.angle),d=Math.sin(this.angle),g=o-Math.round(o)+p*h+d*f,m=s-Math.round(s)+p*f+d*h,v=new Float64Array(u);if(t.translate(v,v,[g>.5?g-1:g,m>.5?m-1:m,0]),this.alignedProjMatrix=v,u=t.create(),t.scale(u,u,[this.width/2,-this.height/2,1]),t.translate(u,u,[1,-1,0]),this.labelPlaneMatrix=u,u=t.create(),t.scale(u,u,[1,-1,1]),t.translate(u,u,[-1,-1,0]),t.scale(u,u,[2/this.width,2/this.height,1]),this.glCoordMatrix=u,this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),!(u=t.invert(new Float64Array(16),this.pixelMatrix)))throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=u,this._posMatrixCache={},this._alignedPosMatrixCache={}}},wn.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var e=this.pointCoordinate(new t.Point(0,0)),r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance},wn.prototype.getCameraPoint=function(){var e=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.Point(0,e))},wn.prototype.getCameraQueryGeometry=function(e){var r=this.getCameraPoint();if(1===e.length)return[e[0],r];for(var n=r.x,a=r.y,i=r.x,o=r.y,s=0,l=e;s<l.length;s+=1){var c=l[s];n=Math.min(n,c.x),a=Math.min(a,c.y),i=Math.max(i,c.x),o=Math.max(o,c.y)}return[new t.Point(n,a),new t.Point(i,a),new t.Point(i,o),new t.Point(n,o),new t.Point(n,a)]},Object.defineProperties(wn.prototype,Tn);var kn=function(e){var r,n,a,i;this._hashName=e&&encodeURIComponent(e),t.bindAll([\"_getCurrentHash\",\"_onHashChange\",\"_updateHash\"],this),this._updateHash=(r=this._updateHashUnthrottled.bind(this),n=!1,a=null,i=function(){a=null,n&&(r(),a=setTimeout(i,300),n=!1)},function(){return n=!0,a||i(),a})};kn.prototype.addTo=function(e){return this._map=e,t.window.addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this},kn.prototype.remove=function(){return t.window.removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this},kn.prototype.getHashString=function(e){var r=this._map.getCenter(),n=Math.round(100*this._map.getZoom())/100,a=Math.ceil((n*Math.LN2+Math.log(512/360/.5))/Math.LN10),i=Math.pow(10,a),o=Math.round(r.lng*i)/i,s=Math.round(r.lat*i)/i,l=this._map.getBearing(),c=this._map.getPitch(),u=\"\";if(u+=e?\"/\"+o+\"/\"+s+\"/\"+n:n+\"/\"+s+\"/\"+o,(l||c)&&(u+=\"/\"+Math.round(10*l)/10),c&&(u+=\"/\"+Math.round(c)),this._hashName){var h=this._hashName,f=!1,p=t.window.location.hash.slice(1).split(\"&\").map((function(t){var e=t.split(\"=\")[0];return e===h?(f=!0,e+\"=\"+u):t})).filter((function(t){return t}));return f||p.push(h+\"=\"+u),\"#\"+p.join(\"&\")}return\"#\"+u},kn.prototype._getCurrentHash=function(){var e,r=this,n=t.window.location.hash.replace(\"#\",\"\");return this._hashName?(n.split(\"&\").map((function(t){return t.split(\"=\")})).forEach((function(t){t[0]===r._hashName&&(e=t)})),(e&&e[1]||\"\").split(\"/\")):n.split(\"/\")},kn.prototype._onHashChange=function(){var t=this._getCurrentHash();if(t.length>=3&&!t.some((function(t){return isNaN(t)}))){var e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:e,pitch:+(t[4]||0)}),!0}return!1},kn.prototype._updateHashUnthrottled=function(){var e=this.getHashString();try{t.window.history.replaceState(t.window.history.state,\"\",e)}catch(t){}};var An={linearity:.3,easing:t.bezier(0,0,.3,1)},Mn=t.extend({deceleration:2500,maxSpeed:1400},An),Sn=t.extend({deceleration:20,maxSpeed:1400},An),En=t.extend({deceleration:1e3,maxSpeed:360},An),Cn=t.extend({deceleration:1e3,maxSpeed:90},An),Ln=function(t){this._map=t,this.clear()};function Pn(t,e){(!t.duration||t.duration<e.duration)&&(t.duration=e.duration,t.easing=e.easing)}function In(e,r,n){var a=n.maxSpeed,i=n.linearity,o=n.deceleration,s=t.clamp(e*i/(r/1e3),-a,a),l=Math.abs(s)/(o*i);return{easing:n.easing,duration:1e3*l,amount:s*(l/2)}}Ln.prototype.clear=function(){this._inertiaBuffer=[]},Ln.prototype.record=function(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:t.browser.now(),settings:e})},Ln.prototype._drainInertiaBuffer=function(){for(var e=this._inertiaBuffer,r=t.browser.now();e.length>0&&r-e[0].time>160;)e.shift()},Ln.prototype._onMoveEnd=function(e){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var r={zoom:0,bearing:0,pitch:0,pan:new t.Point(0,0),pinchAround:void 0,around:void 0},n=0,a=this._inertiaBuffer;n<a.length;n+=1){var i=a[n].settings;r.zoom+=i.zoomDelta||0,r.bearing+=i.bearingDelta||0,r.pitch+=i.pitchDelta||0,i.panDelta&&r.pan._add(i.panDelta),i.around&&(r.around=i.around),i.pinchAround&&(r.pinchAround=i.pinchAround)}var o=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,s={};if(r.pan.mag()){var l=In(r.pan.mag(),o,t.extend({},Mn,e||{}));s.offset=r.pan.mult(l.amount/r.pan.mag()),s.center=this._map.transform.center,Pn(s,l)}if(r.zoom){var c=In(r.zoom,o,Sn);s.zoom=this._map.transform.zoom+c.amount,Pn(s,c)}if(r.bearing){var u=In(r.bearing,o,En);s.bearing=this._map.transform.bearing+t.clamp(u.amount,-179,179),Pn(s,u)}if(r.pitch){var h=In(r.pitch,o,Cn);s.pitch=this._map.transform.pitch+h.amount,Pn(s,h)}if(s.zoom||s.bearing){var f=void 0===r.pinchAround?r.around:r.pinchAround;s.around=f?this._map.unproject(f):this._map.getCenter()}return this.clear(),t.extend(s,{noMoveStart:!0})}};var zn=function(e){function n(n,a,i,o){void 0===o&&(o={});var s=r.mousePos(a.getCanvasContainer(),i),l=a.unproject(s);e.call(this,n,t.extend({point:s,lngLat:l,originalEvent:i},o)),this._defaultPrevented=!1,this.target=a}e&&(n.__proto__=e),(n.prototype=Object.create(e&&e.prototype)).constructor=n;var a={defaultPrevented:{configurable:!0}};return n.prototype.preventDefault=function(){this._defaultPrevented=!0},a.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(n.prototype,a),n}(t.Event),On=function(e){function n(n,a,i){var o=\"touchend\"===n?i.changedTouches:i.touches,s=r.touchPos(a.getCanvasContainer(),o),l=s.map((function(t){return a.unproject(t)})),c=s.reduce((function(t,e,r,n){return t.add(e.div(n.length))}),new t.Point(0,0)),u=a.unproject(c);e.call(this,n,{points:s,point:c,lngLats:l,lngLat:u,originalEvent:i}),this._defaultPrevented=!1}e&&(n.__proto__=e),(n.prototype=Object.create(e&&e.prototype)).constructor=n;var a={defaultPrevented:{configurable:!0}};return n.prototype.preventDefault=function(){this._defaultPrevented=!0},a.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(n.prototype,a),n}(t.Event),Dn=function(t){function e(e,r,n){t.call(this,e,{originalEvent:n}),this._defaultPrevented=!1}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={defaultPrevented:{configurable:!0}};return e.prototype.preventDefault=function(){this._defaultPrevented=!0},r.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(e.prototype,r),e}(t.Event),Rn=function(t,e){this._map=t,this._clickTolerance=e.clickTolerance};Rn.prototype.reset=function(){delete this._mousedownPos},Rn.prototype.wheel=function(t){return this._firePreventable(new Dn(t.type,this._map,t))},Rn.prototype.mousedown=function(t,e){return this._mousedownPos=e,this._firePreventable(new zn(t.type,this._map,t))},Rn.prototype.mouseup=function(t){this._map.fire(new zn(t.type,this._map,t))},Rn.prototype.click=function(t,e){this._mousedownPos&&this._mousedownPos.dist(e)>=this._clickTolerance||this._map.fire(new zn(t.type,this._map,t))},Rn.prototype.dblclick=function(t){return this._firePreventable(new zn(t.type,this._map,t))},Rn.prototype.mouseover=function(t){this._map.fire(new zn(t.type,this._map,t))},Rn.prototype.mouseout=function(t){this._map.fire(new zn(t.type,this._map,t))},Rn.prototype.touchstart=function(t){return this._firePreventable(new On(t.type,this._map,t))},Rn.prototype.touchmove=function(t){this._map.fire(new On(t.type,this._map,t))},Rn.prototype.touchend=function(t){this._map.fire(new On(t.type,this._map,t))},Rn.prototype.touchcancel=function(t){this._map.fire(new On(t.type,this._map,t))},Rn.prototype._firePreventable=function(t){if(this._map.fire(t),t.defaultPrevented)return{}},Rn.prototype.isEnabled=function(){return!0},Rn.prototype.isActive=function(){return!1},Rn.prototype.enable=function(){},Rn.prototype.disable=function(){};var Fn=function(t){this._map=t};Fn.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},Fn.prototype.mousemove=function(t){this._map.fire(new zn(t.type,this._map,t))},Fn.prototype.mousedown=function(){this._delayContextMenu=!0},Fn.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new zn(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},Fn.prototype.contextmenu=function(t){this._delayContextMenu?this._contextMenuEvent=t:this._map.fire(new zn(t.type,this._map,t)),this._map.listens(\"contextmenu\")&&t.preventDefault()},Fn.prototype.isEnabled=function(){return!0},Fn.prototype.isActive=function(){return!1},Fn.prototype.enable=function(){},Fn.prototype.disable=function(){};var Bn=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1};function Nn(t,e){for(var r={},n=0;n<t.length;n++)r[t[n].identifier]=e[n];return r}Bn.prototype.isEnabled=function(){return!!this._enabled},Bn.prototype.isActive=function(){return!!this._active},Bn.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},Bn.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},Bn.prototype.mousedown=function(t,e){this.isEnabled()&&t.shiftKey&&0===t.button&&(r.disableDrag(),this._startPos=this._lastPos=e,this._active=!0)},Bn.prototype.mousemoveWindow=function(t,e){if(this._active){var n=e;if(!(this._lastPos.equals(n)||!this._box&&n.dist(this._startPos)<this._clickTolerance)){var a=this._startPos;this._lastPos=n,this._box||(this._box=r.create(\"div\",\"mapboxgl-boxzoom\",this._container),this._container.classList.add(\"mapboxgl-crosshair\"),this._fireEvent(\"boxzoomstart\",t));var i=Math.min(a.x,n.x),o=Math.max(a.x,n.x),s=Math.min(a.y,n.y),l=Math.max(a.y,n.y);r.setTransform(this._box,\"translate(\"+i+\"px,\"+s+\"px)\"),this._box.style.width=o-i+\"px\",this._box.style.height=l-s+\"px\"}}},Bn.prototype.mouseupWindow=function(e,n){var a=this;if(this._active&&0===e.button){var i=this._startPos,o=n;if(this.reset(),r.suppressClick(),i.x!==o.x||i.y!==o.y)return this._map.fire(new t.Event(\"boxzoomend\",{originalEvent:e})),{cameraAnimation:function(t){return t.fitScreenCoordinates(i,o,a._map.getBearing(),{linear:!0})}};this._fireEvent(\"boxzoomcancel\",e)}},Bn.prototype.keydown=function(t){this._active&&27===t.keyCode&&(this.reset(),this._fireEvent(\"boxzoomcancel\",t))},Bn.prototype.reset=function(){this._active=!1,this._container.classList.remove(\"mapboxgl-crosshair\"),this._box&&(r.remove(this._box),this._box=null),r.enableDrag(),delete this._startPos,delete this._lastPos},Bn.prototype._fireEvent=function(e,r){return this._map.fire(new t.Event(e,{originalEvent:r}))};var jn=function(t){this.reset(),this.numTouches=t.numTouches};jn.prototype.reset=function(){delete this.centroid,delete this.startTime,delete this.touches,this.aborted=!1},jn.prototype.touchstart=function(e,r,n){(this.centroid||n.length>this.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),n.length===this.numTouches&&(this.centroid=function(e){for(var r=new t.Point(0,0),n=0,a=e;n<a.length;n+=1)r._add(a[n]);return r.div(e.length)}(r),this.touches=Nn(n,r)))},jn.prototype.touchmove=function(t,e,r){if(!this.aborted&&this.centroid){var n=Nn(r,e);for(var a in this.touches){var i=n[a];(!i||i.dist(this.touches[a])>30)&&(this.aborted=!0)}}},jn.prototype.touchend=function(t,e,r){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===r.length){var n=!this.aborted&&this.centroid;if(this.reset(),n)return n}};var Vn=function(t){this.singleTap=new jn(t),this.numTaps=t.numTaps,this.reset()};Vn.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},Vn.prototype.touchstart=function(t,e,r){this.singleTap.touchstart(t,e,r)},Vn.prototype.touchmove=function(t,e,r){this.singleTap.touchmove(t,e,r)},Vn.prototype.touchend=function(t,e,r){var n=this.singleTap.touchend(t,e,r);if(n){var a=t.timeStamp-this.lastTime<500,i=!this.lastTap||this.lastTap.dist(n)<30;if(a&&i||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=n,this.count===this.numTaps)return this.reset(),n}};var Un=function(){this._zoomIn=new Vn({numTouches:1,numTaps:2}),this._zoomOut=new Vn({numTouches:2,numTaps:1}),this.reset()};Un.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()},Un.prototype.touchstart=function(t,e,r){this._zoomIn.touchstart(t,e,r),this._zoomOut.touchstart(t,e,r)},Un.prototype.touchmove=function(t,e,r){this._zoomIn.touchmove(t,e,r),this._zoomOut.touchmove(t,e,r)},Un.prototype.touchend=function(t,e,r){var n=this,a=this._zoomIn.touchend(t,e,r),i=this._zoomOut.touchend(t,e,r);return a?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()+1,around:e.unproject(a)},{originalEvent:t})}}):i?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()-1,around:e.unproject(i)},{originalEvent:t})}}):void 0},Un.prototype.touchcancel=function(){this.reset()},Un.prototype.enable=function(){this._enabled=!0},Un.prototype.disable=function(){this._enabled=!1,this.reset()},Un.prototype.isEnabled=function(){return this._enabled},Un.prototype.isActive=function(){return this._active};var qn=function(t){this.reset(),this._clickTolerance=t.clickTolerance||1};qn.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton},qn.prototype._correctButton=function(t,e){return!1},qn.prototype._move=function(t,e){return{}},qn.prototype.mousedown=function(t,e){if(!this._lastPoint){var n=r.mouseButton(t);this._correctButton(t,n)&&(this._lastPoint=e,this._eventButton=n)}},qn.prototype.mousemoveWindow=function(t,e){var r=this._lastPoint;if(r&&(t.preventDefault(),this._moved||!(e.dist(r)<this._clickTolerance)))return this._moved=!0,this._lastPoint=e,this._move(r,e)},qn.prototype.mouseupWindow=function(t){r.mouseButton(t)===this._eventButton&&(this._moved&&r.suppressClick(),this.reset())},qn.prototype.enable=function(){this._enabled=!0},qn.prototype.disable=function(){this._enabled=!1,this.reset()},qn.prototype.isEnabled=function(){return this._enabled},qn.prototype.isActive=function(){return this._active};var Hn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.mousedown=function(e,r){t.prototype.mousedown.call(this,e,r),this._lastPoint&&(this._active=!0)},e.prototype._correctButton=function(t,e){return 0===e&&!t.ctrlKey},e.prototype._move=function(t,e){return{around:e,panDelta:e.sub(t)}},e}(qn),Gn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._correctButton=function(t,e){return 0===e&&t.ctrlKey||2===e},e.prototype._move=function(t,e){var r=.8*(e.x-t.x);if(r)return this._active=!0,{bearingDelta:r}},e.prototype.contextmenu=function(t){t.preventDefault()},e}(qn),Yn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._correctButton=function(t,e){return 0===e&&t.ctrlKey||2===e},e.prototype._move=function(t,e){var r=-.5*(e.y-t.y);if(r)return this._active=!0,{pitchDelta:r}},e.prototype.contextmenu=function(t){t.preventDefault()},e}(qn),Wn=function(t){this._minTouches=1,this._clickTolerance=t.clickTolerance||1,this.reset()};Wn.prototype.reset=function(){this._active=!1,this._touches={},this._sum=new t.Point(0,0)},Wn.prototype.touchstart=function(t,e,r){return this._calculateTransform(t,e,r)},Wn.prototype.touchmove=function(t,e,r){if(this._active)return t.preventDefault(),this._calculateTransform(t,e,r)},Wn.prototype.touchend=function(t,e,r){this._calculateTransform(t,e,r),this._active&&r.length<this._minTouches&&this.reset()},Wn.prototype.touchcancel=function(){this.reset()},Wn.prototype._calculateTransform=function(e,r,n){n.length>0&&(this._active=!0);var a=Nn(n,r),i=new t.Point(0,0),o=new t.Point(0,0),s=0;for(var l in a){var c=a[l],u=this._touches[l];u&&(i._add(c),o._add(c.sub(u)),s++,a[l]=c)}if(this._touches=a,!(s<this._minTouches)&&o.mag()){var h=o.div(s);if(this._sum._add(h),!(this._sum.mag()<this._clickTolerance))return{around:i.div(s),panDelta:h}}},Wn.prototype.enable=function(){this._enabled=!0},Wn.prototype.disable=function(){this._enabled=!1,this.reset()},Wn.prototype.isEnabled=function(){return this._enabled},Wn.prototype.isActive=function(){return this._active};var Zn=function(){this.reset()};function Xn(t,e,r){for(var n=0;n<t.length;n++)if(t[n].identifier===r)return e[n]}function Jn(t,e){return Math.log(t/e)/Math.LN2}Zn.prototype.reset=function(){this._active=!1,delete this._firstTwoTouches},Zn.prototype._start=function(t){},Zn.prototype._move=function(t,e,r){return{}},Zn.prototype.touchstart=function(t,e,r){this._firstTwoTouches||r.length<2||(this._firstTwoTouches=[r[0].identifier,r[1].identifier],this._start([e[0],e[1]]))},Zn.prototype.touchmove=function(t,e,r){if(this._firstTwoTouches){t.preventDefault();var n=this._firstTwoTouches,a=n[1],i=Xn(r,e,n[0]),o=Xn(r,e,a);if(i&&o){var s=this._aroundCenter?null:i.add(o).div(2);return this._move([i,o],s,t)}}},Zn.prototype.touchend=function(t,e,n){if(this._firstTwoTouches){var a=this._firstTwoTouches,i=a[1],o=Xn(n,e,a[0]),s=Xn(n,e,i);o&&s||(this._active&&r.suppressClick(),this.reset())}},Zn.prototype.touchcancel=function(){this.reset()},Zn.prototype.enable=function(t){this._enabled=!0,this._aroundCenter=!!t&&\"center\"===t.around},Zn.prototype.disable=function(){this._enabled=!1,this.reset()},Zn.prototype.isEnabled=function(){return this._enabled},Zn.prototype.isActive=function(){return this._active};var Kn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),delete this._distance,delete this._startDistance},e.prototype._start=function(t){this._startDistance=this._distance=t[0].dist(t[1])},e.prototype._move=function(t,e){var r=this._distance;if(this._distance=t[0].dist(t[1]),this._active||!(Math.abs(Jn(this._distance,this._startDistance))<.1))return this._active=!0,{zoomDelta:Jn(this._distance,r),pinchAround:e}},e}(Zn);function Qn(t,e){return 180*t.angleWith(e)/Math.PI}var $n=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),delete this._minDiameter,delete this._startVector,delete this._vector},e.prototype._start=function(t){this._startVector=this._vector=t[0].sub(t[1]),this._minDiameter=t[0].dist(t[1])},e.prototype._move=function(t,e){var r=this._vector;if(this._vector=t[0].sub(t[1]),this._active||!this._isBelowThreshold(this._vector))return this._active=!0,{bearingDelta:Qn(this._vector,r),pinchAround:e}},e.prototype._isBelowThreshold=function(t){this._minDiameter=Math.min(this._minDiameter,t.mag());var e=25/(Math.PI*this._minDiameter)*360,r=Qn(t,this._startVector);return Math.abs(r)<e},e}(Zn);function ta(t){return Math.abs(t.y)>Math.abs(t.x)}var ea=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},e.prototype._start=function(t){this._lastPoints=t,ta(t[0].sub(t[1]))&&(this._valid=!1)},e.prototype._move=function(t,e,r){var n=t[0].sub(this._lastPoints[0]),a=t[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(n,a,r.timeStamp),this._valid)return this._lastPoints=t,this._active=!0,{pitchDelta:(n.y+a.y)/2*-.5}},e.prototype.gestureBeginsVertically=function(t,e,r){if(void 0!==this._valid)return this._valid;var n=t.mag()>=2,a=e.mag()>=2;if(n||a){if(!n||!a)return void 0===this._firstMove&&(this._firstMove=r),r-this._firstMove<100&&void 0;var i=t.y>0==e.y>0;return ta(t)&&ta(e)&&i}},e}(Zn),ra={panStep:100,bearingStep:15,pitchStep:10},na=function(){var t=ra;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep};function aa(t){return t*(2-t)}na.prototype.reset=function(){this._active=!1},na.prototype.keydown=function(t){var e=this;if(!(t.altKey||t.ctrlKey||t.metaKey)){var r=0,n=0,a=0,i=0,o=0;switch(t.keyCode){case 61:case 107:case 171:case 187:r=1;break;case 189:case 109:case 173:r=-1;break;case 37:t.shiftKey?n=-1:(t.preventDefault(),i=-1);break;case 39:t.shiftKey?n=1:(t.preventDefault(),i=1);break;case 38:t.shiftKey?a=1:(t.preventDefault(),o=-1);break;case 40:t.shiftKey?a=-1:(t.preventDefault(),o=1);break;default:return}return{cameraAnimation:function(s){var l=s.getZoom();s.easeTo({duration:300,easeId:\"keyboardHandler\",easing:aa,zoom:r?Math.round(l)+r*(t.shiftKey?2:1):l,bearing:s.getBearing()+n*e._bearingStep,pitch:s.getPitch()+a*e._pitchStep,offset:[-i*e._panStep,-o*e._panStep],center:s.getCenter()},{originalEvent:t})}}}},na.prototype.enable=function(){this._enabled=!0},na.prototype.disable=function(){this._enabled=!1,this.reset()},na.prototype.isEnabled=function(){return this._enabled},na.prototype.isActive=function(){return this._active};var ia=function(e,r){this._map=e,this._el=e.getCanvasContainer(),this._handler=r,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=1/450,t.bindAll([\"_onWheel\",\"_onTimeout\",\"_onScrollFrame\",\"_onScrollFinished\"],this)};ia.prototype.setZoomRate=function(t){this._defaultZoomRate=t},ia.prototype.setWheelZoomRate=function(t){this._wheelZoomRate=t},ia.prototype.isEnabled=function(){return!!this._enabled},ia.prototype.isActive=function(){return!!this._active||void 0!==this._finishTimeout},ia.prototype.isZooming=function(){return!!this._zooming},ia.prototype.enable=function(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&\"center\"===t.around)},ia.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},ia.prototype.wheel=function(e){if(this.isEnabled()){var r=e.deltaMode===t.window.WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,n=t.browser.now(),a=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,0!==r&&r%4.000244140625==0?this._type=\"wheel\":0!==r&&Math.abs(r)<4?this._type=\"trackpad\":a>400?(this._type=null,this._lastValue=r,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(a*r)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,r+=this._lastValue)),e.shiftKey&&r&&(r/=4),this._type&&(this._lastWheelEvent=e,this._delta-=r,this._active||this._start(e)),e.preventDefault()}},ia.prototype._onTimeout=function(t){this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(t)},ia.prototype._start=function(e){if(this._delta){this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);var n=r.mousePos(this._el,e);this._around=t.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(n)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},ia.prototype.renderFrame=function(){return this._onScrollFrame()},ia.prototype._onScrollFrame=function(){var e=this;if(this._frameId&&(this._frameId=null,this.isActive())){var r=this._map.transform;if(0!==this._delta){var n=\"wheel\"===this._type&&Math.abs(this._delta)>4.000244140625?this._wheelZoomRate:this._defaultZoomRate,a=2/(1+Math.exp(-Math.abs(this._delta*n)));this._delta<0&&0!==a&&(a=1/a);var i=\"number\"==typeof this._targetZoom?r.zoomScale(this._targetZoom):r.scale;this._targetZoom=Math.min(r.maxZoom,Math.max(r.minZoom,r.scaleZoom(i*a))),\"wheel\"===this._type&&(this._startZoom=r.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var o,s=\"number\"==typeof this._targetZoom?this._targetZoom:r.zoom,l=this._startZoom,c=this._easing,u=!1;if(\"wheel\"===this._type&&l&&c){var h=Math.min((t.browser.now()-this._lastWheelEventTime)/200,1),f=c(h);o=t.number(l,s,f),h<1?this._frameId||(this._frameId=!0):u=!0}else o=s,u=!0;return this._active=!0,u&&(this._active=!1,this._finishTimeout=setTimeout((function(){e._zooming=!1,e._handler._triggerRenderFrame(),delete e._targetZoom,delete e._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!u,zoomDelta:o-r.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},ia.prototype._smoothOutEasing=function(e){var r=t.ease;if(this._prevEase){var n=this._prevEase,a=(t.browser.now()-n.start)/n.duration,i=n.easing(a+.01)-n.easing(a),o=.27/Math.sqrt(i*i+1e-4)*.01,s=Math.sqrt(.0729-o*o);r=t.bezier(o,s,.25,1)}return this._prevEase={start:t.browser.now(),duration:e,easing:r},r},ia.prototype.reset=function(){this._active=!1};var oa=function(t,e){this._clickZoom=t,this._tapZoom=e};oa.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},oa.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},oa.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},oa.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var sa=function(){this.reset()};sa.prototype.reset=function(){this._active=!1},sa.prototype.dblclick=function(t,e){return t.preventDefault(),{cameraAnimation:function(r){r.easeTo({duration:300,zoom:r.getZoom()+(t.shiftKey?-1:1),around:r.unproject(e)},{originalEvent:t})}}},sa.prototype.enable=function(){this._enabled=!0},sa.prototype.disable=function(){this._enabled=!1,this.reset()},sa.prototype.isEnabled=function(){return this._enabled},sa.prototype.isActive=function(){return this._active};var la=function(){this._tap=new Vn({numTouches:1,numTaps:1}),this.reset()};la.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},la.prototype.touchstart=function(t,e,r){this._swipePoint||(this._tapTime&&t.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?r.length>0&&(this._swipePoint=e[0],this._swipeTouch=r[0].identifier):this._tap.touchstart(t,e,r))},la.prototype.touchmove=function(t,e,r){if(this._tapTime){if(this._swipePoint){if(r[0].identifier!==this._swipeTouch)return;var n=e[0],a=n.y-this._swipePoint.y;return this._swipePoint=n,t.preventDefault(),this._active=!0,{zoomDelta:a/128}}}else this._tap.touchmove(t,e,r)},la.prototype.touchend=function(t,e,r){this._tapTime?this._swipePoint&&0===r.length&&this.reset():this._tap.touchend(t,e,r)&&(this._tapTime=t.timeStamp)},la.prototype.touchcancel=function(){this.reset()},la.prototype.enable=function(){this._enabled=!0},la.prototype.disable=function(){this._enabled=!1,this.reset()},la.prototype.isEnabled=function(){return this._enabled},la.prototype.isActive=function(){return this._active};var ca=function(t,e,r){this._el=t,this._mousePan=e,this._touchPan=r};ca.prototype.enable=function(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"mapboxgl-touch-drag-pan\")},ca.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"mapboxgl-touch-drag-pan\")},ca.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},ca.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var ua=function(t,e,r){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=r};ua.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},ua.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},ua.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},ua.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var ha=function(t,e,r,n){this._el=t,this._touchZoom=e,this._touchRotate=r,this._tapDragZoom=n,this._rotationDisabled=!1,this._enabled=!0};ha.prototype.enable=function(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add(\"mapboxgl-touch-zoom-rotate\")},ha.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"mapboxgl-touch-zoom-rotate\")},ha.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},ha.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},ha.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},ha.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var fa=function(t){return t.zoom||t.drag||t.pitch||t.rotate},pa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(t.Event);function da(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}var ga=function(e,n){this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Ln(e),this._bearingSnap=n.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(n),t.bindAll([\"handleEvent\",\"handleWindowEvent\"],this);var a=this._el;this._listeners=[[a,\"touchstart\",{passive:!1}],[a,\"touchmove\",{passive:!1}],[a,\"touchend\",void 0],[a,\"touchcancel\",void 0],[a,\"mousedown\",void 0],[a,\"mousemove\",void 0],[a,\"mouseup\",void 0],[t.window.document,\"mousemove\",{capture:!0}],[t.window.document,\"mouseup\",void 0],[a,\"mouseover\",void 0],[a,\"mouseout\",void 0],[a,\"dblclick\",void 0],[a,\"click\",void 0],[a,\"keydown\",{capture:!1}],[a,\"keyup\",void 0],[a,\"wheel\",{passive:!1}],[a,\"contextmenu\",void 0],[t.window,\"blur\",void 0]];for(var i=0,o=this._listeners;i<o.length;i+=1){var s=o[i],l=s[0];r.addEventListener(l,s[1],l===t.window.document?this.handleWindowEvent:this.handleEvent,s[2])}};ga.prototype.destroy=function(){for(var e=0,n=this._listeners;e<n.length;e+=1){var a=n[e],i=a[0];r.removeEventListener(i,a[1],i===t.window.document?this.handleWindowEvent:this.handleEvent,a[2])}},ga.prototype._addDefaultHandlers=function(t){var e=this._map,r=e.getCanvasContainer();this._add(\"mapEvent\",new Rn(e,t));var n=e.boxZoom=new Bn(e,t);this._add(\"boxZoom\",n);var a=new Un,i=new sa;e.doubleClickZoom=new oa(i,a),this._add(\"tapZoom\",a),this._add(\"clickZoom\",i);var o=new la;this._add(\"tapDragZoom\",o);var s=e.touchPitch=new ea;this._add(\"touchPitch\",s);var l=new Gn(t),c=new Yn(t);e.dragRotate=new ua(t,l,c),this._add(\"mouseRotate\",l,[\"mousePitch\"]),this._add(\"mousePitch\",c,[\"mouseRotate\"]);var u=new Hn(t),h=new Wn(t);e.dragPan=new ca(r,u,h),this._add(\"mousePan\",u),this._add(\"touchPan\",h,[\"touchZoom\",\"touchRotate\"]);var f=new $n,p=new Kn;e.touchZoomRotate=new ha(r,p,f,o),this._add(\"touchRotate\",f,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",p,[\"touchPan\",\"touchRotate\"]);var d=e.scrollZoom=new ia(e,this);this._add(\"scrollZoom\",d,[\"mousePan\"]);var g=e.keyboard=new na;this._add(\"keyboard\",g),this._add(\"blockableMapEvent\",new Fn(e));for(var m=0,v=[\"boxZoom\",\"doubleClickZoom\",\"tapDragZoom\",\"touchPitch\",\"dragRotate\",\"dragPan\",\"touchZoomRotate\",\"scrollZoom\",\"keyboard\"];m<v.length;m+=1){var y=v[m];t.interactive&&t[y]&&e[y].enable(t[y])}},ga.prototype._add=function(t,e,r){this._handlers.push({handlerName:t,handler:e,allowed:r}),this._handlersById[t]=e},ga.prototype.stop=function(){if(!this._updatingCamera){for(var t=0,e=this._handlers;t<e.length;t+=1)e[t].handler.reset();this._inertia.clear(),this._fireEvents({},{}),this._changes=[]}},ga.prototype.isActive=function(){for(var t=0,e=this._handlers;t<e.length;t+=1)if(e[t].handler.isActive())return!0;return!1},ga.prototype.isZooming=function(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()},ga.prototype.isRotating=function(){return!!this._eventsInProgress.rotate},ga.prototype.isMoving=function(){return Boolean(fa(this._eventsInProgress))||this.isZooming()},ga.prototype._blockedByActive=function(t,e,r){for(var n in t)if(n!==r&&(!e||e.indexOf(n)<0))return!0;return!1},ga.prototype.handleWindowEvent=function(t){this.handleEvent(t,t.type+\"Window\")},ga.prototype._getMapTouches=function(t){for(var e=[],r=0,n=t;r<n.length;r+=1){var a=n[r];this._el.contains(a.target)&&e.push(a)}return e},ga.prototype.handleEvent=function(t,e){if(\"blur\"!==t.type){this._updatingCamera=!0;for(var n=\"renderFrame\"===t.type?void 0:t,a={needsRenderFrame:!1},i={},o={},s=t.touches?this._getMapTouches(t.touches):void 0,l=s?r.touchPos(this._el,s):r.mousePos(this._el,t),c=0,u=this._handlers;c<u.length;c+=1){var h=u[c],f=h.handlerName,p=h.handler,d=h.allowed;if(p.isEnabled()){var g=void 0;this._blockedByActive(o,d,f)?p.reset():p[e||t.type]&&(g=p[e||t.type](t,l,s),this.mergeHandlerResult(a,i,g,f,n),g&&g.needsRenderFrame&&this._triggerRenderFrame()),(g||p.isActive())&&(o[f]=p)}}var m={};for(var v in this._previousActiveHandlers)o[v]||(m[v]=n);this._previousActiveHandlers=o,(Object.keys(m).length||da(a))&&(this._changes.push([a,i,m]),this._triggerRenderFrame()),(Object.keys(o).length||da(a))&&this._map._stop(!0),this._updatingCamera=!1;var y=a.cameraAnimation;y&&(this._inertia.clear(),this._fireEvents({},{}),this._changes=[],y(this._map))}else this.stop()},ga.prototype.mergeHandlerResult=function(e,r,n,a,i){if(n){t.extend(e,n);var o={handlerName:a,originalEvent:n.originalEvent||i};void 0!==n.zoomDelta&&(r.zoom=o),void 0!==n.panDelta&&(r.drag=o),void 0!==n.pitchDelta&&(r.pitch=o),void 0!==n.bearingDelta&&(r.rotate=o)}},ga.prototype._applyChanges=function(){for(var e={},r={},n={},a=0,i=this._changes;a<i.length;a+=1){var o=i[a],s=o[0],l=o[1],c=o[2];s.panDelta&&(e.panDelta=(e.panDelta||new t.Point(0,0))._add(s.panDelta)),s.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+s.zoomDelta),s.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+s.bearingDelta),s.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+s.pitchDelta),void 0!==s.around&&(e.around=s.around),void 0!==s.pinchAround&&(e.pinchAround=s.pinchAround),s.noInertia&&(e.noInertia=s.noInertia),t.extend(r,l),t.extend(n,c)}this._updateMapTransform(e,r,n),this._changes=[]},ga.prototype._updateMapTransform=function(t,e,r){var n=this._map,a=n.transform;if(!da(t))return this._fireEvents(e,r);var i=t.panDelta,o=t.zoomDelta,s=t.bearingDelta,l=t.pitchDelta,c=t.around,u=t.pinchAround;void 0!==u&&(c=u),n._stop(!0),c=c||n.transform.centerPoint;var h=a.pointLocation(i?c.sub(i):c);s&&(a.bearing+=s),l&&(a.pitch+=l),o&&(a.zoom+=o),a.setLocationAtPoint(h,c),this._map._update(),t.noInertia||this._inertia.record(t),this._fireEvents(e,r)},ga.prototype._fireEvents=function(e,r){var n=this,a=fa(this._eventsInProgress),i=fa(e),o={};for(var s in e)this._eventsInProgress[s]||(o[s+\"start\"]=e[s].originalEvent),this._eventsInProgress[s]=e[s];for(var l in!a&&i&&this._fireEvent(\"movestart\",i.originalEvent),o)this._fireEvent(l,o[l]);for(var c in e.rotate&&(this._bearingChanged=!0),i&&this._fireEvent(\"move\",i.originalEvent),e)this._fireEvent(c,e[c].originalEvent);var u,h={};for(var f in this._eventsInProgress){var p=this._eventsInProgress[f],d=p.handlerName,g=p.originalEvent;this._handlersById[d].isActive()||(delete this._eventsInProgress[f],h[f+\"end\"]=u=r[d]||g)}for(var m in h)this._fireEvent(m,h[m]);var v=fa(this._eventsInProgress);if((a||i)&&!v){this._updatingCamera=!0;var y=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),x=function(t){return 0!==t&&-n._bearingSnap<t&&t<n._bearingSnap};y?(x(y.bearing||this._map.getBearing())&&(y.bearing=0),this._map.easeTo(y,{originalEvent:u})):(this._map.fire(new t.Event(\"moveend\",{originalEvent:u})),x(this._map.getBearing())&&this._map.resetNorth()),this._bearingChanged=!1,this._updatingCamera=!1}},ga.prototype._fireEvent=function(e,r){this._map.fire(new t.Event(e,r?{originalEvent:r}:{}))},ga.prototype._triggerRenderFrame=function(){var t=this;void 0===this._frameId&&(this._frameId=this._map._requestRenderFrame((function(e){delete t._frameId,t.handleEvent(new pa(\"renderFrame\",{timeStamp:e})),t._applyChanges()})))};var ma=function(e){function r(r,n){e.call(this),this._moving=!1,this._zooming=!1,this.transform=r,this._bearingSnap=n.bearingSnap,t.bindAll([\"_renderFrameCallback\"],this)}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.getCenter=function(){return new t.LngLat(this.transform.center.lng,this.transform.center.lat)},r.prototype.setCenter=function(t,e){return this.jumpTo({center:t},e)},r.prototype.panBy=function(e,r,n){return e=t.Point.convert(e).mult(-1),this.panTo(this.transform.center,t.extend({offset:e},r),n)},r.prototype.panTo=function(e,r,n){return this.easeTo(t.extend({center:e},r),n)},r.prototype.getZoom=function(){return this.transform.zoom},r.prototype.setZoom=function(t,e){return this.jumpTo({zoom:t},e),this},r.prototype.zoomTo=function(e,r,n){return this.easeTo(t.extend({zoom:e},r),n)},r.prototype.zoomIn=function(t,e){return this.zoomTo(this.getZoom()+1,t,e),this},r.prototype.zoomOut=function(t,e){return this.zoomTo(this.getZoom()-1,t,e),this},r.prototype.getBearing=function(){return this.transform.bearing},r.prototype.setBearing=function(t,e){return this.jumpTo({bearing:t},e),this},r.prototype.getPadding=function(){return this.transform.padding},r.prototype.setPadding=function(t,e){return this.jumpTo({padding:t},e),this},r.prototype.rotateTo=function(e,r,n){return this.easeTo(t.extend({bearing:e},r),n)},r.prototype.resetNorth=function(e,r){return this.rotateTo(0,t.extend({duration:1e3},e),r),this},r.prototype.resetNorthPitch=function(e,r){return this.easeTo(t.extend({bearing:0,pitch:0,duration:1e3},e),r),this},r.prototype.snapToNorth=function(t,e){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(t,e):this},r.prototype.getPitch=function(){return this.transform.pitch},r.prototype.setPitch=function(t,e){return this.jumpTo({pitch:t},e),this},r.prototype.cameraForBounds=function(e,r){return e=t.LngLatBounds.convert(e),this._cameraForBoxAndBearing(e.getNorthWest(),e.getSouthEast(),0,r)},r.prototype._cameraForBoxAndBearing=function(e,r,n,a){var i={top:0,bottom:0,right:0,left:0};if(\"number\"==typeof(a=t.extend({padding:i,offset:[0,0],maxZoom:this.transform.maxZoom},a)).padding){var o=a.padding;a.padding={top:o,bottom:o,right:o,left:o}}a.padding=t.extend(i,a.padding);var s=this.transform,l=s.padding,c=s.project(t.LngLat.convert(e)),u=s.project(t.LngLat.convert(r)),h=c.rotate(-n*Math.PI/180),f=u.rotate(-n*Math.PI/180),p=new t.Point(Math.max(h.x,f.x),Math.max(h.y,f.y)),d=new t.Point(Math.min(h.x,f.x),Math.min(h.y,f.y)),g=p.sub(d),m=(s.width-(l.left+l.right+a.padding.left+a.padding.right))/g.x,v=(s.height-(l.top+l.bottom+a.padding.top+a.padding.bottom))/g.y;if(!(v<0||m<0)){var y=Math.min(s.scaleZoom(s.scale*Math.min(m,v)),a.maxZoom),x=t.Point.convert(a.offset),b=new t.Point(x.x+(a.padding.left-a.padding.right)/2,x.y+(a.padding.top-a.padding.bottom)/2).mult(s.scale/s.zoomScale(y));return{center:s.unproject(c.add(u).div(2).sub(b)),zoom:y,bearing:n}}t.warnOnce(\"Map cannot fit within canvas with the given bounds, padding, and/or offset.\")},r.prototype.fitBounds=function(t,e,r){return this._fitInternal(this.cameraForBounds(t,e),e,r)},r.prototype.fitScreenCoordinates=function(e,r,n,a,i){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.pointLocation(t.Point.convert(e)),this.transform.pointLocation(t.Point.convert(r)),n,a),a,i)},r.prototype._fitInternal=function(e,r,n){return e?(delete(r=t.extend(e,r)).padding,r.linear?this.easeTo(r,n):this.flyTo(r,n)):this},r.prototype.jumpTo=function(e,r){this.stop();var n=this.transform,a=!1,i=!1,o=!1;return\"zoom\"in e&&n.zoom!==+e.zoom&&(a=!0,n.zoom=+e.zoom),void 0!==e.center&&(n.center=t.LngLat.convert(e.center)),\"bearing\"in e&&n.bearing!==+e.bearing&&(i=!0,n.bearing=+e.bearing),\"pitch\"in e&&n.pitch!==+e.pitch&&(o=!0,n.pitch=+e.pitch),null==e.padding||n.isPaddingEqual(e.padding)||(n.padding=e.padding),this.fire(new t.Event(\"movestart\",r)).fire(new t.Event(\"move\",r)),a&&this.fire(new t.Event(\"zoomstart\",r)).fire(new t.Event(\"zoom\",r)).fire(new t.Event(\"zoomend\",r)),i&&this.fire(new t.Event(\"rotatestart\",r)).fire(new t.Event(\"rotate\",r)).fire(new t.Event(\"rotateend\",r)),o&&this.fire(new t.Event(\"pitchstart\",r)).fire(new t.Event(\"pitch\",r)).fire(new t.Event(\"pitchend\",r)),this.fire(new t.Event(\"moveend\",r))},r.prototype.easeTo=function(e,r){var n=this;this._stop(!1,e.easeId),(!1===(e=t.extend({offset:[0,0],duration:500,easing:t.ease},e)).animate||!e.essential&&t.browser.prefersReducedMotion)&&(e.duration=0);var a=this.transform,i=this.getZoom(),o=this.getBearing(),s=this.getPitch(),l=this.getPadding(),c=\"zoom\"in e?+e.zoom:i,u=\"bearing\"in e?this._normalizeBearing(e.bearing,o):o,h=\"pitch\"in e?+e.pitch:s,f=\"padding\"in e?e.padding:a.padding,p=t.Point.convert(e.offset),d=a.centerPoint.add(p),g=a.pointLocation(d),m=t.LngLat.convert(e.center||g);this._normalizeCenter(m);var v,y,x=a.project(g),b=a.project(m).sub(x),_=a.zoomScale(c-i);e.around&&(v=t.LngLat.convert(e.around),y=a.locationPoint(v));var w={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching};return this._zooming=this._zooming||c!==i,this._rotating=this._rotating||o!==u,this._pitching=this._pitching||h!==s,this._padding=!a.isPaddingEqual(f),this._easeId=e.easeId,this._prepareEase(r,e.noMoveStart,w),clearTimeout(this._easeEndTimeoutID),this._ease((function(e){if(n._zooming&&(a.zoom=t.number(i,c,e)),n._rotating&&(a.bearing=t.number(o,u,e)),n._pitching&&(a.pitch=t.number(s,h,e)),n._padding&&(a.interpolatePadding(l,f,e),d=a.centerPoint.add(p)),v)a.setLocationAtPoint(v,y);else{var g=a.zoomScale(a.zoom-i),m=c>i?Math.min(2,_):Math.max(.5,_),w=Math.pow(m,1-e),T=a.unproject(x.add(b.mult(e*w)).mult(g));a.setLocationAtPoint(a.renderWorldCopies?T.wrap():T,d)}n._fireMoveEvents(r)}),(function(t){n._afterEase(r,t)}),e),this},r.prototype._prepareEase=function(e,r,n){void 0===n&&(n={}),this._moving=!0,r||n.moving||this.fire(new t.Event(\"movestart\",e)),this._zooming&&!n.zooming&&this.fire(new t.Event(\"zoomstart\",e)),this._rotating&&!n.rotating&&this.fire(new t.Event(\"rotatestart\",e)),this._pitching&&!n.pitching&&this.fire(new t.Event(\"pitchstart\",e))},r.prototype._fireMoveEvents=function(e){this.fire(new t.Event(\"move\",e)),this._zooming&&this.fire(new t.Event(\"zoom\",e)),this._rotating&&this.fire(new t.Event(\"rotate\",e)),this._pitching&&this.fire(new t.Event(\"pitch\",e))},r.prototype._afterEase=function(e,r){if(!this._easeId||!r||this._easeId!==r){delete this._easeId;var n=this._zooming,a=this._rotating,i=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,n&&this.fire(new t.Event(\"zoomend\",e)),a&&this.fire(new t.Event(\"rotateend\",e)),i&&this.fire(new t.Event(\"pitchend\",e)),this.fire(new t.Event(\"moveend\",e))}},r.prototype.flyTo=function(e,r){var n=this;if(!e.essential&&t.browser.prefersReducedMotion){var a=t.pick(e,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(a,r)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);var i=this.transform,o=this.getZoom(),s=this.getBearing(),l=this.getPitch(),c=this.getPadding(),u=\"zoom\"in e?t.clamp(+e.zoom,i.minZoom,i.maxZoom):o,h=\"bearing\"in e?this._normalizeBearing(e.bearing,s):s,f=\"pitch\"in e?+e.pitch:l,p=\"padding\"in e?e.padding:i.padding,d=i.zoomScale(u-o),g=t.Point.convert(e.offset),m=i.centerPoint.add(g),v=i.pointLocation(m),y=t.LngLat.convert(e.center||v);this._normalizeCenter(y);var x=i.project(v),b=i.project(y).sub(x),_=e.curve,w=Math.max(i.width,i.height),T=w/d,k=b.mag();if(\"minZoom\"in e){var A=t.clamp(Math.min(e.minZoom,o,u),i.minZoom,i.maxZoom),M=w/i.zoomScale(A-o);_=Math.sqrt(M/k*2)}var S=_*_;function E(t){var e=(T*T-w*w+(t?-1:1)*S*S*k*k)/(2*(t?T:w)*S*k);return Math.log(Math.sqrt(e*e+1)-e)}function C(t){return(Math.exp(t)-Math.exp(-t))/2}function L(t){return(Math.exp(t)+Math.exp(-t))/2}var P=E(0),I=function(t){return L(P)/L(P+_*t)},z=function(t){return w*((L(P)*(C(e=P+_*t)/L(e))-C(P))/S)/k;var e},O=(E(1)-P)/_;if(Math.abs(k)<1e-6||!isFinite(O)){if(Math.abs(w-T)<1e-6)return this.easeTo(e,r);var D=T<w?-1:1;O=Math.abs(Math.log(T/w))/_,z=function(){return 0},I=function(t){return Math.exp(D*_*t)}}return e.duration=\"duration\"in e?+e.duration:1e3*O/(\"screenSpeed\"in e?+e.screenSpeed/_:+e.speed),e.maxDuration&&e.duration>e.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==h,this._pitching=f!==l,this._padding=!i.isPaddingEqual(p),this._prepareEase(r,!1),this._ease((function(e){var a=e*O,d=1/I(a);i.zoom=1===e?u:o+i.scaleZoom(d),n._rotating&&(i.bearing=t.number(s,h,e)),n._pitching&&(i.pitch=t.number(l,f,e)),n._padding&&(i.interpolatePadding(c,p,e),m=i.centerPoint.add(g));var v=1===e?y:i.unproject(x.add(b.mult(z(a))).mult(d));i.setLocationAtPoint(i.renderWorldCopies?v.wrap():v,m),n._fireMoveEvents(r)}),(function(){return n._afterEase(r)}),e),this},r.prototype.isEasing=function(){return!!this._easeFrameId},r.prototype.stop=function(){return this._stop()},r.prototype._stop=function(t,e){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var r=this._onEaseEnd;delete this._onEaseEnd,r.call(this,e)}if(!t){var n=this.handlers;n&&n.stop()}return this},r.prototype._ease=function(e,r,n){!1===n.animate||0===n.duration?(e(1),r()):(this._easeStart=t.browser.now(),this._easeOptions=n,this._onEaseFrame=e,this._onEaseEnd=r,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},r.prototype._renderFrameCallback=function(){var e=Math.min((t.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},r.prototype._normalizeBearing=function(e,r){e=t.wrap(e,-180,180);var n=Math.abs(e-r);return Math.abs(e-360-r)<n&&(e-=360),Math.abs(e+360-r)<n&&(e+=360),e},r.prototype._normalizeCenter=function(t){var e=this.transform;if(e.renderWorldCopies&&!e.lngRange){var r=t.lng-e.center.lng;t.lng+=r>180?-360:r<-180?360:0}},r}(t.Evented),va=function(e){void 0===e&&(e={}),this.options=e,t.bindAll([\"_updateEditLink\",\"_updateData\",\"_updateCompact\"],this)};va.prototype.getDefaultPosition=function(){return\"bottom-right\"},va.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=r.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-attrib\"),this._innerContainer=r.create(\"div\",\"mapboxgl-ctrl-attrib-inner\",this._container),e&&this._container.classList.add(\"mapboxgl-compact\"),this._updateAttributions(),this._updateEditLink(),this._map.on(\"styledata\",this._updateData),this._map.on(\"sourcedata\",this._updateData),this._map.on(\"moveend\",this._updateEditLink),void 0===e&&(this._map.on(\"resize\",this._updateCompact),this._updateCompact()),this._container},va.prototype.onRemove=function(){r.remove(this._container),this._map.off(\"styledata\",this._updateData),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"moveend\",this._updateEditLink),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._attribHTML=void 0},va.prototype._updateEditLink=function(){var e=this._editLink;e||(e=this._editLink=this._container.querySelector(\".mapbox-improve-map\"));var r=[{key:\"owner\",value:this.styleOwner},{key:\"id\",value:this.styleId},{key:\"access_token\",value:this._map._requestManager._customAccessToken||t.config.ACCESS_TOKEN}];if(e){var n=r.reduce((function(t,e,n){return e.value&&(t+=e.key+\"=\"+e.value+(n<r.length-1?\"&\":\"\")),t}),\"?\");e.href=t.config.FEEDBACK_URL+\"/\"+n+(this._map._hash?this._map._hash.getHashString(!0):\"\"),e.rel=\"noopener nofollow\"}},va.prototype._updateData=function(t){!t||\"metadata\"!==t.sourceDataType&&\"style\"!==t.dataType||(this._updateAttributions(),this._updateEditLink())},va.prototype._updateAttributions=function(){if(this._map.style){var t=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?t=t.concat(this.options.customAttribution.map((function(t){return\"string\"!=typeof t?\"\":t}))):\"string\"==typeof this.options.customAttribution&&t.push(this.options.customAttribution)),this._map.style.stylesheet){var e=this._map.style.stylesheet;this.styleOwner=e.owner,this.styleId=e.id}var r=this._map.style.sourceCaches;for(var n in r){var a=r[n];if(a.used){var i=a.getSource();i.attribution&&t.indexOf(i.attribution)<0&&t.push(i.attribution)}}t.sort((function(t,e){return t.length-e.length}));var o=(t=t.filter((function(e,r){for(var n=r+1;n<t.length;n++)if(t[n].indexOf(e)>=0)return!1;return!0}))).join(\" | \");o!==this._attribHTML&&(this._attribHTML=o,t.length?(this._innerContainer.innerHTML=o,this._container.classList.remove(\"mapboxgl-attrib-empty\")):this._container.classList.add(\"mapboxgl-attrib-empty\"),this._editLink=null)}},va.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add(\"mapboxgl-compact\"):this._container.classList.remove(\"mapboxgl-compact\")};var ya=function(){t.bindAll([\"_updateLogo\"],this),t.bindAll([\"_updateCompact\"],this)};ya.prototype.onAdd=function(t){this._map=t,this._container=r.create(\"div\",\"mapboxgl-ctrl\");var e=r.create(\"a\",\"mapboxgl-ctrl-logo\");return e.target=\"_blank\",e.rel=\"noopener nofollow\",e.href=\"https://www.mapbox.com/\",e.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),e.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(e),this._container.style.display=\"none\",this._map.on(\"sourcedata\",this._updateLogo),this._updateLogo(),this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container},ya.prototype.onRemove=function(){r.remove(this._container),this._map.off(\"sourcedata\",this._updateLogo),this._map.off(\"resize\",this._updateCompact)},ya.prototype.getDefaultPosition=function(){return\"bottom-left\"},ya.prototype._updateLogo=function(t){t&&\"metadata\"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?\"block\":\"none\")},ya.prototype._logoRequired=function(){if(this._map.style){var t=this._map.style.sourceCaches;for(var e in t)if(t[e].getSource().mapbox_logo)return!0;return!1}},ya.prototype._updateCompact=function(){var t=this._container.children;if(t.length){var e=t[0];this._map.getCanvasContainer().offsetWidth<250?e.classList.add(\"mapboxgl-compact\"):e.classList.remove(\"mapboxgl-compact\")}};var xa=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};xa.prototype.add=function(t){var e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e},xa.prototype.remove=function(t){for(var e=this._currentlyRunning,r=0,n=e?this._queue.concat(e):this._queue;r<n.length;r+=1){var a=n[r];if(a.id===t)return void(a.cancelled=!0)}},xa.prototype.run=function(t){void 0===t&&(t=0);var e=this._currentlyRunning=this._queue;this._queue=[];for(var r=0,n=e;r<n.length;r+=1){var a=n[r];if(!a.cancelled&&(a.callback(t),this._cleared))break}this._cleared=!1,this._currentlyRunning=!1},xa.prototype.clear=function(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]};var ba={\"FullscreenControl.Enter\":\"Enter fullscreen\",\"FullscreenControl.Exit\":\"Exit fullscreen\",\"GeolocateControl.FindMyLocation\":\"Find my location\",\"GeolocateControl.LocationNotAvailable\":\"Location not available\",\"LogoControl.Title\":\"Mapbox logo\",\"NavigationControl.ResetBearing\":\"Reset bearing to north\",\"NavigationControl.ZoomIn\":\"Zoom in\",\"NavigationControl.ZoomOut\":\"Zoom out\",\"ScaleControl.Feet\":\"ft\",\"ScaleControl.Meters\":\"m\",\"ScaleControl.Kilometers\":\"km\",\"ScaleControl.Miles\":\"mi\",\"ScaleControl.NauticalMiles\":\"nm\"},_a=t.window.HTMLImageElement,wa=t.window.HTMLElement,Ta=t.window.ImageBitmap,ka={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:60,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,bearingSnap:7,clickTolerance:3,pitchWithRotate:!0,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,localIdeographFontFamily:\"sans-serif\",transformRequest:null,accessToken:null,fadeDuration:300,crossSourceCollisions:!0},Aa=function(n){function a(e){var r=this;if(null!=(e=t.extend({},ka,e)).minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(null!=e.minPitch&&null!=e.maxPitch&&e.minPitch>e.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(null!=e.minPitch&&e.minPitch<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(null!=e.maxPitch&&e.maxPitch>60)throw new Error(\"maxPitch must be less than or equal to 60\");var a=new wn(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies);if(n.call(this,a,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new xa,this._controls=[],this._mapId=t.uniqueId(),this._locale=t.extend({},ba,e.locale),this._requestManager=new t.RequestManager(e.transformRequest,e.accessToken),\"string\"==typeof e.container){if(this._container=t.window.document.getElementById(e.container),!this._container)throw new Error(\"Container '\"+e.container+\"' not found.\")}else{if(!(e.container instanceof wa))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=e.container}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll([\"_onWindowOnline\",\"_onWindowResize\",\"_contextLost\",\"_contextRestored\"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error(\"Failed to initialize WebGL.\");this.on(\"move\",(function(){return r._update(!1)})),this.on(\"moveend\",(function(){return r._update(!1)})),this.on(\"zoom\",(function(){return r._update(!0)})),void 0!==t.window&&(t.window.addEventListener(\"online\",this._onWindowOnline,!1),t.window.addEventListener(\"resize\",this._onWindowResize,!1)),this.handlers=new ga(this,e),this._hash=e.hash&&new kn(\"string\"==typeof e.hash&&e.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.extend({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new va({customAttribution:e.customAttribution})),this.addControl(new ya,e.logoPosition),this.on(\"style.load\",(function(){r.transform.unmodified&&r.jumpTo(r.style.stylesheet)})),this.on(\"data\",(function(e){r._update(\"style\"===e.dataType),r.fire(new t.Event(e.dataType+\"data\",e))})),this.on(\"dataloading\",(function(e){r.fire(new t.Event(e.dataType+\"dataloading\",e))}))}n&&(a.__proto__=n),(a.prototype=Object.create(n&&n.prototype)).constructor=a;var i={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return a.prototype._getMapId=function(){return this._mapId},a.prototype.addControl=function(e,r){if(void 0===r&&e.getDefaultPosition&&(r=e.getDefaultPosition()),void 0===r&&(r=\"top-right\"),!e||!e.onAdd)return this.fire(new t.ErrorEvent(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));var n=e.onAdd(this);this._controls.push(e);var a=this._controlPositions[r];return-1!==r.indexOf(\"bottom\")?a.insertBefore(n,a.firstChild):a.appendChild(n),this},a.prototype.removeControl=function(e){if(!e||!e.onRemove)return this.fire(new t.ErrorEvent(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));var r=this._controls.indexOf(e);return r>-1&&this._controls.splice(r,1),e.onRemove(this),this},a.prototype.resize=function(e){var r=this._containerDimensions(),n=r[0],a=r[1];this._resizeCanvas(n,a),this.transform.resize(n,a),this.painter.resize(n,a);var i=!this._moving;return i&&(this.stop(),this.fire(new t.Event(\"movestart\",e)).fire(new t.Event(\"move\",e))),this.fire(new t.Event(\"resize\",e)),i&&this.fire(new t.Event(\"moveend\",e)),this},a.prototype.getBounds=function(){return this.transform.getBounds()},a.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},a.prototype.setMaxBounds=function(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),this._update()},a.prototype.setMinZoom=function(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()<t&&this.setZoom(t),this;throw new Error(\"minZoom must be between -2 and the current maxZoom, inclusive\")},a.prototype.getMinZoom=function(){return this.transform.minZoom},a.prototype.setMaxZoom=function(t){if((t=null==t?22:t)>=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error(\"maxZoom must be greater than the current minZoom\")},a.prototype.getMaxZoom=function(){return this.transform.maxZoom},a.prototype.setMinPitch=function(t){if((t=null==t?0:t)<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(t>=0&&t<=this.transform.maxPitch)return this.transform.minPitch=t,this._update(),this.getPitch()<t&&this.setPitch(t),this;throw new Error(\"minPitch must be between 0 and the current maxPitch, inclusive\")},a.prototype.getMinPitch=function(){return this.transform.minPitch},a.prototype.setMaxPitch=function(t){if((t=null==t?60:t)>60)throw new Error(\"maxPitch must be less than or equal to 60\");if(t>=this.transform.minPitch)return this.transform.maxPitch=t,this._update(),this.getPitch()>t&&this.setPitch(t),this;throw new Error(\"maxPitch must be greater than the current minPitch\")},a.prototype.getMaxPitch=function(){return this.transform.maxPitch},a.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},a.prototype.setRenderWorldCopies=function(t){return this.transform.renderWorldCopies=t,this._update()},a.prototype.project=function(e){return this.transform.locationPoint(t.LngLat.convert(e))},a.prototype.unproject=function(e){return this.transform.pointLocation(t.Point.convert(e))},a.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},a.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},a.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},a.prototype._createDelegatedListener=function(t,e,r){var n,a=this;if(\"mouseenter\"===t||\"mouseover\"===t){var i=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){var o=a.getLayer(e)?a.queryRenderedFeatures(n.point,{layers:[e]}):[];o.length?i||(i=!0,r.call(a,new zn(t,a,n.originalEvent,{features:o}))):i=!1},mouseout:function(){i=!1}}}}if(\"mouseleave\"===t||\"mouseout\"===t){var o=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){(a.getLayer(e)?a.queryRenderedFeatures(n.point,{layers:[e]}):[]).length?o=!0:o&&(o=!1,r.call(a,new zn(t,a,n.originalEvent)))},mouseout:function(e){o&&(o=!1,r.call(a,new zn(t,a,e.originalEvent)))}}}}return{layer:e,listener:r,delegates:(n={},n[t]=function(t){var n=a.getLayer(e)?a.queryRenderedFeatures(t.point,{layers:[e]}):[];n.length&&(t.features=n,r.call(a,t),delete t.features)},n)}},a.prototype.on=function(t,e,r){if(void 0===r)return n.prototype.on.call(this,t,e);var a=this._createDelegatedListener(t,e,r);for(var i in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(a),a.delegates)this.on(i,a.delegates[i]);return this},a.prototype.once=function(t,e,r){if(void 0===r)return n.prototype.once.call(this,t,e);var a=this._createDelegatedListener(t,e,r);for(var i in a.delegates)this.once(i,a.delegates[i]);return this},a.prototype.off=function(t,e,r){var a=this;return void 0===r?n.prototype.off.call(this,t,e):(this._delegatedListeners&&this._delegatedListeners[t]&&function(n){for(var i=n[t],o=0;o<i.length;o++){var s=i[o];if(s.layer===e&&s.listener===r){for(var l in s.delegates)a.off(l,s.delegates[l]);return i.splice(o,1),a}}}(this._delegatedListeners),this)},a.prototype.queryRenderedFeatures=function(e,r){if(!this.style)return[];var n;if(void 0!==r||void 0===e||e instanceof t.Point||Array.isArray(e)||(r=e,e=void 0),r=r||{},(e=e||[[0,0],[this.transform.width,this.transform.height]])instanceof t.Point||\"number\"==typeof e[0])n=[t.Point.convert(e)];else{var a=t.Point.convert(e[0]),i=t.Point.convert(e[1]);n=[a,new t.Point(i.x,a.y),i,new t.Point(a.x,i.y),a]}return this.style.queryRenderedFeatures(n,r,this.transform)},a.prototype.querySourceFeatures=function(t,e){return this.style.querySourceFeatures(t,e)},a.prototype.setStyle=function(e,r){return!1!==(r=t.extend({},{localIdeographFontFamily:this._localIdeographFontFamily},r)).diff&&r.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&e?(this._diffStyle(e,r),this):(this._localIdeographFontFamily=r.localIdeographFontFamily,this._updateStyle(e,r))},a.prototype._getUIString=function(t){var e=this._locale[t];if(null==e)throw new Error(\"Missing UI string '\"+t+\"'\");return e},a.prototype._updateStyle=function(t,e){return this.style&&(this.style.setEventedParent(null),this.style._remove()),t?(this.style=new qe(this,e||{}),this.style.setEventedParent(this,{style:this.style}),\"string\"==typeof t?this.style.loadURL(t):this.style.loadJSON(t),this):(delete this.style,this)},a.prototype._lazyInitEmptyStyle=function(){this.style||(this.style=new qe(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())},a.prototype._diffStyle=function(e,r){var n=this;if(\"string\"==typeof e){var a=this._requestManager.normalizeStyleURL(e),i=this._requestManager.transformRequest(a,t.ResourceType.Style);t.getJSON(i,(function(e,a){e?n.fire(new t.ErrorEvent(e)):a&&n._updateDiff(a,r)}))}else\"object\"==typeof e&&this._updateDiff(e,r)},a.prototype._updateDiff=function(e,r){try{this.style.setState(e)&&this._update(!0)}catch(n){t.warnOnce(\"Unable to perform style diff: \"+(n.message||n.error||n)+\".  Rebuilding the style from scratch.\"),this._updateStyle(e,r)}},a.prototype.getStyle=function(){if(this.style)return this.style.serialize()},a.prototype.isStyleLoaded=function(){return this.style?this.style.loaded():t.warnOnce(\"There is no style added to the map.\")},a.prototype.addSource=function(t,e){return this._lazyInitEmptyStyle(),this.style.addSource(t,e),this._update(!0)},a.prototype.isSourceLoaded=function(e){var r=this.style&&this.style.sourceCaches[e];if(void 0!==r)return r.loaded();this.fire(new t.ErrorEvent(new Error(\"There is no source with ID '\"+e+\"'\")))},a.prototype.areTilesLoaded=function(){var t=this.style&&this.style.sourceCaches;for(var e in t){var r=t[e]._tiles;for(var n in r){var a=r[n];if(\"loaded\"!==a.state&&\"errored\"!==a.state)return!1}}return!0},a.prototype.addSourceType=function(t,e,r){return this._lazyInitEmptyStyle(),this.style.addSourceType(t,e,r)},a.prototype.removeSource=function(t){return this.style.removeSource(t),this._update(!0)},a.prototype.getSource=function(t){return this.style.getSource(t)},a.prototype.addImage=function(e,r,n){void 0===n&&(n={});var a=n.pixelRatio;void 0===a&&(a=1);var i=n.sdf;void 0===i&&(i=!1);var o=n.stretchX,s=n.stretchY,l=n.content;if(this._lazyInitEmptyStyle(),r instanceof _a||Ta&&r instanceof Ta){var c=t.browser.getImageData(r);this.style.addImage(e,{data:new t.RGBAImage({width:c.width,height:c.height},c.data),pixelRatio:a,stretchX:o,stretchY:s,content:l,sdf:i,version:0})}else{if(void 0===r.width||void 0===r.height)return this.fire(new t.ErrorEvent(new Error(\"Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));var u=r;this.style.addImage(e,{data:new t.RGBAImage({width:r.width,height:r.height},new Uint8Array(r.data)),pixelRatio:a,stretchX:o,stretchY:s,content:l,sdf:i,version:0,userImage:u}),u.onAdd&&u.onAdd(this,e)}},a.prototype.updateImage=function(e,r){var n=this.style.getImage(e);if(!n)return this.fire(new t.ErrorEvent(new Error(\"The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.\")));var a=r instanceof _a||Ta&&r instanceof Ta?t.browser.getImageData(r):r,i=a.width,o=a.height,s=a.data;return void 0===i||void 0===o?this.fire(new t.ErrorEvent(new Error(\"Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\"))):i!==n.data.width||o!==n.data.height?this.fire(new t.ErrorEvent(new Error(\"The width and height of the updated image must be that same as the previous version of the image\"))):(n.data.replace(s,!(r instanceof _a||Ta&&r instanceof Ta)),void this.style.updateImage(e,n))},a.prototype.hasImage=function(e){return e?!!this.style.getImage(e):(this.fire(new t.ErrorEvent(new Error(\"Missing required image id\"))),!1)},a.prototype.removeImage=function(t){this.style.removeImage(t)},a.prototype.loadImage=function(e,r){t.getImage(this._requestManager.transformRequest(e,t.ResourceType.Image),r)},a.prototype.listImages=function(){return this.style.listImages()},a.prototype.addLayer=function(t,e){return this._lazyInitEmptyStyle(),this.style.addLayer(t,e),this._update(!0)},a.prototype.moveLayer=function(t,e){return this.style.moveLayer(t,e),this._update(!0)},a.prototype.removeLayer=function(t){return this.style.removeLayer(t),this._update(!0)},a.prototype.getLayer=function(t){return this.style.getLayer(t)},a.prototype.setLayerZoomRange=function(t,e,r){return this.style.setLayerZoomRange(t,e,r),this._update(!0)},a.prototype.setFilter=function(t,e,r){return void 0===r&&(r={}),this.style.setFilter(t,e,r),this._update(!0)},a.prototype.getFilter=function(t){return this.style.getFilter(t)},a.prototype.setPaintProperty=function(t,e,r,n){return void 0===n&&(n={}),this.style.setPaintProperty(t,e,r,n),this._update(!0)},a.prototype.getPaintProperty=function(t,e){return this.style.getPaintProperty(t,e)},a.prototype.setLayoutProperty=function(t,e,r,n){return void 0===n&&(n={}),this.style.setLayoutProperty(t,e,r,n),this._update(!0)},a.prototype.getLayoutProperty=function(t,e){return this.style.getLayoutProperty(t,e)},a.prototype.setLight=function(t,e){return void 0===e&&(e={}),this._lazyInitEmptyStyle(),this.style.setLight(t,e),this._update(!0)},a.prototype.getLight=function(){return this.style.getLight()},a.prototype.setFeatureState=function(t,e){return this.style.setFeatureState(t,e),this._update()},a.prototype.removeFeatureState=function(t,e){return this.style.removeFeatureState(t,e),this._update()},a.prototype.getFeatureState=function(t){return this.style.getFeatureState(t)},a.prototype.getContainer=function(){return this._container},a.prototype.getCanvasContainer=function(){return this._canvasContainer},a.prototype.getCanvas=function(){return this._canvas},a.prototype._containerDimensions=function(){var t=0,e=0;return this._container&&(t=this._container.clientWidth||400,e=this._container.clientHeight||300),[t,e]},a.prototype._detectMissingCSS=function(){\"rgb(250, 128, 114)\"!==t.window.getComputedStyle(this._missingCSSCanary).getPropertyValue(\"background-color\")&&t.warnOnce(\"This page appears to be missing CSS declarations for Mapbox GL JS, which may cause the map to display incorrectly. Please ensure your page includes mapbox-gl.css, as described in https://www.mapbox.com/mapbox-gl-js/api/.\")},a.prototype._setupContainer=function(){var t=this._container;t.classList.add(\"mapboxgl-map\"),(this._missingCSSCanary=r.create(\"div\",\"mapboxgl-canary\",t)).style.visibility=\"hidden\",this._detectMissingCSS();var e=this._canvasContainer=r.create(\"div\",\"mapboxgl-canvas-container\",t);this._interactive&&e.classList.add(\"mapboxgl-interactive\"),this._canvas=r.create(\"canvas\",\"mapboxgl-canvas\",e),this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",\"0\"),this._canvas.setAttribute(\"aria-label\",\"Map\");var n=this._containerDimensions();this._resizeCanvas(n[0],n[1]);var a=this._controlContainer=r.create(\"div\",\"mapboxgl-control-container\",t),i=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach((function(t){i[t]=r.create(\"div\",\"mapboxgl-ctrl-\"+t,a)}))},a.prototype._resizeCanvas=function(e,r){var n=t.browser.devicePixelRatio||1;this._canvas.width=n*e,this._canvas.height=n*r,this._canvas.style.width=e+\"px\",this._canvas.style.height=r+\"px\"},a.prototype._setupPainter=function(){var r=t.extend({},e.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),n=this._canvas.getContext(\"webgl\",r)||this._canvas.getContext(\"experimental-webgl\",r);n?(this.painter=new yn(n,this.transform),t.webpSupported.testSupport(n)):this.fire(new t.ErrorEvent(new Error(\"Failed to initialize WebGL\")))},a.prototype._contextLost=function(e){e.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new t.Event(\"webglcontextlost\",{originalEvent:e}))},a.prototype._contextRestored=function(e){this._setupPainter(),this.resize(),this._update(),this.fire(new t.Event(\"webglcontextrestored\",{originalEvent:e}))},a.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()},a.prototype._update=function(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this.triggerRepaint(),this):this},a.prototype._requestRenderFrame=function(t){return this._update(),this._renderTaskQueue.add(t)},a.prototype._cancelRenderFrame=function(t){this._renderTaskQueue.remove(t)},a.prototype._render=function(e){var r,n=this,a=0,i=this.painter.context.extTimerQuery;if(this.listens(\"gpu-timing-frame\")&&(r=i.createQueryEXT(),i.beginQueryEXT(i.TIME_ELAPSED_EXT,r),a=t.browser.now()),this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(e),!this._removed){var o=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;var s=this.transform.zoom,l=t.browser.now();this.style.zoomHistory.update(s,l);var c=new t.EvaluationParameters(s,{now:l,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),u=c.crossFadingFactor();1===u&&u===this._crossFadingFactor||(o=!0,this._crossFadingFactor=u),this.style.update(c)}if(this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,this._fadeDuration,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:this._fadeDuration,showPadding:this.showPadding,gpuTiming:!!this.listens(\"gpu-timing-layer\")}),this.fire(new t.Event(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new t.Event(\"load\"))),this.style&&(this.style.hasTransitions()||o)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),this.listens(\"gpu-timing-frame\")){var h=t.browser.now()-a;i.endQueryEXT(i.TIME_ELAPSED_EXT,r),setTimeout((function(){var e=i.getQueryObjectEXT(r,i.QUERY_RESULT_EXT)/1e6;i.deleteQueryEXT(r),n.fire(new t.Event(\"gpu-timing-frame\",{cpuTime:h,gpuTime:e}))}),50)}if(this.listens(\"gpu-timing-layer\")){var f=this.painter.collectGpuTimers();setTimeout((function(){var e=n.painter.queryGpuTimers(f);n.fire(new t.Event(\"gpu-timing-layer\",{layerTimes:e}))}),50)}return this._sourcesDirty||this._styleDirty||this._placementDirty||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&(this._fullyLoaded||(this._fullyLoaded=!0),this.fire(new t.Event(\"idle\"))),this}},a.prototype.remove=function(){this._hash&&this._hash.remove();for(var e=0,r=this._controls;e<r.length;e+=1)r[e].onRemove(this);this._controls=[],this._frame&&(this._frame.cancel(),this._frame=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),void 0!==t.window&&(t.window.removeEventListener(\"resize\",this._onWindowResize,!1),t.window.removeEventListener(\"online\",this._onWindowOnline,!1));var n=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");n&&n.loseContext(),Ma(this._canvasContainer),Ma(this._controlContainer),Ma(this._missingCSSCanary),this._container.classList.remove(\"mapboxgl-map\"),this._removed=!0,this.fire(new t.Event(\"remove\"))},a.prototype.triggerRepaint=function(){var e=this;this.style&&!this._frame&&(this._frame=t.browser.frame((function(t){e._frame=null,e._render(t)})))},a.prototype._onWindowOnline=function(){this._update()},a.prototype._onWindowResize=function(t){this._trackResize&&this.resize({originalEvent:t})._update()},i.showTileBoundaries.get=function(){return!!this._showTileBoundaries},i.showTileBoundaries.set=function(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())},i.showPadding.get=function(){return!!this._showPadding},i.showPadding.set=function(t){this._showPadding!==t&&(this._showPadding=t,this._update())},i.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},i.showCollisionBoxes.set=function(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update())},i.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},i.showOverdrawInspector.set=function(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())},i.repaint.get=function(){return!!this._repaint},i.repaint.set=function(t){this._repaint!==t&&(this._repaint=t,this.triggerRepaint())},i.vertices.get=function(){return!!this._vertices},i.vertices.set=function(t){this._vertices=t,this._update()},a.prototype._setCacheLimits=function(e,r){t.setCacheLimits(e,r)},i.version.get=function(){return t.version},Object.defineProperties(a.prototype,i),a}(ma);function Ma(t){t.parentNode&&t.parentNode.removeChild(t)}var Sa={showCompass:!0,showZoom:!0,visualizePitch:!1},Ea=function(e){var n=this;this.options=t.extend({},Sa,e),this._container=r.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",(function(t){return t.preventDefault()})),this.options.showZoom&&(t.bindAll([\"_setButtonTitle\",\"_updateZoomButtons\"],this),this._zoomInButton=this._createButton(\"mapboxgl-ctrl-zoom-in\",(function(t){return n._map.zoomIn({},{originalEvent:t})})),r.create(\"span\",\"mapboxgl-ctrl-icon\",this._zoomInButton).setAttribute(\"aria-hidden\",!0),this._zoomOutButton=this._createButton(\"mapboxgl-ctrl-zoom-out\",(function(t){return n._map.zoomOut({},{originalEvent:t})})),r.create(\"span\",\"mapboxgl-ctrl-icon\",this._zoomOutButton).setAttribute(\"aria-hidden\",!0)),this.options.showCompass&&(t.bindAll([\"_rotateCompassArrow\"],this),this._compass=this._createButton(\"mapboxgl-ctrl-compass\",(function(t){n.options.visualizePitch?n._map.resetNorthPitch({},{originalEvent:t}):n._map.resetNorth({},{originalEvent:t})})),this._compassIcon=r.create(\"span\",\"mapboxgl-ctrl-icon\",this._compass),this._compassIcon.setAttribute(\"aria-hidden\",!0))};Ea.prototype._updateZoomButtons=function(){var t=this._map.getZoom();this._zoomInButton.disabled=t===this._map.getMaxZoom(),this._zoomOutButton.disabled=t===this._map.getMinZoom()},Ea.prototype._rotateCompassArrow=function(){var t=this.options.visualizePitch?\"scale(\"+1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)+\") rotateX(\"+this._map.transform.pitch+\"deg) rotateZ(\"+this._map.transform.angle*(180/Math.PI)+\"deg)\":\"rotate(\"+this._map.transform.angle*(180/Math.PI)+\"deg)\";this._compassIcon.style.transform=t},Ea.prototype.onAdd=function(t){return this._map=t,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,\"ZoomIn\"),this._setButtonTitle(this._zoomOutButton,\"ZoomOut\"),this._map.on(\"zoom\",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,\"ResetBearing\"),this.options.visualizePitch&&this._map.on(\"pitch\",this._rotateCompassArrow),this._map.on(\"rotate\",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Ca(this._map,this._compass,this.options.visualizePitch)),this._container},Ea.prototype.onRemove=function(){r.remove(this._container),this.options.showZoom&&this._map.off(\"zoom\",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off(\"pitch\",this._rotateCompassArrow),this._map.off(\"rotate\",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map},Ea.prototype._createButton=function(t,e){var n=r.create(\"button\",t,this._container);return n.type=\"button\",n.addEventListener(\"click\",e),n},Ea.prototype._setButtonTitle=function(t,e){var r=this._map._getUIString(\"NavigationControl.\"+e);t.title=r,t.setAttribute(\"aria-label\",r)};var Ca=function(e,n,a){void 0===a&&(a=!1),this._clickTolerance=10,this.element=n,this.mouseRotate=new Gn({clickTolerance:e.dragRotate._mouseRotate._clickTolerance}),this.map=e,a&&(this.mousePitch=new Yn({clickTolerance:e.dragRotate._mousePitch._clickTolerance})),t.bindAll([\"mousedown\",\"mousemove\",\"mouseup\",\"touchstart\",\"touchmove\",\"touchend\",\"reset\"],this),r.addEventListener(n,\"mousedown\",this.mousedown),r.addEventListener(n,\"touchstart\",this.touchstart,{passive:!1}),r.addEventListener(n,\"touchmove\",this.touchmove),r.addEventListener(n,\"touchend\",this.touchend),r.addEventListener(n,\"touchcancel\",this.reset)};function La(e,r,n){if(e=new t.LngLat(e.lng,e.lat),r){var a=new t.LngLat(e.lng-360,e.lat),i=new t.LngLat(e.lng+360,e.lat),o=n.locationPoint(e).distSqr(r);n.locationPoint(a).distSqr(r)<o?e=a:n.locationPoint(i).distSqr(r)<o&&(e=i)}for(;Math.abs(e.lng-n.center.lng)>180;){var s=n.locationPoint(e);if(s.x>=0&&s.y>=0&&s.x<=n.width&&s.y<=n.height)break;e.lng>n.center.lng?e.lng-=360:e.lng+=360}return e}Ca.prototype.down=function(t,e){this.mouseRotate.mousedown(t,e),this.mousePitch&&this.mousePitch.mousedown(t,e),r.disableDrag()},Ca.prototype.move=function(t,e){var r=this.map,n=this.mouseRotate.mousemoveWindow(t,e);if(n&&n.bearingDelta&&r.setBearing(r.getBearing()+n.bearingDelta),this.mousePitch){var a=this.mousePitch.mousemoveWindow(t,e);a&&a.pitchDelta&&r.setPitch(r.getPitch()+a.pitchDelta)}},Ca.prototype.off=function(){var t=this.element;r.removeEventListener(t,\"mousedown\",this.mousedown),r.removeEventListener(t,\"touchstart\",this.touchstart,{passive:!1}),r.removeEventListener(t,\"touchmove\",this.touchmove),r.removeEventListener(t,\"touchend\",this.touchend),r.removeEventListener(t,\"touchcancel\",this.reset),this.offTemp()},Ca.prototype.offTemp=function(){r.enableDrag(),r.removeEventListener(t.window,\"mousemove\",this.mousemove),r.removeEventListener(t.window,\"mouseup\",this.mouseup)},Ca.prototype.mousedown=function(e){this.down(t.extend({},e,{ctrlKey:!0,preventDefault:function(){return e.preventDefault()}}),r.mousePos(this.element,e)),r.addEventListener(t.window,\"mousemove\",this.mousemove),r.addEventListener(t.window,\"mouseup\",this.mouseup)},Ca.prototype.mousemove=function(t){this.move(t,r.mousePos(this.element,t))},Ca.prototype.mouseup=function(t){this.mouseRotate.mouseupWindow(t),this.mousePitch&&this.mousePitch.mouseupWindow(t),this.offTemp()},Ca.prototype.touchstart=function(t){1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.down({type:\"mousedown\",button:0,ctrlKey:!0,preventDefault:function(){return t.preventDefault()}},this._startPos))},Ca.prototype.touchmove=function(t){1!==t.targetTouches.length?this.reset():(this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.move({preventDefault:function(){return t.preventDefault()}},this._lastPos))},Ca.prototype.touchend=function(t){0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)<this._clickTolerance&&this.element.click(),this.reset()},Ca.prototype.reset=function(){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()};var Pa={center:\"translate(-50%,-50%)\",top:\"translate(-50%,0)\",\"top-left\":\"translate(0,0)\",\"top-right\":\"translate(-100%,0)\",bottom:\"translate(-50%,-100%)\",\"bottom-left\":\"translate(0,-100%)\",\"bottom-right\":\"translate(-100%,-100%)\",left:\"translate(0,-50%)\",right:\"translate(-100%,-50%)\"};function Ia(t,e,r){var n=t.classList;for(var a in Pa)n.remove(\"mapboxgl-\"+r+\"-anchor-\"+a);n.add(\"mapboxgl-\"+r+\"-anchor-\"+e)}var za,Oa=function(e){function n(n,a){var i=this;if(e.call(this),(n instanceof t.window.HTMLElement||a)&&(n=t.extend({element:n},a)),t.bindAll([\"_update\",\"_onMove\",\"_onUp\",\"_addDragHandler\",\"_onMapClick\",\"_onKeyPress\"],this),this._anchor=n&&n.anchor||\"center\",this._color=n&&n.color||\"#3FB1CE\",this._draggable=n&&n.draggable||!1,this._state=\"inactive\",this._rotation=n&&n.rotation||0,this._rotationAlignment=n&&n.rotationAlignment||\"auto\",this._pitchAlignment=n&&n.pitchAlignment&&\"auto\"!==n.pitchAlignment?n.pitchAlignment:this._rotationAlignment,n&&n.element)this._element=n.element,this._offset=t.Point.convert(n&&n.offset||[0,0]);else{this._defaultMarker=!0,this._element=r.create(\"div\"),this._element.setAttribute(\"aria-label\",\"Map marker\");var o=r.createNS(\"http://www.w3.org/2000/svg\",\"svg\");o.setAttributeNS(null,\"display\",\"block\"),o.setAttributeNS(null,\"height\",\"41px\"),o.setAttributeNS(null,\"width\",\"27px\"),o.setAttributeNS(null,\"viewBox\",\"0 0 27 41\");var s=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");s.setAttributeNS(null,\"stroke\",\"none\"),s.setAttributeNS(null,\"stroke-width\",\"1\"),s.setAttributeNS(null,\"fill\",\"none\"),s.setAttributeNS(null,\"fill-rule\",\"evenodd\");var l=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");l.setAttributeNS(null,\"fill-rule\",\"nonzero\");var c=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");c.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),c.setAttributeNS(null,\"fill\",\"#000000\");for(var u=0,h=[{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"9.5\",ry:\"4.77275007\"},{rx:\"8.5\",ry:\"4.29549936\"},{rx:\"7.5\",ry:\"3.81822308\"},{rx:\"6.5\",ry:\"3.34094679\"},{rx:\"5.5\",ry:\"2.86367051\"},{rx:\"4.5\",ry:\"2.38636864\"}];u<h.length;u+=1){var f=h[u],p=r.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");p.setAttributeNS(null,\"opacity\",\"0.04\"),p.setAttributeNS(null,\"cx\",\"10.5\"),p.setAttributeNS(null,\"cy\",\"5.80029008\"),p.setAttributeNS(null,\"rx\",f.rx),p.setAttributeNS(null,\"ry\",f.ry),c.appendChild(p)}var d=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");d.setAttributeNS(null,\"fill\",this._color);var g=r.createNS(\"http://www.w3.org/2000/svg\",\"path\");g.setAttributeNS(null,\"d\",\"M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z\"),d.appendChild(g);var m=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");m.setAttributeNS(null,\"opacity\",\"0.25\"),m.setAttributeNS(null,\"fill\",\"#000000\");var v=r.createNS(\"http://www.w3.org/2000/svg\",\"path\");v.setAttributeNS(null,\"d\",\"M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z\"),m.appendChild(v);var y=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");y.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),y.setAttributeNS(null,\"fill\",\"#FFFFFF\");var x=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");x.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");var b=r.createNS(\"http://www.w3.org/2000/svg\",\"circle\");b.setAttributeNS(null,\"fill\",\"#000000\"),b.setAttributeNS(null,\"opacity\",\"0.25\"),b.setAttributeNS(null,\"cx\",\"5.5\"),b.setAttributeNS(null,\"cy\",\"5.5\"),b.setAttributeNS(null,\"r\",\"5.4999962\");var _=r.createNS(\"http://www.w3.org/2000/svg\",\"circle\");_.setAttributeNS(null,\"fill\",\"#FFFFFF\"),_.setAttributeNS(null,\"cx\",\"5.5\"),_.setAttributeNS(null,\"cy\",\"5.5\"),_.setAttributeNS(null,\"r\",\"5.4999962\"),x.appendChild(b),x.appendChild(_),l.appendChild(c),l.appendChild(d),l.appendChild(m),l.appendChild(y),l.appendChild(x),o.appendChild(l),this._element.appendChild(o),this._offset=t.Point.convert(n&&n.offset||[0,-14])}this._element.classList.add(\"mapboxgl-marker\"),this._element.addEventListener(\"dragstart\",(function(t){t.preventDefault()})),this._element.addEventListener(\"mousedown\",(function(t){t.preventDefault()})),this._element.addEventListener(\"focus\",(function(){var t=i._map.getContainer();t.scrollTop=0,t.scrollLeft=0})),Ia(this._element,this._anchor,\"marker\"),this._popup=null}return e&&(n.__proto__=e),(n.prototype=Object.create(e&&e.prototype)).constructor=n,n.prototype.addTo=function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on(\"move\",this._update),t.on(\"moveend\",this._update),this.setDraggable(this._draggable),this._update(),this._map.on(\"click\",this._onMapClick),this},n.prototype.remove=function(){return this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler),this._map.off(\"mouseup\",this._onUp),this._map.off(\"touchend\",this._onUp),this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),delete this._map),r.remove(this._element),this._popup&&this._popup.remove(),this},n.prototype.getLngLat=function(){return this._lngLat},n.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},n.prototype.getElement=function(){return this._element},n.prototype.setPopup=function(t){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener(\"keypress\",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(\"tabindex\")),t){if(!(\"offset\"in t.options)){var e=Math.sqrt(Math.pow(13.5,2)/2);t.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-38.1],\"bottom-left\":[e,-1*(24.6+e)],\"bottom-right\":[-e,-1*(24.6+e)],left:[13.5,-24.6],right:[-13.5,-24.6]}:this._offset}this._popup=t,this._lngLat&&this._popup.setLngLat(this._lngLat),this._originalTabIndex=this._element.getAttribute(\"tabindex\"),this._originalTabIndex||this._element.setAttribute(\"tabindex\",\"0\"),this._element.addEventListener(\"keypress\",this._onKeyPress)}return this},n.prototype._onKeyPress=function(t){var e=t.code,r=t.charCode||t.keyCode;\"Space\"!==e&&\"Enter\"!==e&&32!==r&&13!==r||this.togglePopup()},n.prototype._onMapClick=function(t){var e=t.originalEvent.target,r=this._element;this._popup&&(e===r||r.contains(e))&&this.togglePopup()},n.prototype.getPopup=function(){return this._popup},n.prototype.togglePopup=function(){var t=this._popup;return t?(t.isOpen()?t.remove():t.addTo(this._map),this):this},n.prototype._update=function(t){if(this._map){this._map.transform.renderWorldCopies&&(this._lngLat=La(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset);var e=\"\";\"viewport\"===this._rotationAlignment||\"auto\"===this._rotationAlignment?e=\"rotateZ(\"+this._rotation+\"deg)\":\"map\"===this._rotationAlignment&&(e=\"rotateZ(\"+(this._rotation-this._map.getBearing())+\"deg)\");var n=\"\";\"viewport\"===this._pitchAlignment||\"auto\"===this._pitchAlignment?n=\"rotateX(0deg)\":\"map\"===this._pitchAlignment&&(n=\"rotateX(\"+this._map.getPitch()+\"deg)\"),t&&\"moveend\"!==t.type||(this._pos=this._pos.round()),r.setTransform(this._element,Pa[this._anchor]+\" translate(\"+this._pos.x+\"px, \"+this._pos.y+\"px) \"+n+\" \"+e)}},n.prototype.getOffset=function(){return this._offset},n.prototype.setOffset=function(e){return this._offset=t.Point.convert(e),this._update(),this},n.prototype._onMove=function(e){this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",\"pending\"===this._state&&(this._state=\"active\",this.fire(new t.Event(\"dragstart\"))),this.fire(new t.Event(\"drag\"))},n.prototype._onUp=function(){this._element.style.pointerEvents=\"auto\",this._positionDelta=null,this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),\"active\"===this._state&&this.fire(new t.Event(\"dragend\")),this._state=\"inactive\"},n.prototype._addDragHandler=function(t){this._element.contains(t.originalEvent.target)&&(t.preventDefault(),this._positionDelta=t.point.sub(this._pos).add(this._offset),this._state=\"pending\",this._map.on(\"mousemove\",this._onMove),this._map.on(\"touchmove\",this._onMove),this._map.once(\"mouseup\",this._onUp),this._map.once(\"touchend\",this._onUp))},n.prototype.setDraggable=function(t){return this._draggable=!!t,this._map&&(t?(this._map.on(\"mousedown\",this._addDragHandler),this._map.on(\"touchstart\",this._addDragHandler)):(this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler))),this},n.prototype.isDraggable=function(){return this._draggable},n.prototype.setRotation=function(t){return this._rotation=t||0,this._update(),this},n.prototype.getRotation=function(){return this._rotation},n.prototype.setRotationAlignment=function(t){return this._rotationAlignment=t||\"auto\",this._update(),this},n.prototype.getRotationAlignment=function(){return this._rotationAlignment},n.prototype.setPitchAlignment=function(t){return this._pitchAlignment=t&&\"auto\"!==t?t:this._rotationAlignment,this._update(),this},n.prototype.getPitchAlignment=function(){return this._pitchAlignment},n}(t.Evented),Da={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},Ra=0,Fa=!1,Ba=function(e){function n(r){e.call(this),this.options=t.extend({},Da,r),t.bindAll([\"_onSuccess\",\"_onError\",\"_onZoom\",\"_finish\",\"_setupUI\",\"_updateCamera\",\"_updateMarker\"],this)}return e&&(n.__proto__=e),(n.prototype=Object.create(e&&e.prototype)).constructor=n,n.prototype.onAdd=function(e){var n;return this._map=e,this._container=r.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),n=this._setupUI,void 0!==za?n(za):void 0!==t.window.navigator.permissions?t.window.navigator.permissions.query({name:\"geolocation\"}).then((function(t){n(za=\"denied\"!==t.state)})):n(za=!!t.window.navigator.geolocation),this._container},n.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),r.remove(this._container),this._map.off(\"zoom\",this._onZoom),this._map=void 0,Ra=0,Fa=!1},n.prototype._isOutOfMapMaxBounds=function(t){var e=this._map.getMaxBounds(),r=t.coords;return e&&(r.longitude<e.getWest()||r.longitude>e.getEast()||r.latitude<e.getSouth()||r.latitude>e.getNorth())},n.prototype._setErrorState=function(){switch(this._watchState){case\"WAITING_ACTIVE\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"ACTIVE_LOCK\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\");break;case\"BACKGROUND\":this._watchState=\"BACKGROUND_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\")}},n.prototype._onSuccess=function(e){if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.Event(\"outofmaxbounds\",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"BACKGROUND\":case\"BACKGROUND_ERROR\":this._watchState=\"BACKGROUND\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\")}this.options.showUserLocation&&\"OFF\"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&\"ACTIVE_LOCK\"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove(\"mapboxgl-user-location-dot-stale\"),this.fire(new t.Event(\"geolocate\",e)),this._finish()}},n.prototype._updateCamera=function(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude),n=e.coords.accuracy,a=this._map.getBearing(),i=t.extend({bearing:a},this.options.fitBoundsOptions);this._map.fitBounds(r.toBounds(n),i,{geolocateSource:!0})},n.prototype._updateMarker=function(e){if(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(r).addTo(this._map),this._userLocationDotMarker.setLngLat(r).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},n.prototype._updateCircleRadius=function(){var t=this._map._container.clientHeight/2,e=this._map.unproject([0,t]),r=this._map.unproject([1,t]),n=e.distanceTo(r),a=Math.ceil(2*this._accuracy/n);this._circleElement.style.width=a+\"px\",this._circleElement.style.height=a+\"px\"},n.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},n.prototype._onError=function(e){if(this._map){if(this.options.trackUserLocation)if(1===e.code){this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.disabled=!0;var r=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=r,this._geolocateButton.setAttribute(\"aria-label\",r),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===e.code&&Fa)return;this._setErrorState()}\"OFF\"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add(\"mapboxgl-user-location-dot-stale\"),this.fire(new t.Event(\"error\",e)),this._finish()}},n.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},n.prototype._setupUI=function(e){var n=this;if(this._container.addEventListener(\"contextmenu\",(function(t){return t.preventDefault()})),this._geolocateButton=r.create(\"button\",\"mapboxgl-ctrl-geolocate\",this._container),r.create(\"span\",\"mapboxgl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",!0),this._geolocateButton.type=\"button\",!1===e){t.warnOnce(\"Geolocation support is not available so the GeolocateControl will be disabled.\");var a=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=a,this._geolocateButton.setAttribute(\"aria-label\",a)}else{var i=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.title=i,this._geolocateButton.setAttribute(\"aria-label\",i)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=r.create(\"div\",\"mapboxgl-user-location-dot\"),this._userLocationDotMarker=new Oa(this._dotElement),this._circleElement=r.create(\"div\",\"mapboxgl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new Oa({element:this._circleElement,pitchAlignment:\"map\"}),this.options.trackUserLocation&&(this._watchState=\"OFF\"),this._map.on(\"zoom\",this._onZoom)),this._geolocateButton.addEventListener(\"click\",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on(\"movestart\",(function(e){e.geolocateSource||\"ACTIVE_LOCK\"!==n._watchState||e.originalEvent&&\"resize\"===e.originalEvent.type||(n._watchState=\"BACKGROUND\",n._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\"),n._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),n.fire(new t.Event(\"trackuserlocationend\")))}))},n.prototype.trigger=function(){if(!this._setup)return t.warnOnce(\"Geolocate control triggered before added to a map\"),!1;if(this.options.trackUserLocation){switch(this._watchState){case\"OFF\":this._watchState=\"WAITING_ACTIVE\",this.fire(new t.Event(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":Ra--,Fa=!1,this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this.fire(new t.Event(\"trackuserlocationend\"));break;case\"BACKGROUND\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event(\"trackuserlocationstart\"))}switch(this._watchState){case\"WAITING_ACTIVE\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_LOCK\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"BACKGROUND\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\");break;case\"BACKGROUND_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\")}if(\"OFF\"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){var e;this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),++Ra>1?(e={maximumAge:6e5,timeout:0},Fa=!0):(e=this.options.positionOptions,Fa=!1),this._geolocationWatchID=t.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,e)}}else t.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},n.prototype._clearWatch=function(){t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this.options.showUserLocation&&this._updateMarker(null)},n}(t.Evented),Na={maxWidth:100,unit:\"metric\"},ja=function(e){this.options=t.extend({},Na,e),t.bindAll([\"_onMove\",\"setUnit\"],this)};function Va(t,e,r){var n=r&&r.maxWidth||100,a=t._container.clientHeight/2,i=t.unproject([0,a]),o=t.unproject([n,a]),s=i.distanceTo(o);if(r&&\"imperial\"===r.unit){var l=3.2808*s;l>5280?Ua(e,n,l/5280,t._getUIString(\"ScaleControl.Miles\")):Ua(e,n,l,t._getUIString(\"ScaleControl.Feet\"))}else r&&\"nautical\"===r.unit?Ua(e,n,s/1852,t._getUIString(\"ScaleControl.NauticalMiles\")):s>=1e3?Ua(e,n,s/1e3,t._getUIString(\"ScaleControl.Kilometers\")):Ua(e,n,s,t._getUIString(\"ScaleControl.Meters\"))}function Ua(t,e,r,n){var a,i,o,s=(a=r,(i=Math.pow(10,(\"\"+Math.floor(a)).length-1))*(o=(o=a/i)>=10?10:o>=5?5:o>=3?3:o>=2?2:o>=1?1:function(t){var e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(o)));t.style.width=e*(s/r)+\"px\",t.innerHTML=s+\"&nbsp;\"+n}ja.prototype.getDefaultPosition=function(){return\"bottom-left\"},ja.prototype._onMove=function(){Va(this._map,this._container,this.options)},ja.prototype.onAdd=function(t){return this._map=t,this._container=r.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-scale\",t.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container},ja.prototype.onRemove=function(){r.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0},ja.prototype.setUnit=function(t){this.options.unit=t,Va(this._map,this._container,this.options)};var qa=function(e){this._fullscreen=!1,e&&e.container&&(e.container instanceof t.window.HTMLElement?this._container=e.container:t.warnOnce(\"Full screen control 'container' must be a DOM element.\")),t.bindAll([\"_onClickFullscreen\",\"_changeIcon\"],this),\"onfullscreenchange\"in t.window.document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in t.window.document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in t.window.document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in t.window.document&&(this._fullscreenchange=\"MSFullscreenChange\")};qa.prototype.onAdd=function(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=r.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display=\"none\",t.warnOnce(\"This device does not support fullscreen mode.\")),this._controlContainer},qa.prototype.onRemove=function(){r.remove(this._controlContainer),this._map=null,t.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},qa.prototype._checkFullscreenSupport=function(){return!!(t.window.document.fullscreenEnabled||t.window.document.mozFullScreenEnabled||t.window.document.msFullscreenEnabled||t.window.document.webkitFullscreenEnabled)},qa.prototype._setupUI=function(){var e=this._fullscreenButton=r.create(\"button\",\"mapboxgl-ctrl-fullscreen\",this._controlContainer);r.create(\"span\",\"mapboxgl-ctrl-icon\",e).setAttribute(\"aria-hidden\",!0),e.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),t.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},qa.prototype._updateTitle=function(){var t=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",t),this._fullscreenButton.title=t},qa.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")},qa.prototype._isFullscreen=function(){return this._fullscreen},qa.prototype._changeIcon=function(){(t.window.document.fullscreenElement||t.window.document.mozFullScreenElement||t.window.document.webkitFullscreenElement||t.window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-fullscreen\"),this._updateTitle())},qa.prototype._onClickFullscreen=function(){this._isFullscreen()?t.window.document.exitFullscreen?t.window.document.exitFullscreen():t.window.document.mozCancelFullScreen?t.window.document.mozCancelFullScreen():t.window.document.msExitFullscreen?t.window.document.msExitFullscreen():t.window.document.webkitCancelFullScreen&&t.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()};var Ha={closeButton:!0,closeOnClick:!0,className:\"\",maxWidth:\"240px\"},Ga=function(e){function n(r){e.call(this),this.options=t.extend(Object.create(Ha),r),t.bindAll([\"_update\",\"_onClose\",\"remove\",\"_onMouseMove\",\"_onMouseUp\",\"_onDrag\"],this)}return e&&(n.__proto__=e),(n.prototype=Object.create(e&&e.prototype)).constructor=n,n.prototype.addTo=function(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on(\"click\",this._onClose),this.options.closeOnMove&&this._map.on(\"move\",this._onClose),this._map.on(\"remove\",this.remove),this._update(),this._trackPointer?(this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"mouseup\",this._onMouseUp),this._container&&this._container.classList.add(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"mapboxgl-track-pointer\")):this._map.on(\"move\",this._update),this.fire(new t.Event(\"open\")),this},n.prototype.isOpen=function(){return!!this._map},n.prototype.remove=function(){return this._content&&r.remove(this._content),this._container&&(r.remove(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"move\",this._onClose),this._map.off(\"click\",this._onClose),this._map.off(\"remove\",this.remove),this._map.off(\"mousemove\",this._onMouseMove),this._map.off(\"mouseup\",this._onMouseUp),this._map.off(\"drag\",this._onDrag),delete this._map),this.fire(new t.Event(\"close\")),this},n.prototype.getLngLat=function(){return this._lngLat},n.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on(\"move\",this._update),this._map.off(\"mousemove\",this._onMouseMove),this._container&&this._container.classList.remove(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.remove(\"mapboxgl-track-pointer\")),this},n.prototype.trackPointer=function(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off(\"move\",this._update),this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"drag\",this._onDrag),this._container&&this._container.classList.add(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"mapboxgl-track-pointer\")),this},n.prototype.getElement=function(){return this._container},n.prototype.setText=function(e){return this.setDOMContent(t.window.document.createTextNode(e))},n.prototype.setHTML=function(e){var r,n=t.window.document.createDocumentFragment(),a=t.window.document.createElement(\"body\");for(a.innerHTML=e;r=a.firstChild;)n.appendChild(r);return this.setDOMContent(n)},n.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},n.prototype.setMaxWidth=function(t){return this.options.maxWidth=t,this._update(),this},n.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},n.prototype.addClassName=function(t){this._container&&this._container.classList.add(t)},n.prototype.removeClassName=function(t){this._container&&this._container.classList.remove(t)},n.prototype.toggleClassName=function(t){if(this._container)return this._container.classList.toggle(t)},n.prototype._createContent=function(){this._content&&r.remove(this._content),this._content=r.create(\"div\",\"mapboxgl-popup-content\",this._container),this.options.closeButton&&(this._closeButton=r.create(\"button\",\"mapboxgl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.setAttribute(\"aria-label\",\"Close popup\"),this._closeButton.innerHTML=\"&#215;\",this._closeButton.addEventListener(\"click\",this._onClose))},n.prototype._onMouseUp=function(t){this._update(t.point)},n.prototype._onMouseMove=function(t){this._update(t.point)},n.prototype._onDrag=function(t){this._update(t.point)},n.prototype._update=function(e){var n=this;if(this._map&&(this._lngLat||this._trackPointer)&&this._content&&(this._container||(this._container=r.create(\"div\",\"mapboxgl-popup\",this._map.getContainer()),this._tip=r.create(\"div\",\"mapboxgl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(\" \").forEach((function(t){return n._container.classList.add(t)})),this._trackPointer&&this._container.classList.add(\"mapboxgl-popup-track-pointer\")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=La(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||e)){var a=this._pos=this._trackPointer&&e?e:this._map.project(this._lngLat),i=this.options.anchor,o=function e(r){if(r){if(\"number\"==typeof r){var n=Math.round(Math.sqrt(.5*Math.pow(r,2)));return{center:new t.Point(0,0),top:new t.Point(0,r),\"top-left\":new t.Point(n,n),\"top-right\":new t.Point(-n,n),bottom:new t.Point(0,-r),\"bottom-left\":new t.Point(n,-n),\"bottom-right\":new t.Point(-n,-n),left:new t.Point(r,0),right:new t.Point(-r,0)}}if(r instanceof t.Point||Array.isArray(r)){var a=t.Point.convert(r);return{center:a,top:a,\"top-left\":a,\"top-right\":a,bottom:a,\"bottom-left\":a,\"bottom-right\":a,left:a,right:a}}return{center:t.Point.convert(r.center||[0,0]),top:t.Point.convert(r.top||[0,0]),\"top-left\":t.Point.convert(r[\"top-left\"]||[0,0]),\"top-right\":t.Point.convert(r[\"top-right\"]||[0,0]),bottom:t.Point.convert(r.bottom||[0,0]),\"bottom-left\":t.Point.convert(r[\"bottom-left\"]||[0,0]),\"bottom-right\":t.Point.convert(r[\"bottom-right\"]||[0,0]),left:t.Point.convert(r.left||[0,0]),right:t.Point.convert(r.right||[0,0])}}return e(new t.Point(0,0))}(this.options.offset);if(!i){var s,l=this._container.offsetWidth,c=this._container.offsetHeight;s=a.y+o.bottom.y<c?[\"top\"]:a.y>this._map.transform.height-c?[\"bottom\"]:[],a.x<l/2?s.push(\"left\"):a.x>this._map.transform.width-l/2&&s.push(\"right\"),i=0===s.length?\"bottom\":s.join(\"-\")}var u=a.add(o[i]).round();r.setTransform(this._container,Pa[i]+\" translate(\"+u.x+\"px,\"+u.y+\"px)\"),Ia(this._container,i,\"popup\")}},n.prototype._onClose=function(){this.remove()},n}(t.Evented),Ya={version:t.version,supported:e,setRTLTextPlugin:t.setRTLTextPlugin,getRTLTextPluginStatus:t.getRTLTextPluginStatus,Map:Aa,NavigationControl:Ea,GeolocateControl:Ba,AttributionControl:va,ScaleControl:ja,FullscreenControl:qa,Popup:Ga,Marker:Oa,Style:qe,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.Point,MercatorCoordinate:t.MercatorCoordinate,Evented:t.Evented,config:t.config,prewarm:function(){Bt().acquire(Ot)},clearPrewarmedResources:function(){var t=Rt;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(Ot),Rt=null):console.warn(\"Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()\"))},get accessToken(){return t.config.ACCESS_TOKEN},set accessToken(e){t.config.ACCESS_TOKEN=e},get baseApiUrl(){return t.config.API_URL},set baseApiUrl(e){t.config.API_URL=e},get workerCount(){return Dt.workerCount},set workerCount(t){Dt.workerCount=t},get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e},clearStorage:function(e){t.clearTileCache(e)},workerUrl:\"\"};return Ya})),r}))},{}],427:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=1<<t+1,r=new Array(e),n=0;n<e;++n)r[n]=i(t,n);return r};var n=t(\"convex-hull\");function a(t,e,r){for(var n=new Array(t),a=0;a<t;++a)n[a]=0,a===e&&(n[a]+=.5),a===r&&(n[a]+=.5);return n}function i(t,e){if(0===e||e===(1<<t+1)-1)return[];for(var r=[],i=[],o=0;o<=t;++o)if(e&1<<o){r.push(a(t,o-1,o-1)),i.push(null);for(var s=0;s<=t;++s)~e&1<<s&&(r.push(a(t,o-1,s-1)),i.push([o,s]))}var l=n(r),c=[];t:for(o=0;o<l.length;++o){var u=l[o],h=[];for(s=0;s<u.length;++s){if(!i[u[s]])continue t;h.push(i[u[s]].slice())}c.push(h)}return c}},{\"convex-hull\":132}],428:[function(t,e,r){var n=t(\"./normalize\"),a=t(\"gl-mat4/create\"),i=t(\"gl-mat4/clone\"),o=t(\"gl-mat4/determinant\"),s=t(\"gl-mat4/invert\"),l=t(\"gl-mat4/transpose\"),c={length:t(\"gl-vec3/length\"),normalize:t(\"gl-vec3/normalize\"),dot:t(\"gl-vec3/dot\"),cross:t(\"gl-vec3/cross\")},u=a(),h=a(),f=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],d=[0,0,0];function g(t,e,r,n,a){t[0]=e[0]*n+r[0]*a,t[1]=e[1]*n+r[1]*a,t[2]=e[2]*n+r[2]*a}e.exports=function(t,e,r,a,m,v){if(e||(e=[0,0,0]),r||(r=[0,0,0]),a||(a=[0,0,0]),m||(m=[0,0,0,1]),v||(v=[0,0,0,1]),!n(u,t))return!1;if(i(h,u),h[3]=0,h[7]=0,h[11]=0,h[15]=1,Math.abs(o(h)<1e-8))return!1;var y,x,b,_,w,T,k,A=u[3],M=u[7],S=u[11],E=u[12],C=u[13],L=u[14],P=u[15];if(0!==A||0!==M||0!==S){if(f[0]=A,f[1]=M,f[2]=S,f[3]=P,!s(h,h))return!1;l(h,h),y=m,b=h,_=(x=f)[0],w=x[1],T=x[2],k=x[3],y[0]=b[0]*_+b[4]*w+b[8]*T+b[12]*k,y[1]=b[1]*_+b[5]*w+b[9]*T+b[13]*k,y[2]=b[2]*_+b[6]*w+b[10]*T+b[14]*k,y[3]=b[3]*_+b[7]*w+b[11]*T+b[15]*k}else m[0]=m[1]=m[2]=0,m[3]=1;if(e[0]=E,e[1]=C,e[2]=L,function(t,e){t[0][0]=e[0],t[0][1]=e[1],t[0][2]=e[2],t[1][0]=e[4],t[1][1]=e[5],t[1][2]=e[6],t[2][0]=e[8],t[2][1]=e[9],t[2][2]=e[10]}(p,u),r[0]=c.length(p[0]),c.normalize(p[0],p[0]),a[0]=c.dot(p[0],p[1]),g(p[1],p[1],p[0],1,-a[0]),r[1]=c.length(p[1]),c.normalize(p[1],p[1]),a[0]/=r[1],a[1]=c.dot(p[0],p[2]),g(p[2],p[2],p[0],1,-a[1]),a[2]=c.dot(p[1],p[2]),g(p[2],p[2],p[1],1,-a[2]),r[2]=c.length(p[2]),c.normalize(p[2],p[2]),a[1]/=r[2],a[2]/=r[2],c.cross(d,p[1],p[2]),c.dot(p[0],d)<0)for(var I=0;I<3;I++)r[I]*=-1,p[I][0]*=-1,p[I][1]*=-1,p[I][2]*=-1;return v[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),v[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),v[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),v[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(v[0]=-v[0]),p[0][2]>p[2][0]&&(v[1]=-v[1]),p[1][0]>p[0][1]&&(v[2]=-v[2]),!0}},{\"./normalize\":429,\"gl-mat4/clone\":267,\"gl-mat4/create\":268,\"gl-mat4/determinant\":269,\"gl-mat4/invert\":273,\"gl-mat4/transpose\":284,\"gl-vec3/cross\":334,\"gl-vec3/dot\":339,\"gl-vec3/length\":349,\"gl-vec3/normalize\":356}],429:[function(t,e,r){e.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,a=0;a<16;a++)t[a]=e[a]*n;return!0}},{}],430:[function(t,e,r){var n=t(\"gl-vec3/lerp\"),a=t(\"mat4-recompose\"),i=t(\"mat4-decompose\"),o=t(\"gl-mat4/determinant\"),s=t(\"quat-slerp\"),l=h(),c=h(),u=h();function h(){return{translate:f(),scale:f(1),skew:f(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function f(t){return[t||0,t||0,t||0]}e.exports=function(t,e,r,h){if(0===o(e)||0===o(r))return!1;var f=i(e,l.translate,l.scale,l.skew,l.perspective,l.quaternion),p=i(r,c.translate,c.scale,c.skew,c.perspective,c.quaternion);return!(!f||!p)&&(n(u.translate,l.translate,c.translate,h),n(u.skew,l.skew,c.skew,h),n(u.scale,l.scale,c.scale,h),n(u.perspective,l.perspective,c.perspective,h),s(u.quaternion,l.quaternion,c.quaternion,h),a(t,u.translate,u.scale,u.skew,u.perspective,u.quaternion),!0)}},{\"gl-mat4/determinant\":269,\"gl-vec3/lerp\":350,\"mat4-decompose\":428,\"mat4-recompose\":431,\"quat-slerp\":481}],431:[function(t,e,r){var n={identity:t(\"gl-mat4/identity\"),translate:t(\"gl-mat4/translate\"),multiply:t(\"gl-mat4/multiply\"),create:t(\"gl-mat4/create\"),scale:t(\"gl-mat4/scale\"),fromRotationTranslation:t(\"gl-mat4/fromRotationTranslation\")},a=(n.create(),n.create());e.exports=function(t,e,r,i,o,s){return n.identity(t),n.fromRotationTranslation(t,s,e),t[3]=o[0],t[7]=o[1],t[11]=o[2],t[15]=o[3],n.identity(a),0!==i[2]&&(a[9]=i[2],n.multiply(t,t,a)),0!==i[1]&&(a[9]=0,a[8]=i[1],n.multiply(t,t,a)),0!==i[0]&&(a[8]=0,a[4]=i[0],n.multiply(t,t,a)),n.scale(t,t,r),t}},{\"gl-mat4/create\":268,\"gl-mat4/fromRotationTranslation\":271,\"gl-mat4/identity\":272,\"gl-mat4/multiply\":275,\"gl-mat4/scale\":282,\"gl-mat4/translate\":283}],432:[function(t,e,r){\"use strict\";e.exports=Math.log2||function(t){return Math.log(t)*Math.LOG2E}},{}],433:[function(t,e,r){\"use strict\";var n=t(\"binary-search-bounds\"),a=t(\"mat4-interpolate\"),i=t(\"gl-mat4/invert\"),o=t(\"gl-mat4/rotateX\"),s=t(\"gl-mat4/rotateY\"),l=t(\"gl-mat4/rotateZ\"),c=t(\"gl-mat4/lookAt\"),u=t(\"gl-mat4/translate\"),h=(t(\"gl-mat4/scale\"),t(\"gl-vec3/normalize\")),f=[0,0,0];function p(t){this._components=t.slice(),this._time=[0],this.prevMatrix=t.slice(),this.nextMatrix=t.slice(),this.computedMatrix=t.slice(),this.computedInverse=t.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}e.exports=function(t){return new p((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var d=p.prototype;d.recalcMatrix=function(t){var e=this._time,r=n.le(e,t),o=this.computedMatrix;if(!(r<0)){var s=this._components;if(r===e.length-1)for(var l=16*r,c=0;c<16;++c)o[c]=s[l++];else{var u=e[r+1]-e[r],f=(l=16*r,this.prevMatrix),p=!0;for(c=0;c<16;++c)f[c]=s[l++];var d=this.nextMatrix;for(c=0;c<16;++c)d[c]=s[l++],p=p&&f[c]===d[c];if(u<1e-6||p)for(c=0;c<16;++c)o[c]=f[c];else a(o,f,d,(t-e[r])/u)}var g=this.computedUp;g[0]=o[1],g[1]=o[5],g[2]=o[9],h(g,g);var m=this.computedInverse;i(m,o);var v=this.computedEye,y=m[15];v[0]=m[12]/y,v[1]=m[13]/y,v[2]=m[14]/y;var x=this.computedCenter,b=Math.exp(this.computedRadius[0]);for(c=0;c<3;++c)x[c]=v[c]-o[2+4*c]*b}},d.idle=function(t){if(!(t<this.lastT())){for(var e=this._components,r=e.length-16,n=0;n<16;++n)e.push(e[r++]);this._time.push(t)}},d.flush=function(t){var e=n.gt(this._time,t)-2;e<0||(this._time.splice(0,e),this._components.splice(0,16*e))},d.lastT=function(){return this._time[this._time.length-1]},d.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||f,n=n||this.computedUp,this.setMatrix(t,c(this.computedMatrix,e,r,n));for(var a=0,i=0;i<3;++i)a+=Math.pow(r[i]-e[i],2);a=Math.log(Math.sqrt(a)),this.computedRadius[0]=a},d.rotate=function(t,e,r,n){this.recalcMatrix(t);var a=this.computedInverse;e&&s(a,a,e),r&&o(a,a,r),n&&l(a,a,n),this.setMatrix(t,i(this.computedMatrix,a))};var g=[0,0,0];d.pan=function(t,e,r,n){g[0]=-(e||0),g[1]=-(r||0),g[2]=-(n||0),this.recalcMatrix(t);var a=this.computedInverse;u(a,a,g),this.setMatrix(t,i(a,a))},d.translate=function(t,e,r,n){g[0]=e||0,g[1]=r||0,g[2]=n||0,this.recalcMatrix(t);var a=this.computedMatrix;u(a,a,g),this.setMatrix(t,a)},d.setMatrix=function(t,e){if(!(t<this.lastT())){this._time.push(t);for(var r=0;r<16;++r)this._components.push(e[r])}},d.setDistance=function(t,e){this.computedRadius[0]=e},d.setDistanceLimits=function(t,e){var r=this._limits;r[0]=t,r[1]=e},d.getDistanceLimits=function(t){var e=this._limits;return t?(t[0]=e[0],t[1]=e[1],t):e}},{\"binary-search-bounds\":434,\"gl-mat4/invert\":273,\"gl-mat4/lookAt\":274,\"gl-mat4/rotateX\":279,\"gl-mat4/rotateY\":280,\"gl-mat4/rotateZ\":281,\"gl-mat4/scale\":282,\"gl-mat4/translate\":283,\"gl-vec3/normalize\":356,\"mat4-interpolate\":430}],434:[function(t,e,r){arguments[4][238][0].apply(r,arguments)},{dup:238}],435:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.length;if(e<3){for(var r=new Array(e),a=0;a<e;++a)r[a]=a;return 2===e&&t[0][0]===t[1][0]&&t[0][1]===t[1][1]?[0]:r}var i=new Array(e);for(a=0;a<e;++a)i[a]=a;i.sort((function(e,r){var n=t[e][0]-t[r][0];return n||t[e][1]-t[r][1]}));var o=[i[0],i[1]],s=[i[0],i[1]];for(a=2;a<e;++a){for(var l=i[a],c=t[l],u=o.length;u>1&&n(t[o[u-2]],t[o[u-1]],c)<=0;)u-=1,o.pop();for(o.push(l),u=s.length;u>1&&n(t[s[u-2]],t[s[u-1]],c)>=0;)u-=1,s.pop();s.push(l)}r=new Array(s.length+o.length-2);for(var h=0,f=(a=0,o.length);a<f;++a)r[h++]=o[a];for(var p=s.length-2;p>0;--p)r[h++]=s[p];return r};var n=t(\"robust-orientation\")[3]},{\"robust-orientation\":500}],436:[function(t,e,r){\"use strict\";e.exports=function(t,e){e||(e=t,t=window);var r=0,a=0,i=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return\"altKey\"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),\"shiftKey\"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),\"ctrlKey\"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),\"metaKey\"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function c(t,s){var c=n.x(s),u=n.y(s);\"buttons\"in s&&(t=0|s.buttons),(t!==r||c!==a||u!==i||l(s))&&(r=0|t,a=c||0,i=u||0,e&&e(r,a,i,o))}function u(t){c(0,t)}function h(){(r||a||i||o.shift||o.alt||o.meta||o.control)&&(a=i=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function f(t){l(t)&&e&&e(r,a,i,o)}function p(t){0===n.buttons(t)?c(0,t):c(r,t)}function d(t){c(r|n.buttons(t),t)}function g(t){c(r&~n.buttons(t),t)}function m(){s||(s=!0,t.addEventListener(\"mousemove\",p),t.addEventListener(\"mousedown\",d),t.addEventListener(\"mouseup\",g),t.addEventListener(\"mouseleave\",u),t.addEventListener(\"mouseenter\",u),t.addEventListener(\"mouseout\",u),t.addEventListener(\"mouseover\",u),t.addEventListener(\"blur\",h),t.addEventListener(\"keyup\",f),t.addEventListener(\"keydown\",f),t.addEventListener(\"keypress\",f),t!==window&&(window.addEventListener(\"blur\",h),window.addEventListener(\"keyup\",f),window.addEventListener(\"keydown\",f),window.addEventListener(\"keypress\",f)))}m();var v={element:t};return Object.defineProperties(v,{enabled:{get:function(){return s},set:function(e){e?m():function(){if(!s)return;s=!1,t.removeEventListener(\"mousemove\",p),t.removeEventListener(\"mousedown\",d),t.removeEventListener(\"mouseup\",g),t.removeEventListener(\"mouseleave\",u),t.removeEventListener(\"mouseenter\",u),t.removeEventListener(\"mouseout\",u),t.removeEventListener(\"mouseover\",u),t.removeEventListener(\"blur\",h),t.removeEventListener(\"keyup\",f),t.removeEventListener(\"keydown\",f),t.removeEventListener(\"keypress\",f),t!==window&&(window.removeEventListener(\"blur\",h),window.removeEventListener(\"keyup\",f),window.removeEventListener(\"keydown\",f),window.removeEventListener(\"keypress\",f))}()},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return a},enumerable:!0},y:{get:function(){return i},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),v};var n=t(\"mouse-event\")},{\"mouse-event\":438}],437:[function(t,e,r){var n={left:0,top:0};e.exports=function(t,e,r){e=e||t.currentTarget||t.srcElement,Array.isArray(r)||(r=[0,0]);var a=t.clientX||0,i=t.clientY||0,o=(s=e,s===window||s===document||s===document.body?n:s.getBoundingClientRect());var s;return r[0]=a-o.left,r[1]=i-o.top,r}},{}],438:[function(t,e,r){\"use strict\";function n(t){return t.target||t.srcElement||window}r.buttons=function(t){if(\"object\"==typeof t){if(\"buttons\"in t)return t.buttons;if(\"which\"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<<e-1}else if(\"button\"in t){var e;if(1===(e=t.button))return 4;if(2===e)return 2;if(e>=0)return 1<<e}}return 0},r.element=n,r.x=function(t){if(\"object\"==typeof t){if(\"offsetX\"in t)return t.offsetX;var e=n(t).getBoundingClientRect();return t.clientX-e.left}return 0},r.y=function(t){if(\"object\"==typeof t){if(\"offsetY\"in t)return t.offsetY;var e=n(t).getBoundingClientRect();return t.clientY-e.top}return 0}},{}],439:[function(t,e,r){\"use strict\";var n=t(\"to-px\");e.exports=function(t,e,r){\"function\"==typeof t&&(r=!!e,e=t,t=window);var a=n(\"ex\",t),i=function(t){r&&t.preventDefault();var n=t.deltaX||0,i=t.deltaY||0,o=t.deltaZ||0,s=1;switch(t.deltaMode){case 1:s=a;break;case 2:s=window.innerHeight}if(i*=s,o*=s,(n*=s)||i||o)return e(n,i,o,t)};return t.addEventListener(\"wheel\",i),i}},{\"to-px\":530}],440:[function(t,e,r){\"use strict\";var n=t(\"typedarray-pool\");function a(t){return\"a\"+t}function i(t){return\"d\"+t}function o(t,e){return\"c\"+t+\"_\"+e}function s(t){return\"s\"+t}function l(t,e){return\"t\"+t+\"_\"+e}function c(t){return\"o\"+t}function u(t){return\"x\"+t}function h(t){return\"p\"+t}function f(t,e){return\"d\"+t+\"_\"+e}function p(t){return\"i\"+t}function d(t,e){return\"u\"+t+\"_\"+e}function g(t){return\"b\"+t}function m(t){return\"y\"+t}function v(t){return\"e\"+t}function y(t){return\"v\"+t}e.exports=function(t){function e(t){throw new Error(\"ndarray-extract-contour: \"+t)}\"object\"!=typeof t&&e(\"Must specify arguments\");var r=t.order;Array.isArray(r)||e(\"Must specify order\");var b=t.arrayArguments||1;b<1&&e(\"Must have at least one array argument\");var _=t.scalarArguments||0;_<0&&e(\"Scalar arg count must be > 0\");\"function\"!=typeof t.vertex&&e(\"Must specify vertex creation function\");\"function\"!=typeof t.cell&&e(\"Must specify cell creation function\");\"function\"!=typeof t.phase&&e(\"Must specify phase function\");for(var w=t.getters||[],T=new Array(b),k=0;k<b;++k)w.indexOf(k)>=0?T[k]=!0:T[k]=!1;return function(t,e,r,b,_,w){var T=w.length,k=_.length;if(k<2)throw new Error(\"ndarray-extract-contour: Dimension must be at least 2\");for(var A=\"extractContour\"+_.join(\"_\"),M=[],S=[],E=[],C=0;C<T;++C)E.push(a(C));for(C=0;C<b;++C)E.push(u(C));for(C=0;C<k;++C)S.push(s(C)+\"=\"+a(0)+\".shape[\"+C+\"]|0\");for(C=0;C<T;++C){S.push(i(C)+\"=\"+a(C)+\".data\",c(C)+\"=\"+a(C)+\".offset|0\");for(var L=0;L<k;++L)S.push(l(C,L)+\"=\"+a(C)+\".stride[\"+L+\"]|0\")}for(C=0;C<T;++C){S.push(h(C)+\"=\"+c(C)),S.push(o(C,0));for(L=1;L<1<<k;++L){for(var P=[],I=0;I<k;++I)L&1<<I&&P.push(\"-\"+l(C,I));S.push(f(C,L)+\"=(\"+P.join(\"\")+\")|0\"),S.push(o(C,L)+\"=0\")}}for(C=0;C<T;++C)for(L=0;L<k;++L){var z=[l(C,_[L])];L>0&&z.push(l(C,_[L-1])+\"*\"+s(_[L-1])),S.push(d(C,_[L])+\"=(\"+z.join(\"-\")+\")|0\")}for(C=0;C<k;++C)S.push(p(C)+\"=0\");S.push(\"N=0\");var O=[\"2\"];for(C=k-2;C>=0;--C)O.push(s(_[C]));S.push(\"Q=(\"+O.join(\"*\")+\")|0\",\"P=mallocUint32(Q)\",\"V=mallocUint32(Q)\",\"X=0\"),S.push(g(0)+\"=0\");for(L=1;L<1<<k;++L){var D=[],R=[];for(I=0;I<k;++I)L&1<<I&&(0===R.length?D.push(\"1\"):D.unshift(R.join(\"*\"))),R.push(s(_[I]));var F=\"\";D[0].indexOf(s(_[k-2]))<0&&(F=\"-\");var B=x(k,L,_);S.push(v(B)+\"=(-\"+D.join(\"-\")+\")|0\",m(B)+\"=(\"+F+D.join(\"-\")+\")|0\",g(B)+\"=0\")}function N(t,e){M.push(\"for(\",p(_[t]),\"=\",e,\";\",p(_[t]),\"<\",s(_[t]),\";\",\"++\",p(_[t]),\"){\")}function j(t){for(var e=0;e<T;++e)M.push(h(e),\"+=\",d(e,_[t]),\";\");M.push(\"}\")}function V(){for(var t=1;t<1<<k;++t)M.push(\"T\",\"=\",v(t),\";\",v(t),\"=\",m(t),\";\",m(t),\"=\",\"T\",\";\")}S.push(y(0)+\"=0\",\"T=0\"),function t(e,r){if(e<0)!function(t){for(var e=0;e<T;++e)w[e]?M.push(o(e,0),\"=\",i(e),\".get(\",h(e),\");\"):M.push(o(e,0),\"=\",i(e),\"[\",h(e),\"];\");var r=[];for(e=0;e<T;++e)r.push(o(e,0));for(e=0;e<b;++e)r.push(u(e));M.push(g(0),\"=\",\"P\",\"[\",\"X\",\"]=phase(\",r.join(),\");\");for(var n=1;n<1<<k;++n)M.push(g(n),\"=\",\"P\",\"[\",\"X\",\"+\",v(n),\"];\");var a=[];for(n=1;n<1<<k;++n)a.push(\"(\"+g(0)+\"!==\"+g(n)+\")\");M.push(\"if(\",a.join(\"||\"),\"){\");var s=[];for(e=0;e<k;++e)s.push(p(e));for(e=0;e<T;++e){s.push(o(e,0));for(n=1;n<1<<k;++n)w[e]?M.push(o(e,n),\"=\",i(e),\".get(\",h(e),\"+\",f(e,n),\");\"):M.push(o(e,n),\"=\",i(e),\"[\",h(e),\"+\",f(e,n),\"];\"),s.push(o(e,n))}for(e=0;e<1<<k;++e)s.push(g(e));for(e=0;e<b;++e)s.push(u(e));M.push(\"vertex(\",s.join(),\");\",y(0),\"=\",\"V\",\"[\",\"X\",\"]=\",\"N\",\"++;\");var l=(1<<k)-1,c=g(l);for(n=0;n<k;++n)if(0==(t&~(1<<n))){for(var d=l^1<<n,m=g(d),x=[],_=d;_>0;_=_-1&d)x.push(\"V[X+\"+v(_)+\"]\");x.push(y(0));for(_=0;_<T;++_)1&n?x.push(o(_,l),o(_,d)):x.push(o(_,d),o(_,l));1&n?x.push(c,m):x.push(m,c);for(_=0;_<b;++_)x.push(u(_));M.push(\"if(\",c,\"!==\",m,\"){\",\"face(\",x.join(),\")}\")}M.push(\"}\",\"X\",\"+=1;\")}(r);else{!function(t){for(var e=t-1;e>=0;--e)N(e,0);var r=[];for(e=0;e<T;++e)w[e]?r.push(i(e)+\".get(\"+h(e)+\")\"):r.push(i(e)+\"[\"+h(e)+\"]\");for(e=0;e<b;++e)r.push(u(e));for(M.push(\"P\",\"[\",\"X\",\"++]=phase(\",r.join(),\");\"),e=0;e<t;++e)j(e);for(var n=0;n<T;++n)M.push(h(n),\"+=\",d(n,_[t]),\";\")}(e),M.push(\"if(\",s(_[e]),\">0){\",p(_[e]),\"=1;\"),t(e-1,r|1<<_[e]);for(var n=0;n<T;++n)M.push(h(n),\"+=\",d(n,_[e]),\";\");e===k-1&&(M.push(\"X\",\"=0;\"),V()),N(e,2),t(e-1,r),e===k-1&&(M.push(\"if(\",p(_[k-1]),\"&1){\",\"X\",\"=0;}\"),V()),j(e),M.push(\"}\")}}(k-1,0),M.push(\"freeUint32(\",\"V\",\");freeUint32(\",\"P\",\");\");var U=[\"'use strict';\",\"function \",A,\"(\",E.join(),\"){\",\"var \",S.join(),\";\",M.join(\"\"),\"}\",\"return \",A].join(\"\");return new Function(\"vertex\",\"face\",\"phase\",\"mallocUint32\",\"freeUint32\",U)(t,e,r,n.mallocUint32,n.freeUint32)}(t.vertex,t.cell,t.phase,_,r,T)};function x(t,e,r){for(var n=0,a=0;a<t;++a)e&1<<a&&(n|=1<<r[a]);return n}},{\"typedarray-pool\":547}],441:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){if(Array.isArray(r)){if(r.length!==e.dimension)throw new Error(\"ndarray-gradient: invalid boundary conditions\")}else r=n(e.dimension,\"string\"==typeof r?r:\"clamp\");if(t.dimension!==e.dimension+1)throw new Error(\"ndarray-gradient: output dimension must be +1 input dimension\");if(t.shape[e.dimension]!==e.dimension)throw new Error(\"ndarray-gradient: output shape must match input shape\");for(var a=0;a<e.dimension;++a)if(t.shape[a]!==e.shape[a])throw new Error(\"ndarray-gradient: shape mismatch\");if(0===e.size)return t;if(e.dimension<=0)return t.set(0),t;return function(t){var e=t.join();if(v=o[e])return v;var r=t.length,n=[\"function gradient(dst,src){var s=src.shape.slice();\"];function a(e){for(var a=r-e.length,i=[],o=[],s=[],l=0;l<r;++l)e.indexOf(l+1)>=0?s.push(\"0\"):e.indexOf(-(l+1))>=0?s.push(\"s[\"+l+\"]-1\"):(s.push(\"-1\"),i.push(\"1\"),o.push(\"s[\"+l+\"]-2\"));var c=\".lo(\"+i.join()+\").hi(\"+o.join()+\")\";if(0===i.length&&(c=\"\"),a>0){n.push(\"if(1\");for(l=0;l<r;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||n.push(\"&&s[\",l,\"]>2\");n.push(\"){grad\",a,\"(src.pick(\",s.join(),\")\",c);for(l=0;l<r;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||n.push(\",dst.pick(\",s.join(),\",\",l,\")\",c);n.push(\");\")}for(l=0;l<e.length;++l){var u=Math.abs(e[l])-1,h=\"dst.pick(\"+s.join()+\",\"+u+\")\"+c;switch(t[u]){case\"clamp\":var f=s.slice(),p=s.slice();e[l]<0?f[u]=\"s[\"+u+\"]-2\":p[u]=\"1\",0===a?n.push(\"if(s[\",u,\"]>1){dst.set(\",s.join(),\",\",u,\",0.5*(src.get(\",f.join(),\")-src.get(\",p.join(),\")))}else{dst.set(\",s.join(),\",\",u,\",0)};\"):n.push(\"if(s[\",u,\"]>1){diff(\",h,\",src.pick(\",f.join(),\")\",c,\",src.pick(\",p.join(),\")\",c,\");}else{zero(\",h,\");};\");break;case\"mirror\":0===a?n.push(\"dst.set(\",s.join(),\",\",u,\",0);\"):n.push(\"zero(\",h,\");\");break;case\"wrap\":var d=s.slice(),g=s.slice();e[l]<0?(d[u]=\"s[\"+u+\"]-2\",g[u]=\"0\"):(d[u]=\"s[\"+u+\"]-1\",g[u]=\"1\"),0===a?n.push(\"if(s[\",u,\"]>2){dst.set(\",s.join(),\",\",u,\",0.5*(src.get(\",d.join(),\")-src.get(\",g.join(),\")))}else{dst.set(\",s.join(),\",\",u,\",0)};\"):n.push(\"if(s[\",u,\"]>2){diff(\",h,\",src.pick(\",d.join(),\")\",c,\",src.pick(\",g.join(),\")\",c,\");}else{zero(\",h,\");};\");break;default:throw new Error(\"ndarray-gradient: Invalid boundary condition\")}}a>0&&n.push(\"};\")}for(var s=0;s<1<<r;++s){for(var h=[],f=0;f<r;++f)s&1<<f&&h.push(f+1);for(var p=0;p<1<<h.length;++p){var d=h.slice();for(f=0;f<h.length;++f)p&1<<f&&(d[f]=-d[f]);a(d)}}n.push(\"return dst;};return gradient\");var g=[\"diff\",\"zero\"],m=[l,c];for(s=1;s<=r;++s)g.push(\"grad\"+s),m.push(u(s));g.push(n.join(\"\"));var v=Function.apply(void 0,g).apply(void 0,m);return i[e]=v,v}(r)(t,e)};var n=t(\"dup\"),a=t(\"cwise-compiler\"),i={},o={},s={body:\"\",args:[],thisVars:[],localVars:[]},l=a({args:[\"array\",\"array\",\"array\"],pre:s,post:s,body:{args:[{name:\"out\",lvalue:!0,rvalue:!1,count:1},{name:\"left\",lvalue:!1,rvalue:!0,count:1},{name:\"right\",lvalue:!1,rvalue:!0,count:1}],body:\"out=0.5*(left-right)\",thisVars:[],localVars:[]},funcName:\"cdiff\"}),c=a({args:[\"array\"],pre:s,post:s,body:{args:[{name:\"out\",lvalue:!0,rvalue:!1,count:1}],body:\"out=0\",thisVars:[],localVars:[]},funcName:\"zero\"});function u(t){if(t in i)return i[t];for(var e=[],r=0;r<t;++r)e.push(\"out\",r,\"s=0.5*(inp\",r,\"l-inp\",r,\"r);\");var o=[\"array\"],l=[\"junk\"];for(r=0;r<t;++r){o.push(\"array\"),l.push(\"out\"+r+\"s\");var c=n(t);c[r]=-1,o.push({array:0,offset:c.slice()}),c[r]=1,o.push({array:0,offset:c.slice()}),l.push(\"inp\"+r+\"l\",\"inp\"+r+\"r\")}return i[t]=a({args:o,pre:s,post:s,body:{body:e.join(\"\"),args:l.map((function(t){return{name:t,lvalue:0===t.indexOf(\"out\"),rvalue:0===t.indexOf(\"inp\"),count:\"junk\"!==t|0}})),thisVars:[],localVars:[]},funcName:\"fdTemplate\"+t})}},{\"cwise-compiler\":148,dup:171}],442:[function(t,e,r){\"use strict\";function n(t,e){var r=Math.floor(e),n=e-r,a=0<=r&&r<t.shape[0],i=0<=r+1&&r+1<t.shape[0];return(1-n)*(a?+t.get(r):0)+n*(i?+t.get(r+1):0)}function a(t,e,r){var n=Math.floor(e),a=e-n,i=0<=n&&n<t.shape[0],o=0<=n+1&&n+1<t.shape[0],s=Math.floor(r),l=r-s,c=0<=s&&s<t.shape[1],u=0<=s+1&&s+1<t.shape[1],h=i&&c?t.get(n,s):0,f=i&&u?t.get(n,s+1):0;return(1-l)*((1-a)*h+a*(o&&c?t.get(n+1,s):0))+l*((1-a)*f+a*(o&&u?t.get(n+1,s+1):0))}function i(t,e,r,n){var a=Math.floor(e),i=e-a,o=0<=a&&a<t.shape[0],s=0<=a+1&&a+1<t.shape[0],l=Math.floor(r),c=r-l,u=0<=l&&l<t.shape[1],h=0<=l+1&&l+1<t.shape[1],f=Math.floor(n),p=n-f,d=0<=f&&f<t.shape[2],g=0<=f+1&&f+1<t.shape[2],m=o&&u&&d?t.get(a,l,f):0,v=o&&h&&d?t.get(a,l+1,f):0,y=s&&u&&d?t.get(a+1,l,f):0,x=s&&h&&d?t.get(a+1,l+1,f):0,b=o&&u&&g?t.get(a,l,f+1):0,_=o&&h&&g?t.get(a,l+1,f+1):0;return(1-p)*((1-c)*((1-i)*m+i*y)+c*((1-i)*v+i*x))+p*((1-c)*((1-i)*b+i*(s&&u&&g?t.get(a+1,l,f+1):0))+c*((1-i)*_+i*(s&&h&&g?t.get(a+1,l+1,f+1):0)))}function o(t){var e,r,n=0|t.shape.length,a=new Array(n),i=new Array(n),o=new Array(n),s=new Array(n);for(e=0;e<n;++e)r=+arguments[e+1],a[e]=Math.floor(r),i[e]=r-a[e],o[e]=0<=a[e]&&a[e]<t.shape[e],s[e]=0<=a[e]+1&&a[e]+1<t.shape[e];var l,c,u,h=0;t:for(e=0;e<1<<n;++e){for(c=1,u=t.offset,l=0;l<n;++l)if(e&1<<l){if(!s[l])continue t;c*=i[l],u+=t.stride[l]*(a[l]+1)}else{if(!o[l])continue t;c*=1-i[l],u+=t.stride[l]*a[l]}h+=c*t.data[u]}return h}e.exports=function(t,e,r,s){switch(t.shape.length){case 0:return 0;case 1:return n(t,e);case 2:return a(t,e,r);case 3:return i(t,e,r,s);default:return o.apply(void 0,arguments)}},e.exports.d1=n,e.exports.d2=a,e.exports.d3=i},{}],443:[function(t,e,r){\"use strict\";var n=t(\"cwise-compiler\"),a={body:\"\",args:[],thisVars:[],localVars:[]};function i(t){if(!t)return a;for(var e=0;e<t.args.length;++e){var r=t.args[e];t.args[e]=0===e?{name:r,lvalue:!0,rvalue:!!t.rvalue,count:t.count||1}:{name:r,lvalue:!1,rvalue:!0,count:1}}return t.thisVars||(t.thisVars=[]),t.localVars||(t.localVars=[]),t}function o(t){for(var e=[],r=0;r<t.args.length;++r)e.push(\"a\"+r);return new Function(\"P\",[\"return function \",t.funcName,\"_ndarrayops(\",e.join(\",\"),\") {P(\",e.join(\",\"),\");return a0}\"].join(\"\"))(function(t){return n({args:t.args,pre:i(t.pre),body:i(t.body),post:i(t.proc),funcName:t.funcName})}(t))}var s={add:\"+\",sub:\"-\",mul:\"*\",div:\"/\",mod:\"%\",band:\"&\",bor:\"|\",bxor:\"^\",lshift:\"<<\",rshift:\">>\",rrshift:\">>>\"};!function(){for(var t in s){var e=s[t];r[t]=o({args:[\"array\",\"array\",\"array\"],body:{args:[\"a\",\"b\",\"c\"],body:\"a=b\"+e+\"c\"},funcName:t}),r[t+\"eq\"]=o({args:[\"array\",\"array\"],body:{args:[\"a\",\"b\"],body:\"a\"+e+\"=b\"},rvalue:!0,funcName:t+\"eq\"}),r[t+\"s\"]=o({args:[\"array\",\"array\",\"scalar\"],body:{args:[\"a\",\"b\",\"s\"],body:\"a=b\"+e+\"s\"},funcName:t+\"s\"}),r[t+\"seq\"]=o({args:[\"array\",\"scalar\"],body:{args:[\"a\",\"s\"],body:\"a\"+e+\"=s\"},rvalue:!0,funcName:t+\"seq\"})}}();var l={not:\"!\",bnot:\"~\",neg:\"-\",recip:\"1.0/\"};!function(){for(var t in l){var e=l[t];r[t]=o({args:[\"array\",\"array\"],body:{args:[\"a\",\"b\"],body:\"a=\"+e+\"b\"},funcName:t}),r[t+\"eq\"]=o({args:[\"array\"],body:{args:[\"a\"],body:\"a=\"+e+\"a\"},rvalue:!0,count:2,funcName:t+\"eq\"})}}();var c={and:\"&&\",or:\"||\",eq:\"===\",neq:\"!==\",lt:\"<\",gt:\">\",leq:\"<=\",geq:\">=\"};!function(){for(var t in c){var e=c[t];r[t]=o({args:[\"array\",\"array\",\"array\"],body:{args:[\"a\",\"b\",\"c\"],body:\"a=b\"+e+\"c\"},funcName:t}),r[t+\"s\"]=o({args:[\"array\",\"array\",\"scalar\"],body:{args:[\"a\",\"b\",\"s\"],body:\"a=b\"+e+\"s\"},funcName:t+\"s\"}),r[t+\"eq\"]=o({args:[\"array\",\"array\"],body:{args:[\"a\",\"b\"],body:\"a=a\"+e+\"b\"},rvalue:!0,count:2,funcName:t+\"eq\"}),r[t+\"seq\"]=o({args:[\"array\",\"scalar\"],body:{args:[\"a\",\"s\"],body:\"a=a\"+e+\"s\"},rvalue:!0,count:2,funcName:t+\"seq\"})}}();var u=[\"abs\",\"acos\",\"asin\",\"atan\",\"ceil\",\"cos\",\"exp\",\"floor\",\"log\",\"round\",\"sin\",\"sqrt\",\"tan\"];!function(){for(var t=0;t<u.length;++t){var e=u[t];r[e]=o({args:[\"array\",\"array\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\"],body:\"a=this_f(b)\",thisVars:[\"this_f\"]},funcName:e}),r[e+\"eq\"]=o({args:[\"array\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\"],body:\"a=this_f(a)\",thisVars:[\"this_f\"]},rvalue:!0,count:2,funcName:e+\"eq\"})}}();var h=[\"max\",\"min\",\"atan2\",\"pow\"];!function(){for(var t=0;t<h.length;++t){var e=h[t];r[e]=o({args:[\"array\",\"array\",\"array\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\",\"c\"],body:\"a=this_f(b,c)\",thisVars:[\"this_f\"]},funcName:e}),r[e+\"s\"]=o({args:[\"array\",\"array\",\"scalar\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\",\"c\"],body:\"a=this_f(b,c)\",thisVars:[\"this_f\"]},funcName:e+\"s\"}),r[e+\"eq\"]=o({args:[\"array\",\"array\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\"],body:\"a=this_f(a,b)\",thisVars:[\"this_f\"]},rvalue:!0,count:2,funcName:e+\"eq\"}),r[e+\"seq\"]=o({args:[\"array\",\"scalar\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\"],body:\"a=this_f(a,b)\",thisVars:[\"this_f\"]},rvalue:!0,count:2,funcName:e+\"seq\"})}}();var f=[\"atan2\",\"pow\"];!function(){for(var t=0;t<f.length;++t){var e=f[t];r[e+\"op\"]=o({args:[\"array\",\"array\",\"array\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\",\"c\"],body:\"a=this_f(c,b)\",thisVars:[\"this_f\"]},funcName:e+\"op\"}),r[e+\"ops\"]=o({args:[\"array\",\"array\",\"scalar\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\",\"c\"],body:\"a=this_f(c,b)\",thisVars:[\"this_f\"]},funcName:e+\"ops\"}),r[e+\"opeq\"]=o({args:[\"array\",\"array\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\"],body:\"a=this_f(b,a)\",thisVars:[\"this_f\"]},rvalue:!0,count:2,funcName:e+\"opeq\"}),r[e+\"opseq\"]=o({args:[\"array\",\"scalar\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\"],body:\"a=this_f(b,a)\",thisVars:[\"this_f\"]},rvalue:!0,count:2,funcName:e+\"opseq\"})}}(),r.any=n({args:[\"array\"],pre:a,body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:1}],body:\"if(a){return true}\",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:\"return false\"},funcName:\"any\"}),r.all=n({args:[\"array\"],pre:a,body:{args:[{name:\"x\",lvalue:!1,rvalue:!0,count:1}],body:\"if(!x){return false}\",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:\"return true\"},funcName:\"all\"}),r.sum=n({args:[\"array\"],pre:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"this_s=0\"},body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:1}],body:\"this_s+=a\",localVars:[],thisVars:[\"this_s\"]},post:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"return this_s\"},funcName:\"sum\"}),r.prod=n({args:[\"array\"],pre:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"this_s=1\"},body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:1}],body:\"this_s*=a\",localVars:[],thisVars:[\"this_s\"]},post:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"return this_s\"},funcName:\"prod\"}),r.norm2squared=n({args:[\"array\"],pre:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"this_s=0\"},body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:2}],body:\"this_s+=a*a\",localVars:[],thisVars:[\"this_s\"]},post:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"return this_s\"},funcName:\"norm2squared\"}),r.norm2=n({args:[\"array\"],pre:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"this_s=0\"},body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:2}],body:\"this_s+=a*a\",localVars:[],thisVars:[\"this_s\"]},post:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"return Math.sqrt(this_s)\"},funcName:\"norm2\"}),r.norminf=n({args:[\"array\"],pre:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"this_s=0\"},body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:4}],body:\"if(-a>this_s){this_s=-a}else if(a>this_s){this_s=a}\",localVars:[],thisVars:[\"this_s\"]},post:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"return this_s\"},funcName:\"norminf\"}),r.norm1=n({args:[\"array\"],pre:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"this_s=0\"},body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:3}],body:\"this_s+=a<0?-a:a\",localVars:[],thisVars:[\"this_s\"]},post:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"return this_s\"},funcName:\"norm1\"}),r.sup=n({args:[\"array\"],pre:{body:\"this_h=-Infinity\",args:[],thisVars:[\"this_h\"],localVars:[]},body:{body:\"if(_inline_1_arg0_>this_h)this_h=_inline_1_arg0_\",args:[{name:\"_inline_1_arg0_\",lvalue:!1,rvalue:!0,count:2}],thisVars:[\"this_h\"],localVars:[]},post:{body:\"return this_h\",args:[],thisVars:[\"this_h\"],localVars:[]}}),r.inf=n({args:[\"array\"],pre:{body:\"this_h=Infinity\",args:[],thisVars:[\"this_h\"],localVars:[]},body:{body:\"if(_inline_1_arg0_<this_h)this_h=_inline_1_arg0_\",args:[{name:\"_inline_1_arg0_\",lvalue:!1,rvalue:!0,count:2}],thisVars:[\"this_h\"],localVars:[]},post:{body:\"return this_h\",args:[],thisVars:[\"this_h\"],localVars:[]}}),r.argmin=n({args:[\"index\",\"array\",\"shape\"],pre:{body:\"{this_v=Infinity;this_i=_inline_0_arg2_.slice(0)}\",args:[{name:\"_inline_0_arg0_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_0_arg1_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_0_arg2_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\"this_i\",\"this_v\"],localVars:[]},body:{body:\"{if(_inline_1_arg1_<this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}\",args:[{name:\"_inline_1_arg0_\",lvalue:!1,rvalue:!0,count:2},{name:\"_inline_1_arg1_\",lvalue:!1,rvalue:!0,count:2}],thisVars:[\"this_i\",\"this_v\"],localVars:[\"_inline_1_k\"]},post:{body:\"{return this_i}\",args:[],thisVars:[\"this_i\"],localVars:[]}}),r.argmax=n({args:[\"index\",\"array\",\"shape\"],pre:{body:\"{this_v=-Infinity;this_i=_inline_0_arg2_.slice(0)}\",args:[{name:\"_inline_0_arg0_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_0_arg1_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_0_arg2_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\"this_i\",\"this_v\"],localVars:[]},body:{body:\"{if(_inline_1_arg1_>this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}\",args:[{name:\"_inline_1_arg0_\",lvalue:!1,rvalue:!0,count:2},{name:\"_inline_1_arg1_\",lvalue:!1,rvalue:!0,count:2}],thisVars:[\"this_i\",\"this_v\"],localVars:[\"_inline_1_k\"]},post:{body:\"{return this_i}\",args:[],thisVars:[\"this_i\"],localVars:[]}}),r.random=o({args:[\"array\"],pre:{args:[],body:\"this_f=Math.random\",thisVars:[\"this_f\"]},body:{args:[\"a\"],body:\"a=this_f()\",thisVars:[\"this_f\"]},funcName:\"random\"}),r.assign=o({args:[\"array\",\"array\"],body:{args:[\"a\",\"b\"],body:\"a=b\"},funcName:\"assign\"}),r.assigns=o({args:[\"array\",\"scalar\"],body:{args:[\"a\",\"b\"],body:\"a=b\"},funcName:\"assigns\"}),r.equals=n({args:[\"array\",\"array\"],pre:a,body:{args:[{name:\"x\",lvalue:!1,rvalue:!0,count:1},{name:\"y\",lvalue:!1,rvalue:!0,count:1}],body:\"if(x!==y){return false}\",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:\"return true\"},funcName:\"equals\"})},{\"cwise-compiler\":148}],444:[function(t,e,r){\"use strict\";var n=t(\"ndarray\"),a=t(\"./doConvert.js\");e.exports=function(t,e){for(var r=[],i=t,o=1;Array.isArray(i);)r.push(i.length),o*=i.length,i=i[0];return 0===r.length?n():(e||(e=n(new Float64Array(o),r)),a(e,t),e)}},{\"./doConvert.js\":445,ndarray:448}],445:[function(t,e,r){e.exports=t(\"cwise-compiler\")({args:[\"array\",\"scalar\",\"index\"],pre:{body:\"{}\",args:[],thisVars:[],localVars:[]},body:{body:\"{\\nvar _inline_1_v=_inline_1_arg1_,_inline_1_i\\nfor(_inline_1_i=0;_inline_1_i<_inline_1_arg2_.length-1;++_inline_1_i) {\\n_inline_1_v=_inline_1_v[_inline_1_arg2_[_inline_1_i]]\\n}\\n_inline_1_arg0_=_inline_1_v[_inline_1_arg2_[_inline_1_arg2_.length-1]]\\n}\",args:[{name:\"_inline_1_arg0_\",lvalue:!0,rvalue:!1,count:1},{name:\"_inline_1_arg1_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_1_arg2_\",lvalue:!1,rvalue:!0,count:4}],thisVars:[],localVars:[\"_inline_1_i\",\"_inline_1_v\"]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},funcName:\"convert\",blockSize:64})},{\"cwise-compiler\":148}],446:[function(t,e,r){\"use strict\";var n=t(\"typedarray-pool\"),a=32;function i(t){switch(t){case\"uint8\":return[n.mallocUint8,n.freeUint8];case\"uint16\":return[n.mallocUint16,n.freeUint16];case\"uint32\":return[n.mallocUint32,n.freeUint32];case\"int8\":return[n.mallocInt8,n.freeInt8];case\"int16\":return[n.mallocInt16,n.freeInt16];case\"int32\":return[n.mallocInt32,n.freeInt32];case\"float32\":return[n.mallocFloat,n.freeFloat];case\"float64\":return[n.mallocDouble,n.freeDouble];default:return null}}function o(t){for(var e=[],r=0;r<t;++r)e.push(\"s\"+r);for(r=0;r<t;++r)e.push(\"n\"+r);for(r=1;r<t;++r)e.push(\"d\"+r);for(r=1;r<t;++r)e.push(\"e\"+r);for(r=1;r<t;++r)e.push(\"f\"+r);return e}e.exports=function(t,e){var r=[\"'use strict'\"],n=[\"ndarraySortWrapper\",t.join(\"d\"),e].join(\"\");r.push([\"function \",n,\"(\",[\"array\"].join(\",\"),\"){\"].join(\"\"));for(var s=[\"data=array.data,offset=array.offset|0,shape=array.shape,stride=array.stride\"],l=0;l<t.length;++l)s.push([\"s\",l,\"=stride[\",l,\"]|0,n\",l,\"=shape[\",l,\"]|0\"].join(\"\"));var c=new Array(t.length),u=[];for(l=0;l<t.length;++l){0!==(p=t[l])&&(0===u.length?c[p]=\"1\":c[p]=u.join(\"*\"),u.push(\"n\"+p))}var h=-1,f=-1;for(l=0;l<t.length;++l){var p,d=t[l];0!==d&&(h>0?s.push([\"d\",d,\"=s\",d,\"-d\",h,\"*n\",h].join(\"\")):s.push([\"d\",d,\"=s\",d].join(\"\")),h=d),0!==(p=t.length-1-l)&&(f>0?s.push([\"e\",p,\"=s\",p,\"-e\",f,\"*n\",f,\",f\",p,\"=\",c[p],\"-f\",f,\"*n\",f].join(\"\")):s.push([\"e\",p,\"=s\",p,\",f\",p,\"=\",c[p]].join(\"\")),f=p)}r.push(\"var \"+s.join(\",\"));var g=[\"0\",\"n0-1\",\"data\",\"offset\"].concat(o(t.length));r.push([\"if(n0<=\",a,\"){\",\"insertionSort(\",g.join(\",\"),\")}else{\",\"quickSort(\",g.join(\",\"),\")}\"].join(\"\")),r.push(\"}return \"+n);var m=new Function(\"insertionSort\",\"quickSort\",r.join(\"\\n\")),v=function(t,e){var r=[\"'use strict'\"],n=[\"ndarrayInsertionSort\",t.join(\"d\"),e].join(\"\"),a=[\"left\",\"right\",\"data\",\"offset\"].concat(o(t.length)),s=i(e),l=[\"i,j,cptr,ptr=left*s0+offset\"];if(t.length>1){for(var c=[],u=1;u<t.length;++u)l.push(\"i\"+u),c.push(\"n\"+u);s?l.push(\"scratch=malloc(\"+c.join(\"*\")+\")\"):l.push(\"scratch=new Array(\"+c.join(\"*\")+\")\"),l.push(\"dptr\",\"sptr\",\"a\",\"b\")}else l.push(\"scratch\");function h(t){return\"generic\"===e?[\"data.get(\",t,\")\"].join(\"\"):[\"data[\",t,\"]\"].join(\"\")}function f(t,r){return\"generic\"===e?[\"data.set(\",t,\",\",r,\")\"].join(\"\"):[\"data[\",t,\"]=\",r].join(\"\")}if(r.push([\"function \",n,\"(\",a.join(\",\"),\"){var \",l.join(\",\")].join(\"\"),\"for(i=left+1;i<=right;++i){\",\"j=i;ptr+=s0\",\"cptr=ptr\"),t.length>1){r.push(\"dptr=0;sptr=ptr\");for(u=t.length-1;u>=0;--u){0!==(p=t[u])&&r.push([\"for(i\",p,\"=0;i\",p,\"<n\",p,\";++i\",p,\"){\"].join(\"\"))}r.push(\"scratch[dptr++]=\",h(\"sptr\"));for(u=0;u<t.length;++u){0!==(p=t[u])&&r.push(\"sptr+=d\"+p,\"}\")}r.push(\"__g:while(j--\\x3eleft){\",\"dptr=0\",\"sptr=cptr-s0\");for(u=1;u<t.length;++u)1===u&&r.push(\"__l:\"),r.push([\"for(i\",u,\"=0;i\",u,\"<n\",u,\";++i\",u,\"){\"].join(\"\"));r.push([\"a=\",h(\"sptr\"),\"\\nb=scratch[dptr]\\nif(a<b){break __g}\\nif(a>b){break __l}\"].join(\"\"));for(u=t.length-1;u>=1;--u)r.push(\"sptr+=e\"+u,\"dptr+=f\"+u,\"}\");r.push(\"dptr=cptr;sptr=cptr-s0\");for(u=t.length-1;u>=0;--u){0!==(p=t[u])&&r.push([\"for(i\",p,\"=0;i\",p,\"<n\",p,\";++i\",p,\"){\"].join(\"\"))}r.push(f(\"dptr\",h(\"sptr\")));for(u=0;u<t.length;++u){0!==(p=t[u])&&r.push([\"dptr+=d\",p,\";sptr+=d\",p].join(\"\"),\"}\")}r.push(\"cptr-=s0\\n}\"),r.push(\"dptr=cptr;sptr=0\");for(u=t.length-1;u>=0;--u){0!==(p=t[u])&&r.push([\"for(i\",p,\"=0;i\",p,\"<n\",p,\";++i\",p,\"){\"].join(\"\"))}r.push(f(\"dptr\",\"scratch[sptr++]\"));for(u=0;u<t.length;++u){var p;0!==(p=t[u])&&r.push(\"dptr+=d\"+p,\"}\")}}else r.push(\"scratch=\"+h(\"ptr\"),\"while((j--\\x3eleft)&&(\"+h(\"cptr-s0\")+\">scratch)){\",f(\"cptr\",h(\"cptr-s0\")),\"cptr-=s0\",\"}\",f(\"cptr\",\"scratch\"));return r.push(\"}\"),t.length>1&&s&&r.push(\"free(scratch)\"),r.push(\"} return \"+n),s?new Function(\"malloc\",\"free\",r.join(\"\\n\"))(s[0],s[1]):new Function(r.join(\"\\n\"))()}(t,e),y=function(t,e,r){var n=[\"'use strict'\"],s=[\"ndarrayQuickSort\",t.join(\"d\"),e].join(\"\"),l=[\"left\",\"right\",\"data\",\"offset\"].concat(o(t.length)),c=i(e),u=0;n.push([\"function \",s,\"(\",l.join(\",\"),\"){\"].join(\"\"));var h=[\"sixth=((right-left+1)/6)|0\",\"index1=left+sixth\",\"index5=right-sixth\",\"index3=(left+right)>>1\",\"index2=index3-sixth\",\"index4=index3+sixth\",\"el1=index1\",\"el2=index2\",\"el3=index3\",\"el4=index4\",\"el5=index5\",\"less=left+1\",\"great=right-1\",\"pivots_are_equal=true\",\"tmp\",\"tmp0\",\"x\",\"y\",\"z\",\"k\",\"ptr0\",\"ptr1\",\"ptr2\",\"comp_pivot1=0\",\"comp_pivot2=0\",\"comp=0\"];if(t.length>1){for(var f=[],p=1;p<t.length;++p)f.push(\"n\"+p),h.push(\"i\"+p);for(p=0;p<8;++p)h.push(\"b_ptr\"+p);h.push(\"ptr3\",\"ptr4\",\"ptr5\",\"ptr6\",\"ptr7\",\"pivot_ptr\",\"ptr_shift\",\"elementSize=\"+f.join(\"*\")),c?h.push(\"pivot1=malloc(elementSize)\",\"pivot2=malloc(elementSize)\"):h.push(\"pivot1=new Array(elementSize),pivot2=new Array(elementSize)\")}else h.push(\"pivot1\",\"pivot2\");function d(t){return[\"(offset+\",t,\"*s0)\"].join(\"\")}function g(t){return\"generic\"===e?[\"data.get(\",t,\")\"].join(\"\"):[\"data[\",t,\"]\"].join(\"\")}function m(t,r){return\"generic\"===e?[\"data.set(\",t,\",\",r,\")\"].join(\"\"):[\"data[\",t,\"]=\",r].join(\"\")}function v(e,r,a){if(1===e.length)n.push(\"ptr0=\"+d(e[0]));else for(var i=0;i<e.length;++i)n.push([\"b_ptr\",i,\"=s0*\",e[i]].join(\"\"));r&&n.push(\"pivot_ptr=0\"),n.push(\"ptr_shift=offset\");for(i=t.length-1;i>=0;--i){0!==(o=t[i])&&n.push([\"for(i\",o,\"=0;i\",o,\"<n\",o,\";++i\",o,\"){\"].join(\"\"))}if(e.length>1)for(i=0;i<e.length;++i)n.push([\"ptr\",i,\"=b_ptr\",i,\"+ptr_shift\"].join(\"\"));n.push(a),r&&n.push(\"++pivot_ptr\");for(i=0;i<t.length;++i){var o;0!==(o=t[i])&&(e.length>1?n.push(\"ptr_shift+=d\"+o):n.push(\"ptr0+=d\"+o),n.push(\"}\"))}}function y(e,r,a,i){if(1===r.length)n.push(\"ptr0=\"+d(r[0]));else{for(var o=0;o<r.length;++o)n.push([\"b_ptr\",o,\"=s0*\",r[o]].join(\"\"));n.push(\"ptr_shift=offset\")}a&&n.push(\"pivot_ptr=0\"),e&&n.push(e+\":\");for(o=1;o<t.length;++o)n.push([\"for(i\",o,\"=0;i\",o,\"<n\",o,\";++i\",o,\"){\"].join(\"\"));if(r.length>1)for(o=0;o<r.length;++o)n.push([\"ptr\",o,\"=b_ptr\",o,\"+ptr_shift\"].join(\"\"));n.push(i);for(o=t.length-1;o>=1;--o)a&&n.push(\"pivot_ptr+=f\"+o),r.length>1?n.push(\"ptr_shift+=e\"+o):n.push(\"ptr0+=e\"+o),n.push(\"}\")}function x(){t.length>1&&c&&n.push(\"free(pivot1)\",\"free(pivot2)\")}function b(e,r){var a=\"el\"+e,i=\"el\"+r;if(t.length>1){var o=\"__l\"+ ++u;y(o,[a,i],!1,[\"comp=\",g(\"ptr0\"),\"-\",g(\"ptr1\"),\"\\n\",\"if(comp>0){tmp0=\",a,\";\",a,\"=\",i,\";\",i,\"=tmp0;break \",o,\"}\\n\",\"if(comp<0){break \",o,\"}\"].join(\"\"))}else n.push([\"if(\",g(d(a)),\">\",g(d(i)),\"){tmp0=\",a,\";\",a,\"=\",i,\";\",i,\"=tmp0}\"].join(\"\"))}function _(e,r){t.length>1?v([e,r],!1,m(\"ptr0\",g(\"ptr1\"))):n.push(m(d(e),g(d(r))))}function w(e,r,a){if(t.length>1){var i=\"__l\"+ ++u;y(i,[r],!0,[e,\"=\",g(\"ptr0\"),\"-pivot\",a,\"[pivot_ptr]\\n\",\"if(\",e,\"!==0){break \",i,\"}\"].join(\"\"))}else n.push([e,\"=\",g(d(r)),\"-pivot\",a].join(\"\"))}function T(e,r){t.length>1?v([e,r],!1,[\"tmp=\",g(\"ptr0\"),\"\\n\",m(\"ptr0\",g(\"ptr1\")),\"\\n\",m(\"ptr1\",\"tmp\")].join(\"\")):n.push([\"ptr0=\",d(e),\"\\n\",\"ptr1=\",d(r),\"\\n\",\"tmp=\",g(\"ptr0\"),\"\\n\",m(\"ptr0\",g(\"ptr1\")),\"\\n\",m(\"ptr1\",\"tmp\")].join(\"\"))}function k(e,r,a){t.length>1?(v([e,r,a],!1,[\"tmp=\",g(\"ptr0\"),\"\\n\",m(\"ptr0\",g(\"ptr1\")),\"\\n\",m(\"ptr1\",g(\"ptr2\")),\"\\n\",m(\"ptr2\",\"tmp\")].join(\"\")),n.push(\"++\"+r,\"--\"+a)):n.push([\"ptr0=\",d(e),\"\\n\",\"ptr1=\",d(r),\"\\n\",\"ptr2=\",d(a),\"\\n\",\"++\",r,\"\\n\",\"--\",a,\"\\n\",\"tmp=\",g(\"ptr0\"),\"\\n\",m(\"ptr0\",g(\"ptr1\")),\"\\n\",m(\"ptr1\",g(\"ptr2\")),\"\\n\",m(\"ptr2\",\"tmp\")].join(\"\"))}function A(t,e){T(t,e),n.push(\"--\"+e)}function M(e,r,a){t.length>1?v([e,r],!0,[m(\"ptr0\",g(\"ptr1\")),\"\\n\",m(\"ptr1\",[\"pivot\",a,\"[pivot_ptr]\"].join(\"\"))].join(\"\")):n.push(m(d(e),g(d(r))),m(d(r),\"pivot\"+a))}function S(e,r){n.push([\"if((\",r,\"-\",e,\")<=\",a,\"){\\n\",\"insertionSort(\",e,\",\",r,\",data,offset,\",o(t.length).join(\",\"),\")\\n\",\"}else{\\n\",s,\"(\",e,\",\",r,\",data,offset,\",o(t.length).join(\",\"),\")\\n\",\"}\"].join(\"\"))}function E(e,r,a){t.length>1?(n.push([\"__l\",++u,\":while(true){\"].join(\"\")),v([e],!0,[\"if(\",g(\"ptr0\"),\"!==pivot\",r,\"[pivot_ptr]){break __l\",u,\"}\"].join(\"\")),n.push(a,\"}\")):n.push([\"while(\",g(d(e)),\"===pivot\",r,\"){\",a,\"}\"].join(\"\"))}return n.push(\"var \"+h.join(\",\")),b(1,2),b(4,5),b(1,3),b(2,3),b(1,4),b(3,4),b(2,5),b(2,3),b(4,5),t.length>1?v([\"el1\",\"el2\",\"el3\",\"el4\",\"el5\",\"index1\",\"index3\",\"index5\"],!0,[\"pivot1[pivot_ptr]=\",g(\"ptr1\"),\"\\n\",\"pivot2[pivot_ptr]=\",g(\"ptr3\"),\"\\n\",\"pivots_are_equal=pivots_are_equal&&(pivot1[pivot_ptr]===pivot2[pivot_ptr])\\n\",\"x=\",g(\"ptr0\"),\"\\n\",\"y=\",g(\"ptr2\"),\"\\n\",\"z=\",g(\"ptr4\"),\"\\n\",m(\"ptr5\",\"x\"),\"\\n\",m(\"ptr6\",\"y\"),\"\\n\",m(\"ptr7\",\"z\")].join(\"\")):n.push([\"pivot1=\",g(d(\"el2\")),\"\\n\",\"pivot2=\",g(d(\"el4\")),\"\\n\",\"pivots_are_equal=pivot1===pivot2\\n\",\"x=\",g(d(\"el1\")),\"\\n\",\"y=\",g(d(\"el3\")),\"\\n\",\"z=\",g(d(\"el5\")),\"\\n\",m(d(\"index1\"),\"x\"),\"\\n\",m(d(\"index3\"),\"y\"),\"\\n\",m(d(\"index5\"),\"z\")].join(\"\")),_(\"index2\",\"left\"),_(\"index4\",\"right\"),n.push(\"if(pivots_are_equal){\"),n.push(\"for(k=less;k<=great;++k){\"),w(\"comp\",\"k\",1),n.push(\"if(comp===0){continue}\"),n.push(\"if(comp<0){\"),n.push(\"if(k!==less){\"),T(\"k\",\"less\"),n.push(\"}\"),n.push(\"++less\"),n.push(\"}else{\"),n.push(\"while(true){\"),w(\"comp\",\"great\",1),n.push(\"if(comp>0){\"),n.push(\"great--\"),n.push(\"}else if(comp<0){\"),k(\"k\",\"less\",\"great\"),n.push(\"break\"),n.push(\"}else{\"),A(\"k\",\"great\"),n.push(\"break\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}else{\"),n.push(\"for(k=less;k<=great;++k){\"),w(\"comp_pivot1\",\"k\",1),n.push(\"if(comp_pivot1<0){\"),n.push(\"if(k!==less){\"),T(\"k\",\"less\"),n.push(\"}\"),n.push(\"++less\"),n.push(\"}else{\"),w(\"comp_pivot2\",\"k\",2),n.push(\"if(comp_pivot2>0){\"),n.push(\"while(true){\"),w(\"comp\",\"great\",2),n.push(\"if(comp>0){\"),n.push(\"if(--great<k){break}\"),n.push(\"continue\"),n.push(\"}else{\"),w(\"comp\",\"great\",1),n.push(\"if(comp<0){\"),k(\"k\",\"less\",\"great\"),n.push(\"}else{\"),A(\"k\",\"great\"),n.push(\"}\"),n.push(\"break\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),M(\"left\",\"(less-1)\",1),M(\"right\",\"(great+1)\",2),S(\"left\",\"(less-2)\"),S(\"(great+2)\",\"right\"),n.push(\"if(pivots_are_equal){\"),x(),n.push(\"return\"),n.push(\"}\"),n.push(\"if(less<index1&&great>index5){\"),E(\"less\",1,\"++less\"),E(\"great\",2,\"--great\"),n.push(\"for(k=less;k<=great;++k){\"),w(\"comp_pivot1\",\"k\",1),n.push(\"if(comp_pivot1===0){\"),n.push(\"if(k!==less){\"),T(\"k\",\"less\"),n.push(\"}\"),n.push(\"++less\"),n.push(\"}else{\"),w(\"comp_pivot2\",\"k\",2),n.push(\"if(comp_pivot2===0){\"),n.push(\"while(true){\"),w(\"comp\",\"great\",2),n.push(\"if(comp===0){\"),n.push(\"if(--great<k){break}\"),n.push(\"continue\"),n.push(\"}else{\"),w(\"comp\",\"great\",1),n.push(\"if(comp<0){\"),k(\"k\",\"less\",\"great\"),n.push(\"}else{\"),A(\"k\",\"great\"),n.push(\"}\"),n.push(\"break\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),x(),S(\"less\",\"great\"),n.push(\"}return \"+s),t.length>1&&c?new Function(\"insertionSort\",\"malloc\",\"free\",n.join(\"\\n\"))(r,c[0],c[1]):new Function(\"insertionSort\",n.join(\"\\n\"))(r)}(t,e,v);return m(v,y)}},{\"typedarray-pool\":547}],447:[function(t,e,r){\"use strict\";var n=t(\"./lib/compile_sort.js\"),a={};e.exports=function(t){var e=t.order,r=t.dtype,i=[e,r].join(\":\"),o=a[i];return o||(a[i]=o=n(e,r)),o(t),t}},{\"./lib/compile_sort.js\":446}],448:[function(t,e,r){var n=t(\"iota-array\"),a=t(\"is-buffer\"),i=\"undefined\"!=typeof Float64Array;function o(t,e){return t[0]-e[0]}function s(){var t,e=this.stride,r=new Array(e.length);for(t=0;t<r.length;++t)r[t]=[Math.abs(e[t]),t];r.sort(o);var n=new Array(r.length);for(t=0;t<n.length;++t)n[t]=r[t][1];return n}function l(t,e){var r=[\"View\",e,\"d\",t].join(\"\");e<0&&(r=\"View_Nil\"+t);var a=\"generic\"===t;if(-1===e){var i=\"function \"+r+\"(a){this.data=a;};var proto=\"+r+\".prototype;proto.dtype='\"+t+\"';proto.index=function(){return -1};proto.size=0;proto.dimension=-1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function(){return new \"+r+\"(this.data);};proto.get=proto.set=function(){};proto.pick=function(){return null};return function construct_\"+r+\"(a){return new \"+r+\"(a);}\";return new Function(i)()}if(0===e){i=\"function \"+r+\"(a,d) {this.data = a;this.offset = d};var proto=\"+r+\".prototype;proto.dtype='\"+t+\"';proto.index=function(){return this.offset};proto.dimension=0;proto.size=1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function \"+r+\"_copy() {return new \"+r+\"(this.data,this.offset)};proto.pick=function \"+r+\"_pick(){return TrivialArray(this.data);};proto.valueOf=proto.get=function \"+r+\"_get(){return \"+(a?\"this.data.get(this.offset)\":\"this.data[this.offset]\")+\"};proto.set=function \"+r+\"_set(v){return \"+(a?\"this.data.set(this.offset,v)\":\"this.data[this.offset]=v\")+\"};return function construct_\"+r+\"(a,b,c,d){return new \"+r+\"(a,d)}\";return new Function(\"TrivialArray\",i)(c[t][0])}i=[\"'use strict'\"];var o=n(e),l=o.map((function(t){return\"i\"+t})),u=\"this.offset+\"+o.map((function(t){return\"this.stride[\"+t+\"]*i\"+t})).join(\"+\"),h=o.map((function(t){return\"b\"+t})).join(\",\"),f=o.map((function(t){return\"c\"+t})).join(\",\");i.push(\"function \"+r+\"(a,\"+h+\",\"+f+\",d){this.data=a\",\"this.shape=[\"+h+\"]\",\"this.stride=[\"+f+\"]\",\"this.offset=d|0}\",\"var proto=\"+r+\".prototype\",\"proto.dtype='\"+t+\"'\",\"proto.dimension=\"+e),i.push(\"Object.defineProperty(proto,'size',{get:function \"+r+\"_size(){return \"+o.map((function(t){return\"this.shape[\"+t+\"]\"})).join(\"*\"),\"}})\"),1===e?i.push(\"proto.order=[0]\"):(i.push(\"Object.defineProperty(proto,'order',{get:\"),e<4?(i.push(\"function \"+r+\"_order(){\"),2===e?i.push(\"return (Math.abs(this.stride[0])>Math.abs(this.stride[1]))?[1,0]:[0,1]}})\"):3===e&&i.push(\"var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0>s1){if(s1>s2){return [2,1,0];}else if(s0>s2){return [1,2,0];}else{return [1,0,2];}}else if(s0>s2){return [2,0,1];}else if(s2>s1){return [0,1,2];}else{return [0,2,1];}}})\")):i.push(\"ORDER})\")),i.push(\"proto.set=function \"+r+\"_set(\"+l.join(\",\")+\",v){\"),a?i.push(\"return this.data.set(\"+u+\",v)}\"):i.push(\"return this.data[\"+u+\"]=v}\"),i.push(\"proto.get=function \"+r+\"_get(\"+l.join(\",\")+\"){\"),a?i.push(\"return this.data.get(\"+u+\")}\"):i.push(\"return this.data[\"+u+\"]}\"),i.push(\"proto.index=function \"+r+\"_index(\",l.join(),\"){return \"+u+\"}\"),i.push(\"proto.hi=function \"+r+\"_hi(\"+l.join(\",\")+\"){return new \"+r+\"(this.data,\"+o.map((function(t){return[\"(typeof i\",t,\"!=='number'||i\",t,\"<0)?this.shape[\",t,\"]:i\",t,\"|0\"].join(\"\")})).join(\",\")+\",\"+o.map((function(t){return\"this.stride[\"+t+\"]\"})).join(\",\")+\",this.offset)}\");var p=o.map((function(t){return\"a\"+t+\"=this.shape[\"+t+\"]\"})),d=o.map((function(t){return\"c\"+t+\"=this.stride[\"+t+\"]\"}));i.push(\"proto.lo=function \"+r+\"_lo(\"+l.join(\",\")+\"){var b=this.offset,d=0,\"+p.join(\",\")+\",\"+d.join(\",\"));for(var g=0;g<e;++g)i.push(\"if(typeof i\"+g+\"==='number'&&i\"+g+\">=0){d=i\"+g+\"|0;b+=c\"+g+\"*d;a\"+g+\"-=d}\");i.push(\"return new \"+r+\"(this.data,\"+o.map((function(t){return\"a\"+t})).join(\",\")+\",\"+o.map((function(t){return\"c\"+t})).join(\",\")+\",b)}\"),i.push(\"proto.step=function \"+r+\"_step(\"+l.join(\",\")+\"){var \"+o.map((function(t){return\"a\"+t+\"=this.shape[\"+t+\"]\"})).join(\",\")+\",\"+o.map((function(t){return\"b\"+t+\"=this.stride[\"+t+\"]\"})).join(\",\")+\",c=this.offset,d=0,ceil=Math.ceil\");for(g=0;g<e;++g)i.push(\"if(typeof i\"+g+\"==='number'){d=i\"+g+\"|0;if(d<0){c+=b\"+g+\"*(a\"+g+\"-1);a\"+g+\"=ceil(-a\"+g+\"/d)}else{a\"+g+\"=ceil(a\"+g+\"/d)}b\"+g+\"*=d}\");i.push(\"return new \"+r+\"(this.data,\"+o.map((function(t){return\"a\"+t})).join(\",\")+\",\"+o.map((function(t){return\"b\"+t})).join(\",\")+\",c)}\");var m=new Array(e),v=new Array(e);for(g=0;g<e;++g)m[g]=\"a[i\"+g+\"]\",v[g]=\"b[i\"+g+\"]\";i.push(\"proto.transpose=function \"+r+\"_transpose(\"+l+\"){\"+l.map((function(t,e){return t+\"=(\"+t+\"===undefined?\"+e+\":\"+t+\"|0)\"})).join(\";\"),\"var a=this.shape,b=this.stride;return new \"+r+\"(this.data,\"+m.join(\",\")+\",\"+v.join(\",\")+\",this.offset)}\"),i.push(\"proto.pick=function \"+r+\"_pick(\"+l+\"){var a=[],b=[],c=this.offset\");for(g=0;g<e;++g)i.push(\"if(typeof i\"+g+\"==='number'&&i\"+g+\">=0){c=(c+this.stride[\"+g+\"]*i\"+g+\")|0}else{a.push(this.shape[\"+g+\"]);b.push(this.stride[\"+g+\"])}\");return i.push(\"var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}\"),i.push(\"return function construct_\"+r+\"(data,shape,stride,offset){return new \"+r+\"(data,\"+o.map((function(t){return\"shape[\"+t+\"]\"})).join(\",\")+\",\"+o.map((function(t){return\"stride[\"+t+\"]\"})).join(\",\")+\",offset)}\"),new Function(\"CTOR_LIST\",\"ORDER\",i.join(\"\\n\"))(c[t],s)}var c={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],bigint64:[],biguint64:[],buffer:[],generic:[]};e.exports=function(t,e,r,n){if(void 0===t)return(0,c.array[0])([]);\"number\"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var o=e.length;if(void 0===r){r=new Array(o);for(var s=o-1,u=1;s>=0;--s)r[s]=u,u*=e[s]}if(void 0===n){n=0;for(s=0;s<o;++s)r[s]<0&&(n-=(e[s]-1)*r[s])}for(var h=function(t){if(a(t))return\"buffer\";if(i)switch(Object.prototype.toString.call(t)){case\"[object Float64Array]\":return\"float64\";case\"[object Float32Array]\":return\"float32\";case\"[object Int8Array]\":return\"int8\";case\"[object Int16Array]\":return\"int16\";case\"[object Int32Array]\":return\"int32\";case\"[object Uint8Array]\":return\"uint8\";case\"[object Uint16Array]\":return\"uint16\";case\"[object Uint32Array]\":return\"uint32\";case\"[object Uint8ClampedArray]\":return\"uint8_clamped\";case\"[object BigInt64Array]\":return\"bigint64\";case\"[object BigUint64Array]\":return\"biguint64\"}return Array.isArray(t)?\"array\":\"generic\"}(t),f=c[h];f.length<=o+1;)f.push(l(h,f.length-1));return(0,f[o+1])(t,e,r,n)}},{\"iota-array\":416,\"is-buffer\":418}],449:[function(t,e,r){\"use strict\";var n=t(\"double-bits\"),a=Math.pow(2,-1074);e.exports=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-a:a;var r=n.hi(t),i=n.lo(t);e>t==t>0?i===-1>>>0?(r+=1,i=0):i+=1:0===i?(i=-1>>>0,r-=1):i-=1;return n.pack(i,r)}},{\"double-bits\":168}],450:[function(t,e,r){var n=Math.PI,a=c(120);function i(t,e,r,n){return[\"C\",t,e,r,n,r,n]}function o(t,e,r,n,a,i){return[\"C\",t/3+2/3*r,e/3+2/3*n,a/3+2/3*r,i/3+2/3*n,a,i]}function s(t,e,r,i,o,c,u,h,f,p){if(p)T=p[0],k=p[1],_=p[2],w=p[3];else{var d=l(t,e,-o);t=d.x,e=d.y;var g=(t-(h=(d=l(h,f,-o)).x))/2,m=(e-(f=d.y))/2,v=g*g/(r*r)+m*m/(i*i);v>1&&(r*=v=Math.sqrt(v),i*=v);var y=r*r,x=i*i,b=(c==u?-1:1)*Math.sqrt(Math.abs((y*x-y*m*m-x*g*g)/(y*m*m+x*g*g)));b==1/0&&(b=1);var _=b*r*m/i+(t+h)/2,w=b*-i*g/r+(e+f)/2,T=Math.asin(((e-w)/i).toFixed(9)),k=Math.asin(((f-w)/i).toFixed(9));(T=t<_?n-T:T)<0&&(T=2*n+T),(k=h<_?n-k:k)<0&&(k=2*n+k),u&&T>k&&(T-=2*n),!u&&k>T&&(k-=2*n)}if(Math.abs(k-T)>a){var A=k,M=h,S=f;k=T+a*(u&&k>T?1:-1);var E=s(h=_+r*Math.cos(k),f=w+i*Math.sin(k),r,i,o,0,u,M,S,[k,A,_,w])}var C=Math.tan((k-T)/4),L=4/3*r*C,P=4/3*i*C,I=[2*t-(t+L*Math.sin(T)),2*e-(e-P*Math.cos(T)),h+L*Math.sin(k),f-P*Math.cos(k),h,f];if(p)return I;E&&(I=I.concat(E));for(var z=0;z<I.length;){var O=l(I[z],I[z+1],o);I[z++]=O.x,I[z++]=O.y}return I}function l(t,e,r){return{x:t*Math.cos(r)-e*Math.sin(r),y:t*Math.sin(r)+e*Math.cos(r)}}function c(t){return t*(n/180)}e.exports=function(t){for(var e,r=[],n=0,a=0,l=0,u=0,h=null,f=null,p=0,d=0,g=0,m=t.length;g<m;g++){var v=t[g],y=v[0];switch(y){case\"M\":l=v[1],u=v[2];break;case\"A\":(v=s(p,d,v[1],v[2],c(v[3]),v[4],v[5],v[6],v[7])).unshift(\"C\"),v.length>7&&(r.push(v.splice(0,7)),v.unshift(\"C\"));break;case\"S\":var x=p,b=d;\"C\"!=e&&\"S\"!=e||(x+=x-n,b+=b-a),v=[\"C\",x,b,v[1],v[2],v[3],v[4]];break;case\"T\":\"Q\"==e||\"T\"==e?(h=2*p-h,f=2*d-f):(h=p,f=d),v=o(p,d,h,f,v[1],v[2]);break;case\"Q\":h=v[1],f=v[2],v=o(p,d,v[1],v[2],v[3],v[4]);break;case\"L\":v=i(p,d,v[1],v[2]);break;case\"H\":v=i(p,d,v[1],d);break;case\"V\":v=i(p,d,p,v[1]);break;case\"Z\":v=i(p,d,l,u)}e=y,p=v[v.length-2],d=v[v.length-1],v.length>4?(n=v[v.length-4],a=v[v.length-3]):(n=p,a=d),r.push(v)}return r}},{}],451:[function(t,e,r){r.vertexNormals=function(t,e,r){for(var n=e.length,a=new Array(n),i=void 0===r?1e-6:r,o=0;o<n;++o)a[o]=[0,0,0];for(o=0;o<t.length;++o)for(var s=t[o],l=0,c=s[s.length-1],u=s[0],h=0;h<s.length;++h){l=c,c=u,u=s[(h+1)%s.length];for(var f=e[l],p=e[c],d=e[u],g=new Array(3),m=0,v=new Array(3),y=0,x=0;x<3;++x)g[x]=f[x]-p[x],m+=g[x]*g[x],v[x]=d[x]-p[x],y+=v[x]*v[x];if(m*y>i){var b=a[c],_=1/Math.sqrt(m*y);for(x=0;x<3;++x){var w=(x+1)%3,T=(x+2)%3;b[x]+=_*(v[w]*g[T]-v[T]*g[w])}}}for(o=0;o<n;++o){b=a[o];var k=0;for(x=0;x<3;++x)k+=b[x]*b[x];if(k>i)for(_=1/Math.sqrt(k),x=0;x<3;++x)b[x]*=_;else for(x=0;x<3;++x)b[x]=0}return a},r.faceNormals=function(t,e,r){for(var n=t.length,a=new Array(n),i=void 0===r?1e-6:r,o=0;o<n;++o){for(var s=t[o],l=new Array(3),c=0;c<3;++c)l[c]=e[s[c]];var u=new Array(3),h=new Array(3);for(c=0;c<3;++c)u[c]=l[1][c]-l[0][c],h[c]=l[2][c]-l[0][c];var f=new Array(3),p=0;for(c=0;c<3;++c){var d=(c+1)%3,g=(c+2)%3;f[c]=u[d]*h[g]-u[g]*h[d],p+=f[c]*f[c]}p=p>i?1/Math.sqrt(p):0;for(c=0;c<3;++c)f[c]*=p;a[o]=f}return a}},{}],452:[function(t,e,r){\n",
       "/*\n",
       "object-assign\n",
       "(c) Sindre Sorhus\n",
       "@license MIT\n",
       "*/\n",
       "\"use strict\";var n=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;function o(t){if(null==t)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(t)}e.exports=function(){try{if(!Object.assign)return!1;var t=new String(\"abc\");if(t[5]=\"de\",\"5\"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e[\"_\"+String.fromCharCode(r)]=r;if(\"0123456789\"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(\"\"))return!1;var n={};return\"abcdefghijklmnopqrst\".split(\"\").forEach((function(t){n[t]=t})),\"abcdefghijklmnopqrst\"===Object.keys(Object.assign({},n)).join(\"\")}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,s,l=o(t),c=1;c<arguments.length;c++){for(var u in r=Object(arguments[c]))a.call(r,u)&&(l[u]=r[u]);if(n){s=n(r);for(var h=0;h<s.length;h++)i.call(r,s[h])&&(l[s[h]]=r[s[h]])}}return l}},{}],453:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,a,i,o,s,l,c){var u=e+i+c;if(h>0){var h=Math.sqrt(u+1);t[0]=.5*(o-l)/h,t[1]=.5*(s-n)/h,t[2]=.5*(r-i)/h,t[3]=.5*h}else{var f=Math.max(e,i,c);h=Math.sqrt(2*f-u+1);e>=f?(t[0]=.5*h,t[1]=.5*(a+r)/h,t[2]=.5*(s+n)/h,t[3]=.5*(o-l)/h):i>=f?(t[0]=.5*(r+a)/h,t[1]=.5*h,t[2]=.5*(l+o)/h,t[3]=.5*(s-n)/h):(t[0]=.5*(n+s)/h,t[1]=.5*(o+l)/h,t[2]=.5*h,t[3]=.5*(r-a)/h)}return t}},{}],454:[function(t,e,r){\"use strict\";e.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.rotation||[0,0,0,1],n=t.radius||1;e=[].slice.call(e,0,3),u(r=[].slice.call(r,0,4),r);var a=new h(r,e,Math.log(n));a.setDistanceLimits(t.zoomMin,t.zoomMax),(\"eye\"in t||\"up\"in t)&&a.lookAt(0,t.eye,t.center,t.up);return a};var n=t(\"filtered-vector\"),a=t(\"gl-mat4/lookAt\"),i=t(\"gl-mat4/fromQuat\"),o=t(\"gl-mat4/invert\"),s=t(\"./lib/quatFromFrame\");function l(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function c(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function u(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=c(r,n,a,i);o>1e-6?(t[0]=r/o,t[1]=n/o,t[2]=a/o,t[3]=i/o):(t[0]=t[1]=t[2]=0,t[3]=1)}function h(t,e,r){this.radius=n([r]),this.center=n(e),this.rotation=n(t),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var f=h.prototype;f.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},f.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;u(e,e);var r=this.computedMatrix;i(r,e);var n=this.computedCenter,a=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);a[0]=n[0]+s*r[2],a[1]=n[1]+s*r[6],a[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var c=0,h=0;h<3;++h)c+=r[l+4*h]*a[h];r[12+l]=-c}},f.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r},f.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},f.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},f.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var a=this.computedMatrix,i=a[1],o=a[5],s=a[9],c=l(i,o,s);i/=c,o/=c,s/=c;var u=a[0],h=a[4],f=a[8],p=u*i+h*o+f*s,d=l(u-=i*p,h-=o*p,f-=s*p);u/=d,h/=d,f/=d;var g=a[2],m=a[6],v=a[10],y=g*i+m*o+v*s,x=g*u+m*h+v*f,b=l(g-=y*i+x*u,m-=y*o+x*h,v-=y*s+x*f);g/=b,m/=b,v/=b;var _=u*e+i*r,w=h*e+o*r,T=f*e+s*r;this.center.move(t,_,w,T);var k=Math.exp(this.computedRadius[0]);k=Math.max(1e-4,k+n),this.radius.set(t,Math.log(k))},f.rotate=function(t,e,r,n){this.recalcMatrix(t),e=e||0,r=r||0;var a=this.computedMatrix,i=a[0],o=a[4],s=a[8],u=a[1],h=a[5],f=a[9],p=a[2],d=a[6],g=a[10],m=e*i+r*u,v=e*o+r*h,y=e*s+r*f,x=-(d*y-g*v),b=-(g*m-p*y),_=-(p*v-d*m),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(b,2)-Math.pow(_,2))),T=c(x,b,_,w);T>1e-6?(x/=T,b/=T,_/=T,w/=T):(x=b=_=0,w=1);var k=this.computedRotation,A=k[0],M=k[1],S=k[2],E=k[3],C=A*w+E*x+M*_-S*b,L=M*w+E*b+S*x-A*_,P=S*w+E*_+A*b-M*x,I=E*w-A*x-M*b-S*_;if(n){x=p,b=d,_=g;var z=Math.sin(n)/l(x,b,_);x*=z,b*=z,_*=z,I=I*(w=Math.cos(e))-(C=C*w+I*x+L*_-P*b)*x-(L=L*w+I*b+P*x-C*_)*b-(P=P*w+I*_+C*b-L*x)*_}var O=c(C,L,P,I);O>1e-6?(C/=O,L/=O,P/=O,I/=O):(C=L=P=0,I=1),this.rotation.set(t,C,L,P,I)},f.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var i=this.computedMatrix;a(i,e,r,n);var o=this.computedRotation;s(o,i[0],i[1],i[2],i[4],i[5],i[6],i[8],i[9],i[10]),u(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var l=0,c=0;c<3;++c)l+=Math.pow(r[c]-e[c],2);this.radius.set(t,.5*Math.log(Math.max(l,1e-6))),this.center.set(t,r[0],r[1],r[2])},f.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},f.setMatrix=function(t,e){var r=this.computedRotation;s(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),u(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,e);var a=n[15];if(Math.abs(a)>1e-6){var i=n[12]/a,l=n[13]/a,c=n[14]/a;this.recalcMatrix(t);var h=Math.exp(this.computedRadius[0]);this.center.set(t,i-n[2]*h,l-n[6]*h,c-n[10]*h),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},f.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},f.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},f.getDistanceLimits=function(t){var e=this.radius.bounds;return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},f.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},f.fromJSON=function(t){var e=this.lastT(),r=t.center;r&&this.center.set(e,r[0],r[1],r[2]);var n=t.rotation;n&&this.rotation.set(e,n[0],n[1],n[2],n[3]);var a=t.distance;a&&a>0&&this.radius.set(e,Math.log(a)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},{\"./lib/quatFromFrame\":453,\"filtered-vector\":237,\"gl-mat4/fromQuat\":270,\"gl-mat4/invert\":273,\"gl-mat4/lookAt\":274}],455:[function(t,e,r){\n",
       "/*!\n",
       " * pad-left <https://github.com/jonschlinkert/pad-left>\n",
       " *\n",
       " * Copyright (c) 2014-2015, Jon Schlinkert.\n",
       " * Licensed under the MIT license.\n",
       " */\n",
       "\"use strict\";var n=t(\"repeat-string\");e.exports=function(t,e,r){return n(r=\"undefined\"!=typeof r?r+\"\":\" \",e)+t}},{\"repeat-string\":493}],456:[function(t,e,r){\"use strict\";function n(t,e){if(\"string\"!=typeof t)return[t];var r=[t];\"string\"==typeof e||Array.isArray(e)?e={brackets:e}:e||(e={});var n=e.brackets?Array.isArray(e.brackets)?e.brackets:[e.brackets]:[\"{}\",\"[]\",\"()\"],a=e.escape||\"___\",i=!!e.flat;n.forEach((function(t){var e=new RegExp([\"\\\\\",t[0],\"[^\\\\\",t[0],\"\\\\\",t[1],\"]*\\\\\",t[1]].join(\"\")),n=[];function i(e,i,o){var s=r.push(e.slice(t[0].length,-t[1].length))-1;return n.push(s),a+s+a}r.forEach((function(t,n){for(var a,o=0;t!=a;)if(a=t,t=t.replace(e,i),o++>1e4)throw Error(\"References have circular dependency. Please, check them.\");r[n]=t})),n=n.reverse(),r=r.map((function(e){return n.forEach((function(r){e=e.replace(new RegExp(\"(\\\\\"+a+r+\"\\\\\"+a+\")\",\"g\"),t[0]+\"$1\"+t[1])})),e}))}));var o=new RegExp(\"\\\\\"+a+\"([0-9]+)\\\\\"+a);return i?r:function t(e,r,n){for(var a,i=[],s=0;a=o.exec(e);){if(s++>1e4)throw Error(\"Circular references in parenthesis\");i.push(e.slice(0,a.index)),i.push(t(r[a[1]],r)),e=e.slice(a.index+a[0].length)}return i.push(e),i}(r[0],r)}function a(t,e){if(e&&e.flat){var r,n=e&&e.escape||\"___\",a=t[0];if(!a)return\"\";for(var i=new RegExp(\"\\\\\"+n+\"([0-9]+)\\\\\"+n),o=0;a!=r;){if(o++>1e4)throw Error(\"Circular references in \"+t);r=a,a=a.replace(i,s)}return a}return t.reduce((function t(e,r){return Array.isArray(r)&&(r=r.reduce(t,\"\")),e+r}),\"\");function s(e,r){if(null==t[r])throw Error(\"Reference \"+r+\"is undefined\");return t[r]}}function i(t,e){return Array.isArray(t)?a(t,e):n(t,e)}i.parse=n,i.stringify=a,e.exports=i},{}],457:[function(t,e,r){\"use strict\";var n=t(\"pick-by-alias\");e.exports=function(t){var e;arguments.length>1&&(t=arguments);\"string\"==typeof t?t=t.split(/\\s/).map(parseFloat):\"number\"==typeof t&&(t=[t]);t.length&&\"number\"==typeof t[0]?e=1===t.length?{width:t[0],height:t[0],x:0,y:0}:2===t.length?{width:t[0],height:t[1],x:0,y:0}:{x:t[0],y:t[1],width:t[2]-t[0]||0,height:t[3]-t[1]||0}:t&&(t=n(t,{left:\"x l left Left\",top:\"y t top Top\",width:\"w width W Width\",height:\"h height W Width\",bottom:\"b bottom Bottom\",right:\"r right Right\"}),e={x:t.left||0,y:t.top||0},null==t.width?t.right?e.width=t.right-e.x:e.width=0:e.width=t.width,null==t.height?t.bottom?e.height=t.bottom-e.y:e.height=0:e.height=t.height);return e}},{\"pick-by-alias\":463}],458:[function(t,e,r){e.exports=function(t){var e=[];return t.replace(a,(function(t,r,a){var o=r.toLowerCase();for(a=function(t){var e=t.match(i);return e?e.map(Number):[]}(a),\"m\"==o&&a.length>2&&(e.push([r].concat(a.splice(0,2))),o=\"l\",r=\"m\"==r?\"l\":\"L\");;){if(a.length==n[o])return a.unshift(r),e.push(a);if(a.length<n[o])throw new Error(\"malformed path data\");e.push([r].concat(a.splice(0,n[o])))}})),e};var n={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},a=/([astvzqmhlc])([^astvzqmhlc]*)/gi;var i=/-?[0-9]*\\.?[0-9]+(?:e[-+]?\\d+)?/gi},{}],459:[function(t,e,r){e.exports=function(t,e){e||(e=[0,\"\"]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\\d.\\-\\+]*\\s*(.*)/)[1]||\"\",e}},{}],460:[function(t,e,r){(function(t){(function(){var r,n,a,i,o,s;\"undefined\"!=typeof performance&&null!==performance&&performance.now?e.exports=function(){return performance.now()}:\"undefined\"!=typeof t&&null!==t&&t.hrtime?(e.exports=function(){return(r()-o)/1e6},n=t.hrtime,i=(r=function(){var t;return 1e9*(t=n())[0]+t[1]})(),s=1e9*t.uptime(),o=i-s):Date.now?(e.exports=function(){return Date.now()-a},a=Date.now()):(e.exports=function(){return(new Date).getTime()-a},a=(new Date).getTime())}).call(this)}).call(this,t(\"_process\"))},{_process:480}],461:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.length;if(e<32){for(var r=1,a=0;a<e;++a)for(var i=0;i<a;++i)if(t[a]<t[i])r=-r;else if(t[a]===t[i])return 0;return r}var o=n.mallocUint8(e);for(a=0;a<e;++a)o[a]=0;for(r=1,a=0;a<e;++a)if(!o[a]){var s=1;o[a]=1;for(i=t[a];i!==a;i=t[i]){if(o[i])return n.freeUint8(o),0;s+=1,o[i]=1}1&s||(r=-r)}return n.freeUint8(o),r};var n=t(\"typedarray-pool\")},{\"typedarray-pool\":547}],462:[function(t,e,r){\"use strict\";var n=t(\"typedarray-pool\"),a=t(\"invert-permutation\");r.rank=function(t){var e=t.length;switch(e){case 0:case 1:return 0;case 2:return t[1]}var r,i,o,s=n.mallocUint32(e),l=n.mallocUint32(e),c=0;for(a(t,l),o=0;o<e;++o)s[o]=t[o];for(o=e-1;o>0;--o)i=l[o],r=s[o],s[o]=s[i],s[i]=r,l[o]=l[r],l[r]=i,c=(c+r)*o;return n.freeUint32(l),n.freeUint32(s),c},r.unrank=function(t,e,r){switch(t){case 0:return r||[];case 1:return r?(r[0]=0,r):[0];case 2:return r?(e?(r[0]=0,r[1]=1):(r[0]=1,r[1]=0),r):e?[0,1]:[1,0]}var n,a,i,o=1;for((r=r||new Array(t))[0]=0,i=1;i<t;++i)r[i]=i,o=o*i|0;for(i=t-1;i>0;--i)e=e-(n=e/o|0)*o|0,o=o/i|0,a=0|r[i],r[i]=0|r[n],r[n]=0|a;return r}},{\"invert-permutation\":415,\"typedarray-pool\":547}],463:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){var n,i,o={};if(\"string\"==typeof e&&(e=a(e)),Array.isArray(e)){var s={};for(i=0;i<e.length;i++)s[e[i]]=!0;e=s}for(n in e)e[n]=a(e[n]);var l={};for(n in e){var c=e[n];if(Array.isArray(c))for(i=0;i<c.length;i++){var u=c[i];if(r&&(l[u]=!0),u in t){if(o[n]=t[u],r)for(var h=i;h<c.length;h++)l[c[h]]=!0;break}}else n in t&&(e[n]&&(o[n]=t[n]),r&&(l[n]=!0))}if(r)for(n in t)l[n]||(o[n]=t[n]);return o};var n={};function a(t){return n[t]?n[t]:(\"string\"==typeof t&&(t=n[t]=t.split(/\\s*,\\s*|\\s+/)),t)}},{}],464:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r=0|e.length,a=t.length,i=[new Array(r),new Array(r)],o=0;o<r;++o)i[0][o]=[],i[1][o]=[];for(o=0;o<a;++o){var s=t[o];i[0][s[0]].push(s),i[1][s[1]].push(s)}var l=[];for(o=0;o<r;++o)i[0][o].length+i[1][o].length===0&&l.push([o]);function c(t,e){var r=i[e][t[e]];r.splice(r.indexOf(t),1)}function u(t,r,a){for(var o,s,l,u=0;u<2;++u)if(i[u][r].length>0){o=i[u][r][0],l=u;break}s=o[1^l];for(var h=0;h<2;++h)for(var f=i[h][r],p=0;p<f.length;++p){var d=f[p],g=d[1^h];n(e[t],e[r],e[s],e[g])>0&&(o=d,s=g,l=h)}return a||o&&c(o,l),s}function h(t,r){var a=i[r][t][0],o=[t];c(a,r);for(var s=a[1^r];;){for(;s!==t;)o.push(s),s=u(o[o.length-2],s,!1);if(i[0][t].length+i[1][t].length===0)break;var l=o[o.length-1],h=t,f=o[1],p=u(l,h,!0);if(n(e[l],e[h],e[f],e[p])<0)break;o.push(t),s=u(l,h)}return o}function f(t,e){return e[1]===e[e.length-1]}for(o=0;o<r;++o)for(var p=0;p<2;++p){for(var d=[];i[p][o].length>0;){i[0][o].length;var g=h(o,p);f(0,g)?d.push.apply(d,g):(d.length>0&&l.push(d),d=g)}d.length>0&&l.push(d)}return l};var n=t(\"compare-angle\")},{\"compare-angle\":129}],465:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r=n(t,e.length),a=new Array(e.length),i=new Array(e.length),o=[],s=0;s<e.length;++s){var l=r[s].length;i[s]=l,a[s]=!0,l<=1&&o.push(s)}for(;o.length>0;){var c=o.pop();a[c]=!1;var u=r[c];for(s=0;s<u.length;++s){var h=u[s];0==--i[h]&&o.push(h)}}var f=new Array(e.length),p=[];for(s=0;s<e.length;++s)if(a[s]){c=p.length;f[s]=c,p.push(e[s])}else f[s]=-1;var d=[];for(s=0;s<t.length;++s){var g=t[s];a[g[0]]&&a[g[1]]&&d.push([f[g[0]],f[g[1]]])}return[d,p]};var n=t(\"edges-to-adjacency-list\")},{\"edges-to-adjacency-list\":173}],466:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=c(t,e);t=r[0];for(var h=(e=r[1]).length,f=(t.length,n(t,e.length)),p=0;p<h;++p)if(f[p].length%2==1)throw new Error(\"planar-graph-to-polyline: graph must be manifold\");var d=a(t,e);var g=(d=d.filter((function(t){for(var r=t.length,n=[0],a=0;a<r;++a){var i=e[t[a]],l=e[t[(a+1)%r]],c=o(-i[0],i[1]),u=o(-i[0],l[1]),h=o(l[0],i[1]),f=o(l[0],l[1]);n=s(n,s(s(c,u),s(h,f)))}return n[n.length-1]>0}))).length,m=new Array(g),v=new Array(g);for(p=0;p<g;++p){m[p]=p;var y=new Array(g),x=d[p].map((function(t){return e[t]})),b=i([x]),_=0;t:for(var w=0;w<g;++w)if(y[w]=0,p!==w){for(var T=(q=d[w]).length,k=0;k<T;++k){var A=b(e[q[k]]);if(0!==A){A<0&&(y[w]=1,_+=1);continue t}}y[w]=1,_+=1}v[p]=[_,p,y]}v.sort((function(t,e){return e[0]-t[0]}));for(p=0;p<g;++p){var M=(y=v[p])[1],S=y[2];for(w=0;w<g;++w)S[w]&&(m[w]=M)}var E=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=[];return e}(g);for(p=0;p<g;++p)E[p].push(m[p]),E[m[p]].push(p);var C={},L=u(h,!1);for(p=0;p<g;++p)for(T=(q=d[p]).length,w=0;w<T;++w){var P=q[w],I=q[(w+1)%T],z=Math.min(P,I)+\":\"+Math.max(P,I);if(z in C){var O=C[z];E[O].push(p),E[p].push(O),L[P]=L[I]=!0}else C[z]=p}function D(t){for(var e=t.length,r=0;r<e;++r)if(!L[t[r]])return!1;return!0}var R=[],F=u(g,-1);for(p=0;p<g;++p)m[p]!==p||D(d[p])?F[p]=-1:(R.push(p),F[p]=0);r=[];for(;R.length>0;){var B=R.pop(),N=E[B];l(N,(function(t,e){return t-e}));var j,V=N.length,U=F[B];if(0===U){var q=d[B];j=[q]}for(p=0;p<V;++p){var H=N[p];if(!(F[H]>=0))if(F[H]=1^U,R.push(H),0===U)D(q=d[H])||(q.reverse(),j.push(q))}0===U&&r.push(j)}return r};var n=t(\"edges-to-adjacency-list\"),a=t(\"planar-dual\"),i=t(\"point-in-big-polygon\"),o=t(\"two-product\"),s=t(\"robust-sum\"),l=t(\"uniq\"),c=t(\"./lib/trim-leaves\");function u(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}},{\"./lib/trim-leaves\":465,\"edges-to-adjacency-list\":173,\"planar-dual\":464,\"point-in-big-polygon\":470,\"robust-sum\":505,\"two-product\":534,uniq:549}],467:[function(t,e,r){\"use strict\";e.exports=t(\"./quad\")},{\"./quad\":468}],468:[function(t,e,r){\"use strict\";var n=t(\"binary-search-bounds\"),a=t(\"clamp\"),i=t(\"parse-rect\"),o=t(\"array-bounds\"),s=t(\"pick-by-alias\"),l=t(\"defined\"),c=t(\"flatten-vertex-data\"),u=t(\"is-obj\"),h=t(\"dtype\"),f=t(\"math-log2\");function p(t,e){for(var r=e[0],n=e[1],i=1/(e[2]-r),o=1/(e[3]-n),s=new Array(t.length),l=0,c=t.length/2;l<c;l++)s[2*l]=a((t[2*l]-r)*i,0,1),s[2*l+1]=a((t[2*l+1]-n)*o,0,1);return s}e.exports=function(t,e){e||(e={}),t=c(t,\"float64\"),e=s(e,{bounds:\"range bounds dataBox databox\",maxDepth:\"depth maxDepth maxdepth level maxLevel maxlevel levels\",dtype:\"type dtype format out dst output destination\"});var r=l(e.maxDepth,255),a=l(e.bounds,o(t,2));a[0]===a[2]&&a[2]++,a[1]===a[3]&&a[3]++;var d,g=p(t,a),m=t.length>>>1;e.dtype||(e.dtype=\"array\"),\"string\"==typeof e.dtype?d=new(h(e.dtype))(m):e.dtype&&(d=e.dtype,Array.isArray(d)&&(d.length=m));for(var v=0;v<m;++v)d[v]=v;var y=[],x=[],b=[],_=[];!function t(e,n,a,i,o,s){if(!i.length)return null;var l=y[o]||(y[o]=[]),c=b[o]||(b[o]=[]),u=x[o]||(x[o]=[]),h=l.length;if(++o>r||s>1073741824){for(var f=0;f<i.length;f++)l.push(i[f]),c.push(s),u.push(null,null,null,null);return h}if(l.push(i[0]),c.push(s),i.length<=1)return u.push(null,null,null,null),h;for(var p=.5*a,d=e+p,m=n+p,v=[],_=[],w=[],T=[],k=1,A=i.length;k<A;k++){var M=i[k],S=g[2*M],E=g[2*M+1];S<d?E<m?v.push(M):_.push(M):E<m?w.push(M):T.push(M)}return s<<=2,u.push(t(e,n,p,v,o,s),t(e,m,p,_,o,s+1),t(d,n,p,w,o,s+2),t(d,m,p,T,o,s+3)),h}(0,0,1,d,0,1);for(var w=0,T=0;T<y.length;T++){var k=y[T];if(d.set)d.set(k,w);else for(var A=0,M=k.length;A<M;A++)d[A+w]=k[A];var S=w+y[T].length;_[T]=[w,S],w=S}return d.range=function(){var e,r=[],n=arguments.length;for(;n--;)r[n]=arguments[n];if(u(r[r.length-1])){var o=r.pop();r.length||null==o.x&&null==o.l&&null==o.left||(r=[o],e={}),e=s(o,{level:\"level maxLevel\",d:\"d diam diameter r radius px pxSize pixel pixelSize maxD size minSize\",lod:\"lod details ranges offsets\"})}else e={};r.length||(r=a);var c=i.apply(void 0,r),h=[Math.min(c.x,c.x+c.width),Math.min(c.y,c.y+c.height),Math.max(c.x,c.x+c.width),Math.max(c.y,c.y+c.height)],d=h[0],g=h[1],m=h[2],v=h[3],b=p([d,g,m,v],a),_=b[0],w=b[1],T=b[2],k=b[3],A=l(e.level,y.length);if(null!=e.d){var M;\"number\"==typeof e.d?M=[e.d,e.d]:e.d.length&&(M=e.d),A=Math.min(Math.max(Math.ceil(-f(Math.abs(M[0])/(a[2]-a[0]))),Math.ceil(-f(Math.abs(M[1])/(a[3]-a[1])))),A)}if(A=Math.min(A,y.length),e.lod)return E(_,w,T,k,A);var S=[];function C(e,r,n,a,i,o){if(null!==i&&null!==o&&!(_>e+n||w>r+n||T<e||k<r||a>=A||i===o)){var s=y[a];void 0===o&&(o=s.length);for(var l=i;l<o;l++){var c=s[l],u=t[2*c],h=t[2*c+1];u>=d&&u<=m&&h>=g&&h<=v&&S.push(c)}var f=x[a],p=f[4*i+0],b=f[4*i+1],M=f[4*i+2],E=f[4*i+3],P=L(f,i+1),I=.5*n,z=a+1;C(e,r,I,z,p,b||M||E||P),C(e,r+I,I,z,b,M||E||P),C(e+I,r,I,z,M,E||P),C(e+I,r+I,I,z,E,P)}}function L(t,e){for(var r=null,n=0;null===r;)if(r=t[4*e+n],++n>t.length)return null;return r}return C(0,0,1,0,0,1),S},d;function E(t,e,r,a,i){for(var o=[],s=0;s<i;s++){var l=b[s],c=_[s][0],u=C(t,e,s),h=C(r,a,s),f=n.ge(l,u),p=n.gt(l,h,f,l.length-1);o[s]=[f+c,p+c]}return o}function C(t,e,r){for(var n=1,a=.5,i=.5,o=.5,s=0;s<r;s++)n<<=2,n+=t<a?e<i?0:1:e<i?2:3,o*=.5,a+=t<a?-o:o,i+=e<i?-o:o;return n}}},{\"array-bounds\":68,\"binary-search-bounds\":94,clamp:117,defined:165,dtype:170,\"flatten-vertex-data\":239,\"is-obj\":421,\"math-log2\":432,\"parse-rect\":457,\"pick-by-alias\":463}],469:[function(t,e,r){arguments[4][238][0].apply(r,arguments)},{dup:238}],470:[function(t,e,r){e.exports=function(t){for(var e=t.length,r=[],i=[],s=0;s<e;++s)for(var u=t[s],h=u.length,f=h-1,p=0;p<h;f=p++){var d=u[f],g=u[p];d[0]===g[0]?i.push([d,g]):r.push([d,g])}if(0===r.length)return 0===i.length?c:(m=l(i),function(t){return m(t[0],t[1])?0:1});var m;var v=a(r),y=function(t,e){return function(r){var a=o.le(e,r[0]);if(a<0)return 1;var i=t[a];if(!i){if(!(a>0&&e[a]===r[0]))return 1;i=t[a-1]}for(var s=1;i;){var l=i.key,c=n(r,l[0],l[1]);if(l[0][0]<l[1][0])if(c<0)i=i.left;else{if(!(c>0))return 0;s=-1,i=i.right}else if(c>0)i=i.left;else{if(!(c<0))return 0;s=1,i=i.right}}return s}}(v.slabs,v.coordinates);return 0===i.length?y:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(l(i),y)};var n=t(\"robust-orientation\")[3],a=t(\"slab-decomposition\"),i=t(\"interval-tree-1d\"),o=t(\"binary-search-bounds\");function s(){return!0}function l(t){for(var e={},r=0;r<t.length;++r){var n=t[r],a=n[0][0],o=n[0][1],l=n[1][1],c=[Math.min(o,l),Math.max(o,l)];a in e?e[a].push(c):e[a]=[c]}var u={},h=Object.keys(e);for(r=0;r<h.length;++r){var f=e[h[r]];u[h[r]]=i(f)}return function(t){return function(e,r){var n=t[e];return!!n&&!!n.queryPoint(r,s)}}(u)}function c(t){return 1}},{\"binary-search-bounds\":469,\"interval-tree-1d\":413,\"robust-orientation\":500,\"slab-decomposition\":517}],471:[function(t,e,r){\n",
       "/*\n",
       " * @copyright 2016 Sean Connelly (@voidqk), http://syntheti.cc\n",
       " * @license MIT\n",
       " * @preserve Project Home: https://github.com/voidqk/polybooljs\n",
       " */\n",
       "var n,a=t(\"./lib/build-log\"),i=t(\"./lib/epsilon\"),o=t(\"./lib/intersecter\"),s=t(\"./lib/segment-chainer\"),l=t(\"./lib/segment-selector\"),c=t(\"./lib/geojson\"),u=!1,h=i();function f(t,e,r){var a=n.segments(t),i=n.segments(e),o=r(n.combine(a,i));return n.polygon(o)}n={buildLog:function(t){return!0===t?u=a():!1===t&&(u=!1),!1!==u&&u.list},epsilon:function(t){return h.epsilon(t)},segments:function(t){var e=o(!0,h,u);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:o(!1,h,u).calculate(t.segments,t.inverted,e.segments,e.inverted),inverted1:t.inverted,inverted2:e.inverted}},selectUnion:function(t){return{segments:l.union(t.combined,u),inverted:t.inverted1||t.inverted2}},selectIntersect:function(t){return{segments:l.intersect(t.combined,u),inverted:t.inverted1&&t.inverted2}},selectDifference:function(t){return{segments:l.difference(t.combined,u),inverted:t.inverted1&&!t.inverted2}},selectDifferenceRev:function(t){return{segments:l.differenceRev(t.combined,u),inverted:!t.inverted1&&t.inverted2}},selectXor:function(t){return{segments:l.xor(t.combined,u),inverted:t.inverted1!==t.inverted2}},polygon:function(t){return{regions:s(t.segments,h,u),inverted:t.inverted}},polygonFromGeoJSON:function(t){return c.toPolygon(n,t)},polygonToGeoJSON:function(t){return c.fromPolygon(n,h,t)},union:function(t,e){return f(t,e,n.selectUnion)},intersect:function(t,e){return f(t,e,n.selectIntersect)},difference:function(t,e){return f(t,e,n.selectDifference)},differenceRev:function(t,e){return f(t,e,n.selectDifferenceRev)},xor:function(t,e){return f(t,e,n.selectXor)}},\"object\"==typeof window&&(window.PolyBool=n),e.exports=n},{\"./lib/build-log\":472,\"./lib/epsilon\":473,\"./lib/geojson\":474,\"./lib/intersecter\":475,\"./lib/segment-chainer\":477,\"./lib/segment-selector\":478}],472:[function(t,e,r){e.exports=function(){var t,e=0,r=!1;function n(e,r){return t.list.push({type:e,data:r?JSON.parse(JSON.stringify(r)):void 0}),t}return t={list:[],segmentId:function(){return e++},checkIntersection:function(t,e){return n(\"check\",{seg1:t,seg2:e})},segmentChop:function(t,e){return n(\"div_seg\",{seg:t,pt:e}),n(\"chop\",{seg:t,pt:e})},statusRemove:function(t){return n(\"pop_seg\",{seg:t})},segmentUpdate:function(t){return n(\"seg_update\",{seg:t})},segmentNew:function(t,e){return n(\"new_seg\",{seg:t,primary:e})},segmentRemove:function(t){return n(\"rem_seg\",{seg:t})},tempStatus:function(t,e,r){return n(\"temp_status\",{seg:t,above:e,below:r})},rewind:function(t){return n(\"rewind\",{seg:t})},status:function(t,e,r){return n(\"status\",{seg:t,above:e,below:r})},vert:function(e){return e===r?t:(r=e,n(\"vert\",{x:e}))},log:function(t){return\"string\"!=typeof t&&(t=JSON.stringify(t,!1,\"  \")),n(\"log\",{txt:t})},reset:function(){return n(\"reset\")},selected:function(t){return n(\"selected\",{segs:t})},chainStart:function(t){return n(\"chain_start\",{seg:t})},chainRemoveHead:function(t,e){return n(\"chain_rem_head\",{index:t,pt:e})},chainRemoveTail:function(t,e){return n(\"chain_rem_tail\",{index:t,pt:e})},chainNew:function(t,e){return n(\"chain_new\",{pt1:t,pt2:e})},chainMatch:function(t){return n(\"chain_match\",{index:t})},chainClose:function(t){return n(\"chain_close\",{index:t})},chainAddHead:function(t,e){return n(\"chain_add_head\",{index:t,pt:e})},chainAddTail:function(t,e){return n(\"chain_add_tail\",{index:t,pt:e})},chainConnect:function(t,e){return n(\"chain_con\",{index1:t,index2:e})},chainReverse:function(t){return n(\"chain_rev\",{index:t})},chainJoin:function(t,e){return n(\"chain_join\",{index1:t,index2:e})},done:function(){return n(\"done\")}}}},{}],473:[function(t,e,r){e.exports=function(t){\"number\"!=typeof t&&(t=1e-10);var e={epsilon:function(e){return\"number\"==typeof e&&(t=e),t},pointAboveOrOnLine:function(e,r,n){var a=r[0],i=r[1],o=n[0],s=n[1],l=e[0];return(o-a)*(e[1]-i)-(s-i)*(l-a)>=-t},pointBetween:function(e,r,n){var a=e[1]-r[1],i=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*i+a*s;return!(l<t)&&!(l-(i*i+s*s)>-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])<t},pointsSameY:function(e,r){return Math.abs(e[1]-r[1])<t},pointsSame:function(t,r){return e.pointsSameX(t,r)&&e.pointsSameY(t,r)},pointsCompare:function(t,r){return e.pointsSameX(t,r)?e.pointsSameY(t,r)?0:t[1]<r[1]?-1:1:t[0]<r[0]?-1:1},pointsCollinear:function(e,r,n){var a=e[0]-r[0],i=e[1]-r[1],o=r[0]-n[0],s=r[1]-n[1];return Math.abs(a*s-o*i)<t},linesIntersect:function(e,r,n,a){var i=r[0]-e[0],o=r[1]-e[1],s=a[0]-n[0],l=a[1]-n[1],c=i*l-o*s;if(Math.abs(c)<t)return!1;var u=e[0]-n[0],h=e[1]-n[1],f=(s*h-l*u)/c,p=(i*h-o*u)/c,d={alongA:0,alongB:0,pt:[e[0]+f*i,e[1]+f*o]};return d.alongA=f<=-t?-2:f<t?-1:f-1<=-t?0:f-1<t?1:2,d.alongB=p<=-t?-2:p<t?-1:p-1<=-t?0:p-1<t?1:2,d},pointInsideRegion:function(e,r){for(var n=e[0],a=e[1],i=r[r.length-1][0],o=r[r.length-1][1],s=!1,l=0;l<r.length;l++){var c=r[l][0],u=r[l][1];u-a>t!=o-a>t&&(i-c)*(a-u)/(o-u)+c-n>t&&(s=!s),i=c,o=u}return s}};return e}},{}],474:[function(t,e,r){var n={toPolygon:function(t,e){function r(e){if(e.length<=0)return t.segments({inverted:!1,regions:[]});function r(e){var r=e.slice(0,e.length-1);return t.segments({inverted:!1,regions:[r]})}for(var n=r(e[0]),a=1;a<e.length;a++)n=t.selectDifference(t.combine(n,r(e[a])));return n}if(\"Polygon\"===e.type)return t.polygon(r(e.coordinates));if(\"MultiPolygon\"===e.type){for(var n=t.segments({inverted:!1,regions:[]}),a=0;a<e.coordinates.length;a++)n=t.selectUnion(t.combine(n,r(e.coordinates[a])));return t.polygon(n)}throw new Error(\"PolyBool: Cannot convert GeoJSON object to PolyBool polygon\")},fromPolygon:function(t,e,r){function n(t,r){return e.pointInsideRegion([.5*(t[0][0]+t[1][0]),.5*(t[0][1]+t[1][1])],r)}function a(t){return{region:t,children:[]}}r=t.polygon(t.segments(r));var i=a(null);function o(t,e){for(var r=0;r<t.children.length;r++){if(n(e,(s=t.children[r]).region))return void o(s,e)}var i=a(e);for(r=0;r<t.children.length;r++){var s;n((s=t.children[r]).region,e)&&(i.children.push(s),t.children.splice(r,1),r--)}t.children.push(i)}for(var s=0;s<r.regions.length;s++){var l=r.regions[s];l.length<3||o(i,l)}function c(t,e){for(var r=0,n=t[t.length-1][0],a=t[t.length-1][1],i=[],o=0;o<t.length;o++){var s=t[o][0],l=t[o][1];i.push([s,l]),r+=l*n-s*a,n=s,a=l}return r<0!==e&&i.reverse(),i.push([i[0][0],i[0][1]]),i}var u=[];function h(t){var e=[c(t.region,!1)];u.push(e);for(var r=0;r<t.children.length;r++)e.push(f(t.children[r]))}function f(t){for(var e=0;e<t.children.length;e++)h(t.children[e]);return c(t.region,!0)}for(s=0;s<i.children.length;s++)h(i.children[s]);return u.length<=0?{type:\"Polygon\",coordinates:[]}:1==u.length?{type:\"Polygon\",coordinates:u[0]}:{type:\"MultiPolygon\",coordinates:u}}};e.exports=n},{}],475:[function(t,e,r){var n=t(\"./linked-list\");e.exports=function(t,e,r){function a(t,e,n){return{id:r?r.segmentId():-1,start:t,end:e,myFill:{above:n.myFill.above,below:n.myFill.below},otherFill:null}}var i=n.create();function o(t,r){i.insertBefore(t,(function(n){return function(t,r,n,a,i,o){var s=e.pointsCompare(r,i);return 0!==s?s:e.pointsSame(n,o)?0:t!==a?t?1:-1:e.pointAboveOrOnLine(n,a?i:o,a?o:i)?1:-1}(t.isStart,t.pt,r,n.isStart,n.pt,n.other.pt)<0}))}function s(t,e){var r=function(t,e){var r=n.node({isStart:!0,pt:t.start,seg:t,primary:e,other:null,status:null});return o(r,t.end),r}(t,e);return function(t,e,r){var a=n.node({isStart:!1,pt:e.end,seg:e,primary:r,other:t,status:null});t.other=a,o(a,t.pt)}(r,t,e),r}function l(t,e){var n=a(e,t.seg.end,t.seg);return function(t,e){r&&r.segmentChop(t.seg,e),t.other.remove(),t.seg.end=e,t.other.pt=e,o(t.other,t.pt)}(t,e),s(n,t.primary)}function c(a,o){var s=n.create();function c(t){return s.findTransition((function(r){var n,a,i,o,s,l;return(n=t,a=r.ev,i=n.seg.start,o=n.seg.end,s=a.seg.start,l=a.seg.end,e.pointsCollinear(i,s,l)?e.pointsCollinear(o,s,l)||e.pointAboveOrOnLine(o,s,l)?1:-1:e.pointAboveOrOnLine(i,s,l)?1:-1)>0}))}function u(t,n){var a=t.seg,i=n.seg,o=a.start,s=a.end,c=i.start,u=i.end;r&&r.checkIntersection(a,i);var h=e.linesIntersect(o,s,c,u);if(!1===h){if(!e.pointsCollinear(o,s,c))return!1;if(e.pointsSame(o,u)||e.pointsSame(s,c))return!1;var f=e.pointsSame(o,c),p=e.pointsSame(s,u);if(f&&p)return n;var d=!f&&e.pointBetween(o,c,u),g=!p&&e.pointBetween(s,c,u);if(f)return g?l(n,s):l(t,u),n;d&&(p||(g?l(n,s):l(t,u)),l(n,o))}else 0===h.alongA&&(-1===h.alongB?l(t,c):0===h.alongB?l(t,h.pt):1===h.alongB&&l(t,u)),0===h.alongB&&(-1===h.alongA?l(n,o):0===h.alongA?l(n,h.pt):1===h.alongA&&l(n,s));return!1}for(var h=[];!i.isEmpty();){var f=i.getHead();if(r&&r.vert(f.pt[0]),f.isStart){r&&r.segmentNew(f.seg,f.primary);var p=c(f),d=p.before?p.before.ev:null,g=p.after?p.after.ev:null;function m(){if(d){var t=u(f,d);if(t)return t}return!!g&&u(f,g)}r&&r.tempStatus(f.seg,!!d&&d.seg,!!g&&g.seg);var v,y=m();if(y){var x;if(t)(x=null===f.seg.myFill.below||f.seg.myFill.above!==f.seg.myFill.below)&&(y.seg.myFill.above=!y.seg.myFill.above);else y.seg.otherFill=f.seg.myFill;r&&r.segmentUpdate(y.seg),f.other.remove(),f.remove()}if(i.getHead()!==f){r&&r.rewind(f.seg);continue}if(t)x=null===f.seg.myFill.below||f.seg.myFill.above!==f.seg.myFill.below,f.seg.myFill.below=g?g.seg.myFill.above:a,f.seg.myFill.above=x?!f.seg.myFill.below:f.seg.myFill.below;else if(null===f.seg.otherFill)v=g?f.primary===g.primary?g.seg.otherFill.above:g.seg.myFill.above:f.primary?o:a,f.seg.otherFill={above:v,below:v};r&&r.status(f.seg,!!d&&d.seg,!!g&&g.seg),f.other.status=p.insert(n.node({ev:f}))}else{var b=f.status;if(null===b)throw new Error(\"PolyBool: Zero-length segment detected; your epsilon is probably too small or too large\");if(s.exists(b.prev)&&s.exists(b.next)&&u(b.prev.ev,b.next.ev),r&&r.statusRemove(b.ev.seg),b.remove(),!f.primary){var _=f.seg.myFill;f.seg.myFill=f.seg.otherFill,f.seg.otherFill=_}h.push(f.seg)}i.getHead().remove()}return r&&r.done(),h}return t?{addRegion:function(t){for(var n,a,i,o=t[t.length-1],l=0;l<t.length;l++){n=o,o=t[l];var c=e.pointsCompare(n,o);0!==c&&s((a=c<0?n:o,i=c<0?o:n,{id:r?r.segmentId():-1,start:a,end:i,myFill:{above:null,below:null},otherFill:null}),!0)}},calculate:function(t){return c(t,!1)}}:{calculate:function(t,e,r,n){return t.forEach((function(t){s(a(t.start,t.end,t),!0)})),r.forEach((function(t){s(a(t.start,t.end,t),!1)})),c(e,n)}}}},{\"./linked-list\":476}],476:[function(t,e,r){e.exports={create:function(){var t={root:{root:!0,next:null},exists:function(e){return null!==e&&e!==t.root},isEmpty:function(){return null===t.root.next},getHead:function(){return t.root.next},insertBefore:function(e,r){for(var n=t.root,a=t.root.next;null!==a;){if(r(a))return e.prev=a.prev,e.next=a,a.prev.next=e,void(a.prev=e);n=a,a=a.next}n.next=e,e.prev=n,e.next=null},findTransition:function(e){for(var r=t.root,n=t.root.next;null!==n&&!e(n);)r=n,n=n.next;return{before:r===t.root?null:r,after:n,insert:function(t){return t.prev=r,t.next=n,r.next=t,null!==n&&(n.prev=t),t}}}};return t},node:function(t){return t.prev=null,t.next=null,t.remove=function(){t.prev.next=t.next,t.next&&(t.next.prev=t.prev),t.prev=null,t.next=null},t}}},{}],477:[function(t,e,r){e.exports=function(t,e,r){var n=[],a=[];return t.forEach((function(t){var i=t.start,o=t.end;if(e.pointsSame(i,o))console.warn(\"PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large\");else{r&&r.chainStart(t);for(var s={index:0,matches_head:!1,matches_pt1:!1},l={index:0,matches_head:!1,matches_pt1:!1},c=s,u=0;u<n.length;u++){var h=(m=n[u])[0],f=(m[1],m[m.length-1]);m[m.length-2];if(e.pointsSame(h,i)){if(k(u,!0,!0))break}else if(e.pointsSame(h,o)){if(k(u,!0,!1))break}else if(e.pointsSame(f,i)){if(k(u,!1,!0))break}else if(e.pointsSame(f,o)&&k(u,!1,!1))break}if(c===s)return n.push([i,o]),void(r&&r.chainNew(i,o));if(c===l){r&&r.chainMatch(s.index);var p=s.index,d=s.matches_pt1?o:i,g=s.matches_head,m=n[p],v=g?m[0]:m[m.length-1],y=g?m[1]:m[m.length-2],x=g?m[m.length-1]:m[0],b=g?m[m.length-2]:m[1];return e.pointsCollinear(y,v,d)&&(g?(r&&r.chainRemoveHead(s.index,d),m.shift()):(r&&r.chainRemoveTail(s.index,d),m.pop()),v=y),e.pointsSame(x,d)?(n.splice(p,1),e.pointsCollinear(b,x,v)&&(g?(r&&r.chainRemoveTail(s.index,v),m.pop()):(r&&r.chainRemoveHead(s.index,v),m.shift())),r&&r.chainClose(s.index),void a.push(m)):void(g?(r&&r.chainAddHead(s.index,d),m.unshift(d)):(r&&r.chainAddTail(s.index,d),m.push(d)))}var _=s.index,w=l.index;r&&r.chainConnect(_,w);var T=n[_].length<n[w].length;s.matches_head?l.matches_head?T?(A(_),M(_,w)):(A(w),M(w,_)):M(w,_):l.matches_head?M(_,w):T?(A(_),M(w,_)):(A(w),M(_,w))}function k(t,e,r){return c.index=t,c.matches_head=e,c.matches_pt1=r,c===s?(c=l,!1):(c=null,!0)}function A(t){r&&r.chainReverse(t),n[t].reverse()}function M(t,a){var i=n[t],o=n[a],s=i[i.length-1],l=i[i.length-2],c=o[0],u=o[1];e.pointsCollinear(l,s,c)&&(r&&r.chainRemoveTail(t,s),i.pop(),s=l),e.pointsCollinear(s,c,u)&&(r&&r.chainRemoveHead(a,c),o.shift()),r&&r.chainJoin(t,a),n[t]=i.concat(o),n.splice(a,1)}})),a}},{}],478:[function(t,e,r){function n(t,e,r){var n=[];return t.forEach((function(t){var a=(t.myFill.above?8:0)+(t.myFill.below?4:0)+(t.otherFill&&t.otherFill.above?2:0)+(t.otherFill&&t.otherFill.below?1:0);0!==e[a]&&n.push({id:r?r.segmentId():-1,start:t.start,end:t.end,myFill:{above:1===e[a],below:2===e[a]},otherFill:null})})),r&&r.selected(n),n}var a={union:function(t,e){return n(t,[0,2,1,0,2,2,0,0,1,0,1,0,0,0,0,0],e)},intersect:function(t,e){return n(t,[0,0,0,0,0,2,0,2,0,0,1,1,0,2,1,0],e)},difference:function(t,e){return n(t,[0,0,0,0,2,0,2,0,1,1,0,0,0,1,2,0],e)},differenceRev:function(t,e){return n(t,[0,2,1,0,0,0,1,1,0,2,0,2,0,0,0,0],e)},xor:function(t,e){return n(t,[0,2,1,0,2,0,0,1,1,0,0,2,0,1,2,0],e)}};e.exports=a},{}],479:[function(t,e,r){\"use strict\";var n=new Float64Array(4),a=new Float64Array(4),i=new Float64Array(4);e.exports=function(t,e,r,o,s){n.length<o.length&&(n=new Float64Array(o.length),a=new Float64Array(o.length),i=new Float64Array(o.length));for(var l=0;l<o.length;++l)n[l]=t[l]-o[l],a[l]=e[l]-t[l],i[l]=r[l]-t[l];var c=0,u=0,h=0,f=0,p=0,d=0;for(l=0;l<o.length;++l){var g=a[l],m=i[l],v=n[l];c+=g*g,u+=g*m,h+=m*m,f+=v*g,p+=v*m,d+=v*v}var y,x,b,_,w,T=Math.abs(c*h-u*u),k=u*p-h*f,A=u*f-c*p;if(k+A<=T)if(k<0)A<0&&f<0?(A=0,-f>=c?(k=1,y=c+2*f+d):y=f*(k=-f/c)+d):(k=0,p>=0?(A=0,y=d):-p>=h?(A=1,y=h+2*p+d):y=p*(A=-p/h)+d);else if(A<0)A=0,f>=0?(k=0,y=d):-f>=c?(k=1,y=c+2*f+d):y=f*(k=-f/c)+d;else{var M=1/T;y=(k*=M)*(c*k+u*(A*=M)+2*f)+A*(u*k+h*A+2*p)+d}else k<0?(b=h+p)>(x=u+f)?(_=b-x)>=(w=c-2*u+h)?(k=1,A=0,y=c+2*f+d):y=(k=_/w)*(c*k+u*(A=1-k)+2*f)+A*(u*k+h*A+2*p)+d:(k=0,b<=0?(A=1,y=h+2*p+d):p>=0?(A=0,y=d):y=p*(A=-p/h)+d):A<0?(b=c+f)>(x=u+p)?(_=b-x)>=(w=c-2*u+h)?(A=1,k=0,y=h+2*p+d):y=(k=1-(A=_/w))*(c*k+u*A+2*f)+A*(u*k+h*A+2*p)+d:(A=0,b<=0?(k=1,y=c+2*f+d):f>=0?(k=0,y=d):y=f*(k=-f/c)+d):(_=h+p-u-f)<=0?(k=0,A=1,y=h+2*p+d):_>=(w=c-2*u+h)?(k=1,A=0,y=c+2*f+d):y=(k=_/w)*(c*k+u*(A=1-k)+2*f)+A*(u*k+h*A+2*p)+d;var S=1-k-A;for(l=0;l<o.length;++l)s[l]=S*t[l]+k*e[l]+A*r[l];return y<0?0:y}},{}],480:[function(t,e,r){var n,a,i=e.exports={};function o(){throw new Error(\"setTimeout has not been defined\")}function s(){throw new Error(\"clearTimeout has not been defined\")}function l(t){if(n===setTimeout)return setTimeout(t,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n=\"function\"==typeof setTimeout?setTimeout:o}catch(t){n=o}try{a=\"function\"==typeof clearTimeout?clearTimeout:s}catch(t){a=s}}();var c,u=[],h=!1,f=-1;function p(){h&&c&&(h=!1,c.length?u=c.concat(u):f=-1,u.length&&d())}function d(){if(!h){var t=l(p);h=!0;for(var e=u.length;e;){for(c=u,u=[];++f<e;)c&&c[f].run();f=-1,e=u.length}c=null,h=!1,function(t){if(a===clearTimeout)return clearTimeout(t);if((a===s||!a)&&clearTimeout)return a=clearTimeout,clearTimeout(t);try{a(t)}catch(e){try{return a.call(null,t)}catch(e){return a.call(this,t)}}}(t)}}function g(t,e){this.fun=t,this.array=e}function m(){}i.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];u.push(new g(t,e)),1!==u.length||h||l(d)},g.prototype.run=function(){this.fun.apply(null,this.array)},i.title=\"browser\",i.browser=!0,i.env={},i.argv=[],i.version=\"\",i.versions={},i.on=m,i.addListener=m,i.once=m,i.off=m,i.removeListener=m,i.removeAllListeners=m,i.emit=m,i.prependListener=m,i.prependOnceListener=m,i.listeners=function(t){return[]},i.binding=function(t){throw new Error(\"process.binding is not supported\")},i.cwd=function(){return\"/\"},i.chdir=function(t){throw new Error(\"process.chdir is not supported\")},i.umask=function(){return 0}},{}],481:[function(t,e,r){e.exports=t(\"gl-quat/slerp\")},{\"gl-quat/slerp\":299}],482:[function(t,e,r){(function(r){for(var n=t(\"performance-now\"),a=\"undefined\"==typeof window?r:window,i=[\"moz\",\"webkit\"],o=\"AnimationFrame\",s=a[\"request\"+o],l=a[\"cancel\"+o]||a[\"cancelRequest\"+o],c=0;!s&&c<i.length;c++)s=a[i[c]+\"Request\"+o],l=a[i[c]+\"Cancel\"+o]||a[i[c]+\"CancelRequest\"+o];if(!s||!l){var u=0,h=0,f=[];s=function(t){if(0===f.length){var e=n(),r=Math.max(0,1e3/60-(e-u));u=r+e,setTimeout((function(){var t=f.slice(0);f.length=0;for(var e=0;e<t.length;e++)if(!t[e].cancelled)try{t[e].callback(u)}catch(t){setTimeout((function(){throw t}),0)}}),Math.round(r))}return f.push({handle:++h,callback:t,cancelled:!1}),h},l=function(t){for(var e=0;e<f.length;e++)f[e].handle===t&&(f[e].cancelled=!0)}}e.exports=function(t){return s.call(a,t)},e.exports.cancel=function(){l.apply(a,arguments)},e.exports.polyfill=function(t){t||(t=a),t.requestAnimationFrame=s,t.cancelAnimationFrame=l}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"performance-now\":460}],483:[function(t,e,r){\"use strict\";var n=t(\"big-rat/add\");e.exports=function(t,e){for(var r=t.length,a=new Array(r),i=0;i<r;++i)a[i]=n(t[i],e[i]);return a}},{\"big-rat/add\":78}],484:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=new Array(t.length),r=0;r<t.length;++r)e[r]=n(t[r]);return e};var n=t(\"big-rat\")},{\"big-rat\":81}],485:[function(t,e,r){\"use strict\";var n=t(\"big-rat\"),a=t(\"big-rat/mul\");e.exports=function(t,e){for(var r=n(e),i=t.length,o=new Array(i),s=0;s<i;++s)o[s]=a(t[s],r);return o}},{\"big-rat\":81,\"big-rat/mul\":90}],486:[function(t,e,r){\"use strict\";var n=t(\"big-rat/sub\");e.exports=function(t,e){for(var r=t.length,a=new Array(r),i=0;i<r;++i)a[i]=n(t[i],e[i]);return a}},{\"big-rat/sub\":92}],487:[function(t,e,r){\"use strict\";var n=t(\"compare-cell\"),a=t(\"compare-oriented-cell\"),i=t(\"cell-orientation\");e.exports=function(t){t.sort(a);for(var e=t.length,r=0,o=0;o<e;++o){var s=t[o],l=i(s);if(0!==l){if(r>0){var c=t[r-1];if(0===n(s,c)&&i(c)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},{\"cell-orientation\":114,\"compare-cell\":130,\"compare-oriented-cell\":131}],488:[function(t,e,r){\"use strict\";var n=t(\"array-bounds\"),a=t(\"color-normalize\"),i=t(\"update-diff\"),o=t(\"pick-by-alias\"),s=t(\"object-assign\"),l=t(\"flatten-vertex-data\"),c=t(\"to-float32\"),u=c.float32,h=c.fract32;e.exports=function(t,e){\"function\"==typeof t?(e||(e={}),e.regl=t):e=t;e.length&&(e.positions=e);if(!(t=e.regl).hasExtension(\"ANGLE_instanced_arrays\"))throw Error(\"regl-error2d: `ANGLE_instanced_arrays` extension should be enabled\");var r,c,p,d,g,m,v=t._gl,y={color:\"black\",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},x=[];return d=t.buffer({usage:\"dynamic\",type:\"uint8\",data:new Uint8Array(0)}),c=t.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),p=t.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),g=t.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),m=t.buffer({usage:\"static\",type:\"float\",data:f}),T(e),r=t({vert:\"\\n\\t\\tprecision highp float;\\n\\n\\t\\tattribute vec2 position, positionFract;\\n\\t\\tattribute vec4 error;\\n\\t\\tattribute vec4 color;\\n\\n\\t\\tattribute vec2 direction, lineOffset, capOffset;\\n\\n\\t\\tuniform vec4 viewport;\\n\\t\\tuniform float lineWidth, capSize;\\n\\t\\tuniform vec2 scale, scaleFract, translate, translateFract;\\n\\n\\t\\tvarying vec4 fragColor;\\n\\n\\t\\tvoid main() {\\n\\t\\t\\tfragColor = color / 255.;\\n\\n\\t\\t\\tvec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset;\\n\\n\\t\\t\\tvec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw;\\n\\n\\t\\t\\tvec2 position = position + dxy;\\n\\n\\t\\t\\tvec2 pos = (position + translate) * scale\\n\\t\\t\\t\\t+ (positionFract + translateFract) * scale\\n\\t\\t\\t\\t+ (position + translate) * scaleFract\\n\\t\\t\\t\\t+ (positionFract + translateFract) * scaleFract;\\n\\n\\t\\t\\tpos += pixelOffset / viewport.zw;\\n\\n\\t\\t\\tgl_Position = vec4(pos * 2. - 1., 0, 1);\\n\\t\\t}\\n\\t\\t\",frag:\"\\n\\t\\tprecision highp float;\\n\\n\\t\\tvarying vec4 fragColor;\\n\\n\\t\\tuniform float opacity;\\n\\n\\t\\tvoid main() {\\n\\t\\t\\tgl_FragColor = fragColor;\\n\\t\\t\\tgl_FragColor.a *= opacity;\\n\\t\\t}\\n\\t\\t\",uniforms:{range:t.prop(\"range\"),lineWidth:t.prop(\"lineWidth\"),capSize:t.prop(\"capSize\"),opacity:t.prop(\"opacity\"),scale:t.prop(\"scale\"),translate:t.prop(\"translate\"),scaleFract:t.prop(\"scaleFract\"),translateFract:t.prop(\"translateFract\"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{color:{buffer:d,offset:function(t,e){return 4*e.offset},divisor:1},position:{buffer:c,offset:function(t,e){return 8*e.offset},divisor:1},positionFract:{buffer:p,offset:function(t,e){return 8*e.offset},divisor:1},error:{buffer:g,offset:function(t,e){return 16*e.offset},divisor:1},direction:{buffer:m,stride:24,offset:0},lineOffset:{buffer:m,stride:24,offset:8},capOffset:{buffer:m,stride:24,offset:16}},primitive:\"triangles\",blend:{enable:!0,color:[0,0,0,0],equation:{rgb:\"add\",alpha:\"add\"},func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},depth:{enable:!1},scissor:{enable:!0,box:t.prop(\"viewport\")},viewport:t.prop(\"viewport\"),stencil:!1,instances:t.prop(\"count\"),count:f.length}),s(b,{update:T,draw:_,destroy:k,regl:t,gl:v,canvas:v.canvas,groups:x}),b;function b(t){t?T(t):null===t&&k(),_()}function _(e){if(\"number\"==typeof e)return w(e);e&&!Array.isArray(e)&&(e=[e]),t._refresh(),x.forEach((function(t,r){t&&(e&&(e[r]?t.draw=!0:t.draw=!1),t.draw?w(r):t.draw=!0)}))}function w(t){\"number\"==typeof t&&(t=x[t]),null!=t&&t&&t.count&&t.color&&t.opacity&&t.positions&&t.positions.length>1&&(t.scaleRatio=[t.scale[0]*t.viewport.width,t.scale[1]*t.viewport.height],r(t),t.after&&t.after(t))}function T(t){if(t){null!=t.length?\"number\"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(b.groups=x=t.map((function(t,c){var u=x[c];return t?(\"function\"==typeof t?t={after:t}:\"number\"==typeof t[0]&&(t={positions:t}),t=o(t,{color:\"color colors fill\",capSize:\"capSize cap capsize cap-size\",lineWidth:\"lineWidth line-width width line thickness\",opacity:\"opacity alpha\",range:\"range dataBox\",viewport:\"viewport viewBox\",errors:\"errors error\",positions:\"positions position data points\"}),u||(x[c]=u={id:c,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=s({},y,t)),i(u,t,[{lineWidth:function(t){return.5*+t},capSize:function(t){return.5*+t},opacity:parseFloat,errors:function(t){return t=l(t),r+=t.length,t},positions:function(t,r){return t=l(t,\"float64\"),r.count=Math.floor(t.length/2),r.bounds=n(t,2),r.offset=e,e+=r.count,t}},{color:function(t,e){var r=e.count;if(t||(t=\"transparent\"),!Array.isArray(t)||\"number\"==typeof t[0]){var n=t;t=Array(r);for(var i=0;i<r;i++)t[i]=n}if(t.length<r)throw Error(\"Not enough colors\");for(var o=new Uint8Array(4*r),s=0;s<r;s++){var l=a(t[s],\"uint8\");o.set(l,4*s)}return o},range:function(t,e,r){var n=e.bounds;return t||(t=n),e.scale=[1/(t[2]-t[0]),1/(t[3]-t[1])],e.translate=[-t[0],-t[1]],e.scaleFract=h(e.scale),e.translateFract=h(e.translate),t},viewport:function(t){var e;return Array.isArray(t)?e={x:t[0],y:t[1],width:t[2]-t[0],height:t[3]-t[1]}:t?(e={x:t.x||t.left||0,y:t.y||t.top||0},t.right?e.width=t.right-e.x:e.width=t.w||t.width||0,t.bottom?e.height=t.bottom-e.y:e.height=t.h||t.height||0):e={x:0,y:0,width:v.drawingBufferWidth,height:v.drawingBufferHeight},e}}]),u):u})),e||r){var f=x.reduce((function(t,e,r){return t+(e?e.count:0)}),0),m=new Float64Array(2*f),_=new Uint8Array(4*f),w=new Float32Array(4*f);x.forEach((function(t,e){if(t){var r=t.positions,n=t.count,a=t.offset,i=t.color,o=t.errors;n&&(_.set(i,4*a),w.set(o,4*a),m.set(r,2*a))}})),c(u(m)),p(h(m)),d(_),g(w)}}}function k(){c.destroy(),p.destroy(),d.destroy(),g.destroy(),m.destroy()}};var f=[[1,0,0,1,0,0],[1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,1,0,0],[1,0,0,1,0,0],[1,0,-1,0,0,1],[1,0,-1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,1],[1,0,-1,0,0,1],[-1,0,-1,0,0,1],[-1,0,-1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,1],[-1,0,-1,0,0,1],[0,1,1,0,0,0],[0,1,-1,0,0,0],[0,-1,-1,0,0,0],[0,-1,-1,0,0,0],[0,1,1,0,0,0],[0,-1,1,0,0,0],[0,1,0,-1,1,0],[0,1,0,-1,-1,0],[0,1,0,1,-1,0],[0,1,0,1,1,0],[0,1,0,-1,1,0],[0,1,0,1,-1,0],[0,-1,0,-1,1,0],[0,-1,0,-1,-1,0],[0,-1,0,1,-1,0],[0,-1,0,1,1,0],[0,-1,0,-1,1,0],[0,-1,0,1,-1,0]]},{\"array-bounds\":68,\"color-normalize\":122,\"flatten-vertex-data\":239,\"object-assign\":452,\"pick-by-alias\":463,\"to-float32\":529,\"update-diff\":551}],489:[function(t,e,r){\"use strict\";var n=t(\"color-normalize\"),a=t(\"array-bounds\"),i=t(\"object-assign\"),o=t(\"glslify\"),s=t(\"pick-by-alias\"),l=t(\"flatten-vertex-data\"),c=t(\"earcut\"),u=t(\"array-normalize\"),h=t(\"to-float32\"),f=h.float32,p=h.fract32,d=t(\"es6-weak-map\"),g=t(\"parse-rect\");function m(t,e){if(!(this instanceof m))return new m(t,e);if(\"function\"==typeof t?(e||(e={}),e.regl=t):e=t,e.length&&(e.positions=e),!(t=e.regl).hasExtension(\"ANGLE_instanced_arrays\"))throw Error(\"regl-error2d: `ANGLE_instanced_arrays` extension should be enabled\");this.gl=t._gl,this.regl=t,this.passes=[],this.shaders=m.shaders.has(t)?m.shaders.get(t):m.shaders.set(t,m.createShaders(t)).get(t),this.update(e)}e.exports=m,m.dashMult=2,m.maxPatternLength=256,m.precisionThreshold=3e6,m.maxPoints=1e4,m.maxLines=2048,m.shaders=new d,m.createShaders=function(t){var e,r=t.buffer({usage:\"static\",type:\"float\",data:[0,1,0,0,1,1,1,0]}),n={primitive:\"triangle strip\",instances:t.prop(\"count\"),count:4,offset:0,uniforms:{miterMode:function(t,e){return\"round\"===e.join?2:1},miterLimit:t.prop(\"miterLimit\"),scale:t.prop(\"scale\"),scaleFract:t.prop(\"scaleFract\"),translateFract:t.prop(\"translateFract\"),translate:t.prop(\"translate\"),thickness:t.prop(\"thickness\"),dashPattern:t.prop(\"dashTexture\"),opacity:t.prop(\"opacity\"),pixelRatio:t.context(\"pixelRatio\"),id:t.prop(\"id\"),dashSize:t.prop(\"dashLength\"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]},depth:t.prop(\"depth\")},blend:{enable:!0,color:[0,0,0,0],equation:{rgb:\"add\",alpha:\"add\"},func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},depth:{enable:function(t,e){return!e.overlay}},stencil:{enable:!1},scissor:{enable:!0,box:t.prop(\"viewport\")},viewport:t.prop(\"viewport\")},a=t(i({vert:o([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 aCoord, bCoord, aCoordFract, bCoordFract;\\nattribute vec4 color;\\nattribute float lineEnd, lineTop;\\n\\nuniform vec2 scale, scaleFract, translate, translateFract;\\nuniform float thickness, pixelRatio, id, depth;\\nuniform vec4 viewport;\\n\\nvarying vec4 fragColor;\\nvarying vec2 tangent;\\n\\nvec2 project(vec2 position, vec2 positionFract, vec2 scale, vec2 scaleFract, vec2 translate, vec2 translateFract) {\\n\\t// the order is important\\n\\treturn position * scale + translate\\n       + positionFract * scale + translateFract\\n       + position * scaleFract\\n       + positionFract * scaleFract;\\n}\\n\\nvoid main() {\\n\\tfloat lineStart = 1. - lineEnd;\\n\\tfloat lineOffset = lineTop * 2. - 1.;\\n\\n\\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\\n\\ttangent = normalize(diff * scale * viewport.zw);\\n\\tvec2 normal = vec2(-tangent.y, tangent.x);\\n\\n\\tvec2 position = project(aCoord, aCoordFract, scale, scaleFract, translate, translateFract) * lineStart\\n\\t\\t+ project(bCoord, bCoordFract, scale, scaleFract, translate, translateFract) * lineEnd\\n\\n\\t\\t+ thickness * normal * .5 * lineOffset / viewport.zw;\\n\\n\\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\\n\\n\\tfragColor = color / 255.;\\n}\\n\"]),frag:o([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D dashPattern;\\n\\nuniform float dashSize, pixelRatio, thickness, opacity, id;\\n\\nvarying vec4 fragColor;\\nvarying vec2 tangent;\\n\\nvoid main() {\\n\\tfloat alpha = 1.;\\n\\n\\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashSize) * .5 + .25;\\n\\tfloat dash = texture2D(dashPattern, vec2(t, .5)).r;\\n\\n\\tgl_FragColor = fragColor;\\n\\tgl_FragColor.a *= alpha * opacity * dash;\\n}\\n\"]),attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:16,divisor:1},aCoordFract:{buffer:t.prop(\"positionFractBuffer\"),stride:8,offset:8,divisor:1},bCoordFract:{buffer:t.prop(\"positionFractBuffer\"),stride:8,offset:16,divisor:1},color:{buffer:t.prop(\"colorBuffer\"),stride:4,offset:0,divisor:1}}},n));try{e=t(i({cull:{enable:!0,face:\"back\"},vert:o([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 aCoord, bCoord, nextCoord, prevCoord;\\nattribute vec4 aColor, bColor;\\nattribute float lineEnd, lineTop;\\n\\nuniform vec2 scale, translate;\\nuniform float thickness, pixelRatio, id, depth;\\nuniform vec4 viewport;\\nuniform float miterLimit, miterMode;\\n\\nvarying vec4 fragColor;\\nvarying vec4 startCutoff, endCutoff;\\nvarying vec2 tangent;\\nvarying vec2 startCoord, endCoord;\\nvarying float enableStartMiter, enableEndMiter;\\n\\nconst float REVERSE_THRESHOLD = -.875;\\nconst float MIN_DIFF = 1e-6;\\n\\n// TODO: possible optimizations: avoid overcalculating all for vertices and calc just one instead\\n// TODO: precalculate dot products, normalize things beforehead etc.\\n// TODO: refactor to rectangular algorithm\\n\\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\\n\\tvec2 diff = b - a;\\n\\tvec2 perp = normalize(vec2(-diff.y, diff.x));\\n\\treturn dot(p - a, perp);\\n}\\n\\nbool isNaN( float val ){\\n  return ( val < 0.0 || 0.0 < val || val == 0.0 ) ? false : true;\\n}\\n\\nvoid main() {\\n\\tvec2 aCoord = aCoord, bCoord = bCoord, prevCoord = prevCoord, nextCoord = nextCoord;\\n\\n  vec2 adjustedScale;\\n  adjustedScale.x = (abs(scale.x) < MIN_DIFF) ? MIN_DIFF : scale.x;\\n  adjustedScale.y = (abs(scale.y) < MIN_DIFF) ? MIN_DIFF : scale.y;\\n\\n  vec2 scaleRatio = adjustedScale * viewport.zw;\\n\\tvec2 normalWidth = thickness / scaleRatio;\\n\\n\\tfloat lineStart = 1. - lineEnd;\\n\\tfloat lineBot = 1. - lineTop;\\n\\n\\tfragColor = (lineStart * aColor + lineEnd * bColor) / 255.;\\n\\n\\tif (isNaN(aCoord.x) || isNaN(aCoord.y) || isNaN(bCoord.x) || isNaN(bCoord.y)) return;\\n\\n\\tif (aCoord == prevCoord) prevCoord = aCoord + normalize(bCoord - aCoord);\\n\\tif (bCoord == nextCoord) nextCoord = bCoord - normalize(bCoord - aCoord);\\n\\n\\tvec2 prevDiff = aCoord - prevCoord;\\n\\tvec2 currDiff = bCoord - aCoord;\\n\\tvec2 nextDiff = nextCoord - bCoord;\\n\\n\\tvec2 prevTangent = normalize(prevDiff * scaleRatio);\\n\\tvec2 currTangent = normalize(currDiff * scaleRatio);\\n\\tvec2 nextTangent = normalize(nextDiff * scaleRatio);\\n\\n\\tvec2 prevNormal = vec2(-prevTangent.y, prevTangent.x);\\n\\tvec2 currNormal = vec2(-currTangent.y, currTangent.x);\\n\\tvec2 nextNormal = vec2(-nextTangent.y, nextTangent.x);\\n\\n\\tvec2 startJoinDirection = normalize(prevTangent - currTangent);\\n\\tvec2 endJoinDirection = normalize(currTangent - nextTangent);\\n\\n\\t// collapsed/unidirectional segment cases\\n\\t// FIXME: there should be more elegant solution\\n\\tvec2 prevTanDiff = abs(prevTangent - currTangent);\\n\\tvec2 nextTanDiff = abs(nextTangent - currTangent);\\n\\tif (max(prevTanDiff.x, prevTanDiff.y) < MIN_DIFF) {\\n\\t\\tstartJoinDirection = currNormal;\\n\\t}\\n\\tif (max(nextTanDiff.x, nextTanDiff.y) < MIN_DIFF) {\\n\\t\\tendJoinDirection = currNormal;\\n\\t}\\n\\tif (aCoord == bCoord) {\\n\\t\\tendJoinDirection = startJoinDirection;\\n\\t\\tcurrNormal = prevNormal;\\n\\t\\tcurrTangent = prevTangent;\\n\\t}\\n\\n\\ttangent = currTangent;\\n\\n\\t//calculate join shifts relative to normals\\n\\tfloat startJoinShift = dot(currNormal, startJoinDirection);\\n\\tfloat endJoinShift = dot(currNormal, endJoinDirection);\\n\\n\\tfloat startMiterRatio = abs(1. / startJoinShift);\\n\\tfloat endMiterRatio = abs(1. / endJoinShift);\\n\\n\\tvec2 startJoin = startJoinDirection * startMiterRatio;\\n\\tvec2 endJoin = endJoinDirection * endMiterRatio;\\n\\n\\tvec2 startTopJoin, startBotJoin, endTopJoin, endBotJoin;\\n\\tstartTopJoin = sign(startJoinShift) * startJoin * .5;\\n\\tstartBotJoin = -startTopJoin;\\n\\n\\tendTopJoin = sign(endJoinShift) * endJoin * .5;\\n\\tendBotJoin = -endTopJoin;\\n\\n\\tvec2 aTopCoord = aCoord + normalWidth * startTopJoin;\\n\\tvec2 bTopCoord = bCoord + normalWidth * endTopJoin;\\n\\tvec2 aBotCoord = aCoord + normalWidth * startBotJoin;\\n\\tvec2 bBotCoord = bCoord + normalWidth * endBotJoin;\\n\\n\\t//miter anti-clipping\\n\\tfloat baClipping = distToLine(bCoord, aCoord, aBotCoord) / dot(normalize(normalWidth * endBotJoin), normalize(normalWidth.yx * vec2(-startBotJoin.y, startBotJoin.x)));\\n\\tfloat abClipping = distToLine(aCoord, bCoord, bTopCoord) / dot(normalize(normalWidth * startBotJoin), normalize(normalWidth.yx * vec2(-endBotJoin.y, endBotJoin.x)));\\n\\n\\t//prevent close to reverse direction switch\\n\\tbool prevReverse = dot(currTangent, prevTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, prevNormal)) * min(length(prevDiff), length(currDiff)) <  length(normalWidth * currNormal);\\n\\tbool nextReverse = dot(currTangent, nextTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, nextNormal)) * min(length(nextDiff), length(currDiff)) <  length(normalWidth * currNormal);\\n\\n\\tif (prevReverse) {\\n\\t\\t//make join rectangular\\n\\t\\tvec2 miterShift = normalWidth * startJoinDirection * miterLimit * .5;\\n\\t\\tfloat normalAdjust = 1. - min(miterLimit / startMiterRatio, 1.);\\n\\t\\taBotCoord = aCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\\n\\t\\taTopCoord = aCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\\n\\t}\\n\\telse if (!nextReverse && baClipping > 0. && baClipping < length(normalWidth * endBotJoin)) {\\n\\t\\t//handle miter clipping\\n\\t\\tbTopCoord -= normalWidth * endTopJoin;\\n\\t\\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\\n\\t}\\n\\n\\tif (nextReverse) {\\n\\t\\t//make join rectangular\\n\\t\\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\\n\\t\\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\\n\\t\\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\\n\\t\\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\\n\\t}\\n\\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\\n\\t\\t//handle miter clipping\\n\\t\\taBotCoord -= normalWidth * startBotJoin;\\n\\t\\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\\n\\t}\\n\\n\\tvec2 aTopPosition = (aTopCoord) * adjustedScale + translate;\\n\\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\\n\\n\\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\\n\\tvec2 bBotPosition = (bBotCoord) * adjustedScale + translate;\\n\\n\\t//position is normalized 0..1 coord on the screen\\n\\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\\n\\n\\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\\n\\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\\n\\n\\tgl_Position = vec4(position  * 2.0 - 1.0, depth, 1);\\n\\n\\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\\n\\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\\n\\n\\t//bevel miter cutoffs\\n\\tif (miterMode == 1.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\\n\\t\\t\\tstartCutoff = vec4(aCoord, aCoord);\\n\\t\\t\\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\\n\\t\\t\\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tstartCutoff += viewport.xyxy;\\n\\t\\t\\tstartCutoff += startMiterWidth.xyxy;\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\\n\\t\\t\\tendCutoff = vec4(bCoord, bCoord);\\n\\t\\t\\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x)  / scaleRatio;\\n\\t\\t\\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tendCutoff += viewport.xyxy;\\n\\t\\t\\tendCutoff += endMiterWidth.xyxy;\\n\\t\\t}\\n\\t}\\n\\n\\t//round miter cutoffs\\n\\telse if (miterMode == 2.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\\n\\t\\t\\tstartCutoff = vec4(aCoord, aCoord);\\n\\t\\t\\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\\n\\t\\t\\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tstartCutoff += viewport.xyxy;\\n\\t\\t\\tstartCutoff += startMiterWidth.xyxy;\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\\n\\t\\t\\tendCutoff = vec4(bCoord, bCoord);\\n\\t\\t\\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x)  / scaleRatio;\\n\\t\\t\\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tendCutoff += viewport.xyxy;\\n\\t\\t\\tendCutoff += endMiterWidth.xyxy;\\n\\t\\t}\\n\\t}\\n}\\n\"]),frag:o([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D dashPattern;\\nuniform float dashSize, pixelRatio, thickness, opacity, id, miterMode;\\n\\nvarying vec4 fragColor;\\nvarying vec2 tangent;\\nvarying vec4 startCutoff, endCutoff;\\nvarying vec2 startCoord, endCoord;\\nvarying float enableStartMiter, enableEndMiter;\\n\\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\\n\\tvec2 diff = b - a;\\n\\tvec2 perp = normalize(vec2(-diff.y, diff.x));\\n\\treturn dot(p - a, perp);\\n}\\n\\nvoid main() {\\n\\tfloat alpha = 1., distToStart, distToEnd;\\n\\tfloat cutoff = thickness * .5;\\n\\n\\t//bevel miter\\n\\tif (miterMode == 1.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\\n\\t\\t\\tif (distToStart < -1.) {\\n\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\t\\talpha *= min(max(distToStart + 1., 0.), 1.);\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\\n\\t\\t\\tif (distToEnd < -1.) {\\n\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\t\\talpha *= min(max(distToEnd + 1., 0.), 1.);\\n\\t\\t}\\n\\t}\\n\\n\\t// round miter\\n\\telse if (miterMode == 2.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\\n\\t\\t\\tif (distToStart < 0.) {\\n\\t\\t\\t\\tfloat radius = length(gl_FragCoord.xy - startCoord);\\n\\n\\t\\t\\t\\tif(radius > cutoff + .5) {\\n\\t\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\\n\\t\\t\\tif (distToEnd < 0.) {\\n\\t\\t\\t\\tfloat radius = length(gl_FragCoord.xy - endCoord);\\n\\n\\t\\t\\t\\tif(radius > cutoff + .5) {\\n\\t\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashSize) * .5 + .25;\\n\\tfloat dash = texture2D(dashPattern, vec2(t, .5)).r;\\n\\n\\tgl_FragColor = fragColor;\\n\\tgl_FragColor.a *= alpha * opacity * dash;\\n}\\n\"]),attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aColor:{buffer:t.prop(\"colorBuffer\"),stride:4,offset:0,divisor:1},bColor:{buffer:t.prop(\"colorBuffer\"),stride:4,offset:4,divisor:1},prevCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:0,divisor:1},aCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:16,divisor:1},nextCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:24,divisor:1}}},n))}catch(t){e=a}return{fill:t({primitive:\"triangle\",elements:function(t,e){return e.triangles},offset:0,vert:o([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position, positionFract;\\n\\nuniform vec4 color;\\nuniform vec2 scale, scaleFract, translate, translateFract;\\nuniform float pixelRatio, id;\\nuniform vec4 viewport;\\nuniform float opacity;\\n\\nvarying vec4 fragColor;\\n\\nconst float MAX_LINES = 256.;\\n\\nvoid main() {\\n\\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\\n\\n\\tvec2 position = position * scale + translate\\n       + positionFract * scale + translateFract\\n       + position * scaleFract\\n       + positionFract * scaleFract;\\n\\n\\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\\n\\n\\tfragColor = color / 255.;\\n\\tfragColor.a *= opacity;\\n}\\n\"]),frag:o([\"precision highp float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n\\tgl_FragColor = fragColor;\\n}\\n\"]),uniforms:{scale:t.prop(\"scale\"),color:t.prop(\"fill\"),scaleFract:t.prop(\"scaleFract\"),translateFract:t.prop(\"translateFract\"),translate:t.prop(\"translate\"),opacity:t.prop(\"opacity\"),pixelRatio:t.context(\"pixelRatio\"),id:t.prop(\"id\"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{position:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:8},positionFract:{buffer:t.prop(\"positionFractBuffer\"),stride:8,offset:8}},blend:n.blend,depth:{enable:!1},scissor:n.scissor,stencil:n.stencil,viewport:n.viewport}),rect:a,miter:e}},m.defaults={dashes:null,join:\"miter\",miterLimit:1,thickness:10,cap:\"square\",color:\"black\",opacity:1,overlay:!1,viewport:null,range:null,close:!1,fill:null},m.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];e.length&&(t=this).update.apply(t,e),this.draw()},m.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];return(e.length?e:this.passes).forEach((function(e,r){var n;if(e&&Array.isArray(e))return(n=t).draw.apply(n,e);\"number\"==typeof e&&(e=t.passes[e]),e&&e.count>1&&e.opacity&&(t.regl._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&t.shaders.fill(e),e.thickness&&(e.scale[0]*e.viewport.width>m.precisionThreshold||e.scale[1]*e.viewport.height>m.precisionThreshold||\"rect\"===e.join||!e.join&&(e.thickness<=2||e.count>=m.maxPoints)?t.shaders.rect(e):t.shaders.miter(e)))})),this},m.prototype.update=function(t){var e=this;if(t){null!=t.length?\"number\"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var r=this.regl,o=this.gl;if(t.forEach((function(t,h){var d=e.passes[h];if(void 0!==t)if(null!==t){if(\"number\"==typeof t[0]&&(t={positions:t}),t=s(t,{positions:\"positions points data coords\",thickness:\"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth\",join:\"lineJoin linejoin join type mode\",miterLimit:\"miterlimit miterLimit\",dashes:\"dash dashes dasharray dash-array dashArray\",color:\"color colour stroke colors colours stroke-color strokeColor\",fill:\"fill fill-color fillColor\",opacity:\"alpha opacity\",overlay:\"overlay crease overlap intersect\",close:\"closed close closed-path closePath\",range:\"range dataBox\",viewport:\"viewport viewBox\",hole:\"holes hole hollow\"}),d||(e.passes[h]=d={id:h,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:r.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:\"linear\",min:\"linear\"}),colorBuffer:r.buffer({usage:\"dynamic\",type:\"uint8\",data:new Uint8Array}),positionBuffer:r.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array}),positionFractBuffer:r.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array})},t=i({},m.defaults,t)),null!=t.thickness&&(d.thickness=parseFloat(t.thickness)),null!=t.opacity&&(d.opacity=parseFloat(t.opacity)),null!=t.miterLimit&&(d.miterLimit=parseFloat(t.miterLimit)),null!=t.overlay&&(d.overlay=!!t.overlay,h<m.maxLines&&(d.depth=2*(m.maxLines-1-h%m.maxLines)/m.maxLines-1)),null!=t.join&&(d.join=t.join),null!=t.hole&&(d.hole=t.hole),null!=t.fill&&(d.fill=t.fill?n(t.fill,\"uint8\"):null),null!=t.viewport&&(d.viewport=g(t.viewport)),d.viewport||(d.viewport=g([o.drawingBufferWidth,o.drawingBufferHeight])),null!=t.close&&(d.close=t.close),null===t.positions&&(t.positions=[]),t.positions){var v,y;if(t.positions.x&&t.positions.y){var x=t.positions.x,b=t.positions.y;y=d.count=Math.max(x.length,b.length),v=new Float64Array(2*y);for(var _=0;_<y;_++)v[2*_]=x[_],v[2*_+1]=b[_]}else v=l(t.positions,\"float64\"),y=d.count=Math.floor(v.length/2);var w=d.bounds=a(v,2);if(d.fill){for(var T=[],k={},A=0,M=0,S=0,E=d.count;M<E;M++){var C=v[2*M],L=v[2*M+1];isNaN(C)||isNaN(L)||null==C||null==L?(C=v[2*A],L=v[2*A+1],k[M]=A):A=M,T[S++]=C,T[S++]=L}for(var P=c(T,d.hole||[]),I=0,z=P.length;I<z;I++)null!=k[P[I]]&&(P[I]=k[P[I]]);d.triangles=P}var O=new Float64Array(v);u(O,2,w);var D=new Float64Array(2*y+6);d.close?v[0]===v[2*y-2]&&v[1]===v[2*y-1]?(D[0]=O[2*y-4],D[1]=O[2*y-3]):(D[0]=O[2*y-2],D[1]=O[2*y-1]):(D[0]=O[0],D[1]=O[1]),D.set(O,2),d.close?v[0]===v[2*y-2]&&v[1]===v[2*y-1]?(D[2*y+2]=O[2],D[2*y+3]=O[3],d.count-=1):(D[2*y+2]=O[0],D[2*y+3]=O[1],D[2*y+4]=O[2],D[2*y+5]=O[3]):(D[2*y+2]=O[2*y-2],D[2*y+3]=O[2*y-1],D[2*y+4]=O[2*y-2],D[2*y+5]=O[2*y-1]),d.positionBuffer(f(D)),d.positionFractBuffer(p(D))}if(t.range?d.range=t.range:d.range||(d.range=d.bounds),(t.range||t.positions)&&d.count){var R=d.bounds,F=R[2]-R[0],B=R[3]-R[1],N=d.range[2]-d.range[0],j=d.range[3]-d.range[1];d.scale=[F/N,B/j],d.translate=[-d.range[0]/N+R[0]/N||0,-d.range[1]/j+R[1]/j||0],d.scaleFract=p(d.scale),d.translateFract=p(d.translate)}if(t.dashes){var V,U=0;if(!t.dashes||t.dashes.length<2)U=1,V=new Uint8Array([255,255,255,255,255,255,255,255]);else{U=0;for(var q=0;q<t.dashes.length;++q)U+=t.dashes[q];V=new Uint8Array(U*m.dashMult);for(var H=0,G=255,Y=0;Y<2;Y++)for(var W=0;W<t.dashes.length;++W){for(var Z=0,X=t.dashes[W]*m.dashMult*.5;Z<X;++Z)V[H++]=G;G^=255}}d.dashLength=U,d.dashTexture({channels:1,data:V,width:V.length,height:1,mag:\"linear\",min:\"linear\"},0,0)}if(t.color){var J=d.count,K=t.color;K||(K=\"transparent\");var Q=new Uint8Array(4*J+4);if(Array.isArray(K)&&\"number\"!=typeof K[0]){for(var $=0;$<J;$++){var tt=n(K[$],\"uint8\");Q.set(tt,4*$)}Q.set(n(K[0],\"uint8\"),4*J)}else for(var et=n(K,\"uint8\"),rt=0;rt<J+1;rt++)Q.set(et,4*rt);d.colorBuffer({usage:\"dynamic\",type:\"uint8\",data:Q})}}else e.passes[h]=null})),t.length<this.passes.length){for(var h=t.length;h<this.passes.length;h++){var d=this.passes[h];d&&(d.colorBuffer.destroy(),d.positionBuffer.destroy(),d.dashTexture.destroy())}this.passes.length=t.length}for(var v=[],y=0;y<this.passes.length;y++)null!==this.passes[y]&&v.push(this.passes[y]);return this.passes=v,this}},m.prototype.destroy=function(){return this.passes.forEach((function(t){t.colorBuffer.destroy(),t.positionBuffer.destroy(),t.dashTexture.destroy()})),this.passes.length=0,this}},{\"array-bounds\":68,\"array-normalize\":69,\"color-normalize\":122,earcut:172,\"es6-weak-map\":228,\"flatten-vertex-data\":239,glslify:408,\"object-assign\":452,\"parse-rect\":457,\"pick-by-alias\":463,\"to-float32\":529}],490:[function(t,e,r){\"use strict\";function n(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if(\"undefined\"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var r=[],n=!0,a=!1,i=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){a=!0,i=t}finally{try{n||null==s.return||s.return()}finally{if(a)throw i}}return r}(t,e)||i(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function a(t){return function(t){if(Array.isArray(t))return o(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||i(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(t,e){if(t){if(\"string\"==typeof t)return o(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return\"Object\"===r&&t.constructor&&(r=t.constructor.name),\"Map\"===r||\"Set\"===r?Array.from(r):\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(t,e):void 0}}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}var s=t(\"color-normalize\"),l=t(\"array-bounds\"),c=t(\"color-id\"),u=t(\"point-cluster\"),h=t(\"object-assign\"),f=t(\"glslify\"),p=t(\"pick-by-alias\"),d=t(\"update-diff\"),g=t(\"flatten-vertex-data\"),m=t(\"is-iexplorer\"),v=t(\"to-float32\"),y=t(\"parse-rect\"),x=b;function b(t,e){var r=this;if(!(this instanceof b))return new b(t,e);\"function\"==typeof t?(e||(e={}),e.regl=t):(e=t,t=null),e&&e.length&&(e.positions=e);var n,a=(t=e.regl)._gl,i=[];this.tooManyColors=m,n=t.texture({data:new Uint8Array(1020),width:255,height:1,type:\"uint8\",format:\"rgba\",wrapS:\"clamp\",wrapT:\"clamp\",mag:\"nearest\",min:\"nearest\"}),h(this,{regl:t,gl:a,groups:[],markerCache:[null],markerTextures:[null],palette:i,paletteIds:{},paletteTexture:n,maxColors:255,maxSize:100,canvas:a.canvas}),this.update(e);var o={uniforms:{pixelRatio:t.context(\"pixelRatio\"),palette:n,paletteSize:function(t,e){return[r.tooManyColors?0:255,n.height]},scale:t.prop(\"scale\"),scaleFract:t.prop(\"scaleFract\"),translate:t.prop(\"translate\"),translateFract:t.prop(\"translateFract\"),opacity:t.prop(\"opacity\"),marker:t.prop(\"markerTexture\")},attributes:{x:function(t,e){return e.xAttr||{buffer:e.positionBuffer,stride:8,offset:0}},y:function(t,e){return e.yAttr||{buffer:e.positionBuffer,stride:8,offset:4}},xFract:function(t,e){return e.xAttr?{constant:[0,0]}:{buffer:e.positionFractBuffer,stride:8,offset:0}},yFract:function(t,e){return e.yAttr?{constant:[0,0]}:{buffer:e.positionFractBuffer,stride:8,offset:4}},size:function(t,e){return e.size.length?{buffer:e.sizeBuffer,stride:2,offset:0}:{constant:[Math.round(255*e.size/r.maxSize)]}},borderSize:function(t,e){return e.borderSize.length?{buffer:e.sizeBuffer,stride:2,offset:1}:{constant:[Math.round(255*e.borderSize/r.maxSize)]}},colorId:function(t,e){return e.color.length?{buffer:e.colorBuffer,stride:r.tooManyColors?8:4,offset:0}:{constant:r.tooManyColors?i.slice(4*e.color,4*e.color+4):[e.color]}},borderColorId:function(t,e){return e.borderColor.length?{buffer:e.colorBuffer,stride:r.tooManyColors?8:4,offset:r.tooManyColors?4:2}:{constant:r.tooManyColors?i.slice(4*e.borderColor,4*e.borderColor+4):[e.borderColor]}},isActive:function(t,e){return!0===e.activation?{constant:[1]}:e.activation?e.activation:{constant:[0]}}},blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},scissor:{enable:!0,box:t.prop(\"viewport\")},viewport:t.prop(\"viewport\"),stencil:{enable:!1},depth:{enable:!1},elements:t.prop(\"elements\"),count:t.prop(\"count\"),offset:t.prop(\"offset\"),primitive:\"points\"},s=h({},o);s.frag=f([\"precision highp float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor, fragBorderColor;\\nvarying float fragWidth, fragBorderColorLevel, fragColorLevel;\\n\\nuniform sampler2D marker;\\nuniform float pixelRatio, opacity;\\n\\nfloat smoothStep(float x, float y) {\\n  return 1.0 / (1.0 + exp(50.0*(x - y)));\\n}\\n\\nvoid main() {\\n  float dist = texture2D(marker, gl_PointCoord).r, delta = fragWidth;\\n\\n  // max-distance alpha\\n  if (dist < 0.003) discard;\\n\\n  // null-border case\\n  if (fragBorderColorLevel == fragColorLevel || fragBorderColor.a == 0.) {\\n    float colorAmt = smoothstep(.5 - delta, .5 + delta, dist);\\n    gl_FragColor = vec4(fragColor.rgb, colorAmt * fragColor.a * opacity);\\n  }\\n  else {\\n    float borderColorAmt = smoothstep(fragBorderColorLevel - delta, fragBorderColorLevel + delta, dist);\\n    float colorAmt = smoothstep(fragColorLevel - delta, fragColorLevel + delta, dist);\\n\\n    vec4 color = fragBorderColor;\\n    color.a *= borderColorAmt;\\n    color = mix(color, fragColor, colorAmt);\\n    color.a *= opacity;\\n\\n    gl_FragColor = color;\\n  }\\n\\n}\\n\"]),s.vert=f([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute float x, y, xFract, yFract;\\nattribute float size, borderSize;\\nattribute vec4 colorId, borderColorId;\\nattribute float isActive;\\n\\nuniform vec2 scale, scaleFract, translate, translateFract, paletteSize;\\nuniform float pixelRatio;\\nuniform sampler2D palette;\\n\\nconst float maxSize = 100.;\\nconst float borderLevel = .5;\\n\\nvarying vec4 fragColor, fragBorderColor;\\nvarying float fragPointSize, fragBorderRadius, fragWidth, fragBorderColorLevel, fragColorLevel;\\n\\nbool isDirect = (paletteSize.x < 1.);\\n\\nvec4 getColor(vec4 id) {\\n  return isDirect ? id / 255. : texture2D(palette,\\n    vec2(\\n      (id.x + .5) / paletteSize.x,\\n      (id.y + .5) / paletteSize.y\\n    )\\n  );\\n}\\n\\nvoid main() {\\n  if (isActive == 0.) return;\\n\\n  vec2 position = vec2(x, y);\\n  vec2 positionFract = vec2(xFract, yFract);\\n\\n  vec4 color = getColor(colorId);\\n  vec4 borderColor = getColor(borderColorId);\\n\\n  float size = size * maxSize / 255.;\\n  float borderSize = borderSize * maxSize / 255.;\\n\\n  gl_PointSize = 2. * size * pixelRatio;\\n  fragPointSize = size * pixelRatio;\\n\\n  vec2 pos = (position + translate) * scale\\n      + (positionFract + translateFract) * scale\\n      + (position + translate) * scaleFract\\n      + (positionFract + translateFract) * scaleFract;\\n\\n  gl_Position = vec4(pos * 2. - 1., 0, 1);\\n\\n  fragColor = color;\\n  fragBorderColor = borderColor;\\n  fragWidth = 1. / gl_PointSize;\\n\\n  fragBorderColorLevel = clamp(borderLevel - borderLevel * borderSize / size, 0., 1.);\\n  fragColorLevel = clamp(borderLevel + (1. - borderLevel) * borderSize / size, 0., 1.);\\n}\"]),this.drawMarker=t(s);var l=h({},o);l.frag=f([\"precision highp float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor, fragBorderColor;\\n\\nuniform float opacity;\\nvarying float fragBorderRadius, fragWidth;\\n\\nfloat smoothStep(float edge0, float edge1, float x) {\\n\\tfloat t;\\n\\tt = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);\\n\\treturn t * t * (3.0 - 2.0 * t);\\n}\\n\\nvoid main() {\\n\\tfloat radius, alpha = 1.0, delta = fragWidth;\\n\\n\\tradius = length(2.0 * gl_PointCoord.xy - 1.0);\\n\\n\\tif (radius > 1.0 + delta) {\\n\\t\\tdiscard;\\n\\t}\\n\\n\\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\\n\\n\\tfloat borderRadius = fragBorderRadius;\\n\\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\\n\\tvec4 color = mix(fragColor, fragBorderColor, ratio);\\n\\tcolor.a *= alpha * opacity;\\n\\tgl_FragColor = color;\\n}\\n\"]),l.vert=f([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute float x, y, xFract, yFract;\\nattribute float size, borderSize;\\nattribute vec4 colorId, borderColorId;\\nattribute float isActive;\\n\\nuniform vec2 scale, scaleFract, translate, translateFract;\\nuniform float pixelRatio;\\nuniform sampler2D palette;\\nuniform vec2 paletteSize;\\n\\nconst float maxSize = 100.;\\n\\nvarying vec4 fragColor, fragBorderColor;\\nvarying float fragBorderRadius, fragWidth;\\n\\nbool isDirect = (paletteSize.x < 1.);\\n\\nvec4 getColor(vec4 id) {\\n  return isDirect ? id / 255. : texture2D(palette,\\n    vec2(\\n      (id.x + .5) / paletteSize.x,\\n      (id.y + .5) / paletteSize.y\\n    )\\n  );\\n}\\n\\nvoid main() {\\n  // ignore inactive points\\n  if (isActive == 0.) return;\\n\\n  vec2 position = vec2(x, y);\\n  vec2 positionFract = vec2(xFract, yFract);\\n\\n  vec4 color = getColor(colorId);\\n  vec4 borderColor = getColor(borderColorId);\\n\\n  float size = size * maxSize / 255.;\\n  float borderSize = borderSize * maxSize / 255.;\\n\\n  gl_PointSize = (size + borderSize) * pixelRatio;\\n\\n  vec2 pos = (position + translate) * scale\\n      + (positionFract + translateFract) * scale\\n      + (position + translate) * scaleFract\\n      + (positionFract + translateFract) * scaleFract;\\n\\n  gl_Position = vec4(pos * 2. - 1., 0, 1);\\n\\n  fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\\n  fragColor = color;\\n  fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\\n  fragWidth = 1. / gl_PointSize;\\n}\\n\"]),m&&(l.frag=l.frag.replace(\"smoothstep\",\"smoothStep\"),s.frag=s.frag.replace(\"smoothstep\",\"smoothStep\")),this.drawCircle=t(l)}b.defaults={color:\"black\",borderColor:\"transparent\",borderSize:0,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,count:0,offset:0,bounds:null,positions:[],snap:1e4},b.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this},b.prototype.draw=function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];var a=this.groups;if(1===r.length&&Array.isArray(r[0])&&(null===r[0][0]||Array.isArray(r[0][0]))&&(r=r[0]),this.regl._refresh(),r.length)for(var i=0;i<r.length;i++)this.drawItem(i,r[i]);else a.forEach((function(e,r){t.drawItem(r)}));return this},b.prototype.drawItem=function(t,e){var r=this.groups,n=r[t];if(\"number\"==typeof e&&(t=e,n=r[e],e=null),n&&n.count&&n.opacity){n.activation[0]&&this.drawCircle(this.getMarkerDrawOptions(0,n,e));for(var i=[],o=1;o<n.activation.length;o++)n.activation[o]&&(!0===n.activation[o]||n.activation[o].data.length)&&i.push.apply(i,a(this.getMarkerDrawOptions(o,n,e)));i.length&&this.drawMarker(i)}},b.prototype.getMarkerDrawOptions=function(t,e,r){var a=e.range,i=e.tree,o=e.viewport,s=e.activation,l=e.selectionBuffer,c=e.count;this.regl;if(!i)return r?[h({},e,{markerTexture:this.markerTextures[t],activation:s[t],count:r.length,elements:r,offset:0})]:[h({},e,{markerTexture:this.markerTextures[t],activation:s[t],offset:0})];var u=[],f=i.range(a,{lod:!0,px:[(a[2]-a[0])/o.width,(a[3]-a[1])/o.height]});if(r){for(var p=s[t].data,d=new Uint8Array(c),g=0;g<r.length;g++){var m=r[g];d[m]=p?p[m]:1}l.subdata(d)}for(var v=f.length;v--;){var y=n(f[v],2),x=y[0],b=y[1];u.push(h({},e,{markerTexture:this.markerTextures[t],activation:r?l:s[t],offset:x,count:b-x}))}return u},b.prototype.update=function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];if(r.length){1===r.length&&Array.isArray(r[0])&&(r=r[0]);var a=this.groups,i=this.gl,o=this.regl,s=this.maxSize,c=this.maxColors,f=this.palette;this.groups=a=r.map((function(e,r){var n=a[r];if(void 0===e)return n;null===e?e={positions:null}:\"function\"==typeof e?e={ondraw:e}:\"number\"==typeof e[0]&&(e={positions:e}),null===(e=p(e,{positions:\"positions data points\",snap:\"snap cluster lod tree\",size:\"sizes size radius\",borderSize:\"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline\",color:\"colors color fill fill-color fillColor\",borderColor:\"borderColors borderColor stroke stroke-color strokeColor\",marker:\"markers marker shape\",range:\"range dataBox databox\",viewport:\"viewport viewPort viewBox viewbox\",opacity:\"opacity alpha transparency\",bounds:\"bound bounds boundaries limits\",tooManyColors:\"tooManyColors palette paletteMode optimizePalette enablePalette\"})).positions&&(e.positions=[]),null!=e.tooManyColors&&(t.tooManyColors=e.tooManyColors),n||(a[r]=n={id:r,scale:null,translate:null,scaleFract:null,translateFract:null,activation:[],selectionBuffer:o.buffer({data:new Uint8Array(0),usage:\"stream\",type:\"uint8\"}),sizeBuffer:o.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"uint8\"}),colorBuffer:o.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"uint8\"}),positionBuffer:o.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"float\"}),positionFractBuffer:o.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"float\"})},e=h({},b.defaults,e)),e.positions&&!(\"marker\"in e)&&(e.marker=n.marker,delete n.marker),e.marker&&!(\"positions\"in e)&&(e.positions=n.positions,delete n.positions);var m=0,x=0;if(d(n,e,[{snap:!0,size:function(t,e){return null==t&&(t=b.defaults.size),m+=t&&t.length?1:0,t},borderSize:function(t,e){return null==t&&(t=b.defaults.borderSize),m+=t&&t.length?1:0,t},opacity:parseFloat,color:function(e,r){return null==e&&(e=b.defaults.color),e=t.updateColor(e),x++,e},borderColor:function(e,r){return null==e&&(e=b.defaults.borderColor),e=t.updateColor(e),x++,e},bounds:function(t,e,r){return\"range\"in r||(r.range=null),t},positions:function(t,e,r){var n=e.snap,a=e.positionBuffer,i=e.positionFractBuffer,s=e.selectionBuffer;if(t.x||t.y)return t.x.length?e.xAttr={buffer:o.buffer(t.x),offset:0,stride:4,count:t.x.length}:e.xAttr={buffer:t.x.buffer,offset:4*t.x.offset||0,stride:4*(t.x.stride||1),count:t.x.count},t.y.length?e.yAttr={buffer:o.buffer(t.y),offset:0,stride:4,count:t.y.length}:e.yAttr={buffer:t.y.buffer,offset:4*t.y.offset||0,stride:4*(t.y.stride||1),count:t.y.count},e.count=Math.max(e.xAttr.count,e.yAttr.count),t;t=g(t,\"float64\");var c=e.count=Math.floor(t.length/2),h=e.bounds=c?l(t,2):null;if(r.range||e.range||(delete e.range,r.range=h),r.marker||e.marker||(delete e.marker,r.marker=null),n&&(!0===n||c>n)?e.tree=u(t,{bounds:h}):n&&n.length&&(e.tree=n),e.tree){var f={primitive:\"points\",usage:\"static\",data:e.tree,type:\"uint32\"};e.elements?e.elements(f):e.elements=o.elements(f)}return a({data:v.float(t),usage:\"dynamic\"}),i({data:v.fract(t),usage:\"dynamic\"}),s({data:new Uint8Array(c),type:\"uint8\",usage:\"stream\"}),t}},{marker:function(e,r,n){var a=r.activation;if(a.forEach((function(t){return t&&t.destroy&&t.destroy()})),a.length=0,e&&\"number\"!=typeof e[0]){for(var i=[],s=0,l=Math.min(e.length,r.count);s<l;s++){var c=t.addMarker(e[s]);i[c]||(i[c]=new Uint8Array(r.count)),i[c][s]=1}for(var u=0;u<i.length;u++)if(i[u]){var h={data:i[u],type:\"uint8\",usage:\"static\"};a[u]?a[u](h):a[u]=o.buffer(h),a[u].data=i[u]}}else{a[t.addMarker(e)]=!0}return e},range:function(t,e,r){var n=e.bounds;if(n)return t||(t=n),e.scale=[1/(t[2]-t[0]),1/(t[3]-t[1])],e.translate=[-t[0],-t[1]],e.scaleFract=v.fract(e.scale),e.translateFract=v.fract(e.translate),t},viewport:function(t){return y(t||[i.drawingBufferWidth,i.drawingBufferHeight])}}]),m){var _=n,w=_.count,T=_.size,k=_.borderSize,A=_.sizeBuffer,M=new Uint8Array(2*w);if(T.length||k.length)for(var S=0;S<w;S++)M[2*S]=Math.round(255*(null==T[S]?T:T[S])/s),M[2*S+1]=Math.round(255*(null==k[S]?k:k[S])/s);A({data:M,usage:\"dynamic\"})}if(x){var E,C=n,L=C.count,P=C.color,I=C.borderColor,z=C.colorBuffer;if(t.tooManyColors){if(P.length||I.length){E=new Uint8Array(8*L);for(var O=0;O<L;O++){var D=P[O];E[8*O]=f[4*D],E[8*O+1]=f[4*D+1],E[8*O+2]=f[4*D+2],E[8*O+3]=f[4*D+3];var R=I[O];E[8*O+4]=f[4*R],E[8*O+5]=f[4*R+1],E[8*O+6]=f[4*R+2],E[8*O+7]=f[4*R+3]}}}else if(P.length||I.length){E=new Uint8Array(4*L+2);for(var F=0;F<L;F++)null!=P[F]&&(E[4*F]=P[F]%c,E[4*F+1]=Math.floor(P[F]/c)),null!=I[F]&&(E[4*F+2]=I[F]%c,E[4*F+3]=Math.floor(I[F]/c))}z({data:E||new Uint8Array(0),type:\"uint8\",usage:\"dynamic\"})}return n}))}},b.prototype.addMarker=function(t){var e,r=this.markerTextures,n=this.regl,a=this.markerCache,i=null==t?0:a.indexOf(t);if(i>=0)return i;if(t instanceof Uint8Array||t instanceof Uint8ClampedArray)e=t;else{e=new Uint8Array(t.length);for(var o=0,s=t.length;o<s;o++)e[o]=255*t[o]}var l=Math.floor(Math.sqrt(e.length));return i=r.length,a.push(t),r.push(n.texture({channels:1,data:e,radius:l,mag:\"linear\",min:\"linear\"})),i},b.prototype.updateColor=function(t){var e=this.paletteIds,r=this.palette,n=this.maxColors;Array.isArray(t)||(t=[t]);var a=[];if(\"number\"==typeof t[0]){var i=[];if(Array.isArray(t))for(var o=0;o<t.length;o+=4)i.push(t.slice(o,o+4));else for(var l=0;l<t.length;l+=4)i.push(t.subarray(l,l+4));t=i}for(var u=0;u<t.length;u++){var h=t[u];h=s(h,\"uint8\");var f=c(h,!1);if(null==e[f]){var p=r.length;e[f]=Math.floor(p/4),r[p]=h[0],r[p+1]=h[1],r[p+2]=h[2],r[p+3]=h[3]}a[u]=e[f]}return!this.tooManyColors&&r.length>4*n&&(this.tooManyColors=!0),this.updatePalette(r),1===a.length?a[0]:a},b.prototype.updatePalette=function(t){if(!this.tooManyColors){var e=this.maxColors,r=this.paletteTexture,n=Math.ceil(.25*t.length/e);if(n>1)for(var a=.25*(t=t.slice()).length%e;a<n*e;a++)t.push(0,0,0,0);r.height<n&&r.resize(e,n),r.subimage({width:Math.min(.25*t.length,e),height:n,data:t},0,0)}},b.prototype.destroy=function(){return this.groups.forEach((function(t){t.sizeBuffer.destroy(),t.positionBuffer.destroy(),t.positionFractBuffer.destroy(),t.colorBuffer.destroy(),t.activation.forEach((function(t){return t&&t.destroy&&t.destroy()})),t.selectionBuffer.destroy(),t.elements&&t.elements.destroy()})),this.groups.length=0,this.paletteTexture.destroy(),this.markerTextures.forEach((function(t){return t&&t.destroy&&t.destroy()})),this};var _=t(\"object-assign\");e.exports=function(t,e){var r=new x(t,e),n=r.render.bind(r);return _(n,{render:n,update:r.update.bind(r),draw:r.draw.bind(r),destroy:r.destroy.bind(r),regl:r.regl,gl:r.gl,canvas:r.gl.canvas,groups:r.groups,markers:r.markerCache,palette:r.palette}),n}},{\"array-bounds\":68,\"color-id\":120,\"color-normalize\":122,\"flatten-vertex-data\":239,glslify:408,\"is-iexplorer\":419,\"object-assign\":452,\"parse-rect\":457,\"pick-by-alias\":463,\"point-cluster\":467,\"to-float32\":529,\"update-diff\":551}],491:[function(t,e,r){\"use strict\";var n=t(\"regl-scatter2d\"),a=t(\"pick-by-alias\"),i=t(\"array-bounds\"),o=t(\"raf\"),s=t(\"array-range\"),l=t(\"parse-rect\"),c=t(\"flatten-vertex-data\");function u(t,e){if(!(this instanceof u))return new u(t,e);this.traces=[],this.passes={},this.regl=t,this.scatter=n(t),this.canvas=this.scatter.canvas}function h(t,e,r){return(null!=t.id?t.id:t)<<16|(255&e)<<8|255&r}function f(t,e,r){var n,a,i,o,s=t[e],l=t[r];return s.length>2?(s[0],s[2],n=s[1],a=s[3]):s.length?(n=s[0],a=s[1]):(s.x,n=s.y,s.x+s.width,a=s.y+s.height),l.length>2?(i=l[0],o=l[2],l[1],l[3]):l.length?(i=l[0],o=l[1]):(i=l.x,l.y,o=l.x+l.width,l.y+l.height),[i,n,o,a]}function p(t){if(\"number\"==typeof t)return[t,t,t,t];if(2===t.length)return[t[0],t[1],t[0],t[1]];var e=l(t);return[e.x,e.y,e.x+e.width,e.y+e.height]}e.exports=u,u.prototype.render=function(){for(var t,e=this,r=[],n=arguments.length;n--;)r[n]=arguments[n];return r.length&&(t=this).update.apply(t,r),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?null==this.planned&&(this.planned=o((function(){e.draw(),e.dirty=!0,e.planned=null}))):(this.draw(),this.dirty=!0,o((function(){e.dirty=!1}))),this)},u.prototype.update=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=0;n<e.length;n++)this.updateItem(n,e[n]);this.traces=this.traces.filter(Boolean);for(var a=[],i=0,o=0;o<this.traces.length;o++){for(var s=this.traces[o],l=this.traces[o].passes,c=0;c<l.length;c++)a.push(this.passes[l[c]]);s.passOffset=i,i+=s.passes.length}return(t=this.scatter).update.apply(t,a),this}},u.prototype.updateItem=function(t,e){var r=this.regl;if(null===e)return this.traces[t]=null,this;if(!e)return this;var n,o=a(e,{data:\"data items columns rows values dimensions samples x\",snap:\"snap cluster\",size:\"sizes size radius\",color:\"colors color fill fill-color fillColor\",opacity:\"opacity alpha transparency opaque\",borderSize:\"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline\",borderColor:\"borderColors borderColor bordercolor stroke stroke-color strokeColor\",marker:\"markers marker shape\",range:\"range ranges databox dataBox\",viewport:\"viewport viewBox viewbox\",domain:\"domain domains area areas\",padding:\"pad padding paddings pads margin margins\",transpose:\"transpose transposed\",diagonal:\"diagonal diag showDiagonal\",upper:\"upper up top upperhalf upperHalf showupperhalf showUpper showUpperHalf\",lower:\"lower low bottom lowerhalf lowerHalf showlowerhalf showLowerHalf showLower\"}),s=this.traces[t]||(this.traces[t]={id:t,buffer:r.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array}),color:\"black\",marker:null,size:12,borderColor:\"transparent\",borderSize:1,viewport:l([r._gl.drawingBufferWidth,r._gl.drawingBufferHeight]),padding:[0,0,0,0],opacity:1,diagonal:!0,upper:!0,lower:!0});if(null!=o.color&&(s.color=o.color),null!=o.size&&(s.size=o.size),null!=o.marker&&(s.marker=o.marker),null!=o.borderColor&&(s.borderColor=o.borderColor),null!=o.borderSize&&(s.borderSize=o.borderSize),null!=o.opacity&&(s.opacity=o.opacity),o.viewport&&(s.viewport=l(o.viewport)),null!=o.diagonal&&(s.diagonal=o.diagonal),null!=o.upper&&(s.upper=o.upper),null!=o.lower&&(s.lower=o.lower),o.data){s.buffer(c(o.data)),s.columns=o.data.length,s.count=o.data[0].length,s.bounds=[];for(var u=0;u<s.columns;u++)s.bounds[u]=i(o.data[u],1)}o.range&&(s.range=o.range,n=s.range&&\"number\"!=typeof s.range[0]),o.domain&&(s.domain=o.domain);var d=!1;null!=o.padding&&(Array.isArray(o.padding)&&o.padding.length===s.columns&&\"number\"==typeof o.padding[o.padding.length-1]?(s.padding=o.padding.map(p),d=!0):s.padding=p(o.padding));var g=s.columns,m=s.count,v=s.viewport.width,y=s.viewport.height,x=s.viewport.x,b=s.viewport.y,_=v/g,w=y/g;s.passes=[];for(var T=0;T<g;T++)for(var k=0;k<g;k++)if((s.diagonal||k!==T)&&(s.upper||!(T>k))&&(s.lower||!(T<k))){var A=h(s.id,T,k),M=this.passes[A]||(this.passes[A]={});if(o.data&&(o.transpose?M.positions={x:{buffer:s.buffer,offset:k,count:m,stride:g},y:{buffer:s.buffer,offset:T,count:m,stride:g}}:M.positions={x:{buffer:s.buffer,offset:k*m,count:m},y:{buffer:s.buffer,offset:T*m,count:m}},M.bounds=f(s.bounds,T,k)),o.domain||o.viewport||o.data){var S=d?f(s.padding,T,k):s.padding;if(s.domain){var E=f(s.domain,T,k),C=E[0],L=E[1],P=E[2],I=E[3];M.viewport=[x+C*v+S[0],b+L*y+S[1],x+P*v-S[2],b+I*y-S[3]]}else M.viewport=[x+k*_+_*S[0],b+T*w+w*S[1],x+(k+1)*_-_*S[2],b+(T+1)*w-w*S[3]]}o.color&&(M.color=s.color),o.size&&(M.size=s.size),o.marker&&(M.marker=s.marker),o.borderSize&&(M.borderSize=s.borderSize),o.borderColor&&(M.borderColor=s.borderColor),o.opacity&&(M.opacity=s.opacity),o.range&&(M.range=n?f(s.range,T,k):s.range||M.bounds),s.passes.push(A)}return this},u.prototype.draw=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=[],a=0;a<e.length;a++)if(\"number\"==typeof e[a]){var i=this.traces[e[a]],o=i.passes,l=i.passOffset;n.push.apply(n,s(l,l+o.length))}else if(e[a].length){var c=e[a],u=this.traces[a],h=u.passes,f=u.passOffset;h=h.map((function(t,e){n[f+e]=c}))}(t=this.scatter).draw.apply(t,n)}else this.scatter.draw();return this},u.prototype.destroy=function(){return this.traces.forEach((function(t){t.buffer&&t.buffer.destroy&&t.buffer.destroy()})),this.traces=null,this.passes=null,this.scatter.destroy(),this}},{\"array-bounds\":68,\"array-range\":70,\"flatten-vertex-data\":239,\"parse-rect\":457,\"pick-by-alias\":463,raf:482,\"regl-scatter2d\":490}],492:[function(t,e,r){!function(t,n){\"object\"==typeof r&&\"undefined\"!=typeof e?e.exports=n():t.createREGL=n()}(this,(function(){function t(t,e){this.id=U++,this.type=t,this.data=e}function e(t){return\"[\"+function t(e){if(0===e.length)return[];var r=e.charAt(0),n=e.charAt(e.length-1);if(1<e.length&&r===n&&('\"'===r||\"'\"===r))return['\"'+e.substr(1,e.length-2).replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"')+'\"'];if(r=/\\[(false|true|null|\\d+|'[^']*'|\"[^\"]*\")\\]/.exec(e))return t(e.substr(0,r.index)).concat(t(r[1])).concat(t(e.substr(r.index+r[0].length)));if(1===(r=e.split(\".\")).length)return['\"'+e.replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"')+'\"'];for(e=[],n=0;n<r.length;++n)e=e.concat(t(r[n]));return e}(t).join(\"][\")+\"]\"}function r(t){return\"string\"==typeof t?t.split():t}function n(t){return\"string\"==typeof t?document.querySelector(t):t}function a(t){var e,a,i,o,s=t||{};t={};var l=[],c=[],u=\"undefined\"==typeof window?1:window.devicePixelRatio,h=!1,f=function(t){},p=function(){};if(\"string\"==typeof s?e=document.querySelector(s):\"object\"==typeof s&&(\"string\"==typeof s.nodeName&&\"function\"==typeof s.appendChild&&\"function\"==typeof s.getBoundingClientRect?e=s:\"function\"==typeof s.drawArrays||\"function\"==typeof s.drawElements?i=(o=s).canvas:(\"gl\"in s?o=s.gl:\"canvas\"in s?i=n(s.canvas):\"container\"in s&&(a=n(s.container)),\"attributes\"in s&&(t=s.attributes),\"extensions\"in s&&(l=r(s.extensions)),\"optionalExtensions\"in s&&(c=r(s.optionalExtensions)),\"onDone\"in s&&(f=s.onDone),\"profile\"in s&&(h=!!s.profile),\"pixelRatio\"in s&&(u=+s.pixelRatio))),e&&(\"canvas\"===e.nodeName.toLowerCase()?i=e:a=e),!o){if(!i){if(!(e=function(t,e,r){function n(){var e=window.innerWidth,n=window.innerHeight;t!==document.body&&(e=(n=t.getBoundingClientRect()).right-n.left,n=n.bottom-n.top),i.width=r*e,i.height=r*n,V(i.style,{width:e+\"px\",height:n+\"px\"})}var a,i=document.createElement(\"canvas\");return V(i.style,{border:0,margin:0,padding:0,top:0,left:0}),t.appendChild(i),t===document.body&&(i.style.position=\"absolute\",V(t.style,{margin:0,padding:0})),t!==document.body&&\"function\"==typeof ResizeObserver?(a=new ResizeObserver((function(){setTimeout(n)}))).observe(t):window.addEventListener(\"resize\",n,!1),n(),{canvas:i,onDestroy:function(){a?a.disconnect():window.removeEventListener(\"resize\",n),t.removeChild(i)}}}(a||document.body,0,u)))return null;i=e.canvas,p=e.onDestroy}void 0===t.premultipliedAlpha&&(t.premultipliedAlpha=!0),o=function(t,e){function r(r){try{return t.getContext(r,e)}catch(t){return null}}return r(\"webgl\")||r(\"experimental-webgl\")||r(\"webgl-experimental\")}(i,t)}return o?{gl:o,canvas:i,container:a,extensions:l,optionalExtensions:c,pixelRatio:u,profile:h,onDone:f,onDestroy:p}:(p(),f(\"webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org\"),null)}function i(t,e){for(var r=Array(t),n=0;n<t;++n)r[n]=e(n);return r}function o(t){var e,r;return e=(65535<t)<<4,e|=r=(255<(t>>>=e))<<3,(e|=r=(15<(t>>>=r))<<2)|(r=(3<(t>>>=r))<<1)|t>>>r>>1}function s(){function t(t){t:{for(var e=16;268435456>=e;e*=16)if(t<=e){t=e;break t}t=0}return 0<(e=r[o(t)>>2]).length?e.pop():new ArrayBuffer(t)}function e(t){r[o(t.byteLength)>>2].push(t)}var r=i(8,(function(){return[]}));return{alloc:t,free:e,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(t){e(t.buffer)}}}function l(t){return!!t&&\"object\"==typeof t&&Array.isArray(t.shape)&&Array.isArray(t.stride)&&\"number\"==typeof t.offset&&t.shape.length===t.stride.length&&(Array.isArray(t.data)||Z(t.data))}function c(t,e,r,n,a,i){for(var o=0;o<e;++o)for(var s=t[o],l=0;l<r;++l)for(var c=s[l],u=0;u<n;++u)a[i++]=c[u]}function u(t){return 0|K[Object.prototype.toString.call(t)]}function h(t,e){for(var r=0;r<e.length;++r)t[r]=e[r]}function f(t,e,r,n,a,i,o){for(var s=0,l=0;l<r;++l)for(var c=0;c<n;++c)t[s++]=e[a*l+i*c+o]}function p(t,e,r,n){function a(e){this.id=c++,this.buffer=t.createBuffer(),this.type=e,this.usage=35044,this.byteLength=0,this.dimension=1,this.dtype=5121,this.persistentData=null,r.profile&&(this.stats={size:0})}function i(e,r,n){e.byteLength=r.byteLength,t.bufferData(e.type,r,n)}function o(t,e,r,n,a,o){if(t.usage=r,Array.isArray(e)){if(t.dtype=n||5126,0<e.length)if(Array.isArray(e[0])){a=et(e);for(var s=n=1;s<a.length;++s)n*=a[s];t.dimension=n,i(t,e=tt(e,a,t.dtype),r),o?t.persistentData=e:Y.freeType(e)}else\"number\"==typeof e[0]?(t.dimension=a,h(a=Y.allocType(t.dtype,e.length),e),i(t,a,r),o?t.persistentData=a:Y.freeType(a)):Z(e[0])&&(t.dimension=e[0].length,t.dtype=n||u(e[0])||5126,i(t,e=tt(e,[e.length,e[0].length],t.dtype),r),o?t.persistentData=e:Y.freeType(e))}else if(Z(e))t.dtype=n||u(e),t.dimension=a,i(t,e,r),o&&(t.persistentData=new Uint8Array(new Uint8Array(e.buffer)));else if(l(e)){a=e.shape;var c=e.stride,p=(s=e.offset,0),d=0,g=0,m=0;1===a.length?(p=a[0],d=1,g=c[0],m=0):2===a.length&&(p=a[0],d=a[1],g=c[0],m=c[1]),t.dtype=n||u(e.data)||5126,t.dimension=d,f(a=Y.allocType(t.dtype,p*d),e.data,p,d,g,m,s),i(t,a,r),o?t.persistentData=a:Y.freeType(a)}else e instanceof ArrayBuffer&&(t.dtype=5121,t.dimension=a,i(t,e,r),o&&(t.persistentData=new Uint8Array(new Uint8Array(e))))}function s(r){e.bufferCount--,n(r),t.deleteBuffer(r.buffer),r.buffer=null,delete p[r.id]}var c=0,p={};a.prototype.bind=function(){t.bindBuffer(this.type,this.buffer)},a.prototype.destroy=function(){s(this)};var d=[];return r.profile&&(e.getTotalBufferSize=function(){var t=0;return Object.keys(p).forEach((function(e){t+=p[e].stats.size})),t}),{create:function(n,i,c,d){function g(e){var n=35044,a=null,i=0,s=0,c=1;return Array.isArray(e)||Z(e)||l(e)||e instanceof ArrayBuffer?a=e:\"number\"==typeof e?i=0|e:e&&(\"data\"in e&&(a=e.data),\"usage\"in e&&(n=$[e.usage]),\"type\"in e&&(s=Q[e.type]),\"dimension\"in e&&(c=0|e.dimension),\"length\"in e&&(i=0|e.length)),m.bind(),a?o(m,a,n,s,c,d):(i&&t.bufferData(m.type,i,n),m.dtype=s||5121,m.usage=n,m.dimension=c,m.byteLength=i),r.profile&&(m.stats.size=m.byteLength*rt[m.dtype]),g}e.bufferCount++;var m=new a(i);return p[m.id]=m,c||g(n),g._reglType=\"buffer\",g._buffer=m,g.subdata=function(e,r){var n,a=0|(r||0);if(m.bind(),Z(e)||e instanceof ArrayBuffer)t.bufferSubData(m.type,a,e);else if(Array.isArray(e)){if(0<e.length)if(\"number\"==typeof e[0]){var i=Y.allocType(m.dtype,e.length);h(i,e),t.bufferSubData(m.type,a,i),Y.freeType(i)}else(Array.isArray(e[0])||Z(e[0]))&&(n=et(e),i=tt(e,n,m.dtype),t.bufferSubData(m.type,a,i),Y.freeType(i))}else if(l(e)){n=e.shape;var o=e.stride,s=i=0,c=0,p=0;1===n.length?(i=n[0],s=1,c=o[0],p=0):2===n.length&&(i=n[0],s=n[1],c=o[0],p=o[1]),n=Array.isArray(e.data)?m.dtype:u(e.data),f(n=Y.allocType(n,i*s),e.data,i,s,c,p,e.offset),t.bufferSubData(m.type,a,n),Y.freeType(n)}return g},r.profile&&(g.stats=m.stats),g.destroy=function(){s(m)},g},createStream:function(t,e){var r=d.pop();return r||(r=new a(t)),r.bind(),o(r,e,35040,0,1,!1),r},destroyStream:function(t){d.push(t)},clear:function(){X(p).forEach(s),d.forEach(s)},getBuffer:function(t){return t&&t._buffer instanceof a?t._buffer:null},restore:function(){X(p).forEach((function(e){e.buffer=t.createBuffer(),t.bindBuffer(e.type,e.buffer),t.bufferData(e.type,e.persistentData||e.byteLength,e.usage)}))},_initBuffer:o}}function d(t,e,r,n){function a(t){this.id=c++,s[this.id]=this,this.buffer=t,this.primType=4,this.type=this.vertCount=0}function i(n,a,i,o,s,c,u){var h;if(n.buffer.bind(),a?((h=u)||Z(a)&&(!l(a)||Z(a.data))||(h=e.oes_element_index_uint?5125:5123),r._initBuffer(n.buffer,a,i,h,3)):(t.bufferData(34963,c,i),n.buffer.dtype=h||5121,n.buffer.usage=i,n.buffer.dimension=3,n.buffer.byteLength=c),h=u,!u){switch(n.buffer.dtype){case 5121:case 5120:h=5121;break;case 5123:case 5122:h=5123;break;case 5125:case 5124:h=5125}n.buffer.dtype=h}n.type=h,0>(a=s)&&(a=n.buffer.byteLength,5123===h?a>>=1:5125===h&&(a>>=2)),n.vertCount=a,a=o,0>o&&(a=4,1===(o=n.buffer.dimension)&&(a=0),2===o&&(a=1),3===o&&(a=4)),n.primType=a}function o(t){n.elementsCount--,delete s[t.id],t.buffer.destroy(),t.buffer=null}var s={},c=0,u={uint8:5121,uint16:5123};e.oes_element_index_uint&&(u.uint32=5125),a.prototype.bind=function(){this.buffer.bind()};var h=[];return{create:function(t,e){function s(t){if(t)if(\"number\"==typeof t)c(t),h.primType=4,h.vertCount=0|t,h.type=5121;else{var e=null,r=35044,n=-1,a=-1,o=0,f=0;Array.isArray(t)||Z(t)||l(t)?e=t:(\"data\"in t&&(e=t.data),\"usage\"in t&&(r=$[t.usage]),\"primitive\"in t&&(n=nt[t.primitive]),\"count\"in t&&(a=0|t.count),\"type\"in t&&(f=u[t.type]),\"length\"in t?o=0|t.length:(o=a,5123===f||5122===f?o*=2:5125!==f&&5124!==f||(o*=4))),i(h,e,r,n,a,o,f)}else c(),h.primType=4,h.vertCount=0,h.type=5121;return s}var c=r.create(null,34963,!0),h=new a(c._buffer);return n.elementsCount++,s(t),s._reglType=\"elements\",s._elements=h,s.subdata=function(t,e){return c.subdata(t,e),s},s.destroy=function(){o(h)},s},createStream:function(t){var e=h.pop();return e||(e=new a(r.create(null,34963,!0,!1)._buffer)),i(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){h.push(t)},getElements:function(t){return\"function\"==typeof t&&t._elements instanceof a?t._elements:null},clear:function(){X(s).forEach(o)}}}function g(t){for(var e=Y.allocType(5123,t.length),r=0;r<t.length;++r)if(isNaN(t[r]))e[r]=65535;else if(1/0===t[r])e[r]=31744;else if(-1/0===t[r])e[r]=64512;else{at[0]=t[r];var n=(i=it[0])>>>31<<15,a=(i<<1>>>24)-127,i=i>>13&1023;e[r]=-24>a?n:-14>a?n+(i+1024>>-14-a):15<a?n+31744:n+(a+15<<10)+i}return e}function m(t){return Array.isArray(t)||Z(t)}function v(t){return\"[object \"+t+\"]\"}function y(t){return Array.isArray(t)&&(0===t.length||\"number\"==typeof t[0])}function x(t){return!(!Array.isArray(t)||0===t.length||!m(t[0]))}function b(t){return Object.prototype.toString.call(t)}function _(t){if(!t)return!1;var e=b(t);return 0<=gt.indexOf(e)||(y(t)||x(t)||l(t))}function w(t,e){36193===t.type?(t.data=g(e),Y.freeType(e)):t.data=e}function T(t,e,r,n,a,i){if(t=\"undefined\"!=typeof vt[t]?vt[t]:lt[t]*mt[e],i&&(t*=6),a){for(n=0;1<=r;)n+=t*r*r,r/=2;return n}return t*r*n}function k(t,e,r,n,a,i,o){function s(){this.format=this.internalformat=6408,this.type=5121,this.flipY=this.premultiplyAlpha=this.compressed=!1,this.unpackAlignment=1,this.colorSpace=37444,this.channels=this.height=this.width=0}function c(t,e){t.internalformat=e.internalformat,t.format=e.format,t.type=e.type,t.compressed=e.compressed,t.premultiplyAlpha=e.premultiplyAlpha,t.flipY=e.flipY,t.unpackAlignment=e.unpackAlignment,t.colorSpace=e.colorSpace,t.width=e.width,t.height=e.height,t.channels=e.channels}function u(t,e){if(\"object\"==typeof e&&e){\"premultiplyAlpha\"in e&&(t.premultiplyAlpha=e.premultiplyAlpha),\"flipY\"in e&&(t.flipY=e.flipY),\"alignment\"in e&&(t.unpackAlignment=e.alignment),\"colorSpace\"in e&&(t.colorSpace=q[e.colorSpace]),\"type\"in e&&(t.type=H[e.type]);var r=t.width,n=t.height,a=t.channels,i=!1;\"shape\"in e?(r=e.shape[0],n=e.shape[1],3===e.shape.length&&(a=e.shape[2],i=!0)):(\"radius\"in e&&(r=n=e.radius),\"width\"in e&&(r=e.width),\"height\"in e&&(n=e.height),\"channels\"in e&&(a=e.channels,i=!0)),t.width=0|r,t.height=0|n,t.channels=0|a,r=!1,\"format\"in e&&(r=e.format,n=t.internalformat=G[r],t.format=it[n],r in H&&!(\"type\"in e)&&(t.type=H[r]),r in W&&(t.compressed=!0),r=!0),!i&&r?t.channels=lt[t.format]:i&&!r&&t.channels!==st[t.format]&&(t.format=t.internalformat=st[t.channels])}}function h(e){t.pixelStorei(37440,e.flipY),t.pixelStorei(37441,e.premultiplyAlpha),t.pixelStorei(37443,e.colorSpace),t.pixelStorei(3317,e.unpackAlignment)}function f(){s.call(this),this.yOffset=this.xOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function p(t,e){var r=null;if(_(e)?r=e:e&&(u(t,e),\"x\"in e&&(t.xOffset=0|e.x),\"y\"in e&&(t.yOffset=0|e.y),_(e.data)&&(r=e.data)),e.copy){var n=a.viewportWidth,i=a.viewportHeight;t.width=t.width||n-t.xOffset,t.height=t.height||i-t.yOffset,t.needsCopy=!0}else if(r){if(Z(r))t.channels=t.channels||4,t.data=r,\"type\"in e||5121!==t.type||(t.type=0|K[Object.prototype.toString.call(r)]);else if(y(r)){switch(t.channels=t.channels||4,i=(n=r).length,t.type){case 5121:case 5123:case 5125:case 5126:(i=Y.allocType(t.type,i)).set(n),t.data=i;break;case 36193:t.data=g(n)}t.alignment=1,t.needsFree=!0}else if(l(r)){n=r.data,Array.isArray(n)||5121!==t.type||(t.type=0|K[Object.prototype.toString.call(n)]);i=r.shape;var o,s,c,h,f=r.stride;3===i.length?(c=i[2],h=f[2]):h=c=1,o=i[0],s=i[1],i=f[0],f=f[1],t.alignment=1,t.width=o,t.height=s,t.channels=c,t.format=t.internalformat=st[c],t.needsFree=!0,o=h,r=r.offset,c=t.width,h=t.height,s=t.channels;for(var p=Y.allocType(36193===t.type?5126:t.type,c*h*s),d=0,v=0;v<h;++v)for(var T=0;T<c;++T)for(var k=0;k<s;++k)p[d++]=n[i*T+f*v+o*k+r];w(t,p)}else if(b(r)===ct||b(r)===ut||b(r)===ht)b(r)===ct||b(r)===ut?t.element=r:t.element=r.canvas,t.width=t.element.width,t.height=t.element.height,t.channels=4;else if(b(r)===ft)t.element=r,t.width=r.width,t.height=r.height,t.channels=4;else if(b(r)===pt)t.element=r,t.width=r.naturalWidth,t.height=r.naturalHeight,t.channels=4;else if(b(r)===dt)t.element=r,t.width=r.videoWidth,t.height=r.videoHeight,t.channels=4;else if(x(r)){for(n=t.width||r[0].length,i=t.height||r.length,f=t.channels,f=m(r[0][0])?f||r[0][0].length:f||1,o=J.shape(r),c=1,h=0;h<o.length;++h)c*=o[h];c=Y.allocType(36193===t.type?5126:t.type,c),J.flatten(r,o,\"\",c),w(t,c),t.alignment=1,t.width=n,t.height=i,t.channels=f,t.format=t.internalformat=st[f],t.needsFree=!0}}else t.width=t.width||1,t.height=t.height||1,t.channels=t.channels||4}function d(e,r,a,i,o){var s=e.element,l=e.data,c=e.internalformat,u=e.format,f=e.type,p=e.width,d=e.height;h(e),s?t.texSubImage2D(r,o,a,i,u,f,s):e.compressed?t.compressedTexSubImage2D(r,o,a,i,c,p,d,l):e.needsCopy?(n(),t.copyTexSubImage2D(r,o,a,i,e.xOffset,e.yOffset,p,d)):t.texSubImage2D(r,o,a,i,p,d,u,f,l)}function v(){return gt.pop()||new f}function k(t){t.needsFree&&Y.freeType(t.data),f.call(t),gt.push(t)}function A(){s.call(this),this.genMipmaps=!1,this.mipmapHint=4352,this.mipmask=0,this.images=Array(16)}function M(t,e,r){var n=t.images[0]=v();t.mipmask=1,n.width=t.width=e,n.height=t.height=r,n.channels=t.channels=4}function S(t,e){var r=null;if(_(e))c(r=t.images[0]=v(),t),p(r,e),t.mipmask=1;else if(u(t,e),Array.isArray(e.mipmap))for(var n=e.mipmap,a=0;a<n.length;++a)c(r=t.images[a]=v(),t),r.width>>=a,r.height>>=a,p(r,n[a]),t.mipmask|=1<<a;else c(r=t.images[0]=v(),t),p(r,e),t.mipmask=1;c(t,t.images[0])}function E(e,r){for(var a=e.images,i=0;i<a.length&&a[i];++i){var o=a[i],s=r,l=i,c=o.element,u=o.data,f=o.internalformat,p=o.format,d=o.type,g=o.width,m=o.height;h(o),c?t.texImage2D(s,l,p,p,d,c):o.compressed?t.compressedTexImage2D(s,l,f,g,m,0,u):o.needsCopy?(n(),t.copyTexImage2D(s,l,p,o.xOffset,o.yOffset,g,m,0)):t.texImage2D(s,l,p,g,m,0,p,d,u||null)}}function C(){var t=mt.pop()||new A;s.call(t);for(var e=t.mipmask=0;16>e;++e)t.images[e]=null;return t}function L(t){for(var e=t.images,r=0;r<e.length;++r)e[r]&&k(e[r]),e[r]=null;mt.push(t)}function P(){this.magFilter=this.minFilter=9728,this.wrapT=this.wrapS=33071,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=4352}function I(t,e){\"min\"in e&&(t.minFilter=U[e.min],0<=ot.indexOf(t.minFilter)&&!(\"faces\"in e)&&(t.genMipmaps=!0)),\"mag\"in e&&(t.magFilter=j[e.mag]);var r=t.wrapS,n=t.wrapT;if(\"wrap\"in e){var a=e.wrap;\"string\"==typeof a?r=n=N[a]:Array.isArray(a)&&(r=N[a[0]],n=N[a[1]])}else\"wrapS\"in e&&(r=N[e.wrapS]),\"wrapT\"in e&&(n=N[e.wrapT]);if(t.wrapS=r,t.wrapT=n,\"anisotropic\"in e&&(t.anisotropic=e.anisotropic),\"mipmap\"in e){switch(r=!1,typeof e.mipmap){case\"string\":t.mipmapHint=B[e.mipmap],r=t.genMipmaps=!0;break;case\"boolean\":r=t.genMipmaps=e.mipmap;break;case\"object\":t.genMipmaps=!1,r=!0}!r||\"min\"in e||(t.minFilter=9984)}}function z(r,n){t.texParameteri(n,10241,r.minFilter),t.texParameteri(n,10240,r.magFilter),t.texParameteri(n,10242,r.wrapS),t.texParameteri(n,10243,r.wrapT),e.ext_texture_filter_anisotropic&&t.texParameteri(n,34046,r.anisotropic),r.genMipmaps&&(t.hint(33170,r.mipmapHint),t.generateMipmap(n))}function O(e){s.call(this),this.mipmask=0,this.internalformat=6408,this.id=vt++,this.refCount=1,this.target=e,this.texture=t.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new P,o.profile&&(this.stats={size:0})}function D(e){t.activeTexture(33984),t.bindTexture(e.target,e.texture)}function R(){var e=bt[0];e?t.bindTexture(e.target,e.texture):t.bindTexture(3553,null)}function F(e){var r=e.texture,n=e.unit,a=e.target;0<=n&&(t.activeTexture(33984+n),t.bindTexture(a,null),bt[n]=null),t.deleteTexture(r),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete yt[e.id],i.textureCount--}var B={\"don't care\":4352,\"dont care\":4352,nice:4354,fast:4353},N={repeat:10497,clamp:33071,mirror:33648},j={nearest:9728,linear:9729},U=V({mipmap:9987,\"nearest mipmap nearest\":9984,\"linear mipmap nearest\":9985,\"nearest mipmap linear\":9986,\"linear mipmap linear\":9987},j),q={none:0,browser:37444},H={uint8:5121,rgba4:32819,rgb565:33635,\"rgb5 a1\":32820},G={alpha:6406,luminance:6409,\"luminance alpha\":6410,rgb:6407,rgba:6408,rgba4:32854,\"rgb5 a1\":32855,rgb565:36194},W={};e.ext_srgb&&(G.srgb=35904,G.srgba=35906),e.oes_texture_float&&(H.float32=H.float=5126),e.oes_texture_half_float&&(H.float16=H[\"half float\"]=36193),e.webgl_depth_texture&&(V(G,{depth:6402,\"depth stencil\":34041}),V(H,{uint16:5123,uint32:5125,\"depth stencil\":34042})),e.webgl_compressed_texture_s3tc&&V(W,{\"rgb s3tc dxt1\":33776,\"rgba s3tc dxt1\":33777,\"rgba s3tc dxt3\":33778,\"rgba s3tc dxt5\":33779}),e.webgl_compressed_texture_atc&&V(W,{\"rgb atc\":35986,\"rgba atc explicit alpha\":35987,\"rgba atc interpolated alpha\":34798}),e.webgl_compressed_texture_pvrtc&&V(W,{\"rgb pvrtc 4bppv1\":35840,\"rgb pvrtc 2bppv1\":35841,\"rgba pvrtc 4bppv1\":35842,\"rgba pvrtc 2bppv1\":35843}),e.webgl_compressed_texture_etc1&&(W[\"rgb etc1\"]=36196);var Q=Array.prototype.slice.call(t.getParameter(34467));Object.keys(W).forEach((function(t){var e=W[t];0<=Q.indexOf(e)&&(G[t]=e)}));var $=Object.keys(G);r.textureFormats=$;var tt=[];Object.keys(G).forEach((function(t){tt[G[t]]=t}));var et=[];Object.keys(H).forEach((function(t){et[H[t]]=t}));var rt=[];Object.keys(j).forEach((function(t){rt[j[t]]=t}));var nt=[];Object.keys(U).forEach((function(t){nt[U[t]]=t}));var at=[];Object.keys(N).forEach((function(t){at[N[t]]=t}));var it=$.reduce((function(t,r){var n=G[r];return 6409===n||6406===n||6409===n||6410===n||6402===n||34041===n||e.ext_srgb&&(35904===n||35906===n)?t[n]=n:32855===n||0<=r.indexOf(\"rgba\")?t[n]=6408:t[n]=6407,t}),{}),gt=[],mt=[],vt=0,yt={},xt=r.maxTextureUnits,bt=Array(xt).map((function(){return null}));return V(O.prototype,{bind:function(){this.bindCount+=1;var e=this.unit;if(0>e){for(var r=0;r<xt;++r){var n=bt[r];if(n){if(0<n.bindCount)continue;n.unit=-1}bt[r]=this,e=r;break}o.profile&&i.maxTextureUnits<e+1&&(i.maxTextureUnits=e+1),this.unit=e,t.activeTexture(33984+e),t.bindTexture(this.target,this.texture)}return e},unbind:function(){--this.bindCount},decRef:function(){0>=--this.refCount&&F(this)}}),o.profile&&(i.getTotalTextureSize=function(){var t=0;return Object.keys(yt).forEach((function(e){t+=yt[e].stats.size})),t}),{create2D:function(e,r){function n(t,e){var r=a.texInfo;P.call(r);var i=C();return\"number\"==typeof t?M(i,0|t,\"number\"==typeof e?0|e:0|t):t?(I(r,t),S(i,t)):M(i,1,1),r.genMipmaps&&(i.mipmask=(i.width<<1)-1),a.mipmask=i.mipmask,c(a,i),a.internalformat=i.internalformat,n.width=i.width,n.height=i.height,D(a),E(i,3553),z(r,3553),R(),L(i),o.profile&&(a.stats.size=T(a.internalformat,a.type,i.width,i.height,r.genMipmaps,!1)),n.format=tt[a.internalformat],n.type=et[a.type],n.mag=rt[r.magFilter],n.min=nt[r.minFilter],n.wrapS=at[r.wrapS],n.wrapT=at[r.wrapT],n}var a=new O(3553);return yt[a.id]=a,i.textureCount++,n(e,r),n.subimage=function(t,e,r,i){e|=0,r|=0,i|=0;var o=v();return c(o,a),o.width=0,o.height=0,p(o,t),o.width=o.width||(a.width>>i)-e,o.height=o.height||(a.height>>i)-r,D(a),d(o,3553,e,r,i),R(),k(o),n},n.resize=function(e,r){var i=0|e,s=0|r||i;if(i===a.width&&s===a.height)return n;n.width=a.width=i,n.height=a.height=s,D(a);for(var l=0;a.mipmask>>l;++l){var c=i>>l,u=s>>l;if(!c||!u)break;t.texImage2D(3553,l,a.format,c,u,0,a.format,a.type,null)}return R(),o.profile&&(a.stats.size=T(a.internalformat,a.type,i,s,!1,!1)),n},n._reglType=\"texture2d\",n._texture=a,o.profile&&(n.stats=a.stats),n.destroy=function(){a.decRef()},n},createCube:function(e,r,n,a,s,l){function h(t,e,r,n,a,i){var s,l=f.texInfo;for(P.call(l),s=0;6>s;++s)g[s]=C();if(\"number\"!=typeof t&&t){if(\"object\"==typeof t)if(e)S(g[0],t),S(g[1],e),S(g[2],r),S(g[3],n),S(g[4],a),S(g[5],i);else if(I(l,t),u(f,t),\"faces\"in t)for(t=t.faces,s=0;6>s;++s)c(g[s],f),S(g[s],t[s]);else for(s=0;6>s;++s)S(g[s],t)}else for(t=0|t||1,s=0;6>s;++s)M(g[s],t,t);for(c(f,g[0]),f.mipmask=l.genMipmaps?(g[0].width<<1)-1:g[0].mipmask,f.internalformat=g[0].internalformat,h.width=g[0].width,h.height=g[0].height,D(f),s=0;6>s;++s)E(g[s],34069+s);for(z(l,34067),R(),o.profile&&(f.stats.size=T(f.internalformat,f.type,h.width,h.height,l.genMipmaps,!0)),h.format=tt[f.internalformat],h.type=et[f.type],h.mag=rt[l.magFilter],h.min=nt[l.minFilter],h.wrapS=at[l.wrapS],h.wrapT=at[l.wrapT],s=0;6>s;++s)L(g[s]);return h}var f=new O(34067);yt[f.id]=f,i.cubeCount++;var g=Array(6);return h(e,r,n,a,s,l),h.subimage=function(t,e,r,n,a){r|=0,n|=0,a|=0;var i=v();return c(i,f),i.width=0,i.height=0,p(i,e),i.width=i.width||(f.width>>a)-r,i.height=i.height||(f.height>>a)-n,D(f),d(i,34069+t,r,n,a),R(),k(i),h},h.resize=function(e){if((e|=0)!==f.width){h.width=f.width=e,h.height=f.height=e,D(f);for(var r=0;6>r;++r)for(var n=0;f.mipmask>>n;++n)t.texImage2D(34069+r,n,f.format,e>>n,e>>n,0,f.format,f.type,null);return R(),o.profile&&(f.stats.size=T(f.internalformat,f.type,h.width,h.height,!1,!0)),h}},h._reglType=\"textureCube\",h._texture=f,o.profile&&(h.stats=f.stats),h.destroy=function(){f.decRef()},h},clear:function(){for(var e=0;e<xt;++e)t.activeTexture(33984+e),t.bindTexture(3553,null),bt[e]=null;X(yt).forEach(F),i.cubeCount=0,i.textureCount=0},getTexture:function(t){return null},restore:function(){for(var e=0;e<xt;++e){var r=bt[e];r&&(r.bindCount=0,r.unit=-1,bt[e]=null)}X(yt).forEach((function(e){e.texture=t.createTexture(),t.bindTexture(e.target,e.texture);for(var r=0;32>r;++r)if(0!=(e.mipmask&1<<r))if(3553===e.target)t.texImage2D(3553,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;6>n;++n)t.texImage2D(34069+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);z(e.texInfo,e.target)}))}}}function A(t,e,r,n,a,i){function o(t,e,r){this.target=t,this.texture=e,this.renderbuffer=r;var n=t=0;e?(t=e.width,n=e.height):r&&(t=r.width,n=r.height),this.width=t,this.height=n}function s(t){t&&(t.texture&&t.texture._texture.decRef(),t.renderbuffer&&t.renderbuffer._renderbuffer.decRef())}function l(t,e,r){t&&(t.texture?t.texture._texture.refCount+=1:t.renderbuffer._renderbuffer.refCount+=1)}function c(e,r){r&&(r.texture?t.framebufferTexture2D(36160,e,r.target,r.texture._texture.texture,0):t.framebufferRenderbuffer(36160,e,36161,r.renderbuffer._renderbuffer.renderbuffer))}function u(t){var e=3553,r=null,n=null,a=t;return\"object\"==typeof t&&(a=t.data,\"target\"in t&&(e=0|t.target)),\"texture2d\"===(t=a._reglType)||\"textureCube\"===t?r=a:\"renderbuffer\"===t&&(n=a,e=36161),new o(e,r,n)}function h(t,e,r,i,s){return r?((t=n.create2D({width:t,height:e,format:i,type:s}))._texture.refCount=0,new o(3553,t,null)):((t=a.create({width:t,height:e,format:i}))._renderbuffer.refCount=0,new o(36161,null,t))}function f(t){return t&&(t.texture||t.renderbuffer)}function p(t,e,r){t&&(t.texture?t.texture.resize(e,r):t.renderbuffer&&t.renderbuffer.resize(e,r),t.width=e,t.height=r)}function d(){this.id=T++,k[this.id]=this,this.framebuffer=t.createFramebuffer(),this.height=this.width=0,this.colorAttachments=[],this.depthStencilAttachment=this.stencilAttachment=this.depthAttachment=null}function g(t){t.colorAttachments.forEach(s),s(t.depthAttachment),s(t.stencilAttachment),s(t.depthStencilAttachment)}function m(e){t.deleteFramebuffer(e.framebuffer),e.framebuffer=null,i.framebufferCount--,delete k[e.id]}function v(e){var n;t.bindFramebuffer(36160,e.framebuffer);var a=e.colorAttachments;for(n=0;n<a.length;++n)c(36064+n,a[n]);for(n=a.length;n<r.maxColorAttachments;++n)t.framebufferTexture2D(36160,36064+n,3553,null,0);t.framebufferTexture2D(36160,33306,3553,null,0),t.framebufferTexture2D(36160,36096,3553,null,0),t.framebufferTexture2D(36160,36128,3553,null,0),c(36096,e.depthAttachment),c(36128,e.stencilAttachment),c(33306,e.depthStencilAttachment),t.checkFramebufferStatus(36160),t.isContextLost(),t.bindFramebuffer(36160,x.next?x.next.framebuffer:null),x.cur=x.next,t.getError()}function y(t,e){function r(t,e){var a,i=0,o=0,s=!0,c=!0;a=null;var p=!0,d=\"rgba\",m=\"uint8\",y=1,x=null,w=null,T=null,k=!1;\"number\"==typeof t?(i=0|t,o=0|e||i):t?(\"shape\"in t?(i=(o=t.shape)[0],o=o[1]):(\"radius\"in t&&(i=o=t.radius),\"width\"in t&&(i=t.width),\"height\"in t&&(o=t.height)),(\"color\"in t||\"colors\"in t)&&(a=t.color||t.colors,Array.isArray(a)),a||(\"colorCount\"in t&&(y=0|t.colorCount),\"colorTexture\"in t&&(p=!!t.colorTexture,d=\"rgba4\"),\"colorType\"in t&&(m=t.colorType,!p)&&(\"half float\"===m||\"float16\"===m?d=\"rgba16f\":\"float\"!==m&&\"float32\"!==m||(d=\"rgba32f\")),\"colorFormat\"in t&&(d=t.colorFormat,0<=b.indexOf(d)?p=!0:0<=_.indexOf(d)&&(p=!1))),(\"depthTexture\"in t||\"depthStencilTexture\"in t)&&(k=!(!t.depthTexture&&!t.depthStencilTexture)),\"depth\"in t&&(\"boolean\"==typeof t.depth?s=t.depth:(x=t.depth,c=!1)),\"stencil\"in t&&(\"boolean\"==typeof t.stencil?c=t.stencil:(w=t.stencil,s=!1)),\"depthStencil\"in t&&(\"boolean\"==typeof t.depthStencil?s=c=t.depthStencil:(T=t.depthStencil,c=s=!1))):i=o=1;var A=null,M=null,S=null,E=null;if(Array.isArray(a))A=a.map(u);else if(a)A=[u(a)];else for(A=Array(y),a=0;a<y;++a)A[a]=h(i,o,p,d,m);for(i=i||A[0].width,o=o||A[0].height,x?M=u(x):s&&!c&&(M=h(i,o,k,\"depth\",\"uint32\")),w?S=u(w):c&&!s&&(S=h(i,o,!1,\"stencil\",\"uint8\")),T?E=u(T):!x&&!w&&c&&s&&(E=h(i,o,k,\"depth stencil\",\"depth stencil\")),s=null,a=0;a<A.length;++a)l(A[a]),A[a]&&A[a].texture&&(c=bt[A[a].texture._texture.format]*_t[A[a].texture._texture.type],null===s&&(s=c));return l(M),l(S),l(E),g(n),n.width=i,n.height=o,n.colorAttachments=A,n.depthAttachment=M,n.stencilAttachment=S,n.depthStencilAttachment=E,r.color=A.map(f),r.depth=f(M),r.stencil=f(S),r.depthStencil=f(E),r.width=n.width,r.height=n.height,v(n),r}var n=new d;return i.framebufferCount++,r(t,e),V(r,{resize:function(t,e){var a=Math.max(0|t,1),i=Math.max(0|e||a,1);if(a===n.width&&i===n.height)return r;for(var o=n.colorAttachments,s=0;s<o.length;++s)p(o[s],a,i);return p(n.depthAttachment,a,i),p(n.stencilAttachment,a,i),p(n.depthStencilAttachment,a,i),n.width=r.width=a,n.height=r.height=i,v(n),r},_reglType:\"framebuffer\",_framebuffer:n,destroy:function(){m(n),g(n)},use:function(t){x.setFBO({framebuffer:r},t)}})}var x={cur:null,next:null,dirty:!1,setFBO:null},b=[\"rgba\"],_=[\"rgba4\",\"rgb565\",\"rgb5 a1\"];e.ext_srgb&&_.push(\"srgba\"),e.ext_color_buffer_half_float&&_.push(\"rgba16f\",\"rgb16f\"),e.webgl_color_buffer_float&&_.push(\"rgba32f\");var w=[\"uint8\"];e.oes_texture_half_float&&w.push(\"half float\",\"float16\"),e.oes_texture_float&&w.push(\"float\",\"float32\");var T=0,k={};return V(x,{getFramebuffer:function(t){return\"function\"==typeof t&&\"framebuffer\"===t._reglType&&(t=t._framebuffer)instanceof d?t:null},create:y,createCube:function(t){function e(t){var a,i={color:null},o=0,s=null;a=\"rgba\";var l=\"uint8\",c=1;if(\"number\"==typeof t?o=0|t:t?(\"shape\"in t?o=t.shape[0]:(\"radius\"in t&&(o=0|t.radius),\"width\"in t?o=0|t.width:\"height\"in t&&(o=0|t.height)),(\"color\"in t||\"colors\"in t)&&(s=t.color||t.colors,Array.isArray(s)),s||(\"colorCount\"in t&&(c=0|t.colorCount),\"colorType\"in t&&(l=t.colorType),\"colorFormat\"in t&&(a=t.colorFormat)),\"depth\"in t&&(i.depth=t.depth),\"stencil\"in t&&(i.stencil=t.stencil),\"depthStencil\"in t&&(i.depthStencil=t.depthStencil)):o=1,s)if(Array.isArray(s))for(t=[],a=0;a<s.length;++a)t[a]=s[a];else t=[s];else for(t=Array(c),s={radius:o,format:a,type:l},a=0;a<c;++a)t[a]=n.createCube(s);for(i.color=Array(t.length),a=0;a<t.length;++a)c=t[a],o=o||c.width,i.color[a]={target:34069,data:t[a]};for(a=0;6>a;++a){for(c=0;c<t.length;++c)i.color[c].target=34069+a;0<a&&(i.depth=r[0].depth,i.stencil=r[0].stencil,i.depthStencil=r[0].depthStencil),r[a]?r[a](i):r[a]=y(i)}return V(e,{width:o,height:o,color:t})}var r=Array(6);return e(t),V(e,{faces:r,resize:function(t){var n=0|t;if(n===e.width)return e;var a=e.color;for(t=0;t<a.length;++t)a[t].resize(n);for(t=0;6>t;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:\"framebufferCube\",destroy:function(){r.forEach((function(t){t.destroy()}))}})},clear:function(){X(k).forEach(m)},restore:function(){x.cur=null,x.next=null,x.dirty=!0,X(k).forEach((function(e){e.framebuffer=t.createFramebuffer(),v(e)}))}})}function M(){this.w=this.z=this.y=this.x=this.state=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.divisor=this.stride=this.offset=0}function S(t,e,r,n,a){function i(){this.id=++c,this.attributes=[];var t=e.oes_vertex_array_object;this.vao=t?t.createVertexArrayOES():null,u[this.id]=this,this.buffers=[]}var o=r.maxAttributes,s=Array(o);for(r=0;r<o;++r)s[r]=new M;var c=0,u={},h={Record:M,scope:{},state:s,currentVAO:null,targetVAO:null,restore:e.oes_vertex_array_object?function(){e.oes_vertex_array_object&&X(u).forEach((function(t){t.refresh()}))}:function(){},createVAO:function(t){function e(t){for(var n=0;n<r.buffers.length;++n)r.buffers[n].destroy();r.buffers.length=0,(n=r.attributes).length=t.length;for(var i=0;i<t.length;++i){var o=t[i],s=n[i]=new M;Array.isArray(o)||Z(o)||l(o)?(o=a.create(o,34962,!1,!0),s.buffer=a.getBuffer(o),s.size=0|s.buffer.dimension,s.normalized=!1,s.type=s.buffer.dtype,s.offset=0,s.stride=0,s.divisor=0,s.state=1,r.buffers.push(o)):a.getBuffer(o)?(s.buffer=a.getBuffer(o),s.size=0|s.buffer.dimension,s.normalized=!1,s.type=s.buffer.dtype,s.offset=0,s.stride=0,s.divisor=0,s.state=1):a.getBuffer(o.buffer)?(s.buffer=a.getBuffer(o.buffer),s.size=0|(+o.size||s.buffer.dimension),s.normalized=!!o.normalized||!1,s.type=\"type\"in o?Q[o.type]:s.buffer.dtype,s.offset=0|(o.offset||0),s.stride=0|(o.stride||0),s.divisor=0|(o.divisor||0),s.state=1):\"x\"in o&&(s.x=+o.x||0,s.y=+o.y||0,s.z=+o.z||0,s.w=+o.w||0,s.state=2)}return r.refresh(),e}var r=new i;return n.vaoCount+=1,e.destroy=function(){r.destroy()},e._vao=r,e._reglType=\"vao\",e(t)},getVAO:function(t){return\"function\"==typeof t&&t._vao?t._vao:null},destroyBuffer:function(e){for(var r=0;r<s.length;++r){var n=s[r];n.buffer===e&&(t.disableVertexAttribArray(r),n.buffer=null)}},setVAO:e.oes_vertex_array_object?function(t){if(t!==h.currentVAO){var r=e.oes_vertex_array_object;t?r.bindVertexArrayOES(t.vao):r.bindVertexArrayOES(null),h.currentVAO=t}}:function(r){if(r!==h.currentVAO){if(r)r.bindAttrs();else for(var n=e.angle_instanced_arrays,a=0;a<s.length;++a){var i=s[a];i.buffer?(t.enableVertexAttribArray(a),t.vertexAttribPointer(a,i.size,i.type,i.normalized,i.stride,i.offfset),n&&n.vertexAttribDivisorANGLE(a,i.divisor)):(t.disableVertexAttribArray(a),t.vertexAttrib4f(a,i.x,i.y,i.z,i.w))}h.currentVAO=r}},clear:e.oes_vertex_array_object?function(){X(u).forEach((function(t){t.destroy()}))}:function(){}};return i.prototype.bindAttrs=function(){for(var r=e.angle_instanced_arrays,n=this.attributes,a=0;a<n.length;++a){var i=n[a];i.buffer?(t.enableVertexAttribArray(a),t.bindBuffer(34962,i.buffer.buffer),t.vertexAttribPointer(a,i.size,i.type,i.normalized,i.stride,i.offset),r&&r.vertexAttribDivisorANGLE(a,i.divisor)):(t.disableVertexAttribArray(a),t.vertexAttrib4f(a,i.x,i.y,i.z,i.w))}for(r=n.length;r<o;++r)t.disableVertexAttribArray(r)},i.prototype.refresh=function(){var t=e.oes_vertex_array_object;t&&(t.bindVertexArrayOES(this.vao),this.bindAttrs(),h.currentVAO=this)},i.prototype.destroy=function(){if(this.vao){var t=e.oes_vertex_array_object;this===h.currentVAO&&(h.currentVAO=null,t.bindVertexArrayOES(null)),t.deleteVertexArrayOES(this.vao),this.vao=null}u[this.id]&&(delete u[this.id],--n.vaoCount)},h}function E(t,e,r,n){function a(t,e,r,n){this.name=t,this.id=e,this.location=r,this.info=n}function i(t,e){for(var r=0;r<t.length;++r)if(t[r].id===e.id)return void(t[r].location=e.location);t.push(e)}function o(r,n,a){if(!(o=(a=35632===r?c:u)[n])){var i=e.str(n),o=t.createShader(r);t.shaderSource(o,i),t.compileShader(o),a[n]=o}return o}function s(t,e){this.id=p++,this.fragId=t,this.vertId=e,this.program=null,this.uniforms=[],this.attributes=[],n.profile&&(this.stats={uniformsCount:0,attributesCount:0})}function l(r,s,l){var c;c=o(35632,r.fragId);var u=o(35633,r.vertId);if(s=r.program=t.createProgram(),t.attachShader(s,c),t.attachShader(s,u),l)for(c=0;c<l.length;++c)u=l[c],t.bindAttribLocation(s,u[0],u[1]);t.linkProgram(s),u=t.getProgramParameter(s,35718),n.profile&&(r.stats.uniformsCount=u);var h=r.uniforms;for(c=0;c<u;++c)if(l=t.getActiveUniform(s,c))if(1<l.size)for(var f=0;f<l.size;++f){var p=l.name.replace(\"[0]\",\"[\"+f+\"]\");i(h,new a(p,e.id(p),t.getUniformLocation(s,p),l))}else i(h,new a(l.name,e.id(l.name),t.getUniformLocation(s,l.name),l));for(u=t.getProgramParameter(s,35721),n.profile&&(r.stats.attributesCount=u),r=r.attributes,c=0;c<u;++c)(l=t.getActiveAttrib(s,c))&&i(r,new a(l.name,e.id(l.name),t.getAttribLocation(s,l.name),l))}var c={},u={},h={},f=[],p=0;return n.profile&&(r.getMaxUniformsCount=function(){var t=0;return f.forEach((function(e){e.stats.uniformsCount>t&&(t=e.stats.uniformsCount)})),t},r.getMaxAttributesCount=function(){var t=0;return f.forEach((function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)})),t}),{clear:function(){var e=t.deleteShader.bind(t);X(c).forEach(e),c={},X(u).forEach(e),u={},f.forEach((function(e){t.deleteProgram(e.program)})),f.length=0,h={},r.shaderCount=0},program:function(t,e,n,a){var i=h[e];i||(i=h[e]={});var o=i[t];return o&&!a?o:(e=new s(e,t),r.shaderCount++,l(e,n,a),o||(i[t]=e),f.push(e),e)},restore:function(){c={},u={};for(var t=0;t<f.length;++t)l(f[t],null,f[t].attributes.map((function(t){return[t.location,t.name]})))},shader:o,frag:-1,vert:-1}}function C(t,e,r,n,a,i,o){function s(a){var i;i=null===e.next?5121:e.next.colorAttachments[0].texture._texture.type;var o=0,s=0,l=n.framebufferWidth,c=n.framebufferHeight,u=null;return Z(a)?u=a:a&&(o=0|a.x,s=0|a.y,l=0|(a.width||n.framebufferWidth-o),c=0|(a.height||n.framebufferHeight-s),u=a.data||null),r(),a=l*c*4,u||(5121===i?u=new Uint8Array(a):5126===i&&(u=u||new Float32Array(a))),t.pixelStorei(3333,4),t.readPixels(o,s,l,c,6408,i,u),u}return function(t){return t&&\"framebuffer\"in t?function(t){var r;return e.setFBO({framebuffer:t.framebuffer},(function(){r=s(t)})),r}(t):s(t)}}function L(t){return Array.prototype.slice.call(t)}function P(t){return L(t).join(\"\")}function I(){function t(){var t=[],e=[];return V((function(){t.push.apply(t,L(arguments))}),{def:function(){var n=\"v\"+r++;return e.push(n),0<arguments.length&&(t.push(n,\"=\"),t.push.apply(t,L(arguments)),t.push(\";\")),n},toString:function(){return P([0<e.length?\"var \"+e.join(\",\")+\";\":\"\",P(t)])}})}function e(){function e(t,e){n(t,e,\"=\",r.def(t,e),\";\")}var r=t(),n=t(),a=r.toString,i=n.toString;return V((function(){r.apply(r,L(arguments))}),{def:r.def,entry:r,exit:n,save:e,set:function(t,n,a){e(t,n),r(t,n,\"=\",a,\";\")},toString:function(){return a()+i()}})}var r=0,n=[],a=[],i=t(),o={};return{global:i,link:function(t){for(var e=0;e<a.length;++e)if(a[e]===t)return n[e];return e=\"g\"+r++,n.push(e),a.push(t),e},block:t,proc:function(t,r){function n(){var t=\"a\"+a.length;return a.push(t),t}var a=[];r=r||0;for(var i=0;i<r;++i)n();var s=(i=e()).toString;return o[t]=V(i,{arg:n,toString:function(){return P([\"function(\",a.join(),\"){\",s(),\"}\"])}})},scope:e,cond:function(){var t=P(arguments),r=e(),n=e(),a=r.toString,i=n.toString;return V(r,{then:function(){return r.apply(r,L(arguments)),this},else:function(){return n.apply(n,L(arguments)),this},toString:function(){var e=i();return e&&(e=\"else{\"+e+\"}\"),P([\"if(\",t,\"){\",a(),\"}\",e])}})},compile:function(){var t=['\"use strict\";',i,\"return {\"];Object.keys(o).forEach((function(e){t.push('\"',e,'\":',o[e].toString(),\",\")})),t.push(\"}\");var e=P(t).replace(/;/g,\";\\n\").replace(/}/g,\"}\\n\").replace(/{/g,\"{\\n\");return Function.apply(null,n.concat(e)).apply(null,a)}}}function z(t){return Array.isArray(t)||Z(t)||l(t)}function O(t){return t.sort((function(t,e){return\"viewport\"===t?-1:\"viewport\"===e?1:t<e?-1:1}))}function D(t,e,r,n){this.thisDep=t,this.contextDep=e,this.propDep=r,this.append=n}function R(t){return t&&!(t.thisDep||t.contextDep||t.propDep)}function F(t){return new D(!1,!1,!1,t)}function B(t,e){var r=t.type;return 0===r?new D(!0,1<=(r=t.data.length),2<=r,e):4===r?new D((r=t.data).thisDep,r.contextDep,r.propDep,e):new D(3===r,2===r,1===r,e)}function N(t,e,r,n,a,o,s,l,c,u,h,f,p,d,g){function v(t){return t.replace(\".\",\"_\")}function y(t,e,r){var n=v(t);rt.push(t),et[n]=tt[n]=!!r,at[n]=e}function x(t,e,r){var n=v(t);rt.push(t),Array.isArray(r)?(tt[n]=r.slice(),et[n]=r.slice()):tt[n]=et[n]=r,it[n]=e}function b(){var t=I(),r=t.link,n=t.global;t.id=lt++,t.batchId=\"0\";var a=r(ot),i=t.shared={props:\"a0\"};Object.keys(ot).forEach((function(t){i[t]=n.def(a,\".\",t)}));var o=t.next={},s=t.current={};Object.keys(it).forEach((function(t){Array.isArray(tt[t])&&(o[t]=n.def(i.next,\".\",t),s[t]=n.def(i.current,\".\",t))}));var l=t.constants={};Object.keys(st).forEach((function(t){l[t]=n.def(JSON.stringify(st[t]))})),t.invoke=function(e,n){switch(n.type){case 0:var a=[\"this\",i.context,i.props,t.batchId];return e.def(r(n.data),\".call(\",a.slice(0,Math.max(n.data.length+1,4)),\")\");case 1:return e.def(i.props,n.data);case 2:return e.def(i.context,n.data);case 3:return e.def(\"this\",n.data);case 4:return n.data.append(t,e),n.data.ref}},t.attribCache={};var c={};return t.scopeAttrib=function(t){if((t=e.id(t))in c)return c[t];var n=u.scope[t];return n||(n=u.scope[t]=new X),c[t]=r(n)},t}function _(t,e){var r=t.static,n=t.dynamic;if(\"framebuffer\"in r){var a=r.framebuffer;return a?(a=l.getFramebuffer(a),F((function(t,e){var r=t.link(a),n=t.shared;return e.set(n.framebuffer,\".next\",r),n=n.context,e.set(n,\".framebufferWidth\",r+\".width\"),e.set(n,\".framebufferHeight\",r+\".height\"),r}))):F((function(t,e){var r=t.shared;return e.set(r.framebuffer,\".next\",\"null\"),r=r.context,e.set(r,\".framebufferWidth\",r+\".drawingBufferWidth\"),e.set(r,\".framebufferHeight\",r+\".drawingBufferHeight\"),\"null\"}))}if(\"framebuffer\"in n){var i=n.framebuffer;return B(i,(function(t,e){var r=t.invoke(e,i),n=t.shared,a=n.framebuffer;r=e.def(a,\".getFramebuffer(\",r,\")\");return e.set(a,\".next\",r),n=n.context,e.set(n,\".framebufferWidth\",r+\"?\"+r+\".width:\"+n+\".drawingBufferWidth\"),e.set(n,\".framebufferHeight\",r+\"?\"+r+\".height:\"+n+\".drawingBufferHeight\"),r}))}return null}function w(t,r,n){function a(t){if(t in i){var r=e.id(i[t]);return(t=F((function(){return r}))).id=r,t}if(t in o){var n=o[t];return B(n,(function(t,e){var r=t.invoke(e,n);return e.def(t.shared.strings,\".id(\",r,\")\")}))}return null}var i=t.static,o=t.dynamic,s=a(\"frag\"),l=a(\"vert\"),c=null;return R(s)&&R(l)?(c=h.program(l.id,s.id,null,n),t=F((function(t,e){return t.link(c)}))):t=new D(s&&s.thisDep||l&&l.thisDep,s&&s.contextDep||l&&l.contextDep,s&&s.propDep||l&&l.propDep,(function(t,e){var r,n,a=t.shared.shader;return r=s?s.append(t,e):e.def(a,\".\",\"frag\"),n=l?l.append(t,e):e.def(a,\".\",\"vert\"),e.def(a+\".program(\"+n+\",\"+r+\")\")})),{frag:s,vert:l,progVar:t,program:c}}function T(t,e){function r(t,e){if(t in n){var r=0|n[t];return F((function(t,n){return e&&(t.OFFSET=r),r}))}if(t in a){var o=a[t];return B(o,(function(t,r){var n=t.invoke(r,o);return e&&(t.OFFSET=n),n}))}return e&&i?F((function(t,e){return t.OFFSET=\"0\",0})):null}var n=t.static,a=t.dynamic,i=function(){if(\"elements\"in n){var t=n.elements;z(t)?t=o.getElements(o.create(t,!0)):t&&(t=o.getElements(t));var e=F((function(e,r){if(t){var n=e.link(t);return e.ELEMENTS=n}return e.ELEMENTS=null}));return e.value=t,e}if(\"elements\"in a){var r=a.elements;return B(r,(function(t,e){var n=(a=t.shared).isBufferArgs,a=a.elements,i=t.invoke(e,r),o=e.def(\"null\");n=e.def(n,\"(\",i,\")\"),i=t.cond(n).then(o,\"=\",a,\".createStream(\",i,\");\").else(o,\"=\",a,\".getElements(\",i,\");\");return e.entry(i),e.exit(t.cond(n).then(a,\".destroyStream(\",o,\");\")),t.ELEMENTS=o}))}return null}(),s=r(\"offset\",!0);return{elements:i,primitive:function(){if(\"primitive\"in n){var t=n.primitive;return F((function(e,r){return nt[t]}))}if(\"primitive\"in a){var e=a.primitive;return B(e,(function(t,r){var n=t.constants.primTypes,a=t.invoke(r,e);return r.def(n,\"[\",a,\"]\")}))}return i?R(i)?i.value?F((function(t,e){return e.def(t.ELEMENTS,\".primType\")})):F((function(){return 4})):new D(i.thisDep,i.contextDep,i.propDep,(function(t,e){var r=t.ELEMENTS;return e.def(r,\"?\",r,\".primType:\",4)})):null}(),count:function(){if(\"count\"in n){var t=0|n.count;return F((function(){return t}))}if(\"count\"in a){var e=a.count;return B(e,(function(t,r){return t.invoke(r,e)}))}return i?R(i)?i?s?new D(s.thisDep,s.contextDep,s.propDep,(function(t,e){return e.def(t.ELEMENTS,\".vertCount-\",t.OFFSET)})):F((function(t,e){return e.def(t.ELEMENTS,\".vertCount\")})):F((function(){return-1})):new D(i.thisDep||s.thisDep,i.contextDep||s.contextDep,i.propDep||s.propDep,(function(t,e){var r=t.ELEMENTS;return t.OFFSET?e.def(r,\"?\",r,\".vertCount-\",t.OFFSET,\":-1\"):e.def(r,\"?\",r,\".vertCount:-1\")})):null}(),instances:r(\"instances\",!1),offset:s}}function k(t,r){var n=t.static,i=t.dynamic,o={};return Object.keys(n).forEach((function(t){var r=n[t],i=e.id(t),s=new X;if(z(r))s.state=1,s.buffer=a.getBuffer(a.create(r,34962,!1,!0)),s.type=0;else if(c=a.getBuffer(r))s.state=1,s.buffer=c,s.type=0;else if(\"constant\"in r){var l=r.constant;s.buffer=\"null\",s.state=2,\"number\"==typeof l?s.x=l:wt.forEach((function(t,e){e<l.length&&(s[t]=l[e])}))}else{var c=z(r.buffer)?a.getBuffer(a.create(r.buffer,34962,!1,!0)):a.getBuffer(r.buffer),u=0|r.offset,h=0|r.stride,f=0|r.size,p=!!r.normalized,d=0;\"type\"in r&&(d=Q[r.type]),r=0|r.divisor,s.buffer=c,s.state=1,s.size=f,s.normalized=p,s.type=d||c.dtype,s.offset=u,s.stride=h,s.divisor=r}o[t]=F((function(t,e){var r=t.attribCache;if(i in r)return r[i];var n={isStream:!1};return Object.keys(s).forEach((function(t){n[t]=s[t]})),s.buffer&&(n.buffer=t.link(s.buffer),n.type=n.type||n.buffer+\".dtype\"),r[i]=n}))})),Object.keys(i).forEach((function(t){var e=i[t];o[t]=B(e,(function(t,r){function n(t){r(l[t],\"=\",a,\".\",t,\"|0;\")}var a=t.invoke(r,e),i=t.shared,o=t.constants,s=i.isBufferArgs,l=(i=i.buffer,{isStream:r.def(!1)}),c=new X;c.state=1,Object.keys(c).forEach((function(t){l[t]=r.def(\"\"+c[t])}));var u=l.buffer,h=l.type;return r(\"if(\",s,\"(\",a,\")){\",l.isStream,\"=true;\",u,\"=\",i,\".createStream(\",34962,\",\",a,\");\",h,\"=\",u,\".dtype;\",\"}else{\",u,\"=\",i,\".getBuffer(\",a,\");\",\"if(\",u,\"){\",h,\"=\",u,\".dtype;\",'}else if(\"constant\" in ',a,\"){\",l.state,\"=\",2,\";\",\"if(typeof \"+a+'.constant === \"number\"){',l[wt[0]],\"=\",a,\".constant;\",wt.slice(1).map((function(t){return l[t]})).join(\"=\"),\"=0;\",\"}else{\",wt.map((function(t,e){return l[t]+\"=\"+a+\".constant.length>\"+e+\"?\"+a+\".constant[\"+e+\"]:0;\"})).join(\"\"),\"}}else{\",\"if(\",s,\"(\",a,\".buffer)){\",u,\"=\",i,\".createStream(\",34962,\",\",a,\".buffer);\",\"}else{\",u,\"=\",i,\".getBuffer(\",a,\".buffer);\",\"}\",h,'=\"type\" in ',a,\"?\",o.glTypes,\"[\",a,\".type]:\",u,\".dtype;\",l.normalized,\"=!!\",a,\".normalized;\"),n(\"size\"),n(\"offset\"),n(\"stride\"),n(\"divisor\"),r(\"}}\"),r.exit(\"if(\",l.isStream,\"){\",i,\".destroyStream(\",u,\");\",\"}\"),l}))})),o}function A(t,e,n,a,o){function s(t){var e=c[t];e&&(f[t]=e)}var l=function(t,e){if(\"string\"==typeof(r=t.static).frag&&\"string\"==typeof r.vert){if(0<Object.keys(e.dynamic).length)return null;var r=e.static,n=Object.keys(r);if(0<n.length&&\"number\"==typeof r[n[0]]){for(var a=[],i=0;i<n.length;++i)a.push([0|r[n[i]],n[i]]);return a}}return null}(t,e),c=function(t,e,r){function n(t){if(t in a){var r=a[t];t=!0;var n,o,s=0|r.x,l=0|r.y;return\"width\"in r?n=0|r.width:t=!1,\"height\"in r?o=0|r.height:t=!1,new D(!t&&e&&e.thisDep,!t&&e&&e.contextDep,!t&&e&&e.propDep,(function(t,e){var a=t.shared.context,i=n;\"width\"in r||(i=e.def(a,\".\",\"framebufferWidth\",\"-\",s));var c=o;return\"height\"in r||(c=e.def(a,\".\",\"framebufferHeight\",\"-\",l)),[s,l,i,c]}))}if(t in i){var c=i[t];return t=B(c,(function(t,e){var r=t.invoke(e,c),n=t.shared.context,a=e.def(r,\".x|0\"),i=e.def(r,\".y|0\");return[a,i,e.def('\"width\" in ',r,\"?\",r,\".width|0:\",\"(\",n,\".\",\"framebufferWidth\",\"-\",a,\")\"),r=e.def('\"height\" in ',r,\"?\",r,\".height|0:\",\"(\",n,\".\",\"framebufferHeight\",\"-\",i,\")\")]})),e&&(t.thisDep=t.thisDep||e.thisDep,t.contextDep=t.contextDep||e.contextDep,t.propDep=t.propDep||e.propDep),t}return e?new D(e.thisDep,e.contextDep,e.propDep,(function(t,e){var r=t.shared.context;return[0,0,e.def(r,\".\",\"framebufferWidth\"),e.def(r,\".\",\"framebufferHeight\")]})):null}var a=t.static,i=t.dynamic;if(t=n(\"viewport\")){var o=t;t=new D(t.thisDep,t.contextDep,t.propDep,(function(t,e){var r=o.append(t,e),n=t.shared.context;return e.set(n,\".viewportWidth\",r[2]),e.set(n,\".viewportHeight\",r[3]),r}))}return{viewport:t,scissor_box:n(\"scissor.box\")}}(t,d=_(t)),h=T(t),f=function(t,e){var r=t.static,n=t.dynamic,a={};return rt.forEach((function(t){function e(e,i){if(t in r){var s=e(r[t]);a[o]=F((function(){return s}))}else if(t in n){var l=n[t];a[o]=B(l,(function(t,e){return i(t,e,t.invoke(e,l))}))}}var o=v(t);switch(t){case\"cull.enable\":case\"blend.enable\":case\"dither\":case\"stencil.enable\":case\"depth.enable\":case\"scissor.enable\":case\"polygonOffset.enable\":case\"sample.alpha\":case\"sample.enable\":case\"depth.mask\":return e((function(t){return t}),(function(t,e,r){return r}));case\"depth.func\":return e((function(t){return At[t]}),(function(t,e,r){return e.def(t.constants.compareFuncs,\"[\",r,\"]\")}));case\"depth.range\":return e((function(t){return t}),(function(t,e,r){return[e.def(\"+\",r,\"[0]\"),e=e.def(\"+\",r,\"[1]\")]}));case\"blend.func\":return e((function(t){return[kt[\"srcRGB\"in t?t.srcRGB:t.src],kt[\"dstRGB\"in t?t.dstRGB:t.dst],kt[\"srcAlpha\"in t?t.srcAlpha:t.src],kt[\"dstAlpha\"in t?t.dstAlpha:t.dst]]}),(function(t,e,r){function n(t,n){return e.def('\"',t,n,'\" in ',r,\"?\",r,\".\",t,n,\":\",r,\".\",t)}t=t.constants.blendFuncs;var a=n(\"src\",\"RGB\"),i=n(\"dst\",\"RGB\"),o=(a=e.def(t,\"[\",a,\"]\"),e.def(t,\"[\",n(\"src\",\"Alpha\"),\"]\"));return[a,i=e.def(t,\"[\",i,\"]\"),o,t=e.def(t,\"[\",n(\"dst\",\"Alpha\"),\"]\")]}));case\"blend.equation\":return e((function(t){return\"string\"==typeof t?[J[t],J[t]]:\"object\"==typeof t?[J[t.rgb],J[t.alpha]]:void 0}),(function(t,e,r){var n=t.constants.blendEquations,a=e.def(),i=e.def();return(t=t.cond(\"typeof \",r,'===\"string\"')).then(a,\"=\",i,\"=\",n,\"[\",r,\"];\"),t.else(a,\"=\",n,\"[\",r,\".rgb];\",i,\"=\",n,\"[\",r,\".alpha];\"),e(t),[a,i]}));case\"blend.color\":return e((function(t){return i(4,(function(e){return+t[e]}))}),(function(t,e,r){return i(4,(function(t){return e.def(\"+\",r,\"[\",t,\"]\")}))}));case\"stencil.mask\":return e((function(t){return 0|t}),(function(t,e,r){return e.def(r,\"|0\")}));case\"stencil.func\":return e((function(t){return[At[t.cmp||\"keep\"],t.ref||0,\"mask\"in t?t.mask:-1]}),(function(t,e,r){return[t=e.def('\"cmp\" in ',r,\"?\",t.constants.compareFuncs,\"[\",r,\".cmp]\",\":\",7680),e.def(r,\".ref|0\"),e=e.def('\"mask\" in ',r,\"?\",r,\".mask|0:-1\")]}));case\"stencil.opFront\":case\"stencil.opBack\":return e((function(e){return[\"stencil.opBack\"===t?1029:1028,Mt[e.fail||\"keep\"],Mt[e.zfail||\"keep\"],Mt[e.zpass||\"keep\"]]}),(function(e,r,n){function a(t){return r.def('\"',t,'\" in ',n,\"?\",i,\"[\",n,\".\",t,\"]:\",7680)}var i=e.constants.stencilOps;return[\"stencil.opBack\"===t?1029:1028,a(\"fail\"),a(\"zfail\"),a(\"zpass\")]}));case\"polygonOffset.offset\":return e((function(t){return[0|t.factor,0|t.units]}),(function(t,e,r){return[e.def(r,\".factor|0\"),e=e.def(r,\".units|0\")]}));case\"cull.face\":return e((function(t){var e=0;return\"front\"===t?e=1028:\"back\"===t&&(e=1029),e}),(function(t,e,r){return e.def(r,'===\"front\"?',1028,\":\",1029)}));case\"lineWidth\":return e((function(t){return t}),(function(t,e,r){return r}));case\"frontFace\":return e((function(t){return St[t]}),(function(t,e,r){return e.def(r+'===\"cw\"?2304:2305')}));case\"colorMask\":return e((function(t){return t.map((function(t){return!!t}))}),(function(t,e,r){return i(4,(function(t){return\"!!\"+r+\"[\"+t+\"]\"}))}));case\"sample.coverage\":return e((function(t){return[\"value\"in t?t.value:1,!!t.invert]}),(function(t,e,r){return[e.def('\"value\" in ',r,\"?+\",r,\".value:1\"),e=e.def(\"!!\",r,\".invert\")]}))}})),a}(t),p=w(t,0,l);s(\"viewport\"),s(v(\"scissor.box\"));var d,g=0<Object.keys(f).length;if((d={framebuffer:d,draw:h,shader:p,state:f,dirty:g,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}}).profile=function(t){var e,r=t.static;if(t=t.dynamic,\"profile\"in r){var n=!!r.profile;(e=F((function(t,e){return n}))).enable=n}else if(\"profile\"in t){var a=t.profile;e=B(a,(function(t,e){return t.invoke(e,a)}))}return e}(t),d.uniforms=function(t,e){var r=t.static,n=t.dynamic,a={};return Object.keys(r).forEach((function(t){var e,n=r[t];if(\"number\"==typeof n||\"boolean\"==typeof n)e=F((function(){return n}));else if(\"function\"==typeof n){var o=n._reglType;\"texture2d\"===o||\"textureCube\"===o?e=F((function(t){return t.link(n)})):\"framebuffer\"!==o&&\"framebufferCube\"!==o||(e=F((function(t){return t.link(n.color[0])})))}else m(n)&&(e=F((function(t){return t.global.def(\"[\",i(n.length,(function(t){return n[t]})),\"]\")})));e.value=n,a[t]=e})),Object.keys(n).forEach((function(t){var e=n[t];a[t]=B(e,(function(t,r){return t.invoke(r,e)}))})),a}(n),d.drawVAO=d.scopeVAO=function(t,e){var r=t.static,n=t.dynamic;if(\"vao\"in r){var a=r.vao;return null!==a&&null===u.getVAO(a)&&(a=u.createVAO(a)),F((function(t){return t.link(u.getVAO(a))}))}if(\"vao\"in n){var i=n.vao;return B(i,(function(t,e){var r=t.invoke(e,i);return e.def(t.shared.vao+\".getVAO(\"+r+\")\")}))}return null}(t),!d.drawVAO&&p.program&&!l&&r.angle_instanced_arrays){var y=!0;if(t=p.program.attributes.map((function(t){return t=e.static[t],y=y&&!!t,t})),y&&0<t.length){var x=u.getVAO(u.createVAO(t));d.drawVAO=new D(null,null,null,(function(t,e){return t.link(x)})),d.useVAO=!0}}return l?d.useVAO=!0:d.attributes=k(e),d.context=function(t){var e=t.static,r=t.dynamic,n={};return Object.keys(e).forEach((function(t){var r=e[t];n[t]=F((function(t,e){return\"number\"==typeof r||\"boolean\"==typeof r?\"\"+r:t.link(r)}))})),Object.keys(r).forEach((function(t){var e=r[t];n[t]=B(e,(function(t,r){return t.invoke(r,e)}))})),n}(a),d}function M(t,e,r){var n=t.shared.context,a=t.scope();Object.keys(r).forEach((function(i){e.save(n,\".\"+i),a(n,\".\",i,\"=\",r[i].append(t,e),\";\")})),e(a)}function S(t,e,r,n){var a,i=(s=t.shared).gl,o=s.framebuffer;$&&(a=e.def(s.extensions,\".webgl_draw_buffers\"));var s=(l=t.constants).drawBuffer,l=l.backBuffer;t=r?r.append(t,e):e.def(o,\".next\"),n||e(\"if(\",t,\"!==\",o,\".cur){\"),e(\"if(\",t,\"){\",i,\".bindFramebuffer(\",36160,\",\",t,\".framebuffer);\"),$&&e(a,\".drawBuffersWEBGL(\",s,\"[\",t,\".colorAttachments.length]);\"),e(\"}else{\",i,\".bindFramebuffer(\",36160,\",null);\"),$&&e(a,\".drawBuffersWEBGL(\",l,\");\"),e(\"}\",o,\".cur=\",t,\";\"),n||e(\"}\")}function E(t,e,r){var n=t.shared,a=n.gl,o=t.current,s=t.next,l=n.current,c=n.next,u=t.cond(l,\".dirty\");rt.forEach((function(e){var n,h;if(!((e=v(e))in r.state))if(e in s){n=s[e],h=o[e];var f=i(tt[e].length,(function(t){return u.def(n,\"[\",t,\"]\")}));u(t.cond(f.map((function(t,e){return t+\"!==\"+h+\"[\"+e+\"]\"})).join(\"||\")).then(a,\".\",it[e],\"(\",f,\");\",f.map((function(t,e){return h+\"[\"+e+\"]=\"+t})).join(\";\"),\";\"))}else n=u.def(c,\".\",e),f=t.cond(n,\"!==\",l,\".\",e),u(f),e in at?f(t.cond(n).then(a,\".enable(\",at[e],\");\").else(a,\".disable(\",at[e],\");\"),l,\".\",e,\"=\",n,\";\"):f(a,\".\",it[e],\"(\",n,\");\",l,\".\",e,\"=\",n,\";\")})),0===Object.keys(r.state).length&&u(l,\".dirty=false;\"),e(u)}function C(t,e,r,n){var a=t.shared,i=t.current,o=a.current,s=a.gl;O(Object.keys(r)).forEach((function(a){var l=r[a];if(!n||n(l)){var c=l.append(t,e);if(at[a]){var u=at[a];R(l)?e(s,c?\".enable(\":\".disable(\",u,\");\"):e(t.cond(c).then(s,\".enable(\",u,\");\").else(s,\".disable(\",u,\");\")),e(o,\".\",a,\"=\",c,\";\")}else if(m(c)){var h=i[a];e(s,\".\",it[a],\"(\",c,\");\",c.map((function(t,e){return h+\"[\"+e+\"]=\"+t})).join(\";\"),\";\")}else e(s,\".\",it[a],\"(\",c,\");\",o,\".\",a,\"=\",c,\";\")}}))}function L(t,e){K&&(t.instancing=e.def(t.shared.extensions,\".angle_instanced_arrays\"))}function P(t,e,r,n,a){function i(){return\"undefined\"==typeof performance?\"Date.now()\":\"performance.now()\"}function o(t){t(c=e.def(),\"=\",i(),\";\"),\"string\"==typeof a?t(f,\".count+=\",a,\";\"):t(f,\".count++;\"),d&&(n?t(u=e.def(),\"=\",g,\".getNumPendingQueries();\"):t(g,\".beginQuery(\",f,\");\"))}function s(t){t(f,\".cpuTime+=\",i(),\"-\",c,\";\"),d&&(n?t(g,\".pushScopeStats(\",u,\",\",g,\".getNumPendingQueries(),\",f,\");\"):t(g,\".endQuery();\"))}function l(t){var r=e.def(p,\".profile\");e(p,\".profile=\",t,\";\"),e.exit(p,\".profile=\",r,\";\")}var c,u,h=t.shared,f=t.stats,p=h.current,g=h.timer;if(r=r.profile){if(R(r))return void(r.enable?(o(e),s(e.exit),l(\"true\")):l(\"false\"));l(r=r.append(t,e))}else r=e.def(p,\".profile\");o(h=t.block()),e(\"if(\",r,\"){\",h,\"}\"),s(t=t.block()),e.exit(\"if(\",r,\"){\",t,\"}\")}function N(t,e,r,n,a){function i(r,n,a){function i(){e(\"if(!\",u,\".buffer){\",l,\".enableVertexAttribArray(\",c,\");}\");var r,i=a.type;r=a.size?e.def(a.size,\"||\",n):n,e(\"if(\",u,\".type!==\",i,\"||\",u,\".size!==\",r,\"||\",p.map((function(t){return u+\".\"+t+\"!==\"+a[t]})).join(\"||\"),\"){\",l,\".bindBuffer(\",34962,\",\",h,\".buffer);\",l,\".vertexAttribPointer(\",[c,r,i,a.normalized,a.stride,a.offset],\");\",u,\".type=\",i,\";\",u,\".size=\",r,\";\",p.map((function(t){return u+\".\"+t+\"=\"+a[t]+\";\"})).join(\"\"),\"}\"),K&&(i=a.divisor,e(\"if(\",u,\".divisor!==\",i,\"){\",t.instancing,\".vertexAttribDivisorANGLE(\",[c,i],\");\",u,\".divisor=\",i,\";}\"))}function s(){e(\"if(\",u,\".buffer){\",l,\".disableVertexAttribArray(\",c,\");\",u,\".buffer=null;\",\"}if(\",wt.map((function(t,e){return u+\".\"+t+\"!==\"+f[e]})).join(\"||\"),\"){\",l,\".vertexAttrib4f(\",c,\",\",f,\");\",wt.map((function(t,e){return u+\".\"+t+\"=\"+f[e]+\";\"})).join(\"\"),\"}\")}var l=o.gl,c=e.def(r,\".location\"),u=e.def(o.attributes,\"[\",c,\"]\");r=a.state;var h=a.buffer,f=[a.x,a.y,a.z,a.w],p=[\"buffer\",\"normalized\",\"offset\",\"stride\"];1===r?i():2===r?s():(e(\"if(\",r,\"===\",1,\"){\"),i(),e(\"}else{\"),s(),e(\"}\"))}var o=t.shared;n.forEach((function(n){var o,s=n.name,l=r.attributes[s];if(l){if(!a(l))return;o=l.append(t,e)}else{if(!a(Et))return;var c=t.scopeAttrib(s);o={},Object.keys(new X).forEach((function(t){o[t]=e.def(c,\".\",t)}))}i(t.link(n),function(t){switch(t){case 35664:case 35667:case 35671:return 2;case 35665:case 35668:case 35672:return 3;case 35666:case 35669:case 35673:return 4;default:return 1}}(n.info.type),o)}))}function j(t,r,n,a,o){for(var s,l=t.shared,c=l.gl,u=0;u<a.length;++u){var h,f=(g=a[u]).name,p=g.info.type,d=n.uniforms[f],g=t.link(g)+\".location\";if(d){if(!o(d))continue;if(R(d)){if(f=d.value,35678===p||35680===p)r(c,\".uniform1i(\",g,\",\",(p=t.link(f._texture||f.color[0]._texture))+\".bind());\"),r.exit(p,\".unbind();\");else if(35674===p||35675===p||35676===p)d=2,35675===p?d=3:35676===p&&(d=4),r(c,\".uniformMatrix\",d,\"fv(\",g,\",false,\",f=t.global.def(\"new Float32Array([\"+Array.prototype.slice.call(f)+\"])\"),\");\");else{switch(p){case 5126:s=\"1f\";break;case 35664:s=\"2f\";break;case 35665:s=\"3f\";break;case 35666:s=\"4f\";break;case 35670:case 5124:s=\"1i\";break;case 35671:case 35667:s=\"2i\";break;case 35672:case 35668:s=\"3i\";break;case 35673:s=\"4i\";break;case 35669:s=\"4i\"}r(c,\".uniform\",s,\"(\",g,\",\",m(f)?Array.prototype.slice.call(f):f,\");\")}continue}h=d.append(t,r)}else{if(!o(Et))continue;h=r.def(l.uniforms,\"[\",e.id(f),\"]\")}switch(35678===p?r(\"if(\",h,\"&&\",h,'._reglType===\"framebuffer\"){',h,\"=\",h,\".color[0];\",\"}\"):35680===p&&r(\"if(\",h,\"&&\",h,'._reglType===\"framebufferCube\"){',h,\"=\",h,\".color[0];\",\"}\"),f=1,p){case 35678:case 35680:p=r.def(h,\"._texture\"),r(c,\".uniform1i(\",g,\",\",p,\".bind());\"),r.exit(p,\".unbind();\");continue;case 5124:case 35670:s=\"1i\";break;case 35667:case 35671:s=\"2i\",f=2;break;case 35668:case 35672:s=\"3i\",f=3;break;case 35669:case 35673:s=\"4i\",f=4;break;case 5126:s=\"1f\";break;case 35664:s=\"2f\",f=2;break;case 35665:s=\"3f\",f=3;break;case 35666:s=\"4f\",f=4;break;case 35674:s=\"Matrix2fv\";break;case 35675:s=\"Matrix3fv\";break;case 35676:s=\"Matrix4fv\"}if(r(c,\".uniform\",s,\"(\",g,\",\"),\"M\"===s.charAt(0)){g=Math.pow(p-35674+2,2);var v=t.global.def(\"new Float32Array(\",g,\")\");r(\"false,(Array.isArray(\",h,\")||\",h,\" instanceof Float32Array)?\",h,\":(\",i(g,(function(t){return v+\"[\"+t+\"]=\"+h+\"[\"+t+\"]\"})),\",\",v,\")\")}else r(1<f?i(f,(function(t){return h+\"[\"+t+\"]\"})):h);r(\");\")}}function V(t,e,r,n){function a(a){var i=f[a];return i?i.contextDep&&n.contextDynamic||i.propDep?i.append(t,r):i.append(t,e):e.def(h,\".\",a)}function i(){function t(){r(l,\".drawElementsInstancedANGLE(\",[d,m,v,g+\"<<((\"+v+\"-5121)>>1)\",s],\");\")}function e(){r(l,\".drawArraysInstancedANGLE(\",[d,g,m,s],\");\")}p?y?t():(r(\"if(\",p,\"){\"),t(),r(\"}else{\"),e(),r(\"}\")):e()}function o(){function t(){r(u+\".drawElements(\"+[d,m,v,g+\"<<((\"+v+\"-5121)>>1)\"]+\");\")}function e(){r(u+\".drawArrays(\"+[d,g,m]+\");\")}p?y?t():(r(\"if(\",p,\"){\"),t(),r(\"}else{\"),e(),r(\"}\")):e()}var s,l,c=t.shared,u=c.gl,h=c.draw,f=n.draw,p=function(){var a=f.elements,i=e;return a?((a.contextDep&&n.contextDynamic||a.propDep)&&(i=r),a=a.append(t,i)):a=i.def(h,\".\",\"elements\"),a&&i(\"if(\"+a+\")\"+u+\".bindBuffer(34963,\"+a+\".buffer.buffer);\"),a}(),d=a(\"primitive\"),g=a(\"offset\"),m=function(){var a=f.count,i=e;return a?((a.contextDep&&n.contextDynamic||a.propDep)&&(i=r),a=a.append(t,i)):a=i.def(h,\".\",\"count\"),a}();if(\"number\"==typeof m){if(0===m)return}else r(\"if(\",m,\"){\"),r.exit(\"}\");K&&(s=a(\"instances\"),l=t.instancing);var v=p+\".type\",y=f.elements&&R(f.elements);K&&(\"number\"!=typeof s||0<=s)?\"string\"==typeof s?(r(\"if(\",s,\">0){\"),i(),r(\"}else if(\",s,\"<0){\"),o(),r(\"}\")):i():o()}function U(t,e,r,n,a){return a=(e=b()).proc(\"body\",a),K&&(e.instancing=a.def(e.shared.extensions,\".angle_instanced_arrays\")),t(e,a,r,n),e.compile().body}function H(t,e,r,n){L(t,e),r.useVAO?r.drawVAO?e(t.shared.vao,\".setVAO(\",r.drawVAO.append(t,e),\");\"):e(t.shared.vao,\".setVAO(\",t.shared.vao,\".targetVAO);\"):(e(t.shared.vao,\".setVAO(null);\"),N(t,e,r,n.attributes,(function(){return!0}))),j(t,e,r,n.uniforms,(function(){return!0})),V(t,e,e,r)}function G(t,e,r,n){function a(){return!0}t.batchId=\"a1\",L(t,e),N(t,e,r,n.attributes,a),j(t,e,r,n.uniforms,a),V(t,e,e,r)}function Y(t,e,r,n){function a(t){return t.contextDep&&o||t.propDep}function i(t){return!a(t)}L(t,e);var o=r.contextDep,s=e.def(),l=e.def();t.shared.props=l,t.batchId=s;var c=t.scope(),u=t.scope();e(c.entry,\"for(\",s,\"=0;\",s,\"<\",\"a1\",\";++\",s,\"){\",l,\"=\",\"a0\",\"[\",s,\"];\",u,\"}\",c.exit),r.needsContext&&M(t,u,r.context),r.needsFramebuffer&&S(t,u,r.framebuffer),C(t,u,r.state,a),r.profile&&a(r.profile)&&P(t,u,r,!1,!0),n?(r.useVAO?r.drawVAO?a(r.drawVAO)?u(t.shared.vao,\".setVAO(\",r.drawVAO.append(t,u),\");\"):c(t.shared.vao,\".setVAO(\",r.drawVAO.append(t,c),\");\"):c(t.shared.vao,\".setVAO(\",t.shared.vao,\".targetVAO);\"):(c(t.shared.vao,\".setVAO(null);\"),N(t,c,r,n.attributes,i),N(t,u,r,n.attributes,a)),j(t,c,r,n.uniforms,i),j(t,u,r,n.uniforms,a),V(t,c,u,r)):(e=t.global.def(\"{}\"),n=r.shader.progVar.append(t,u),l=u.def(n,\".id\"),c=u.def(e,\"[\",l,\"]\"),u(t.shared.gl,\".useProgram(\",n,\".program);\",\"if(!\",c,\"){\",c,\"=\",e,\"[\",l,\"]=\",t.link((function(e){return U(G,t,r,e,2)})),\"(\",n,\");}\",c,\".call(this,a0[\",s,\"],\",s,\");\"))}function W(t,r){function n(e){var n=r.shader[e];n&&a.set(i.shader,\".\"+e,n.append(t,a))}var a=t.proc(\"scope\",3);t.batchId=\"a2\";var i=t.shared,o=i.current;M(t,a,r.context),r.framebuffer&&r.framebuffer.append(t,a),O(Object.keys(r.state)).forEach((function(e){var n=r.state[e].append(t,a);m(n)?n.forEach((function(r,n){a.set(t.next[e],\"[\"+n+\"]\",r)})):a.set(i.next,\".\"+e,n)})),P(t,a,r,!0,!0),[\"elements\",\"offset\",\"count\",\"instances\",\"primitive\"].forEach((function(e){var n=r.draw[e];n&&a.set(i.draw,\".\"+e,\"\"+n.append(t,a))})),Object.keys(r.uniforms).forEach((function(n){a.set(i.uniforms,\"[\"+e.id(n)+\"]\",r.uniforms[n].append(t,a))})),Object.keys(r.attributes).forEach((function(e){var n=r.attributes[e].append(t,a),i=t.scopeAttrib(e);Object.keys(new X).forEach((function(t){a.set(i,\".\"+t,n[t])}))})),r.scopeVAO&&a.set(i.vao,\".targetVAO\",r.scopeVAO.append(t,a)),n(\"vert\"),n(\"frag\"),0<Object.keys(r.state).length&&(a(o,\".dirty=true;\"),a.exit(o,\".dirty=true;\")),a(\"a1(\",t.shared.context,\",a0,\",t.batchId,\");\")}function Z(t,e,r){var n=e.static[r];if(n&&function(t){if(\"object\"==typeof t&&!m(t)){for(var e=Object.keys(t),r=0;r<e.length;++r)if(q.isDynamic(t[e[r]]))return!0;return!1}}(n)){var a=t.global,i=Object.keys(n),o=!1,s=!1,l=!1,c=t.global.def(\"{}\");i.forEach((function(e){var r=n[e];if(q.isDynamic(r))\"function\"==typeof r&&(r=n[e]=q.unbox(r)),e=B(r,null),o=o||e.thisDep,l=l||e.propDep,s=s||e.contextDep;else{switch(a(c,\".\",e,\"=\"),typeof r){case\"number\":a(r);break;case\"string\":a('\"',r,'\"');break;case\"object\":Array.isArray(r)&&a(\"[\",r.join(),\"]\");break;default:a(t.link(r))}a(\";\")}})),e.dynamic[r]=new q.DynamicVariable(4,{thisDep:o,contextDep:s,propDep:l,ref:c,append:function(t,e){i.forEach((function(r){var a=n[r];q.isDynamic(a)&&(a=t.invoke(e,a),e(c,\".\",r,\"=\",a,\";\"))}))}}),delete e.static[r]}}var X=u.Record,J={add:32774,subtract:32778,\"reverse subtract\":32779};r.ext_blend_minmax&&(J.min=32775,J.max=32776);var K=r.angle_instanced_arrays,$=r.webgl_draw_buffers,tt={dirty:!0,profile:g.profile},et={},rt=[],at={},it={};y(\"dither\",3024),y(\"blend.enable\",3042),x(\"blend.color\",\"blendColor\",[0,0,0,0]),x(\"blend.equation\",\"blendEquationSeparate\",[32774,32774]),x(\"blend.func\",\"blendFuncSeparate\",[1,0,1,0]),y(\"depth.enable\",2929,!0),x(\"depth.func\",\"depthFunc\",513),x(\"depth.range\",\"depthRange\",[0,1]),x(\"depth.mask\",\"depthMask\",!0),x(\"colorMask\",\"colorMask\",[!0,!0,!0,!0]),y(\"cull.enable\",2884),x(\"cull.face\",\"cullFace\",1029),x(\"frontFace\",\"frontFace\",2305),x(\"lineWidth\",\"lineWidth\",1),y(\"polygonOffset.enable\",32823),x(\"polygonOffset.offset\",\"polygonOffset\",[0,0]),y(\"sample.alpha\",32926),y(\"sample.enable\",32928),x(\"sample.coverage\",\"sampleCoverage\",[1,!1]),y(\"stencil.enable\",2960),x(\"stencil.mask\",\"stencilMask\",-1),x(\"stencil.func\",\"stencilFunc\",[519,0,-1]),x(\"stencil.opFront\",\"stencilOpSeparate\",[1028,7680,7680,7680]),x(\"stencil.opBack\",\"stencilOpSeparate\",[1029,7680,7680,7680]),y(\"scissor.enable\",3089),x(\"scissor.box\",\"scissor\",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]),x(\"viewport\",\"viewport\",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]);var ot={gl:t,context:p,strings:e,next:et,current:tt,draw:f,elements:o,buffer:a,shader:h,attributes:u.state,vao:u,uniforms:c,framebuffer:l,extensions:r,timer:d,isBufferArgs:z},st={primTypes:nt,compareFuncs:At,blendFuncs:kt,blendEquations:J,stencilOps:Mt,glTypes:Q,orientationType:St};$&&(st.backBuffer=[1029],st.drawBuffer=i(n.maxDrawbuffers,(function(t){return 0===t?[0]:i(t,(function(t){return 36064+t}))})));var lt=0;return{next:et,current:tt,procs:function(){var t=b(),e=t.proc(\"poll\"),a=t.proc(\"refresh\"),o=t.block();e(o),a(o);var s,l=t.shared,c=l.gl,u=l.next,h=l.current;o(h,\".dirty=false;\"),S(t,e),S(t,a,null,!0),K&&(s=t.link(K)),r.oes_vertex_array_object&&a(t.link(r.oes_vertex_array_object),\".bindVertexArrayOES(null);\");for(var f=0;f<n.maxAttributes;++f){var p=a.def(l.attributes,\"[\",f,\"]\"),d=t.cond(p,\".buffer\");d.then(c,\".enableVertexAttribArray(\",f,\");\",c,\".bindBuffer(\",34962,\",\",p,\".buffer.buffer);\",c,\".vertexAttribPointer(\",f,\",\",p,\".size,\",p,\".type,\",p,\".normalized,\",p,\".stride,\",p,\".offset);\").else(c,\".disableVertexAttribArray(\",f,\");\",c,\".vertexAttrib4f(\",f,\",\",p,\".x,\",p,\".y,\",p,\".z,\",p,\".w);\",p,\".buffer=null;\"),a(d),K&&a(s,\".vertexAttribDivisorANGLE(\",f,\",\",p,\".divisor);\")}return a(t.shared.vao,\".currentVAO=null;\",t.shared.vao,\".setVAO(\",t.shared.vao,\".targetVAO);\"),Object.keys(at).forEach((function(r){var n=at[r],i=o.def(u,\".\",r),s=t.block();s(\"if(\",i,\"){\",c,\".enable(\",n,\")}else{\",c,\".disable(\",n,\")}\",h,\".\",r,\"=\",i,\";\"),a(s),e(\"if(\",i,\"!==\",h,\".\",r,\"){\",s,\"}\")})),Object.keys(it).forEach((function(r){var n,s,l=it[r],f=tt[r],p=t.block();p(c,\".\",l,\"(\"),m(f)?(l=f.length,n=t.global.def(u,\".\",r),s=t.global.def(h,\".\",r),p(i(l,(function(t){return n+\"[\"+t+\"]\"})),\");\",i(l,(function(t){return s+\"[\"+t+\"]=\"+n+\"[\"+t+\"];\"})).join(\"\")),e(\"if(\",i(l,(function(t){return n+\"[\"+t+\"]!==\"+s+\"[\"+t+\"]\"})).join(\"||\"),\"){\",p,\"}\")):(n=o.def(u,\".\",r),s=o.def(h,\".\",r),p(n,\");\",h,\".\",r,\"=\",n,\";\"),e(\"if(\",n,\"!==\",s,\"){\",p,\"}\")),a(p)})),t.compile()}(),compile:function(t,e,r,n,a){var i=b();return i.stats=i.link(a),Object.keys(e.static).forEach((function(t){Z(i,e,t)})),Tt.forEach((function(e){Z(i,t,e)})),r=A(t,e,r,n),function(t,e){var r=t.proc(\"draw\",1);L(t,r),M(t,r,e.context),S(t,r,e.framebuffer),E(t,r,e),C(t,r,e.state),P(t,r,e,!1,!0);var n=e.shader.progVar.append(t,r);if(r(t.shared.gl,\".useProgram(\",n,\".program);\"),e.shader.program)H(t,r,e,e.shader.program);else{r(t.shared.vao,\".setVAO(null);\");var a=t.global.def(\"{}\"),i=r.def(n,\".id\"),o=r.def(a,\"[\",i,\"]\");r(t.cond(o).then(o,\".call(this,a0);\").else(o,\"=\",a,\"[\",i,\"]=\",t.link((function(r){return U(H,t,e,r,1)})),\"(\",n,\");\",o,\".call(this,a0);\"))}0<Object.keys(e.state).length&&r(t.shared.current,\".dirty=true;\")}(i,r),W(i,r),function(t,e){function r(t){return t.contextDep&&a||t.propDep}var n=t.proc(\"batch\",2);t.batchId=\"0\",L(t,n);var a=!1,i=!0;Object.keys(e.context).forEach((function(t){a=a||e.context[t].propDep})),a||(M(t,n,e.context),i=!1);var o=!1;if((s=e.framebuffer)?(s.propDep?a=o=!0:s.contextDep&&a&&(o=!0),o||S(t,n,s)):S(t,n,null),e.state.viewport&&e.state.viewport.propDep&&(a=!0),E(t,n,e),C(t,n,e.state,(function(t){return!r(t)})),e.profile&&r(e.profile)||P(t,n,e,!1,\"a1\"),e.contextDep=a,e.needsContext=i,e.needsFramebuffer=o,(i=e.shader.progVar).contextDep&&a||i.propDep)Y(t,n,e,null);else if(i=i.append(t,n),n(t.shared.gl,\".useProgram(\",i,\".program);\"),e.shader.program)Y(t,n,e,e.shader.program);else{n(t.shared.vao,\".setVAO(null);\");var s=t.global.def(\"{}\"),l=(o=n.def(i,\".id\"),n.def(s,\"[\",o,\"]\"));n(t.cond(l).then(l,\".call(this,a0,a1);\").else(l,\"=\",s,\"[\",o,\"]=\",t.link((function(r){return U(Y,t,e,r,2)})),\"(\",i,\");\",l,\".call(this,a0,a1);\"))}0<Object.keys(e.state).length&&n(t.shared.current,\".dirty=true;\")}(i,r),i.compile()}}}function j(t,e){for(var r=0;r<t.length;++r)if(t[r]===e)return r;return-1}var V=function(t,e){for(var r=Object.keys(e),n=0;n<r.length;++n)t[r[n]]=e[r[n]];return t},U=0,q={DynamicVariable:t,define:function(r,n){return new t(r,e(n+\"\"))},isDynamic:function(e){return\"function\"==typeof e&&!e._reglType||e instanceof t},unbox:function(e,r){return\"function\"==typeof e?new t(0,e):e},accessor:e},H={next:\"function\"==typeof requestAnimationFrame?function(t){return requestAnimationFrame(t)}:function(t){return setTimeout(t,16)},cancel:\"function\"==typeof cancelAnimationFrame?function(t){return cancelAnimationFrame(t)}:clearTimeout},G=\"undefined\"!=typeof performance&&performance.now?function(){return performance.now()}:function(){return+new Date},Y=s();Y.zero=s();var W=function(t,e){var r=1;e.ext_texture_filter_anisotropic&&(r=t.getParameter(34047));var n=1,a=1;e.webgl_draw_buffers&&(n=t.getParameter(34852),a=t.getParameter(36063));var i=!!e.oes_texture_float;if(i){i=t.createTexture(),t.bindTexture(3553,i),t.texImage2D(3553,0,6408,1,1,0,6408,5126,null);var o=t.createFramebuffer();if(t.bindFramebuffer(36160,o),t.framebufferTexture2D(36160,36064,3553,i,0),t.bindTexture(3553,null),36053!==t.checkFramebufferStatus(36160))i=!1;else{t.viewport(0,0,1,1),t.clearColor(1,0,0,1),t.clear(16384);var s=Y.allocType(5126,4);t.readPixels(0,0,1,1,6408,5126,s),t.getError()?i=!1:(t.deleteFramebuffer(o),t.deleteTexture(i),i=1===s[0]),Y.freeType(s)}}return s=!0,\"undefined\"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent))||(s=t.createTexture(),o=Y.allocType(5121,36),t.activeTexture(33984),t.bindTexture(34067,s),t.texImage2D(34069,0,6408,3,3,0,6408,5121,o),Y.freeType(o),t.bindTexture(34067,null),t.deleteTexture(s),s=!t.getError()),{colorBits:[t.getParameter(3410),t.getParameter(3411),t.getParameter(3412),t.getParameter(3413)],depthBits:t.getParameter(3414),stencilBits:t.getParameter(3415),subpixelBits:t.getParameter(3408),extensions:Object.keys(e).filter((function(t){return!!e[t]})),maxAnisotropic:r,maxDrawbuffers:n,maxColorAttachments:a,pointSizeDims:t.getParameter(33901),lineWidthDims:t.getParameter(33902),maxViewportDims:t.getParameter(3386),maxCombinedTextureUnits:t.getParameter(35661),maxCubeMapSize:t.getParameter(34076),maxRenderbufferSize:t.getParameter(34024),maxTextureUnits:t.getParameter(34930),maxTextureSize:t.getParameter(3379),maxAttributes:t.getParameter(34921),maxVertexUniforms:t.getParameter(36347),maxVertexTextureUnits:t.getParameter(35660),maxVaryingVectors:t.getParameter(36348),maxFragmentUniforms:t.getParameter(36349),glsl:t.getParameter(35724),renderer:t.getParameter(7937),vendor:t.getParameter(7936),version:t.getParameter(7938),readFloat:i,npotTextureCube:s}},Z=function(t){return t instanceof Uint8Array||t instanceof Uint16Array||t instanceof Uint32Array||t instanceof Int8Array||t instanceof Int16Array||t instanceof Int32Array||t instanceof Float32Array||t instanceof Float64Array||t instanceof Uint8ClampedArray},X=function(t){return Object.keys(t).map((function(e){return t[e]}))},J={shape:function(t){for(var e=[];t.length;t=t[0])e.push(t.length);return e},flatten:function(t,e,r,n){var a=1;if(e.length)for(var i=0;i<e.length;++i)a*=e[i];else a=0;switch(r=n||Y.allocType(r,a),e.length){case 0:break;case 1:for(n=e[0],e=0;e<n;++e)r[e]=t[e];break;case 2:for(n=e[0],e=e[1],i=a=0;i<n;++i)for(var o=t[i],s=0;s<e;++s)r[a++]=o[s];break;case 3:c(t,e[0],e[1],e[2],r,0);break;default:!function t(e,r,n,a,i){for(var o=1,s=n+1;s<r.length;++s)o*=r[s];var l=r[n];if(4==r.length-n){var u=r[n+1],h=r[n+2];for(r=r[n+3],s=0;s<l;++s)c(e[s],u,h,r,a,i),i+=o}else for(s=0;s<l;++s)t(e[s],r,n+1,a,i),i+=o}(t,e,0,r,0)}return r}},K={\"[object Int8Array]\":5120,\"[object Int16Array]\":5122,\"[object Int32Array]\":5124,\"[object Uint8Array]\":5121,\"[object Uint8ClampedArray]\":5121,\"[object Uint16Array]\":5123,\"[object Uint32Array]\":5125,\"[object Float32Array]\":5126,\"[object Float64Array]\":5121,\"[object ArrayBuffer]\":5121},Q={int8:5120,int16:5122,int32:5124,uint8:5121,uint16:5123,uint32:5125,float:5126,float32:5126},$={dynamic:35048,stream:35040,static:35044},tt=J.flatten,et=J.shape,rt=[];rt[5120]=1,rt[5122]=2,rt[5124]=4,rt[5121]=1,rt[5123]=2,rt[5125]=4,rt[5126]=4;var nt={points:0,point:0,lines:1,line:1,triangles:4,triangle:4,\"line loop\":2,\"line strip\":3,\"triangle strip\":5,\"triangle fan\":6},at=new Float32Array(1),it=new Uint32Array(at.buffer),ot=[9984,9986,9985,9987],st=[0,6409,6410,6407,6408],lt={};lt[6409]=lt[6406]=lt[6402]=1,lt[34041]=lt[6410]=2,lt[6407]=lt[35904]=3,lt[6408]=lt[35906]=4;var ct=v(\"HTMLCanvasElement\"),ut=v(\"OffscreenCanvas\"),ht=v(\"CanvasRenderingContext2D\"),ft=v(\"ImageBitmap\"),pt=v(\"HTMLImageElement\"),dt=v(\"HTMLVideoElement\"),gt=Object.keys(K).concat([ct,ut,ht,ft,pt,dt]),mt=[];mt[5121]=1,mt[5126]=4,mt[36193]=2,mt[5123]=2,mt[5125]=4;var vt=[];vt[32854]=2,vt[32855]=2,vt[36194]=2,vt[34041]=4,vt[33776]=.5,vt[33777]=.5,vt[33778]=1,vt[33779]=1,vt[35986]=.5,vt[35987]=1,vt[34798]=1,vt[35840]=.5,vt[35841]=.25,vt[35842]=.5,vt[35843]=.25,vt[36196]=.5;var yt=[];yt[32854]=2,yt[32855]=2,yt[36194]=2,yt[33189]=2,yt[36168]=1,yt[34041]=4,yt[35907]=4,yt[34836]=16,yt[34842]=8,yt[34843]=6;var xt=function(t,e,r,n,a){function i(t){this.id=c++,this.refCount=1,this.renderbuffer=t,this.format=32854,this.height=this.width=0,a.profile&&(this.stats={size:0})}function o(e){var r=e.renderbuffer;t.bindRenderbuffer(36161,null),t.deleteRenderbuffer(r),e.renderbuffer=null,e.refCount=0,delete u[e.id],n.renderbufferCount--}var s={rgba4:32854,rgb565:36194,\"rgb5 a1\":32855,depth:33189,stencil:36168,\"depth stencil\":34041};e.ext_srgb&&(s.srgba=35907),e.ext_color_buffer_half_float&&(s.rgba16f=34842,s.rgb16f=34843),e.webgl_color_buffer_float&&(s.rgba32f=34836);var l=[];Object.keys(s).forEach((function(t){l[s[t]]=t}));var c=0,u={};return i.prototype.decRef=function(){0>=--this.refCount&&o(this)},a.profile&&(n.getTotalRenderbufferSize=function(){var t=0;return Object.keys(u).forEach((function(e){t+=u[e].stats.size})),t}),{create:function(e,r){function o(e,r){var n=0,i=0,u=32854;if(\"object\"==typeof e&&e?(\"shape\"in e?(n=0|(i=e.shape)[0],i=0|i[1]):(\"radius\"in e&&(n=i=0|e.radius),\"width\"in e&&(n=0|e.width),\"height\"in e&&(i=0|e.height)),\"format\"in e&&(u=s[e.format])):\"number\"==typeof e?(n=0|e,i=\"number\"==typeof r?0|r:n):e||(n=i=1),n!==c.width||i!==c.height||u!==c.format)return o.width=c.width=n,o.height=c.height=i,c.format=u,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,u,n,i),a.profile&&(c.stats.size=yt[c.format]*c.width*c.height),o.format=l[c.format],o}var c=new i(t.createRenderbuffer());return u[c.id]=c,n.renderbufferCount++,o(e,r),o.resize=function(e,r){var n=0|e,i=0|r||n;return n===c.width&&i===c.height||(o.width=c.width=n,o.height=c.height=i,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,c.format,n,i),a.profile&&(c.stats.size=yt[c.format]*c.width*c.height)),o},o._reglType=\"renderbuffer\",o._renderbuffer=c,a.profile&&(o.stats=c.stats),o.destroy=function(){c.decRef()},o},clear:function(){X(u).forEach(o)},restore:function(){X(u).forEach((function(e){e.renderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(36161,e.renderbuffer),t.renderbufferStorage(36161,e.format,e.width,e.height)})),t.bindRenderbuffer(36161,null)}}},bt=[];bt[6408]=4,bt[6407]=3;var _t=[];_t[5121]=1,_t[5126]=4,_t[36193]=2;var wt=[\"x\",\"y\",\"z\",\"w\"],Tt=\"blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset\".split(\" \"),kt={0:0,1:1,zero:0,one:1,\"src color\":768,\"one minus src color\":769,\"src alpha\":770,\"one minus src alpha\":771,\"dst color\":774,\"one minus dst color\":775,\"dst alpha\":772,\"one minus dst alpha\":773,\"constant color\":32769,\"one minus constant color\":32770,\"constant alpha\":32771,\"one minus constant alpha\":32772,\"src alpha saturate\":776},At={never:512,less:513,\"<\":513,equal:514,\"=\":514,\"==\":514,\"===\":514,lequal:515,\"<=\":515,greater:516,\">\":516,notequal:517,\"!=\":517,\"!==\":517,gequal:518,\">=\":518,always:519},Mt={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\"increment wrap\":34055,\"decrement wrap\":34056,invert:5386},St={cw:2304,ccw:2305},Et=new D(!1,!1,!1,(function(){}));return function(t){function e(){if(0===J.length)w&&w.update(),tt=null;else{tt=H.next(e),h();for(var t=J.length-1;0<=t;--t){var r=J[t];r&&r(P,null,0)}m.flush(),w&&w.update()}}function r(){!tt&&0<J.length&&(tt=H.next(e))}function n(){tt&&(H.cancel(e),tt=null)}function i(t){t.preventDefault(),n(),K.forEach((function(t){t()}))}function o(t){m.getError(),y.restore(),R.restore(),z.restore(),F.restore(),B.restore(),U.restore(),O.restore(),w&&w.restore(),Y.procs.refresh(),r(),Q.forEach((function(t){t()}))}function s(t){function e(t){var e={},r={};return Object.keys(t).forEach((function(n){var a=t[n];q.isDynamic(a)?r[n]=q.unbox(a,n):e[n]=a})),{dynamic:r,static:e}}var r=e(t.context||{}),n=e(t.uniforms||{}),a=e(t.attributes||{}),i=e(function(t){function e(t){if(t in r){var e=r[t];delete r[t],Object.keys(e).forEach((function(n){r[t+\".\"+n]=e[n]}))}}var r=V({},t);return delete r.uniforms,delete r.attributes,delete r.context,delete r.vao,\"stencil\"in r&&r.stencil.op&&(r.stencil.opBack=r.stencil.opFront=r.stencil.op,delete r.stencil.op),e(\"blend\"),e(\"depth\"),e(\"cull\"),e(\"stencil\"),e(\"polygonOffset\"),e(\"scissor\"),e(\"sample\"),\"vao\"in t&&(r.vao=t.vao),r}(t));t={gpuTime:0,cpuTime:0,count:0};var o=(r=Y.compile(i,a,n,r,t)).draw,s=r.batch,l=r.scope,c=[];return V((function(t,e){var r;if(\"function\"==typeof t)return l.call(this,null,t,0);if(\"function\"==typeof e)if(\"number\"==typeof t)for(r=0;r<t;++r)l.call(this,null,e,r);else{if(!Array.isArray(t))return l.call(this,t,e,0);for(r=0;r<t.length;++r)l.call(this,t[r],e,r)}else if(\"number\"==typeof t){if(0<t)return s.call(this,function(t){for(;c.length<t;)c.push(null);return c}(0|t),0|t)}else{if(!Array.isArray(t))return o.call(this,t);if(t.length)return s.call(this,t,t.length)}}),{stats:t})}function l(t,e){var r=0;Y.procs.poll();var n=e.color;n&&(m.clearColor(+n[0]||0,+n[1]||0,+n[2]||0,+n[3]||0),r|=16384),\"depth\"in e&&(m.clearDepth(+e.depth),r|=256),\"stencil\"in e&&(m.clearStencil(0|e.stencil),r|=1024),m.clear(r)}function c(t){return J.push(t),r(),{cancel:function(){var e=j(J,t);J[e]=function t(){var e=j(J,t);J[e]=J[J.length-1],--J.length,0>=J.length&&n()}}}}function u(){var t=Z.viewport,e=Z.scissor_box;t[0]=t[1]=e[0]=e[1]=0,P.viewportWidth=P.framebufferWidth=P.drawingBufferWidth=t[2]=e[2]=m.drawingBufferWidth,P.viewportHeight=P.framebufferHeight=P.drawingBufferHeight=t[3]=e[3]=m.drawingBufferHeight}function h(){P.tick+=1,P.time=g(),u(),Y.procs.poll()}function f(){u(),Y.procs.refresh(),w&&w.update()}function g(){return(G()-T)/1e3}if(!(t=a(t)))return null;var m=t.gl,v=m.getContextAttributes();m.isContextLost();var y=function(t,e){function r(e){var r;e=e.toLowerCase();try{r=n[e]=t.getExtension(e)}catch(t){}return!!r}for(var n={},a=0;a<e.extensions.length;++a){var i=e.extensions[a];if(!r(i))return e.onDestroy(),e.onDone('\"'+i+'\" extension is not supported by the current WebGL context, try upgrading your system or a different browser'),null}return e.optionalExtensions.forEach(r),{extensions:n,restore:function(){Object.keys(n).forEach((function(t){if(n[t]&&!r(t))throw Error(\"(regl): error restoring extension \"+t)}))}}}(m,t);if(!y)return null;var x=function(){var t={\"\":0},e=[\"\"];return{id:function(r){var n=t[r];return n||(n=t[r]=e.length,e.push(r),n)},str:function(t){return e[t]}}}(),b={vaoCount:0,bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0},_=y.extensions,w=function(t,e){function r(){this.endQueryIndex=this.startQueryIndex=-1,this.sum=0,this.stats=null}function n(t,e,n){var a=o.pop()||new r;a.startQueryIndex=t,a.endQueryIndex=e,a.sum=0,a.stats=n,s.push(a)}if(!e.ext_disjoint_timer_query)return null;var a=[],i=[],o=[],s=[],l=[],c=[];return{beginQuery:function(t){var r=a.pop()||e.ext_disjoint_timer_query.createQueryEXT();e.ext_disjoint_timer_query.beginQueryEXT(35007,r),i.push(r),n(i.length-1,i.length,t)},endQuery:function(){e.ext_disjoint_timer_query.endQueryEXT(35007)},pushScopeStats:n,update:function(){var t,r;if(0!==(t=i.length)){c.length=Math.max(c.length,t+1),l.length=Math.max(l.length,t+1),l[0]=0;var n=c[0]=0;for(r=t=0;r<i.length;++r){var u=i[r];e.ext_disjoint_timer_query.getQueryObjectEXT(u,34919)?(n+=e.ext_disjoint_timer_query.getQueryObjectEXT(u,34918),a.push(u)):i[t++]=u,l[r+1]=n,c[r+1]=t}for(i.length=t,r=t=0;r<s.length;++r){var h=(n=s[r]).startQueryIndex;u=n.endQueryIndex;n.sum+=l[u]-l[h],h=c[h],(u=c[u])===h?(n.stats.gpuTime+=n.sum/1e6,o.push(n)):(n.startQueryIndex=h,n.endQueryIndex=u,s[t++]=n)}s.length=t}},getNumPendingQueries:function(){return i.length},clear:function(){a.push.apply(a,i);for(var t=0;t<a.length;t++)e.ext_disjoint_timer_query.deleteQueryEXT(a[t]);i.length=0,a.length=0},restore:function(){i.length=0,a.length=0}}}(0,_),T=G(),M=m.drawingBufferWidth,L=m.drawingBufferHeight,P={tick:0,time:0,viewportWidth:M,viewportHeight:L,framebufferWidth:M,framebufferHeight:L,drawingBufferWidth:M,drawingBufferHeight:L,pixelRatio:t.pixelRatio},I=W(m,_),z=p(m,b,t,(function(t){return O.destroyBuffer(t)})),O=S(m,_,I,b,z),D=d(m,_,z,b),R=E(m,x,b,t),F=k(m,_,I,(function(){Y.procs.poll()}),P,b,t),B=xt(m,_,0,b,t),U=A(m,_,I,F,B,b),Y=N(m,x,_,I,z,D,0,U,{},O,R,{elements:null,primitive:4,count:-1,offset:0,instances:-1},P,w,t),Z=(x=C(m,U,Y.procs.poll,P),Y.next),X=m.canvas,J=[],K=[],Q=[],$=[t.onDestroy],tt=null;X&&(X.addEventListener(\"webglcontextlost\",i,!1),X.addEventListener(\"webglcontextrestored\",o,!1));var et=U.setFBO=s({framebuffer:q.define.call(null,1,\"framebuffer\")});return f(),v=V(s,{clear:function(t){if(\"framebuffer\"in t)if(t.framebuffer&&\"framebufferCube\"===t.framebuffer_reglType)for(var e=0;6>e;++e)et(V({framebuffer:t.framebuffer.faces[e]},t),l);else et(t,l);else l(0,t)},prop:q.define.bind(null,1),context:q.define.bind(null,2),this:q.define.bind(null,3),draw:s({}),buffer:function(t){return z.create(t,34962,!1,!1)},elements:function(t){return D.create(t,!1)},texture:F.create2D,cube:F.createCube,renderbuffer:B.create,framebuffer:U.create,framebufferCube:U.createCube,vao:O.createVAO,attributes:v,frame:c,on:function(t,e){var r;switch(t){case\"frame\":return c(e);case\"lost\":r=K;break;case\"restore\":r=Q;break;case\"destroy\":r=$}return r.push(e),{cancel:function(){for(var t=0;t<r.length;++t)if(r[t]===e){r[t]=r[r.length-1],r.pop();break}}}},limits:I,hasExtension:function(t){return 0<=I.extensions.indexOf(t.toLowerCase())},read:x,destroy:function(){J.length=0,n(),X&&(X.removeEventListener(\"webglcontextlost\",i),X.removeEventListener(\"webglcontextrestored\",o)),R.clear(),U.clear(),B.clear(),F.clear(),D.clear(),z.clear(),O.clear(),w&&w.clear(),$.forEach((function(t){t()}))},_gl:m,_refresh:f,poll:function(){h(),w&&w.update()},now:g,stats:b}),t.onDone(null,v),v}}))},{}],493:[function(t,e,r){\n",
       "/*!\n",
       " * repeat-string <https://github.com/jonschlinkert/repeat-string>\n",
       " *\n",
       " * Copyright (c) 2014-2015, Jon Schlinkert.\n",
       " * Licensed under the MIT License.\n",
       " */\n",
       "\"use strict\";var n,a=\"\";e.exports=function(t,e){if(\"string\"!=typeof t)throw new TypeError(\"expected a string\");if(1===e)return t;if(2===e)return t+t;var r=t.length*e;if(n!==t||\"undefined\"==typeof n)n=t,a=\"\";else if(a.length>=r)return a.substr(0,r);for(;r>a.length&&e>1;)1&e&&(a+=t),e>>=1,t+=t;return a=(a+=t).substr(0,r)}},{}],494:[function(t,e,r){(function(t){e.exports=t.performance&&t.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],495:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,a=e-2;a>=0;--a){var i=r,o=t[a];(l=o-((r=i+o)-i))&&(t[--n]=r,r=l)}var s=0;for(a=n;a<e;++a){var l;i=t[a];(l=(o=r)-((r=i+o)-i))&&(t[s++]=l)}return t[s++]=r,t.length=s,t}},{}],496:[function(t,e,r){\"use strict\";var n=t(\"two-product\"),a=t(\"robust-sum\"),i=t(\"robust-scale\"),o=t(\"robust-compress\");function s(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var a=r[n-1]=new Array(t.length-1),i=0,o=0;i<t.length;++i)i!==e&&(a[o++]=t[n][i]);return r}function l(t){for(var e=new Array(t),r=0;r<t;++r){e[r]=new Array(t);for(var n=0;n<t;++n)e[r][n]=[\"m[\",r,\"][\",n,\"]\"].join(\"\")}return e}function c(t){if(2===t.length)return[\"sum(prod(\",t[0][0],\",\",t[1][1],\"),prod(-\",t[0][1],\",\",t[1][0],\"))\"].join(\"\");for(var e=[],r=0;r<t.length;++r)e.push([\"scale(\",c(s(t,r)),\",\",(n=r,1&n?\"-\":\"\"),t[0][r],\")\"].join(\"\"));return function t(e){if(1===e.length)return e[0];if(2===e.length)return[\"sum(\",e[0],\",\",e[1],\")\"].join(\"\");var r=e.length>>1;return[\"sum(\",t(e.slice(0,r)),\",\",t(e.slice(r)),\")\"].join(\"\")}(e);var n}function u(t){return new Function(\"sum\",\"scale\",\"prod\",\"compress\",[\"function robustDeterminant\",t,\"(m){return compress(\",c(l(t)),\")};return robustDeterminant\",t].join(\"\"))(a,i,n,o)}var h=[function(){return[0]},function(t){return[t[0][0]]}];!function(){for(;h.length<6;)h.push(u(h.length));for(var t=[],r=[\"function robustDeterminant(m){switch(m.length){\"],n=0;n<6;++n)t.push(\"det\"+n),r.push(\"case \",n,\":return det\",n,\"(m);\");r.push(\"}var det=CACHE[m.length];if(!det)det=CACHE[m.length]=gen(m.length);return det(m);}return robustDeterminant\"),t.push(\"CACHE\",\"gen\",r.join(\"\"));var a=Function.apply(void 0,t);for(e.exports=a.apply(void 0,h.concat([h,u])),n=0;n<h.length;++n)e.exports[n]=h[n]}()},{\"robust-compress\":495,\"robust-scale\":502,\"robust-sum\":505,\"two-product\":534}],497:[function(t,e,r){\"use strict\";var n=t(\"two-product\"),a=t(\"robust-sum\");e.exports=function(t,e){for(var r=n(t[0],e[0]),i=1;i<t.length;++i)r=a(r,n(t[i],e[i]));return r}},{\"robust-sum\":505,\"two-product\":534}],498:[function(t,e,r){\"use strict\";var n=t(\"two-product\"),a=t(\"robust-sum\"),i=t(\"robust-subtract\"),o=t(\"robust-scale\");function s(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var a=r[n-1]=new Array(t.length-1),i=0,o=0;i<t.length;++i)i!==e&&(a[o++]=t[n][i]);return r}function l(t){if(1===t.length)return t[0];if(2===t.length)return[\"sum(\",t[0],\",\",t[1],\")\"].join(\"\");var e=t.length>>1;return[\"sum(\",l(t.slice(0,e)),\",\",l(t.slice(e)),\")\"].join(\"\")}function c(t,e){if(\"m\"===t.charAt(0)){if(\"w\"===e.charAt(0)){var r=t.split(\"[\");return[\"w\",e.substr(1),\"m\",r[0].substr(1)].join(\"\")}return[\"prod(\",t,\",\",e,\")\"].join(\"\")}return c(e,t)}function u(t){if(2===t.length)return[[\"diff(\",c(t[0][0],t[1][1]),\",\",c(t[1][0],t[0][1]),\")\"].join(\"\")];for(var e=[],r=0;r<t.length;++r)e.push([\"scale(\",l(u(s(t,r))),\",\",(n=r,!0&n?\"-\":\"\"),t[0][r],\")\"].join(\"\"));return e;var n}function h(t,e){for(var r=[],n=0;n<e-2;++n)r.push([\"prod(m\",t,\"[\",n,\"],m\",t,\"[\",n,\"])\"].join(\"\"));return l(r)}function f(t){for(var e=[],r=[],c=function(t){for(var e=new Array(t),r=0;r<t;++r){e[r]=new Array(t);for(var n=0;n<t;++n)e[r][n]=[\"m\",n,\"[\",t-r-2,\"]\"].join(\"\")}return e}(t),f=0;f<t;++f)c[0][f]=\"1\",c[t-1][f]=\"w\"+f;for(f=0;f<t;++f)0==(1&f)?e.push.apply(e,u(s(c,f))):r.push.apply(r,u(s(c,f)));var p=l(e),d=l(r),g=\"exactInSphere\"+t,m=[];for(f=0;f<t;++f)m.push(\"m\"+f);var v=[\"function \",g,\"(\",m.join(),\"){\"];for(f=0;f<t;++f){v.push(\"var w\",f,\"=\",h(f,t),\";\");for(var y=0;y<t;++y)y!==f&&v.push(\"var w\",f,\"m\",y,\"=scale(w\",f,\",m\",y,\"[0]);\")}return v.push(\"var p=\",p,\",n=\",d,\",d=diff(p,n);return d[d.length-1];}return \",g),new Function(\"sum\",\"diff\",\"prod\",\"scale\",v.join(\"\"))(a,i,n,o)}var p=[function(){return 0},function(){return 0},function(){return 0}];function d(t){var e=p[t.length];return e||(e=p[t.length]=f(t.length)),e.apply(void 0,t)}!function(){for(;p.length<=6;)p.push(f(p.length));for(var t=[],r=[\"slow\"],n=0;n<=6;++n)t.push(\"a\"+n),r.push(\"o\"+n);var a=[\"function testInSphere(\",t.join(),\"){switch(arguments.length){case 0:case 1:return 0;\"];for(n=2;n<=6;++n)a.push(\"case \",n,\":return o\",n,\"(\",t.slice(0,n).join(),\");\");a.push(\"}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return testInSphere\"),r.push(a.join(\"\"));var i=Function.apply(void 0,r);for(e.exports=i.apply(void 0,[d].concat(p)),n=0;n<=6;++n)e.exports[n]=p[n]}()},{\"robust-scale\":502,\"robust-subtract\":504,\"robust-sum\":505,\"two-product\":534}],499:[function(t,e,r){\"use strict\";var n=t(\"robust-determinant\");function a(t){for(var e=\"robustLinearSolve\"+t+\"d\",r=[\"function \",e,\"(A,b){return [\"],a=0;a<t;++a){r.push(\"det([\");for(var i=0;i<t;++i){i>0&&r.push(\",\"),r.push(\"[\");for(var o=0;o<t;++o)o>0&&r.push(\",\"),o===a?r.push(\"+b[\",i,\"]\"):r.push(\"+A[\",i,\"][\",o,\"]\");r.push(\"]\")}r.push(\"]),\")}r.push(\"det(A)]}return \",e);var s=new Function(\"det\",r.join(\"\"));return s(t<6?n[t]:n)}var i=[function(){return[0]},function(t,e){return[[e[0]],[t[0][0]]]}];!function(){for(;i.length<6;)i.push(a(i.length));for(var t=[],r=[\"function dispatchLinearSolve(A,b){switch(A.length){\"],n=0;n<6;++n)t.push(\"s\"+n),r.push(\"case \",n,\":return s\",n,\"(A,b);\");r.push(\"}var s=CACHE[A.length];if(!s)s=CACHE[A.length]=g(A.length);return s(A,b)}return dispatchLinearSolve\"),t.push(\"CACHE\",\"g\",r.join(\"\"));var o=Function.apply(void 0,t);for(e.exports=o.apply(void 0,i.concat([i,a])),n=0;n<6;++n)e.exports[n]=i[n]}()},{\"robust-determinant\":496}],500:[function(t,e,r){\"use strict\";var n=t(\"two-product\"),a=t(\"robust-sum\"),i=t(\"robust-scale\"),o=t(\"robust-subtract\");function s(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var a=r[n-1]=new Array(t.length-1),i=0,o=0;i<t.length;++i)i!==e&&(a[o++]=t[n][i]);return r}function l(t){if(1===t.length)return t[0];if(2===t.length)return[\"sum(\",t[0],\",\",t[1],\")\"].join(\"\");var e=t.length>>1;return[\"sum(\",l(t.slice(0,e)),\",\",l(t.slice(e)),\")\"].join(\"\")}function c(t){if(2===t.length)return[[\"sum(prod(\",t[0][0],\",\",t[1][1],\"),prod(-\",t[0][1],\",\",t[1][0],\"))\"].join(\"\")];for(var e=[],r=0;r<t.length;++r)e.push([\"scale(\",l(c(s(t,r))),\",\",(n=r,1&n?\"-\":\"\"),t[0][r],\")\"].join(\"\"));return e;var n}function u(t){for(var e=[],r=[],u=function(t){for(var e=new Array(t),r=0;r<t;++r){e[r]=new Array(t);for(var n=0;n<t;++n)e[r][n]=[\"m\",n,\"[\",t-r-1,\"]\"].join(\"\")}return e}(t),h=[],f=0;f<t;++f)0==(1&f)?e.push.apply(e,c(s(u,f))):r.push.apply(r,c(s(u,f))),h.push(\"m\"+f);var p=l(e),d=l(r),g=\"orientation\"+t+\"Exact\",m=[\"function \",g,\"(\",h.join(),\"){var p=\",p,\",n=\",d,\",d=sub(p,n);return d[d.length-1];};return \",g].join(\"\");return new Function(\"sum\",\"prod\",\"scale\",\"sub\",m)(a,n,i,o)}var h=u(3),f=u(4),p=[function(){return 0},function(){return 0},function(t,e){return e[0]-t[0]},function(t,e,r){var n,a=(t[1]-r[1])*(e[0]-r[0]),i=(t[0]-r[0])*(e[1]-r[1]),o=a-i;if(a>0){if(i<=0)return o;n=a+i}else{if(!(a<0))return o;if(i>=0)return o;n=-(a+i)}var s=33306690738754716e-32*n;return o>=s||o<=-s?o:h(t,e,r)},function(t,e,r,n){var a=t[0]-n[0],i=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],c=r[1]-n[1],u=t[2]-n[2],h=e[2]-n[2],p=r[2]-n[2],d=i*c,g=o*l,m=o*s,v=a*c,y=a*l,x=i*s,b=u*(d-g)+h*(m-v)+p*(y-x),_=7771561172376103e-31*((Math.abs(d)+Math.abs(g))*Math.abs(u)+(Math.abs(m)+Math.abs(v))*Math.abs(h)+(Math.abs(y)+Math.abs(x))*Math.abs(p));return b>_||-b>_?b:f(t,e,r,n)}];function d(t){var e=p[t.length];return e||(e=p[t.length]=u(t.length)),e.apply(void 0,t)}!function(){for(;p.length<=5;)p.push(u(p.length));for(var t=[],r=[\"slow\"],n=0;n<=5;++n)t.push(\"a\"+n),r.push(\"o\"+n);var a=[\"function getOrientation(\",t.join(),\"){switch(arguments.length){case 0:case 1:return 0;\"];for(n=2;n<=5;++n)a.push(\"case \",n,\":return o\",n,\"(\",t.slice(0,n).join(),\");\");a.push(\"}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return getOrientation\"),r.push(a.join(\"\"));var i=Function.apply(void 0,r);for(e.exports=i.apply(void 0,[d].concat(p)),n=0;n<=5;++n)e.exports[n]=p[n]}()},{\"robust-scale\":502,\"robust-subtract\":504,\"robust-sum\":505,\"two-product\":534}],501:[function(t,e,r){\"use strict\";var n=t(\"robust-sum\"),a=t(\"robust-scale\");e.exports=function(t,e){if(1===t.length)return a(e,t[0]);if(1===e.length)return a(t,e[0]);if(0===t.length||0===e.length)return[0];var r=[0];if(t.length<e.length)for(var i=0;i<t.length;++i)r=n(r,a(e,t[i]));else for(i=0;i<e.length;++i)r=n(r,a(t,e[i]));return r}},{\"robust-scale\":502,\"robust-sum\":505}],502:[function(t,e,r){\"use strict\";var n=t(\"two-product\"),a=t(\"two-sum\");e.exports=function(t,e){var r=t.length;if(1===r){var i=n(t[0],e);return i[0]?i:[i[1]]}var o=new Array(2*r),s=[.1,.1],l=[.1,.1],c=0;n(t[0],e,s),s[0]&&(o[c++]=s[0]);for(var u=1;u<r;++u){n(t[u],e,l);var h=s[1];a(h,l[0],s),s[0]&&(o[c++]=s[0]);var f=l[1],p=s[1],d=f+p,g=p-(d-f);s[1]=d,g&&(o[c++]=g)}s[1]&&(o[c++]=s[1]);0===c&&(o[c++]=0);return o.length=c,o}},{\"two-product\":534,\"two-sum\":535}],503:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,a){var i=n(t,r,a),o=n(e,r,a);if(i>0&&o>0||i<0&&o<0)return!1;var s=n(r,t,e),l=n(a,t,e);if(s>0&&l>0||s<0&&l<0)return!1;if(0===i&&0===o&&0===s&&0===l)return function(t,e,r,n){for(var a=0;a<2;++a){var i=t[a],o=e[a],s=Math.min(i,o),l=Math.max(i,o),c=r[a],u=n[a],h=Math.min(c,u);if(Math.max(c,u)<s||l<h)return!1}return!0}(t,e,r,a);return!0};var n=t(\"robust-orientation\")[3]},{\"robust-orientation\":500}],504:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=0|t.length,n=0|e.length;if(1===r&&1===n)return function(t,e){var r=t+e,n=r-t,a=t-(r-n)+(e-n);if(a)return[a,r];return[r]}(t[0],-e[0]);var a,i,o=new Array(r+n),s=0,l=0,c=0,u=Math.abs,h=t[l],f=u(h),p=-e[c],d=u(p);f<d?(i=h,(l+=1)<r&&(h=t[l],f=u(h))):(i=p,(c+=1)<n&&(p=-e[c],d=u(p)));l<r&&f<d||c>=n?(a=h,(l+=1)<r&&(h=t[l],f=u(h))):(a=p,(c+=1)<n&&(p=-e[c],d=u(p)));var g,m,v=a+i,y=v-a,x=i-y,b=x,_=v;for(;l<r&&c<n;)f<d?(a=h,(l+=1)<r&&(h=t[l],f=u(h))):(a=p,(c+=1)<n&&(p=-e[c],d=u(p))),(x=(i=b)-(y=(v=a+i)-a))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g;for(;l<r;)(x=(i=b)-(y=(v=(a=h)+i)-a))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g,(l+=1)<r&&(h=t[l]);for(;c<n;)(x=(i=b)-(y=(v=(a=p)+i)-a))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g,(c+=1)<n&&(p=-e[c]);b&&(o[s++]=b);_&&(o[s++]=_);s||(o[s++]=0);return o.length=s,o}},{}],505:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=0|t.length,n=0|e.length;if(1===r&&1===n)return function(t,e){var r=t+e,n=r-t,a=t-(r-n)+(e-n);if(a)return[a,r];return[r]}(t[0],e[0]);var a,i,o=new Array(r+n),s=0,l=0,c=0,u=Math.abs,h=t[l],f=u(h),p=e[c],d=u(p);f<d?(i=h,(l+=1)<r&&(h=t[l],f=u(h))):(i=p,(c+=1)<n&&(p=e[c],d=u(p)));l<r&&f<d||c>=n?(a=h,(l+=1)<r&&(h=t[l],f=u(h))):(a=p,(c+=1)<n&&(p=e[c],d=u(p)));var g,m,v=a+i,y=v-a,x=i-y,b=x,_=v;for(;l<r&&c<n;)f<d?(a=h,(l+=1)<r&&(h=t[l],f=u(h))):(a=p,(c+=1)<n&&(p=e[c],d=u(p))),(x=(i=b)-(y=(v=a+i)-a))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g;for(;l<r;)(x=(i=b)-(y=(v=(a=h)+i)-a))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g,(l+=1)<r&&(h=t[l]);for(;c<n;)(x=(i=b)-(y=(v=(a=p)+i)-a))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g,(c+=1)<n&&(p=e[c]);b&&(o[s++]=b);_&&(o[s++]=_);s||(o[s++]=0);return o.length=s,o}},{}],506:[function(t,e,r){\"use strict\";e.exports=function(t){return t<0?-1:t>0?1:0}},{}],507:[function(t,e,r){\"use strict\";e.exports=function(t){return a(n(t))};var n=t(\"boundary-cells\"),a=t(\"reduce-simplicial-complex\")},{\"boundary-cells\":98,\"reduce-simplicial-complex\":487}],508:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,s){r=r||0,\"undefined\"==typeof s&&(s=function(t){for(var e=t.length,r=0,n=0;n<e;++n)r=0|Math.max(r,t[n].length);return r-1}(t));if(0===t.length||s<1)return{cells:[],vertexIds:[],vertexWeights:[]};var l=function(t,e){for(var r=t.length,n=a.mallocUint8(r),i=0;i<r;++i)n[i]=t[i]<e|0;return n}(e,+r),c=function(t,e){for(var r=t.length,o=e*(e+1)/2*r|0,s=a.mallocUint32(2*o),l=0,c=0;c<r;++c)for(var u=t[c],h=(e=u.length,0);h<e;++h)for(var f=0;f<h;++f){var p=u[f],d=u[h];s[l++]=0|Math.min(p,d),s[l++]=0|Math.max(p,d)}i(n(s,[l/2|0,2]));var g=2;for(c=2;c<l;c+=2)s[c-2]===s[c]&&s[c-1]===s[c+1]||(s[g++]=s[c],s[g++]=s[c+1]);return n(s,[g/2|0,2])}(t,s),u=function(t,e,r,i){for(var o=t.data,s=t.shape[0],l=a.mallocDouble(s),c=0,u=0;u<s;++u){var h=o[2*u],f=o[2*u+1];if(r[h]!==r[f]){var p=e[h],d=e[f];o[2*c]=h,o[2*c+1]=f,l[c++]=(d-i)/(d-p)}}return t.shape[0]=c,n(l,[c])}(c,e,l,+r),h=function(t,e){var r=a.mallocInt32(2*e),n=t.shape[0],i=t.data;r[0]=0;for(var o=0,s=0;s<n;++s){var l=i[2*s];if(l!==o){for(r[2*o+1]=s;++o<l;)r[2*o]=s,r[2*o+1]=s;r[2*o]=s}}r[2*o+1]=n;for(;++o<e;)r[2*o]=r[2*o+1]=n;return r}(c,0|e.length),f=o(s)(t,c.data,h,l),p=function(t){for(var e=0|t.shape[0],r=t.data,n=new Array(e),a=0;a<e;++a)n[a]=[r[2*a],r[2*a+1]];return n}(c),d=[].slice.call(u.data,0,u.shape[0]);return a.free(l),a.free(c.data),a.free(u.data),a.free(h),{cells:f,vertexIds:p,vertexWeights:d}};var n=t(\"ndarray\"),a=t(\"typedarray-pool\"),i=t(\"ndarray-sort\"),o=t(\"./lib/codegen\")},{\"./lib/codegen\":509,ndarray:448,\"ndarray-sort\":447,\"typedarray-pool\":547}],509:[function(t,e,r){\"use strict\";e.exports=function(t){var e=i[t];e||(e=i[t]=function(t){var e=0,r=new Array(t+1);r[0]=[[]];for(var i=1;i<=t;++i)for(var o=r[i]=a(i),s=0;s<o.length;++s)e=Math.max(e,o[i].length);var l=[\"function B(C,E,i,j){\",\"var a=Math.min(i,j)|0,b=Math.max(i,j)|0,l=C[2*a],h=C[2*a+1];\",\"while(l<h){\",\"var m=(l+h)>>1,v=E[2*m+1];\",\"if(v===b){return m}\",\"if(b<v){h=m}else{l=m+1}\",\"}\",\"return l;\",\"};\",\"function getContour\",t,\"d(F,E,C,S){\",\"var n=F.length,R=[];\",\"for(var i=0;i<n;++i){var c=F[i],l=c.length;\"];function c(t){if(!(t.length<=0)){l.push(\"R.push(\");for(var e=0;e<t.length;++e){var r=t[e];e>0&&l.push(\",\"),l.push(\"[\");for(var n=0;n<r.length;++n){var a=r[n];n>0&&l.push(\",\"),l.push(\"B(C,E,c[\",a[0],\"],c[\",a[1],\"])\")}l.push(\"]\")}l.push(\");\")}}for(i=t+1;i>1;--i){i<t+1&&l.push(\"else \"),l.push(\"if(l===\",i,\"){\");var u=[];for(s=0;s<i;++s)u.push(\"(S[c[\"+s+\"]]<<\"+s+\")\");l.push(\"var M=\",u.join(\"+\"),\";if(M===0||M===\",(1<<i)-1,\"){continue}switch(M){\");for(o=r[i-1],s=0;s<o.length;++s)l.push(\"case \",s,\":\"),c(o[s]),l.push(\"break;\");l.push(\"}}\")}return l.push(\"}return R;};return getContour\",t,\"d\"),new Function(\"pool\",l.join(\"\"))(n)}(t));return e};var n=t(\"typedarray-pool\"),a=t(\"marching-simplex-table\"),i={}},{\"marching-simplex-table\":427,\"typedarray-pool\":547}],510:[function(t,e,r){\"use strict\";var n=t(\"bit-twiddle\"),a=t(\"union-find\");function i(t,e){var r=t.length,n=t.length-e.length,a=Math.min;if(n)return n;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return(s=t[0]+t[1]-e[0]-e[1])||a(t[0],t[1])-a(e[0],e[1]);case 3:var i=t[0]+t[1],o=e[0]+e[1];if(s=i+t[2]-(o+e[2]))return s;var s,l=a(t[0],t[1]),c=a(e[0],e[1]);return(s=a(l,t[2])-a(c,e[2]))||a(l+t[2],i)-a(c+e[2],o);default:var u=t.slice(0);u.sort();var h=e.slice(0);h.sort();for(var f=0;f<r;++f)if(n=u[f]-h[f])return n;return 0}}function o(t,e){return i(t[0],e[0])}function s(t,e){if(e){for(var r=t.length,n=new Array(r),a=0;a<r;++a)n[a]=[t[a],e[a]];n.sort(o);for(a=0;a<r;++a)t[a]=n[a][0],e[a]=n[a][1];return t}return t.sort(i),t}function l(t){if(0===t.length)return[];for(var e=1,r=t.length,n=1;n<r;++n){var a=t[n];if(i(a,t[n-1])){if(n===e){e++;continue}t[e++]=a}}return t.length=e,t}function c(t,e){for(var r=0,n=t.length-1,a=-1;r<=n;){var o=r+n>>1,s=i(t[o],e);s<=0?(0===s&&(a=o),r=o+1):s>0&&(n=o-1)}return a}function u(t,e){for(var r=new Array(t.length),a=0,o=r.length;a<o;++a)r[a]=[];for(var s=[],l=(a=0,e.length);a<l;++a)for(var u=e[a],h=u.length,f=1,p=1<<h;f<p;++f){s.length=n.popCount(f);for(var d=0,g=0;g<h;++g)f&1<<g&&(s[d++]=u[g]);var m=c(t,s);if(!(m<0))for(;r[m++].push(a),!(m>=t.length||0!==i(t[m],s)););}return r}function h(t,e){if(e<0)return[];for(var r=[],a=(1<<e+1)-1,i=0;i<t.length;++i)for(var o=t[i],l=a;l<1<<o.length;l=n.nextCombination(l)){for(var c=new Array(e+1),u=0,h=0;h<o.length;++h)l&1<<h&&(c[u++]=o[h]);r.push(c)}return s(r)}r.dimension=function(t){for(var e=0,r=Math.max,n=0,a=t.length;n<a;++n)e=r(e,t[n].length);return e-1},r.countVertices=function(t){for(var e=-1,r=Math.max,n=0,a=t.length;n<a;++n)for(var i=t[n],o=0,s=i.length;o<s;++o)e=r(e,i[o]);return e+1},r.cloneCells=function(t){for(var e=new Array(t.length),r=0,n=t.length;r<n;++r)e[r]=t[r].slice(0);return e},r.compareCells=i,r.normalize=s,r.unique=l,r.findCell=c,r.incidence=u,r.dual=function(t,e){if(!e)return u(l(h(t,0)),t);for(var r=new Array(e),n=0;n<e;++n)r[n]=[];n=0;for(var a=t.length;n<a;++n)for(var i=t[n],o=0,s=i.length;o<s;++o)r[i[o]].push(n);return r},r.explode=function(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var a=t[r],i=0|a.length,o=1,l=1<<i;o<l;++o){for(var c=[],u=0;u<i;++u)o>>>u&1&&c.push(a[u]);e.push(c)}return s(e)},r.skeleton=h,r.boundary=function(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var a=t[r],i=0,o=a.length;i<o;++i){for(var l=new Array(a.length-1),c=0,u=0;c<o;++c)c!==i&&(l[u++]=a[c]);e.push(l)}return s(e)},r.connectedComponents=function(t,e){return e?function(t,e){for(var r=new a(e),n=0;n<t.length;++n)for(var i=t[n],o=0;o<i.length;++o)for(var s=o+1;s<i.length;++s)r.link(i[o],i[s]);var l=[],c=r.ranks;for(n=0;n<c.length;++n)c[n]=-1;for(n=0;n<t.length;++n){var u=r.find(t[n][0]);c[u]<0?(c[u]=l.length,l.push([t[n].slice(0)])):l[c[u]].push(t[n].slice(0))}return l}(t,e):function(t){for(var e=l(s(h(t,0))),r=new a(e.length),n=0;n<t.length;++n)for(var i=t[n],o=0;o<i.length;++o)for(var u=c(e,[i[o]]),f=o+1;f<i.length;++f)r.link(u,c(e,[i[f]]));var p=[],d=r.ranks;for(n=0;n<d.length;++n)d[n]=-1;for(n=0;n<t.length;++n){var g=r.find(c(e,[t[n][0]]));d[g]<0?(d[g]=p.length,p.push([t[n].slice(0)])):p[d[g]].push(t[n].slice(0))}return p}(t)}},{\"bit-twiddle\":95,\"union-find\":548}],511:[function(t,e,r){arguments[4][95][0].apply(r,arguments)},{dup:95}],512:[function(t,e,r){arguments[4][510][0].apply(r,arguments)},{\"bit-twiddle\":511,dup:510,\"union-find\":513}],513:[function(t,e,r){\"use strict\";function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e<t;++e)this.roots[e]=e,this.ranks[e]=0}e.exports=n,n.prototype.length=function(){return this.roots.length},n.prototype.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},n.prototype.find=function(t){for(var e=this.roots;e[t]!==t;){var r=e[t];e[t]=e[r],t=r}return t},n.prototype.link=function(t,e){var r=this.find(t),n=this.find(e);if(r!==n){var a=this.ranks,i=this.roots,o=a[r],s=a[n];o<s?i[r]=n:s<o?i[n]=r:(i[n]=r,++a[r])}}},{}],514:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){for(var i=e.length,o=t.length,s=new Array(i),l=new Array(i),c=new Array(i),u=new Array(i),h=0;h<i;++h)s[h]=l[h]=-1,c[h]=1/0,u[h]=!1;for(h=0;h<o;++h){var f=t[h];if(2!==f.length)throw new Error(\"Input must be a graph\");var p=f[1],d=f[0];-1!==l[d]?l[d]=-2:l[d]=p,-1!==s[p]?s[p]=-2:s[p]=d}function g(t){if(u[t])return 1/0;var r,a,i,o,c,h=s[t],f=l[t];return h<0||f<0?1/0:(r=e[t],a=e[h],i=e[f],o=Math.abs(n(r,a,i)),c=Math.sqrt(Math.pow(a[0]-i[0],2)+Math.pow(a[1]-i[1],2)),o/c)}function m(t,e){var r=k[t],n=k[e];k[t]=n,k[e]=r,A[r]=e,A[n]=t}function v(t){return c[k[t]]}function y(t){return 1&t?t-1>>1:(t>>1)-1}function x(t){for(var e=v(t);;){var r=e,n=2*t+1,a=2*(t+1),i=t;if(n<M){var o=v(n);o<r&&(i=n,r=o)}if(a<M)v(a)<r&&(i=a);if(i===t)return t;m(t,i),t=i}}function b(t){for(var e=v(t);t>0;){var r=y(t);if(r>=0)if(e<v(r)){m(t,r),t=r;continue}return t}}function _(){if(M>0){var t=k[0];return m(0,M-1),M-=1,x(0),t}return-1}function w(t,e){var r=k[t];return c[r]===e?t:(c[r]=-1/0,b(t),_(),c[r]=e,b((M+=1)-1))}function T(t){if(!u[t]){u[t]=!0;var e=s[t],r=l[t];s[r]>=0&&(s[r]=e),l[e]>=0&&(l[e]=r),A[e]>=0&&w(A[e],g(e)),A[r]>=0&&w(A[r],g(r))}}var k=[],A=new Array(i);for(h=0;h<i;++h){(c[h]=g(h))<1/0?(A[h]=k.length,k.push(h)):A[h]=-1}var M=k.length;for(h=M>>1;h>=0;--h)x(h);for(;;){var S=_();if(S<0||c[S]>r)break;T(S)}var E=[];for(h=0;h<i;++h)u[h]||(A[h]=E.length,E.push(e[h].slice()));E.length;function C(t,e){if(t[e]<0)return e;var r=e,n=e;do{var a=t[n];if(!u[n]||a<0||a===n)break;if(a=t[n=a],!u[n]||a<0||a===n)break;n=a,r=t[r]}while(r!==n);for(var i=e;i!==n;i=t[i])t[i]=n;return n}var L=[];return t.forEach((function(t){var e=C(s,t[0]),r=C(l,t[1]);if(e>=0&&r>=0&&e!==r){var n=A[e],a=A[r];n!==a&&L.push([n,a])}})),a.unique(a.normalize(L)),{positions:E,edges:L}};var n=t(\"robust-orientation\"),a=t(\"simplicial-complex\")},{\"robust-orientation\":500,\"simplicial-complex\":512}],515:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r,i,o,s;if(e[0][0]<e[1][0])r=e[0],i=e[1];else{if(!(e[0][0]>e[1][0]))return a(e,t);r=e[1],i=e[0]}if(t[0][0]<t[1][0])o=t[0],s=t[1];else{if(!(t[0][0]>t[1][0]))return-a(t,e);o=t[1],s=t[0]}var l=n(r,i,s),c=n(r,i,o);if(l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;if(l=n(s,o,i),c=n(s,o,r),l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;return i[0]-s[0]};var n=t(\"robust-orientation\");function a(t,e){var r,a,i,o;if(e[0][0]<e[1][0])r=e[0],a=e[1];else{if(!(e[0][0]>e[1][0])){var s=Math.min(t[0][1],t[1][1]),l=Math.max(t[0][1],t[1][1]),c=Math.min(e[0][1],e[1][1]),u=Math.max(e[0][1],e[1][1]);return l<c?l-c:s>u?s-u:l-u}r=e[1],a=e[0]}t[0][1]<t[1][1]?(i=t[0],o=t[1]):(i=t[1],o=t[0]);var h=n(a,r,i);return h||((h=n(a,r,o))||o-a)}},{\"robust-orientation\":500}],516:[function(t,e,r){arguments[4][238][0].apply(r,arguments)},{dup:238}],517:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=t.length,r=2*e,n=new Array(r),i=0;i<e;++i){var l=t[i],c=l[0][0]<l[1][0];n[2*i]=new h(l[0][0],l,c,i),n[2*i+1]=new h(l[1][0],l,!c,i)}n.sort((function(t,e){var r=t.x-e.x;return r||((r=t.create-e.create)||Math.min(t.segment[0][1],t.segment[1][1])-Math.min(e.segment[0][1],e.segment[1][1]))}));var f=a(o),p=[],d=[],g=[];for(i=0;i<r;){for(var m=n[i].x,v=[];i<r;){var y=n[i];if(y.x!==m)break;i+=1,y.segment[0][0]===y.x&&y.segment[1][0]===y.x?y.create&&(y.segment[0][1]<y.segment[1][1]?(v.push(new u(y.segment[0][1],y.index,!0,!0)),v.push(new u(y.segment[1][1],y.index,!1,!1))):(v.push(new u(y.segment[1][1],y.index,!0,!1)),v.push(new u(y.segment[0][1],y.index,!1,!0)))):f=y.create?f.insert(y.segment,y.index):f.remove(y.segment)}p.push(f.root),d.push(m),g.push(v)}return new s(p,d,g)};var n=t(\"binary-search-bounds\"),a=t(\"functional-red-black-tree\"),i=t(\"robust-orientation\"),o=t(\"./lib/order-segments\");function s(t,e,r){this.slabs=t,this.coordinates=e,this.horizontal=r}function l(t,e){return t.y-e}function c(t,e){for(var r=null;t;){var n,a,o=t.key;o[0][0]<o[1][0]?(n=o[0],a=o[1]):(n=o[1],a=o[0]);var s=i(n,a,e);if(s<0)t=t.left;else if(s>0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=c(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=c(t.right,e))return l;t=t.left}}return r}function u(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function h(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}s.prototype.castUp=function(t){var e=n.le(this.coordinates,t[0]);if(e<0)return-1;this.slabs[e];var r=c(this.slabs[e],t),a=-1;if(r&&(a=r.value),this.coordinates[e]===t[0]){var s=null;if(r&&(s=r.key),e>0){var u=c(this.slabs[e-1],t);u&&(s?o(u.key,s)>0&&(s=u.key,a=u.value):(a=u.value,s=u.key))}var h=this.horizontal[e];if(h.length>0){var f=n.ge(h,t[1],l);if(f<h.length){var p=h[f];if(t[1]===p.y){if(p.closed)return p.index;for(;f<h.length-1&&h[f+1].y===t[1];)if((p=h[f+=1]).closed)return p.index;if(p.y===t[1]&&!p.start){if((f+=1)>=h.length)return a;p=h[f]}}if(p.start)if(s){var d=i(s[0],s[1],[t[0],p.y]);s[0][0]>s[1][0]&&(d=-d),d>0&&(a=p.index)}else a=p.index;else p.y!==t[1]&&(a=p.index)}}}return a}},{\"./lib/order-segments\":515,\"binary-search-bounds\":516,\"functional-red-black-tree\":242,\"robust-orientation\":500}],518:[function(t,e,r){\"use strict\";var n=t(\"robust-dot-product\"),a=t(\"robust-sum\");function i(t,e){var r=a(n(t,e),[e[e.length-1]]);return r[r.length-1]}function o(t,e,r,n){var a=-e/(n-e);a<0?a=0:a>1&&(a=1);for(var i=1-a,o=t.length,s=new Array(o),l=0;l<o;++l)s[l]=a*t[l]+i*r[l];return s}e.exports=function(t,e){for(var r=[],n=[],a=i(t[t.length-1],e),s=t[t.length-1],l=t[0],c=0;c<t.length;++c,s=l){var u=i(l=t[c],e);if(a<0&&u>0||a>0&&u<0){var h=o(s,u,l,a);r.push(h),n.push(h.slice())}u<0?n.push(l.slice()):u>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),a=u}return{positive:r,negative:n}},e.exports.positive=function(t,e){for(var r=[],n=i(t[t.length-1],e),a=t[t.length-1],s=t[0],l=0;l<t.length;++l,a=s){var c=i(s=t[l],e);(n<0&&c>0||n>0&&c<0)&&r.push(o(a,c,s,n)),c>=0&&r.push(s.slice()),n=c}return r},e.exports.negative=function(t,e){for(var r=[],n=i(t[t.length-1],e),a=t[t.length-1],s=t[0],l=0;l<t.length;++l,a=s){var c=i(s=t[l],e);(n<0&&c>0||n>0&&c<0)&&r.push(o(a,c,s,n)),c<=0&&r.push(s.slice()),n=c}return r}},{\"robust-dot-product\":497,\"robust-sum\":505}],519:[function(t,e,r){!function(){\"use strict\";var t={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\\x25]+/,modulo:/^\\x25{2}/,placeholder:/^\\x25(?:([1-9]\\d*)\\$|\\(([^)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\\d]*)/i,key_access:/^\\.([a-z_][a-z_\\d]*)/i,index_access:/^\\[(\\d+)\\]/,sign:/^[+-]/};function e(t){return a(o(t),arguments)}function n(t,r){return e.apply(null,[t].concat(r||[]))}function a(r,n){var a,i,o,s,l,c,u,h,f,p=1,d=r.length,g=\"\";for(i=0;i<d;i++)if(\"string\"==typeof r[i])g+=r[i];else if(\"object\"==typeof r[i]){if((s=r[i]).keys)for(a=n[p],o=0;o<s.keys.length;o++){if(null==a)throw new Error(e('[sprintf] Cannot access property \"%s\" of undefined value \"%s\"',s.keys[o],s.keys[o-1]));a=a[s.keys[o]]}else a=s.param_no?n[s.param_no]:n[p++];if(t.not_type.test(s.type)&&t.not_primitive.test(s.type)&&a instanceof Function&&(a=a()),t.numeric_arg.test(s.type)&&\"number\"!=typeof a&&isNaN(a))throw new TypeError(e(\"[sprintf] expecting number but found %T\",a));switch(t.number.test(s.type)&&(h=a>=0),s.type){case\"b\":a=parseInt(a,10).toString(2);break;case\"c\":a=String.fromCharCode(parseInt(a,10));break;case\"d\":case\"i\":a=parseInt(a,10);break;case\"j\":a=JSON.stringify(a,null,s.width?parseInt(s.width):0);break;case\"e\":a=s.precision?parseFloat(a).toExponential(s.precision):parseFloat(a).toExponential();break;case\"f\":a=s.precision?parseFloat(a).toFixed(s.precision):parseFloat(a);break;case\"g\":a=s.precision?String(Number(a.toPrecision(s.precision))):parseFloat(a);break;case\"o\":a=(parseInt(a,10)>>>0).toString(8);break;case\"s\":a=String(a),a=s.precision?a.substring(0,s.precision):a;break;case\"t\":a=String(!!a),a=s.precision?a.substring(0,s.precision):a;break;case\"T\":a=Object.prototype.toString.call(a).slice(8,-1).toLowerCase(),a=s.precision?a.substring(0,s.precision):a;break;case\"u\":a=parseInt(a,10)>>>0;break;case\"v\":a=a.valueOf(),a=s.precision?a.substring(0,s.precision):a;break;case\"x\":a=(parseInt(a,10)>>>0).toString(16);break;case\"X\":a=(parseInt(a,10)>>>0).toString(16).toUpperCase()}t.json.test(s.type)?g+=a:(!t.number.test(s.type)||h&&!s.sign?f=\"\":(f=h?\"+\":\"-\",a=a.toString().replace(t.sign,\"\")),c=s.pad_char?\"0\"===s.pad_char?\"0\":s.pad_char.charAt(1):\" \",u=s.width-(f+a).length,l=s.width&&u>0?c.repeat(u):\"\",g+=s.align?f+a+l:\"0\"===c?f+l+a:l+f+a)}return g}var i=Object.create(null);function o(e){if(i[e])return i[e];for(var r,n=e,a=[],o=0;n;){if(null!==(r=t.text.exec(n)))a.push(r[0]);else if(null!==(r=t.modulo.exec(n)))a.push(\"%\");else{if(null===(r=t.placeholder.exec(n)))throw new SyntaxError(\"[sprintf] unexpected placeholder\");if(r[2]){o|=1;var s=[],l=r[2],c=[];if(null===(c=t.key.exec(l)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");for(s.push(c[1]);\"\"!==(l=l.substring(c[0].length));)if(null!==(c=t.key_access.exec(l)))s.push(c[1]);else{if(null===(c=t.index_access.exec(l)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");s.push(c[1])}r[2]=s}else o|=2;if(3===o)throw new Error(\"[sprintf] mixing positional and named placeholders is not (yet) supported\");a.push({placeholder:r[0],param_no:r[1],keys:r[2],sign:r[3],pad_char:r[4],align:r[5],width:r[6],precision:r[7],type:r[8]})}n=n.substring(r[0].length)}return i[e]=a}\"undefined\"!=typeof r&&(r.sprintf=e,r.vsprintf=n),\"undefined\"!=typeof window&&(window.sprintf=e,window.vsprintf=n)}()},{}],520:[function(t,e,r){\"use strict\";var n=t(\"parenthesis\");e.exports=function(t,e,r){if(null==t)throw Error(\"First argument should be a string\");if(null==e)throw Error(\"Separator should be a string or a RegExp\");r?(\"string\"==typeof r||Array.isArray(r))&&(r={ignore:r}):r={},null==r.escape&&(r.escape=!0),null==r.ignore?r.ignore=[\"[]\",\"()\",\"{}\",\"<>\",'\"\"',\"''\",\"``\",\"\\u201c\\u201d\",\"\\xab\\xbb\"]:(\"string\"==typeof r.ignore&&(r.ignore=[r.ignore]),r.ignore=r.ignore.map((function(t){return 1===t.length&&(t+=t),t})));var a=n.parse(t,{flat:!0,brackets:r.ignore}),i=a[0].split(e);if(r.escape){for(var o=[],s=0;s<i.length;s++){var l=i[s],c=i[s+1];\"\\\\\"===l[l.length-1]&&\"\\\\\"!==l[l.length-2]?(o.push(l+e+c),s++):o.push(l)}i=o}for(s=0;s<i.length;s++)a[0]=i[s],i[s]=n.stringify(a,{flat:!0});return i}},{parenthesis:456}],521:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=t.length,r=new Array(e),n=new Array(e),a=new Array(e),i=new Array(e),o=new Array(e),s=new Array(e),l=0;l<e;++l)r[l]=-1,n[l]=0,a[l]=!1,i[l]=0,o[l]=-1,s[l]=[];var c,u=0,h=[],f=[];function p(e){var l=[e],c=[e];for(r[e]=n[e]=u,a[e]=!0,u+=1;c.length>0;){e=c[c.length-1];var p=t[e];if(i[e]<p.length){for(var d=i[e];d<p.length;++d){var g=p[d];if(r[g]<0){r[g]=n[g]=u,a[g]=!0,u+=1,l.push(g),c.push(g);break}a[g]&&(n[e]=0|Math.min(n[e],n[g])),o[g]>=0&&s[e].push(o[g])}i[e]=d}else{if(n[e]===r[e]){var m=[],v=[],y=0;for(d=l.length-1;d>=0;--d){var x=l[d];if(a[x]=!1,m.push(x),v.push(s[x]),y+=s[x].length,o[x]=h.length,x===e){l.length=d;break}}h.push(m);var b=new Array(y);for(d=0;d<v.length;d++)for(var _=0;_<v[d].length;_++)b[--y]=v[d][_];f.push(b)}c.pop()}}}for(l=0;l<e;++l)r[l]<0&&p(l);for(l=0;l<f.length;l++){var d=f[l];if(0!==d.length){d.sort((function(t,e){return t-e})),c=[d[0]];for(var g=1;g<d.length;g++)d[g]!==d[g-1]&&c.push(d[g]);f[l]=c}}return{components:h,adjacencyList:f}}},{}],522:[function(t,e,r){\"use strict\";e.exports=function(t,e){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,e){for(var r=i(t,e),n=r.length,a=new Array(n),o=new Array(n),s=0;s<n;++s)a[s]=[r[s]],o[s]=[s];return{positions:a,cells:o}}(t,e);var r=t.order.join()+\"-\"+t.dtype,s=o[r];e=+e||0;s||(s=o[r]=function(t,e){var r=t.length,i=[\"'use strict';\"],o=\"surfaceNets\"+t.join(\"_\")+\"d\"+e;i.push(\"var contour=genContour({\",\"order:[\",t.join(),\"],\",\"scalarArguments: 3,\",\"phase:function phaseFunc(p,a,b,c) { return (p > c)|0 },\"),\"generic\"===e&&i.push(\"getters:[0],\");for(var s=[],l=[],c=0;c<r;++c)s.push(\"d\"+c),l.push(\"d\"+c);for(c=0;c<1<<r;++c)s.push(\"v\"+c),l.push(\"v\"+c);for(c=0;c<1<<r;++c)s.push(\"p\"+c),l.push(\"p\"+c);s.push(\"a\",\"b\",\"c\"),l.push(\"a\",\"c\"),i.push(\"vertex:function vertexFunc(\",s.join(),\"){\");var u=[];for(c=0;c<1<<r;++c)u.push(\"(p\"+c+\"<<\"+c+\")\");i.push(\"var m=(\",u.join(\"+\"),\")|0;if(m===0||m===\",(1<<(1<<r))-1,\"){return}\");var h=[],f=[];1<<(1<<r)<=128?(i.push(\"switch(m){\"),f=i):i.push(\"switch(m>>>7){\");for(c=0;c<1<<(1<<r);++c){if(1<<(1<<r)>128&&c%128==0){h.length>0&&f.push(\"}}\");var p=\"vExtra\"+h.length;i.push(\"case \",c>>>7,\":\",p,\"(m&0x7f,\",l.join(),\");break;\"),f=[\"function \",p,\"(m,\",l.join(),\"){switch(m){\"],h.push(f)}f.push(\"case \",127&c,\":\");for(var d=new Array(r),g=new Array(r),m=new Array(r),v=new Array(r),y=0,x=0;x<r;++x)d[x]=[],g[x]=[],m[x]=0,v[x]=0;for(x=0;x<1<<r;++x)for(var b=0;b<r;++b){var _=x^1<<b;if(!(_>x)&&!(c&1<<_)!=!(c&1<<x)){var w=1;c&1<<_?g[b].push(\"v\"+_+\"-v\"+x):(g[b].push(\"v\"+x+\"-v\"+_),w=-w),w<0?(d[b].push(\"-v\"+x+\"-v\"+_),m[b]+=2):(d[b].push(\"v\"+x+\"+v\"+_),m[b]-=2),y+=1;for(var T=0;T<r;++T)T!==b&&(_&1<<T?v[T]+=1:v[T]-=1)}}var k=[];for(b=0;b<r;++b)if(0===d[b].length)k.push(\"d\"+b+\"-0.5\");else{var A=\"\";m[b]<0?A=m[b]+\"*c\":m[b]>0&&(A=\"+\"+m[b]+\"*c\");var M=d[b].length/y*.5,S=.5+v[b]/y*.5;k.push(\"d\"+b+\"-\"+S+\"-\"+M+\"*(\"+d[b].join(\"+\")+A+\")/(\"+g[b].join(\"+\")+\")\")}f.push(\"a.push([\",k.join(),\"]);\",\"break;\")}i.push(\"}},\"),h.length>0&&f.push(\"}}\");var E=[];for(c=0;c<1<<r-1;++c)E.push(\"v\"+c);E.push(\"c0\",\"c1\",\"p0\",\"p1\",\"a\",\"b\",\"c\"),i.push(\"cell:function cellFunc(\",E.join(),\"){\");var C=a(r-1);i.push(\"if(p0){b.push(\",C.map((function(t){return\"[\"+t.map((function(t){return\"v\"+t}))+\"]\"})).join(),\")}else{b.push(\",C.map((function(t){var e=t.slice();return e.reverse(),\"[\"+e.map((function(t){return\"v\"+t}))+\"]\"})).join(),\")}}});function \",o,\"(array,level){var verts=[],cells=[];contour(array,verts,cells,level);return {positions:verts,cells:cells};} return \",o,\";\");for(c=0;c<h.length;++c)i.push(h[c].join(\"\"));return new Function(\"genContour\",i.join(\"\"))(n)}(t.order,t.dtype));return s(t,e)};var n=t(\"ndarray-extract-contour\"),a=t(\"triangulate-hypercube\"),i=t(\"zero-crossings\");var o={}},{\"ndarray-extract-contour\":440,\"triangulate-hypercube\":532,\"zero-crossings\":576}],523:[function(t,e,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0});var n=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var r=[],n=!0,a=!1,i=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){a=!0,i=t}finally{try{!n&&s.return&&s.return()}finally{if(a)throw i}}return r}(t,e);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")},a=2*Math.PI,i=function(t,e,r,n,a,i,o){var s=t.x,l=t.y;return{x:n*(s*=e)-a*(l*=r)+i,y:a*s+n*l+o}},o=function(t,e){var r=1.5707963267948966===e?.551915024494:-1.5707963267948966===e?-.551915024494:4/3*Math.tan(e/4),n=Math.cos(t),a=Math.sin(t),i=Math.cos(t+e),o=Math.sin(t+e);return[{x:n-a*r,y:a+n*r},{x:i+o*r,y:o-i*r},{x:i,y:o}]},s=function(t,e,r,n){var a=t*r+e*n;return a>1&&(a=1),a<-1&&(a=-1),(t*n-e*r<0?-1:1)*Math.acos(a)};r.default=function(t){var e=t.px,r=t.py,l=t.cx,c=t.cy,u=t.rx,h=t.ry,f=t.xAxisRotation,p=void 0===f?0:f,d=t.largeArcFlag,g=void 0===d?0:d,m=t.sweepFlag,v=void 0===m?0:m,y=[];if(0===u||0===h)return[];var x=Math.sin(p*a/360),b=Math.cos(p*a/360),_=b*(e-l)/2+x*(r-c)/2,w=-x*(e-l)/2+b*(r-c)/2;if(0===_&&0===w)return[];u=Math.abs(u),h=Math.abs(h);var T=Math.pow(_,2)/Math.pow(u,2)+Math.pow(w,2)/Math.pow(h,2);T>1&&(u*=Math.sqrt(T),h*=Math.sqrt(T));var k=function(t,e,r,n,i,o,l,c,u,h,f,p){var d=Math.pow(i,2),g=Math.pow(o,2),m=Math.pow(f,2),v=Math.pow(p,2),y=d*g-d*v-g*m;y<0&&(y=0),y/=d*v+g*m;var x=(y=Math.sqrt(y)*(l===c?-1:1))*i/o*p,b=y*-o/i*f,_=h*x-u*b+(t+r)/2,w=u*x+h*b+(e+n)/2,T=(f-x)/i,k=(p-b)/o,A=(-f-x)/i,M=(-p-b)/o,S=s(1,0,T,k),E=s(T,k,A,M);return 0===c&&E>0&&(E-=a),1===c&&E<0&&(E+=a),[_,w,S,E]}(e,r,l,c,u,h,g,v,x,b,_,w),A=n(k,4),M=A[0],S=A[1],E=A[2],C=A[3],L=Math.abs(C)/(a/4);Math.abs(1-L)<1e-7&&(L=1);var P=Math.max(Math.ceil(L),1);C/=P;for(var I=0;I<P;I++)y.push(o(E,C)),E+=C;return y.map((function(t){var e=i(t[0],u,h,b,x,M,S),r=e.x,n=e.y,a=i(t[1],u,h,b,x,M,S),o=a.x,s=a.y,l=i(t[2],u,h,b,x,M,S);return{x1:r,y1:n,x2:o,y2:s,x:l.x,y:l.y}}))},e.exports=r.default},{}],524:[function(t,e,r){\"use strict\";var n=t(\"parse-svg-path\"),a=t(\"abs-svg-path\"),i=t(\"normalize-svg-path\"),o=t(\"is-svg-path\"),s=t(\"assert\");e.exports=function(t){Array.isArray(t)&&1===t.length&&\"string\"==typeof t[0]&&(t=t[0]);\"string\"==typeof t&&(s(o(t),\"String is not an SVG path.\"),t=n(t));if(s(Array.isArray(t),\"Argument should be a string or an array of path segments.\"),t=a(t),!(t=i(t)).length)return[0,0,0,0];for(var e=[1/0,1/0,-1/0,-1/0],r=0,l=t.length;r<l;r++)for(var c=t[r].slice(1),u=0;u<c.length;u+=2)c[u+0]<e[0]&&(e[0]=c[u+0]),c[u+1]<e[1]&&(e[1]=c[u+1]),c[u+0]>e[2]&&(e[2]=c[u+0]),c[u+1]>e[3]&&(e[3]=c[u+1]);return e}},{\"abs-svg-path\":63,assert:71,\"is-svg-path\":424,\"normalize-svg-path\":525,\"parse-svg-path\":458}],525:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e,r=[],o=0,s=0,l=0,c=0,u=null,h=null,f=0,p=0,d=0,g=t.length;d<g;d++){var m=t[d],v=m[0];switch(v){case\"M\":l=m[1],c=m[2];break;case\"A\":var y=n({px:f,py:p,cx:m[6],cy:m[7],rx:m[1],ry:m[2],xAxisRotation:m[3],largeArcFlag:m[4],sweepFlag:m[5]});if(!y.length)continue;for(var x,b=0;b<y.length;b++)x=y[b],m=[\"C\",x.x1,x.y1,x.x2,x.y2,x.x,x.y],b<y.length-1&&r.push(m);break;case\"S\":var _=f,w=p;\"C\"!=e&&\"S\"!=e||(_+=_-o,w+=w-s),m=[\"C\",_,w,m[1],m[2],m[3],m[4]];break;case\"T\":\"Q\"==e||\"T\"==e?(u=2*f-u,h=2*p-h):(u=f,h=p),m=i(f,p,u,h,m[1],m[2]);break;case\"Q\":u=m[1],h=m[2],m=i(f,p,m[1],m[2],m[3],m[4]);break;case\"L\":m=a(f,p,m[1],m[2]);break;case\"H\":m=a(f,p,m[1],p);break;case\"V\":m=a(f,p,f,m[1]);break;case\"Z\":m=a(f,p,l,c)}e=v,f=m[m.length-2],p=m[m.length-1],m.length>4?(o=m[m.length-4],s=m[m.length-3]):(o=f,s=p),r.push(m)}return r};var n=t(\"svg-arc-to-cubic-bezier\");function a(t,e,r,n){return[\"C\",t,e,r,n,r,n]}function i(t,e,r,n,a,i){return[\"C\",t/3+2/3*r,e/3+2/3*n,a/3+2/3*r,i/3+2/3*n,a,i]}},{\"svg-arc-to-cubic-bezier\":523}],526:[function(t,e,r){\"use strict\";var n,a=t(\"svg-path-bounds\"),i=t(\"parse-svg-path\"),o=t(\"draw-svg-path\"),s=t(\"is-svg-path\"),l=t(\"bitmap-sdf\"),c=document.createElement(\"canvas\"),u=c.getContext(\"2d\");e.exports=function(t,e){if(!s(t))throw Error(\"Argument should be valid svg path string\");e||(e={});var r,h;e.shape?(r=e.shape[0],h=e.shape[1]):(r=c.width=e.w||e.width||200,h=c.height=e.h||e.height||200);var f=Math.min(r,h),p=e.stroke||0,d=e.viewbox||e.viewBox||a(t),g=[r/(d[2]-d[0]),h/(d[3]-d[1])],m=Math.min(g[0]||0,g[1]||0)/2;u.fillStyle=\"black\",u.fillRect(0,0,r,h),u.fillStyle=\"white\",p&&(\"number\"!=typeof p&&(p=1),u.strokeStyle=p>0?\"white\":\"black\",u.lineWidth=Math.abs(p));if(u.translate(.5*r,.5*h),u.scale(m,m),function(){if(null!=n)return n;var t=document.createElement(\"canvas\").getContext(\"2d\");if(t.canvas.width=t.canvas.height=1,!window.Path2D)return n=!1;var e=new Path2D(\"M0,0h1v1h-1v-1Z\");t.fillStyle=\"black\",t.fill(e);var r=t.getImageData(0,0,1,1);return n=r&&r.data&&255===r.data[3]}()){var v=new Path2D(t);u.fill(v),p&&u.stroke(v)}else{var y=i(t);o(u,y),u.fill(),p&&u.stroke()}return u.setTransform(1,0,0,1,0,0),l(u,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*f})}},{\"bitmap-sdf\":96,\"draw-svg-path\":169,\"is-svg-path\":424,\"parse-svg-path\":458,\"svg-path-bounds\":524}],527:[function(t,e,r){(function(r){\"use strict\";e.exports=function t(e,r,a){a=a||{};var o=i[e];o||(o=i[e]={\" \":{data:new Float32Array(0),shape:.2}});var s=o[r];if(!s)if(r.length<=1||!/\\d/.test(r))s=o[r]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),a=0,i=0,o=0;o<e.length;++o)for(var s=e[o],l=0;l<3;++l){var c=r[s[l]];n[a++]=c[0],n[a++]=c[1]+1.4,i=Math.max(c[0],i)}return{data:n,shape:i}}(n(r,{triangles:!0,font:e,textAlign:a.textAlign||\"left\",textBaseline:\"alphabetic\",styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0}}));else{for(var l=r.split(/(\\d|\\s)/),c=new Array(l.length),u=0,h=0,f=0;f<l.length;++f)c[f]=t(e,l[f]),u+=c[f].data.length,h+=c[f].shape,f>0&&(h+=.02);var p=new Float32Array(u),d=0,g=-.5*h;for(f=0;f<c.length;++f){for(var m=c[f].data,v=0;v<m.length;v+=2)p[d++]=m[v]+g,p[d++]=m[v+1];g+=c[f].shape+.02}s=o[r]={data:p,shape:h}}return s};var n=t(\"vectorize-text\"),a=window||r.global||{},i=a.__TEXT_CACHE||{};a.__TEXT_CACHE={}}).call(this,t(\"_process\"))},{_process:480,\"vectorize-text\":552}],528:[function(t,e,r){!function(t){var r=/^\\s+/,n=/\\s+$/,a=0,i=t.round,o=t.min,s=t.max,l=t.random;function c(e,l){if(l=l||{},(e=e||\"\")instanceof c)return e;if(!(this instanceof c))return new c(e,l);var u=function(e){var a={r:0,g:0,b:0},i=1,l=null,c=null,u=null,h=!1,f=!1;\"string\"==typeof e&&(e=function(t){t=t.replace(r,\"\").replace(n,\"\").toLowerCase();var e,a=!1;if(S[t])t=S[t],a=!0;else if(\"transparent\"==t)return{r:0,g:0,b:0,a:0,format:\"name\"};if(e=j.rgb.exec(t))return{r:e[1],g:e[2],b:e[3]};if(e=j.rgba.exec(t))return{r:e[1],g:e[2],b:e[3],a:e[4]};if(e=j.hsl.exec(t))return{h:e[1],s:e[2],l:e[3]};if(e=j.hsla.exec(t))return{h:e[1],s:e[2],l:e[3],a:e[4]};if(e=j.hsv.exec(t))return{h:e[1],s:e[2],v:e[3]};if(e=j.hsva.exec(t))return{h:e[1],s:e[2],v:e[3],a:e[4]};if(e=j.hex8.exec(t))return{r:I(e[1]),g:I(e[2]),b:I(e[3]),a:R(e[4]),format:a?\"name\":\"hex8\"};if(e=j.hex6.exec(t))return{r:I(e[1]),g:I(e[2]),b:I(e[3]),format:a?\"name\":\"hex\"};if(e=j.hex4.exec(t))return{r:I(e[1]+\"\"+e[1]),g:I(e[2]+\"\"+e[2]),b:I(e[3]+\"\"+e[3]),a:R(e[4]+\"\"+e[4]),format:a?\"name\":\"hex8\"};if(e=j.hex3.exec(t))return{r:I(e[1]+\"\"+e[1]),g:I(e[2]+\"\"+e[2]),b:I(e[3]+\"\"+e[3]),format:a?\"name\":\"hex\"};return!1}(e));\"object\"==typeof e&&(V(e.r)&&V(e.g)&&V(e.b)?(p=e.r,d=e.g,g=e.b,a={r:255*L(p,255),g:255*L(d,255),b:255*L(g,255)},h=!0,f=\"%\"===String(e.r).substr(-1)?\"prgb\":\"rgb\"):V(e.h)&&V(e.s)&&V(e.v)?(l=O(e.s),c=O(e.v),a=function(e,r,n){e=6*L(e,360),r=L(r,100),n=L(n,100);var a=t.floor(e),i=e-a,o=n*(1-r),s=n*(1-i*r),l=n*(1-(1-i)*r),c=a%6;return{r:255*[n,s,o,o,l,n][c],g:255*[l,n,n,s,o,o][c],b:255*[o,o,l,n,n,s][c]}}(e.h,l,c),h=!0,f=\"hsv\"):V(e.h)&&V(e.s)&&V(e.l)&&(l=O(e.s),u=O(e.l),a=function(t,e,r){var n,a,i;function o(t,e,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}if(t=L(t,360),e=L(e,100),r=L(r,100),0===e)n=a=i=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=o(l,s,t+1/3),a=o(l,s,t),i=o(l,s,t-1/3)}return{r:255*n,g:255*a,b:255*i}}(e.h,l,u),h=!0,f=\"hsl\"),e.hasOwnProperty(\"a\")&&(i=e.a));var p,d,g;return i=C(i),{ok:h,format:e.format||f,r:o(255,s(a.r,0)),g:o(255,s(a.g,0)),b:o(255,s(a.b,0)),a:i}}(e);this._originalInput=e,this._r=u.r,this._g=u.g,this._b=u.b,this._a=u.a,this._roundA=i(100*this._a)/100,this._format=l.format||u.format,this._gradientType=l.gradientType,this._r<1&&(this._r=i(this._r)),this._g<1&&(this._g=i(this._g)),this._b<1&&(this._b=i(this._b)),this._ok=u.ok,this._tc_id=a++}function u(t,e,r){t=L(t,255),e=L(e,255),r=L(r,255);var n,a,i=s(t,e,r),l=o(t,e,r),c=(i+l)/2;if(i==l)n=a=0;else{var u=i-l;switch(a=c>.5?u/(2-i-l):u/(i+l),i){case t:n=(e-r)/u+(e<r?6:0);break;case e:n=(r-t)/u+2;break;case r:n=(t-e)/u+4}n/=6}return{h:n,s:a,l:c}}function h(t,e,r){t=L(t,255),e=L(e,255),r=L(r,255);var n,a,i=s(t,e,r),l=o(t,e,r),c=i,u=i-l;if(a=0===i?0:u/i,i==l)n=0;else{switch(i){case t:n=(e-r)/u+(e<r?6:0);break;case e:n=(r-t)/u+2;break;case r:n=(t-e)/u+4}n/=6}return{h:n,s:a,v:c}}function f(t,e,r,n){var a=[z(i(t).toString(16)),z(i(e).toString(16)),z(i(r).toString(16))];return n&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0):a.join(\"\")}function p(t,e,r,n){return[z(D(n)),z(i(t).toString(16)),z(i(e).toString(16)),z(i(r).toString(16))].join(\"\")}function d(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.s-=e/100,r.s=P(r.s),c(r)}function g(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.s+=e/100,r.s=P(r.s),c(r)}function m(t){return c(t).desaturate(100)}function v(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.l+=e/100,r.l=P(r.l),c(r)}function y(t,e){e=0===e?0:e||10;var r=c(t).toRgb();return r.r=s(0,o(255,r.r-i(-e/100*255))),r.g=s(0,o(255,r.g-i(-e/100*255))),r.b=s(0,o(255,r.b-i(-e/100*255))),c(r)}function x(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.l-=e/100,r.l=P(r.l),c(r)}function b(t,e){var r=c(t).toHsl(),n=(r.h+e)%360;return r.h=n<0?360+n:n,c(r)}function _(t){var e=c(t).toHsl();return e.h=(e.h+180)%360,c(e)}function w(t){var e=c(t).toHsl(),r=e.h;return[c(t),c({h:(r+120)%360,s:e.s,l:e.l}),c({h:(r+240)%360,s:e.s,l:e.l})]}function T(t){var e=c(t).toHsl(),r=e.h;return[c(t),c({h:(r+90)%360,s:e.s,l:e.l}),c({h:(r+180)%360,s:e.s,l:e.l}),c({h:(r+270)%360,s:e.s,l:e.l})]}function k(t){var e=c(t).toHsl(),r=e.h;return[c(t),c({h:(r+72)%360,s:e.s,l:e.l}),c({h:(r+216)%360,s:e.s,l:e.l})]}function A(t,e,r){e=e||6,r=r||30;var n=c(t).toHsl(),a=360/r,i=[c(t)];for(n.h=(n.h-(a*e>>1)+720)%360;--e;)n.h=(n.h+a)%360,i.push(c(n));return i}function M(t,e){e=e||6;for(var r=c(t).toHsv(),n=r.h,a=r.s,i=r.v,o=[],s=1/e;e--;)o.push(c({h:n,s:a,v:i})),i=(i+s)%1;return o}c.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var e,r,n,a=this.toRgb();return e=a.r/255,r=a.g/255,n=a.b/255,.2126*(e<=.03928?e/12.92:t.pow((e+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:t.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:t.pow((n+.055)/1.055,2.4))},setAlpha:function(t){return this._a=C(t),this._roundA=i(100*this._a)/100,this},toHsv:function(){var t=h(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=h(this._r,this._g,this._b),e=i(360*t.h),r=i(100*t.s),n=i(100*t.v);return 1==this._a?\"hsv(\"+e+\", \"+r+\"%, \"+n+\"%)\":\"hsva(\"+e+\", \"+r+\"%, \"+n+\"%, \"+this._roundA+\")\"},toHsl:function(){var t=u(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=u(this._r,this._g,this._b),e=i(360*t.h),r=i(100*t.s),n=i(100*t.l);return 1==this._a?\"hsl(\"+e+\", \"+r+\"%, \"+n+\"%)\":\"hsla(\"+e+\", \"+r+\"%, \"+n+\"%, \"+this._roundA+\")\"},toHex:function(t){return f(this._r,this._g,this._b,t)},toHexString:function(t){return\"#\"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,a){var o=[z(i(t).toString(16)),z(i(e).toString(16)),z(i(r).toString(16)),z(D(n))];if(a&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)&&o[3].charAt(0)==o[3].charAt(1))return o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0)+o[3].charAt(0);return o.join(\"\")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return\"#\"+this.toHex8(t)},toRgb:function(){return{r:i(this._r),g:i(this._g),b:i(this._b),a:this._a}},toRgbString:function(){return 1==this._a?\"rgb(\"+i(this._r)+\", \"+i(this._g)+\", \"+i(this._b)+\")\":\"rgba(\"+i(this._r)+\", \"+i(this._g)+\", \"+i(this._b)+\", \"+this._roundA+\")\"},toPercentageRgb:function(){return{r:i(100*L(this._r,255))+\"%\",g:i(100*L(this._g,255))+\"%\",b:i(100*L(this._b,255))+\"%\",a:this._a}},toPercentageRgbString:function(){return 1==this._a?\"rgb(\"+i(100*L(this._r,255))+\"%, \"+i(100*L(this._g,255))+\"%, \"+i(100*L(this._b,255))+\"%)\":\"rgba(\"+i(100*L(this._r,255))+\"%, \"+i(100*L(this._g,255))+\"%, \"+i(100*L(this._b,255))+\"%, \"+this._roundA+\")\"},toName:function(){return 0===this._a?\"transparent\":!(this._a<1)&&(E[f(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e=\"#\"+p(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?\"GradientType = 1, \":\"\";if(t){var a=c(t);r=\"#\"+p(a._r,a._g,a._b,a._a)}return\"progid:DXImageTransform.Microsoft.gradient(\"+n+\"startColorstr=\"+e+\",endColorstr=\"+r+\")\"},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a<1&&this._a>=0;return e||!n||\"hex\"!==t&&\"hex6\"!==t&&\"hex3\"!==t&&\"hex4\"!==t&&\"hex8\"!==t&&\"name\"!==t?(\"rgb\"===t&&(r=this.toRgbString()),\"prgb\"===t&&(r=this.toPercentageRgbString()),\"hex\"!==t&&\"hex6\"!==t||(r=this.toHexString()),\"hex3\"===t&&(r=this.toHexString(!0)),\"hex4\"===t&&(r=this.toHex8String(!0)),\"hex8\"===t&&(r=this.toHex8String()),\"name\"===t&&(r=this.toName()),\"hsl\"===t&&(r=this.toHslString()),\"hsv\"===t&&(r=this.toHsvString()),r||this.toHexString()):\"name\"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return c(this.toString())},_applyModification:function(t,e){var r=t.apply(null,[this].concat([].slice.call(e)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(v,arguments)},brighten:function(){return this._applyModification(y,arguments)},darken:function(){return this._applyModification(x,arguments)},desaturate:function(){return this._applyModification(d,arguments)},saturate:function(){return this._applyModification(g,arguments)},greyscale:function(){return this._applyModification(m,arguments)},spin:function(){return this._applyModification(b,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(A,arguments)},complement:function(){return this._applyCombination(_,arguments)},monochromatic:function(){return this._applyCombination(M,arguments)},splitcomplement:function(){return this._applyCombination(k,arguments)},triad:function(){return this._applyCombination(w,arguments)},tetrad:function(){return this._applyCombination(T,arguments)}},c.fromRatio=function(t,e){if(\"object\"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]=\"a\"===n?t[n]:O(t[n]));t=r}return c(t,e)},c.equals=function(t,e){return!(!t||!e)&&c(t).toRgbString()==c(e).toRgbString()},c.random=function(){return c.fromRatio({r:l(),g:l(),b:l()})},c.mix=function(t,e,r){r=0===r?0:r||50;var n=c(t).toRgb(),a=c(e).toRgb(),i=r/100;return c({r:(a.r-n.r)*i+n.r,g:(a.g-n.g)*i+n.g,b:(a.b-n.b)*i+n.b,a:(a.a-n.a)*i+n.a})},c.readability=function(e,r){var n=c(e),a=c(r);return(t.max(n.getLuminance(),a.getLuminance())+.05)/(t.min(n.getLuminance(),a.getLuminance())+.05)},c.isReadable=function(t,e,r){var n,a,i=c.readability(t,e);switch(a=!1,(n=function(t){var e,r;e=((t=t||{level:\"AA\",size:\"small\"}).level||\"AA\").toUpperCase(),r=(t.size||\"small\").toLowerCase(),\"AA\"!==e&&\"AAA\"!==e&&(e=\"AA\");\"small\"!==r&&\"large\"!==r&&(r=\"small\");return{level:e,size:r}}(r)).level+n.size){case\"AAsmall\":case\"AAAlarge\":a=i>=4.5;break;case\"AAlarge\":a=i>=3;break;case\"AAAsmall\":a=i>=7}return a},c.mostReadable=function(t,e,r){var n,a,i,o,s=null,l=0;a=(r=r||{}).includeFallbackColors,i=r.level,o=r.size;for(var u=0;u<e.length;u++)(n=c.readability(t,e[u]))>l&&(l=n,s=c(e[u]));return c.isReadable(t,s,{level:i,size:o})||!a?s:(r.includeFallbackColors=!1,c.mostReadable(t,[\"#fff\",\"#000\"],r))};var S=c.names={aliceblue:\"f0f8ff\",antiquewhite:\"faebd7\",aqua:\"0ff\",aquamarine:\"7fffd4\",azure:\"f0ffff\",beige:\"f5f5dc\",bisque:\"ffe4c4\",black:\"000\",blanchedalmond:\"ffebcd\",blue:\"00f\",blueviolet:\"8a2be2\",brown:\"a52a2a\",burlywood:\"deb887\",burntsienna:\"ea7e5d\",cadetblue:\"5f9ea0\",chartreuse:\"7fff00\",chocolate:\"d2691e\",coral:\"ff7f50\",cornflowerblue:\"6495ed\",cornsilk:\"fff8dc\",crimson:\"dc143c\",cyan:\"0ff\",darkblue:\"00008b\",darkcyan:\"008b8b\",darkgoldenrod:\"b8860b\",darkgray:\"a9a9a9\",darkgreen:\"006400\",darkgrey:\"a9a9a9\",darkkhaki:\"bdb76b\",darkmagenta:\"8b008b\",darkolivegreen:\"556b2f\",darkorange:\"ff8c00\",darkorchid:\"9932cc\",darkred:\"8b0000\",darksalmon:\"e9967a\",darkseagreen:\"8fbc8f\",darkslateblue:\"483d8b\",darkslategray:\"2f4f4f\",darkslategrey:\"2f4f4f\",darkturquoise:\"00ced1\",darkviolet:\"9400d3\",deeppink:\"ff1493\",deepskyblue:\"00bfff\",dimgray:\"696969\",dimgrey:\"696969\",dodgerblue:\"1e90ff\",firebrick:\"b22222\",floralwhite:\"fffaf0\",forestgreen:\"228b22\",fuchsia:\"f0f\",gainsboro:\"dcdcdc\",ghostwhite:\"f8f8ff\",gold:\"ffd700\",goldenrod:\"daa520\",gray:\"808080\",green:\"008000\",greenyellow:\"adff2f\",grey:\"808080\",honeydew:\"f0fff0\",hotpink:\"ff69b4\",indianred:\"cd5c5c\",indigo:\"4b0082\",ivory:\"fffff0\",khaki:\"f0e68c\",lavender:\"e6e6fa\",lavenderblush:\"fff0f5\",lawngreen:\"7cfc00\",lemonchiffon:\"fffacd\",lightblue:\"add8e6\",lightcoral:\"f08080\",lightcyan:\"e0ffff\",lightgoldenrodyellow:\"fafad2\",lightgray:\"d3d3d3\",lightgreen:\"90ee90\",lightgrey:\"d3d3d3\",lightpink:\"ffb6c1\",lightsalmon:\"ffa07a\",lightseagreen:\"20b2aa\",lightskyblue:\"87cefa\",lightslategray:\"789\",lightslategrey:\"789\",lightsteelblue:\"b0c4de\",lightyellow:\"ffffe0\",lime:\"0f0\",limegreen:\"32cd32\",linen:\"faf0e6\",magenta:\"f0f\",maroon:\"800000\",mediumaquamarine:\"66cdaa\",mediumblue:\"0000cd\",mediumorchid:\"ba55d3\",mediumpurple:\"9370db\",mediumseagreen:\"3cb371\",mediumslateblue:\"7b68ee\",mediumspringgreen:\"00fa9a\",mediumturquoise:\"48d1cc\",mediumvioletred:\"c71585\",midnightblue:\"191970\",mintcream:\"f5fffa\",mistyrose:\"ffe4e1\",moccasin:\"ffe4b5\",navajowhite:\"ffdead\",navy:\"000080\",oldlace:\"fdf5e6\",olive:\"808000\",olivedrab:\"6b8e23\",orange:\"ffa500\",orangered:\"ff4500\",orchid:\"da70d6\",palegoldenrod:\"eee8aa\",palegreen:\"98fb98\",paleturquoise:\"afeeee\",palevioletred:\"db7093\",papayawhip:\"ffefd5\",peachpuff:\"ffdab9\",peru:\"cd853f\",pink:\"ffc0cb\",plum:\"dda0dd\",powderblue:\"b0e0e6\",purple:\"800080\",rebeccapurple:\"663399\",red:\"f00\",rosybrown:\"bc8f8f\",royalblue:\"4169e1\",saddlebrown:\"8b4513\",salmon:\"fa8072\",sandybrown:\"f4a460\",seagreen:\"2e8b57\",seashell:\"fff5ee\",sienna:\"a0522d\",silver:\"c0c0c0\",skyblue:\"87ceeb\",slateblue:\"6a5acd\",slategray:\"708090\",slategrey:\"708090\",snow:\"fffafa\",springgreen:\"00ff7f\",steelblue:\"4682b4\",tan:\"d2b48c\",teal:\"008080\",thistle:\"d8bfd8\",tomato:\"ff6347\",turquoise:\"40e0d0\",violet:\"ee82ee\",wheat:\"f5deb3\",white:\"fff\",whitesmoke:\"f5f5f5\",yellow:\"ff0\",yellowgreen:\"9acd32\"},E=c.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(S);function C(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function L(e,r){(function(t){return\"string\"==typeof t&&-1!=t.indexOf(\".\")&&1===parseFloat(t)})(e)&&(e=\"100%\");var n=function(t){return\"string\"==typeof t&&-1!=t.indexOf(\"%\")}(e);return e=o(r,s(0,parseFloat(e))),n&&(e=parseInt(e*r,10)/100),t.abs(e-r)<1e-6?1:e%r/parseFloat(r)}function P(t){return o(1,s(0,t))}function I(t){return parseInt(t,16)}function z(t){return 1==t.length?\"0\"+t:\"\"+t}function O(t){return t<=1&&(t=100*t+\"%\"),t}function D(e){return t.round(255*parseFloat(e)).toString(16)}function R(t){return I(t)/255}var F,B,N,j=(B=\"[\\\\s|\\\\(]+(\"+(F=\"(?:[-\\\\+]?\\\\d*\\\\.\\\\d+%?)|(?:[-\\\\+]?\\\\d+%?)\")+\")[,|\\\\s]+(\"+F+\")[,|\\\\s]+(\"+F+\")\\\\s*\\\\)?\",N=\"[\\\\s|\\\\(]+(\"+F+\")[,|\\\\s]+(\"+F+\")[,|\\\\s]+(\"+F+\")[,|\\\\s]+(\"+F+\")\\\\s*\\\\)?\",{CSS_UNIT:new RegExp(F),rgb:new RegExp(\"rgb\"+B),rgba:new RegExp(\"rgba\"+N),hsl:new RegExp(\"hsl\"+B),hsla:new RegExp(\"hsla\"+N),hsv:new RegExp(\"hsv\"+B),hsva:new RegExp(\"hsva\"+N),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function V(t){return!!j.CSS_UNIT.exec(t)}\"undefined\"!=typeof e&&e.exports?e.exports=c:window.tinycolor=c}(Math)},{}],529:[function(t,e,r){\"use strict\";e.exports=a,e.exports.float32=e.exports.float=a,e.exports.fract32=e.exports.fract=function(t){if(t.length){for(var e=a(t),r=0,n=e.length;r<n;r++)e[r]=t[r]-e[r];return e}return a(t-a(t))};var n=new Float32Array(1);function a(t){if(t.length){if(t instanceof Float32Array)return t;var e=new Float32Array(t);return e.set(t),e}return n[0]=t,n[0]}},{}],530:[function(t,e,r){\"use strict\";var n=t(\"parse-unit\");e.exports=i;function a(t,e){var r=n(getComputedStyle(t).getPropertyValue(e));return r[0]*i(r[1],t)}function i(t,e){switch(e=e||document.body,t=(t||\"px\").trim().toLowerCase(),e!==window&&e!==document||(e=document.body),t){case\"%\":return e.clientHeight/100;case\"ch\":case\"ex\":return function(t,e){var r=document.createElement(\"div\");r.style[\"font-size\"]=\"128\"+t,e.appendChild(r);var n=a(r,\"font-size\")/128;return e.removeChild(r),n}(t,e);case\"em\":return a(e,\"font-size\");case\"rem\":return a(document.body,\"font-size\");case\"vw\":return window.innerWidth/100;case\"vh\":return window.innerHeight/100;case\"vmin\":return Math.min(window.innerWidth,window.innerHeight)/100;case\"vmax\":return Math.max(window.innerWidth,window.innerHeight)/100;case\"in\":return 96;case\"cm\":return 96/2.54;case\"mm\":return 96/25.4;case\"pt\":return 96/72;case\"pc\":return 16}return 1}},{\"parse-unit\":459}],531:[function(t,e,r){!function(t,n){\"object\"==typeof r&&\"undefined\"!=typeof e?n(r):n((t=t||self).topojson=t.topojson||{})}(this,(function(t){\"use strict\";function e(t){return t}function r(t){if(null==t)return e;var r,n,a=t.scale[0],i=t.scale[1],o=t.translate[0],s=t.translate[1];return function(t,e){e||(r=n=0);var l=2,c=t.length,u=new Array(c);for(u[0]=(r+=t[0])*a+o,u[1]=(n+=t[1])*i+s;l<c;)u[l]=t[l],++l;return u}}function n(t){var e,n=r(t.transform),a=1/0,i=a,o=-a,s=-a;function l(t){(t=n(t))[0]<a&&(a=t[0]),t[0]>o&&(o=t[0]),t[1]<i&&(i=t[1]),t[1]>s&&(s=t[1])}function c(t){switch(t.type){case\"GeometryCollection\":t.geometries.forEach(c);break;case\"Point\":l(t.coordinates);break;case\"MultiPoint\":t.coordinates.forEach(l)}}for(e in t.arcs.forEach((function(t){for(var e,r=-1,l=t.length;++r<l;)(e=n(t[r],r))[0]<a&&(a=e[0]),e[0]>o&&(o=e[0]),e[1]<i&&(i=e[1]),e[1]>s&&(s=e[1])})),t.objects)c(t.objects[e]);return[a,i,o,s]}function a(t,e){var r=e.id,n=e.bbox,a=null==e.properties?{}:e.properties,o=i(t,e);return null==r&&null==n?{type:\"Feature\",properties:a,geometry:o}:null==n?{type:\"Feature\",id:r,properties:a,geometry:o}:{type:\"Feature\",id:r,bbox:n,properties:a,geometry:o}}function i(t,e){var n=r(t.transform),a=t.arcs;function i(t,e){e.length&&e.pop();for(var r=a[t<0?~t:t],i=0,o=r.length;i<o;++i)e.push(n(r[i],i));t<0&&function(t,e){for(var r,n=t.length,a=n-e;a<--n;)r=t[a],t[a++]=t[n],t[n]=r}(e,o)}function o(t){return n(t)}function s(t){for(var e=[],r=0,n=t.length;r<n;++r)i(t[r],e);return e.length<2&&e.push(e[0]),e}function l(t){for(var e=s(t);e.length<4;)e.push(e[0]);return e}function c(t){return t.map(l)}return function t(e){var r,n=e.type;switch(n){case\"GeometryCollection\":return{type:n,geometries:e.geometries.map(t)};case\"Point\":r=o(e.coordinates);break;case\"MultiPoint\":r=e.coordinates.map(o);break;case\"LineString\":r=s(e.arcs);break;case\"MultiLineString\":r=e.arcs.map(s);break;case\"Polygon\":r=c(e.arcs);break;case\"MultiPolygon\":r=e.arcs.map(c);break;default:return null}return{type:n,coordinates:r}}(e)}function o(t,e){var r={},n={},a={},i=[],o=-1;function s(t,e){for(var n in t){var a=t[n];delete e[a.start],delete a.start,delete a.end,a.forEach((function(t){r[t<0?~t:t]=1})),i.push(a)}}return e.forEach((function(r,n){var a,i=t.arcs[r<0?~r:r];i.length<3&&!i[1][0]&&!i[1][1]&&(a=e[++o],e[o]=r,e[n]=a)})),e.forEach((function(e){var r,i,o=function(e){var r,n=t.arcs[e<0?~e:e],a=n[0];t.transform?(r=[0,0],n.forEach((function(t){r[0]+=t[0],r[1]+=t[1]}))):r=n[n.length-1];return e<0?[r,a]:[a,r]}(e),s=o[0],l=o[1];if(r=a[s])if(delete a[r.end],r.push(e),r.end=l,i=n[l]){delete n[i.start];var c=i===r?r:r.concat(i);n[c.start=r.start]=a[c.end=i.end]=c}else n[r.start]=a[r.end]=r;else if(r=n[l])if(delete n[r.start],r.unshift(e),r.start=s,i=a[s]){delete a[i.end];var u=i===r?r:i.concat(r);n[u.start=i.start]=a[u.end=r.end]=u}else n[r.start]=a[r.end]=r;else n[(r=[e]).start=s]=a[r.end=l]=r})),s(a,n),s(n,a),e.forEach((function(t){r[t<0?~t:t]||i.push([t])})),i}function s(t,e,r){var n,a,i;if(arguments.length>1)n=l(t,e,r);else for(a=0,n=new Array(i=t.arcs.length);a<i;++a)n[a]=a;return{type:\"MultiLineString\",arcs:o(t,n)}}function l(t,e,r){var n,a=[],i=[];function o(t){var e=t<0?~t:t;(i[e]||(i[e]=[])).push({i:t,g:n})}function s(t){t.forEach(o)}function l(t){t.forEach(s)}return function t(e){switch(n=e,e.type){case\"GeometryCollection\":e.geometries.forEach(t);break;case\"LineString\":s(e.arcs);break;case\"MultiLineString\":case\"Polygon\":l(e.arcs);break;case\"MultiPolygon\":!function(t){t.forEach(l)}(e.arcs)}}(e),i.forEach(null==r?function(t){a.push(t[0].i)}:function(t){r(t[0].g,t[t.length-1].g)&&a.push(t[0].i)}),a}function c(t,e){var r={},n=[],a=[];function s(t){t.forEach((function(e){e.forEach((function(e){(r[e=e<0?~e:e]||(r[e]=[])).push(t)}))})),n.push(t)}function l(e){return function(t){for(var e,r=-1,n=t.length,a=t[n-1],i=0;++r<n;)e=a,a=t[r],i+=e[0]*a[1]-e[1]*a[0];return Math.abs(i)}(i(t,{type:\"Polygon\",arcs:[e]}).coordinates[0])}return e.forEach((function t(e){switch(e.type){case\"GeometryCollection\":e.geometries.forEach(t);break;case\"Polygon\":s(e.arcs);break;case\"MultiPolygon\":e.arcs.forEach(s)}})),n.forEach((function(t){if(!t._){var e=[],n=[t];for(t._=1,a.push(e);t=n.pop();)e.push(t),t.forEach((function(t){t.forEach((function(t){r[t<0?~t:t].forEach((function(t){t._||(t._=1,n.push(t))}))}))}))}})),n.forEach((function(t){delete t._})),{type:\"MultiPolygon\",arcs:a.map((function(e){var n,a=[];if(e.forEach((function(t){t.forEach((function(t){t.forEach((function(t){r[t<0?~t:t].length<2&&a.push(t)}))}))})),(n=(a=o(t,a)).length)>1)for(var i,s,c=1,u=l(a[0]);c<n;++c)(i=l(a[c]))>u&&(s=a[0],a[0]=a[c],a[c]=s,u=i);return a})).filter((function(t){return t.length>0}))}}function u(t,e){for(var r=0,n=t.length;r<n;){var a=r+n>>>1;t[a]<e?r=a+1:n=a}return r}function h(t){if(null==t)return e;var r,n,a=t.scale[0],i=t.scale[1],o=t.translate[0],s=t.translate[1];return function(t,e){e||(r=n=0);var l=2,c=t.length,u=new Array(c),h=Math.round((t[0]-o)/a),f=Math.round((t[1]-s)/i);for(u[0]=h-r,r=h,u[1]=f-n,n=f;l<c;)u[l]=t[l],++l;return u}}t.bbox=n,t.feature=function(t,e){return\"string\"==typeof e&&(e=t.objects[e]),\"GeometryCollection\"===e.type?{type:\"FeatureCollection\",features:e.geometries.map((function(e){return a(t,e)}))}:a(t,e)},t.merge=function(t){return i(t,c.apply(this,arguments))},t.mergeArcs=c,t.mesh=function(t){return i(t,s.apply(this,arguments))},t.meshArcs=s,t.neighbors=function(t){var e={},r=t.map((function(){return[]}));function n(t,r){t.forEach((function(t){t<0&&(t=~t);var n=e[t];n?n.push(r):e[t]=[r]}))}function a(t,e){t.forEach((function(t){n(t,e)}))}var i={LineString:n,MultiLineString:a,Polygon:a,MultiPolygon:function(t,e){t.forEach((function(t){a(t,e)}))}};for(var o in t.forEach((function t(e,r){\"GeometryCollection\"===e.type?e.geometries.forEach((function(e){t(e,r)})):e.type in i&&i[e.type](e.arcs,r)})),e)for(var s=e[o],l=s.length,c=0;c<l;++c)for(var h=c+1;h<l;++h){var f,p=s[c],d=s[h];(f=r[p])[o=u(f,d)]!==d&&f.splice(o,0,d),(f=r[d])[o=u(f,p)]!==p&&f.splice(o,0,p)}return r},t.quantize=function(t,e){if(t.transform)throw new Error(\"already quantized\");if(e&&e.scale)l=t.bbox;else{if(!((r=Math.floor(e))>=2))throw new Error(\"n must be \\u22652\");var r,a=(l=t.bbox||n(t))[0],i=l[1],o=l[2],s=l[3];e={scale:[o-a?(o-a)/(r-1):1,s-i?(s-i)/(r-1):1],translate:[a,i]}}var l,c,u=h(e),f=t.objects,p={};function d(t){return u(t)}function g(t){var e;switch(t.type){case\"GeometryCollection\":e={type:\"GeometryCollection\",geometries:t.geometries.map(g)};break;case\"Point\":e={type:\"Point\",coordinates:d(t.coordinates)};break;case\"MultiPoint\":e={type:\"MultiPoint\",coordinates:t.coordinates.map(d)};break;default:return t}return null!=t.id&&(e.id=t.id),null!=t.bbox&&(e.bbox=t.bbox),null!=t.properties&&(e.properties=t.properties),e}for(c in f)p[c]=g(f[c]);return{type:\"Topology\",bbox:l,transform:e,objects:p,arcs:t.arcs.map((function(t){var e,r=0,n=1,a=t.length,i=new Array(a);for(i[0]=u(t[0],0);++r<a;)((e=u(t[r],r))[0]||e[1])&&(i[n++]=e);return 1===n&&(i[n++]=[0,0]),i.length=n,i}))}},t.transform=r,t.untransform=h,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{}],532:[function(t,e,r){\"use strict\";e.exports=function(t){if(t<0)return[];if(0===t)return[[0]];for(var e=0|Math.round(i(t+1)),r=[],o=0;o<e;++o){for(var s=n.unrank(t,o),l=[0],c=0,u=0;u<s.length;++u)c+=1<<s[u],l.push(c);a(s)<1&&(l[0]=c,l[t]=0),r.push(l)}return r};var n=t(\"permutation-rank\"),a=t(\"permutation-parity\"),i=t(\"gamma\")},{gamma:243,\"permutation-parity\":461,\"permutation-rank\":462}],533:[function(t,e,r){\"use strict\";e.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.up||[0,1,0],n=t.right||h(r),a=t.radius||1,i=t.theta||0,u=t.phi||0;if(e=[].slice.call(e,0,3),r=[].slice.call(r,0,3),s(r,r),n=[].slice.call(n,0,3),s(n,n),\"eye\"in t){var p=t.eye,d=[p[0]-e[0],p[1]-e[1],p[2]-e[2]];o(n,d,r),c(n[0],n[1],n[2])<1e-6?n=h(r):s(n,n),a=c(d[0],d[1],d[2]);var g=l(r,d)/a,m=l(n,d)/a;u=Math.acos(g),i=Math.acos(m)}return a=Math.log(a),new f(t.zoomMin,t.zoomMax,e,r,n,a,i,u)};var n=t(\"filtered-vector\"),a=t(\"gl-mat4/invert\"),i=t(\"gl-mat4/rotate\"),o=t(\"gl-vec3/cross\"),s=t(\"gl-vec3/normalize\"),l=t(\"gl-vec3/dot\");function c(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function u(t){return Math.min(1,Math.max(-1,t))}function h(t){var e=Math.abs(t[0]),r=Math.abs(t[1]),n=Math.abs(t[2]),a=[0,0,0];e>Math.max(r,n)?a[2]=1:r>Math.max(e,n)?a[0]=1:a[1]=1;for(var i=0,o=0,l=0;l<3;++l)i+=t[l]*t[l],o+=a[l]*t[l];for(l=0;l<3;++l)a[l]-=o/i*t[l];return s(a,a),a}function f(t,e,r,a,i,o,s,l){this.center=n(r),this.up=n(a),this.right=n(i),this.radius=n([o]),this.angle=n([s,l]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(t,e),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var c=0;c<16;++c)this.computedMatrix[c]=.5;this.recalcMatrix(0)}var p=f.prototype;p.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},p.getDistanceLimits=function(t){var e=this.radius.bounds[0];return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},p.recalcMatrix=function(t){this.center.curve(t),this.up.curve(t),this.right.curve(t),this.radius.curve(t),this.angle.curve(t);for(var e=this.computedUp,r=this.computedRight,n=0,a=0,i=0;i<3;++i)a+=e[i]*r[i],n+=e[i]*e[i];var l=Math.sqrt(n),u=0;for(i=0;i<3;++i)r[i]-=e[i]*a/n,u+=r[i]*r[i],e[i]/=l;var h=Math.sqrt(u);for(i=0;i<3;++i)r[i]/=h;var f=this.computedToward;o(f,e,r),s(f,f);var p=Math.exp(this.computedRadius[0]),d=this.computedAngle[0],g=this.computedAngle[1],m=Math.cos(d),v=Math.sin(d),y=Math.cos(g),x=Math.sin(g),b=this.computedCenter,_=m*y,w=v*y,T=x,k=-m*x,A=-v*x,M=y,S=this.computedEye,E=this.computedMatrix;for(i=0;i<3;++i){var C=_*r[i]+w*f[i]+T*e[i];E[4*i+1]=k*r[i]+A*f[i]+M*e[i],E[4*i+2]=C,E[4*i+3]=0}var L=E[1],P=E[5],I=E[9],z=E[2],O=E[6],D=E[10],R=P*D-I*O,F=I*z-L*D,B=L*O-P*z,N=c(R,F,B);R/=N,F/=N,B/=N,E[0]=R,E[4]=F,E[8]=B;for(i=0;i<3;++i)S[i]=b[i]+E[2+4*i]*p;for(i=0;i<3;++i){u=0;for(var j=0;j<3;++j)u+=E[i+4*j]*S[j];E[12+i]=-u}E[15]=1},p.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r};var d=[0,0,0];p.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var a=this.computedMatrix;d[0]=a[2],d[1]=a[6],d[2]=a[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,c=0;c<3;++c)a[4*c]=o[c],a[4*c+1]=s[c],a[4*c+2]=l[c];i(a,a,n,d);for(c=0;c<3;++c)o[c]=a[4*c],s[c]=a[4*c+1];this.up.set(t,o[0],o[1],o[2]),this.right.set(t,s[0],s[1],s[2])}},p.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var a=this.computedMatrix,i=(Math.exp(this.computedRadius[0]),a[1]),o=a[5],s=a[9],l=c(i,o,s);i/=l,o/=l,s/=l;var u=a[0],h=a[4],f=a[8],p=u*i+h*o+f*s,d=c(u-=i*p,h-=o*p,f-=s*p),g=(u/=d)*e+i*r,m=(h/=d)*e+o*r,v=(f/=d)*e+s*r;this.center.move(t,g,m,v);var y=Math.exp(this.computedRadius[0]);y=Math.max(1e-4,y+n),this.radius.set(t,Math.log(y))},p.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},p.setMatrix=function(t,e,r,n){var i=1;\"number\"==typeof r&&(i=0|r),(i<0||i>3)&&(i=1);var o=(i+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var s=e[i],l=e[i+4],h=e[i+8];if(n){var f=Math.abs(s),p=Math.abs(l),d=Math.abs(h),g=Math.max(f,p,d);f===g?(s=s<0?-1:1,l=h=0):d===g?(h=h<0?-1:1,s=l=0):(l=l<0?-1:1,s=h=0)}else{var m=c(s,l,h);s/=m,l/=m,h/=m}var v,y,x=e[o],b=e[o+4],_=e[o+8],w=x*s+b*l+_*h,T=c(x-=s*w,b-=l*w,_-=h*w),k=l*(_/=T)-h*(b/=T),A=h*(x/=T)-s*_,M=s*b-l*x,S=c(k,A,M);if(k/=S,A/=S,M/=S,this.center.jump(t,H,G,Y),this.radius.idle(t),this.up.jump(t,s,l,h),this.right.jump(t,x,b,_),2===i){var E=e[1],C=e[5],L=e[9],P=E*x+C*b+L*_,I=E*k+C*A+L*M;v=R<0?-Math.PI/2:Math.PI/2,y=Math.atan2(I,P)}else{var z=e[2],O=e[6],D=e[10],R=z*s+O*l+D*h,F=z*x+O*b+D*_,B=z*k+O*A+D*M;v=Math.asin(u(R)),y=Math.atan2(B,F)}this.angle.jump(t,y,v),this.recalcMatrix(t);var N=e[2],j=e[6],V=e[10],U=this.computedMatrix;a(U,e);var q=U[15],H=U[12]/q,G=U[13]/q,Y=U[14]/q,W=Math.exp(this.computedRadius[0]);this.center.jump(t,H-N*W,G-j*W,Y-V*W)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},p.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},p.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},p.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var a=(n=n||this.computedUp)[0],i=n[1],o=n[2],s=c(a,i,o);if(!(s<1e-6)){a/=s,i/=s,o/=s;var l=e[0]-r[0],h=e[1]-r[1],f=e[2]-r[2],p=c(l,h,f);if(!(p<1e-6)){l/=p,h/=p,f/=p;var d=this.computedRight,g=d[0],m=d[1],v=d[2],y=a*g+i*m+o*v,x=c(g-=y*a,m-=y*i,v-=y*o);if(!(x<.01&&(x=c(g=i*f-o*h,m=o*l-a*f,v=a*h-i*l))<1e-6)){g/=x,m/=x,v/=x,this.up.set(t,a,i,o),this.right.set(t,g,m,v),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(p));var b=i*v-o*m,_=o*g-a*v,w=a*m-i*g,T=c(b,_,w),k=a*l+i*h+o*f,A=g*l+m*h+v*f,M=(b/=T)*l+(_/=T)*h+(w/=T)*f,S=Math.asin(u(k)),E=Math.atan2(M,A),C=this.angle._state,L=C[C.length-1],P=C[C.length-2];L%=2*Math.PI;var I=Math.abs(L+2*Math.PI-E),z=Math.abs(L-E),O=Math.abs(L-2*Math.PI-E);I<z&&(L+=2*Math.PI),O<z&&(L-=2*Math.PI),this.angle.jump(this.angle.lastT(),L,P),this.angle.set(t,E,S)}}}}},{\"filtered-vector\":237,\"gl-mat4/invert\":273,\"gl-mat4/rotate\":278,\"gl-vec3/cross\":334,\"gl-vec3/dot\":339,\"gl-vec3/normalize\":356}],534:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){var a=t*e,i=n*t,o=i-(i-t),s=t-o,l=n*e,c=l-(l-e),u=e-c,h=s*u-(a-o*c-s*c-o*u);if(r)return r[0]=h,r[1]=a,r;return[h,a]};var n=+(Math.pow(2,27)+1)},{}],535:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){var n=t+e,a=n-t,i=e-a,o=t-(n-a);if(r)return r[0]=o+i,r[1]=n,r;return[o+i,n]}},{}],536:[function(t,e,r){\"use strict\";var n=t(\"../prototype/is\");e.exports=function(t){if(\"function\"!=typeof t)return!1;if(!hasOwnProperty.call(t,\"length\"))return!1;try{if(\"number\"!=typeof t.length)return!1;if(\"function\"!=typeof t.call)return!1;if(\"function\"!=typeof t.apply)return!1}catch(t){return!1}return!n(t)}},{\"../prototype/is\":543}],537:[function(t,e,r){\"use strict\";var n=t(\"../value/is\"),a=t(\"../object/is\"),i=t(\"../string/coerce\"),o=t(\"./to-short-string\"),s=function(t,e){return t.replace(\"%v\",o(e))};e.exports=function(t,e,r){if(!a(r))throw new TypeError(s(e,t));if(!n(t)){if(\"default\"in r)return r.default;if(r.isOptional)return null}var o=i(r.errorMessage);throw n(o)||(o=e),new TypeError(s(o,t))}},{\"../object/is\":540,\"../string/coerce\":544,\"../value/is\":546,\"./to-short-string\":539}],538:[function(t,e,r){\"use strict\";e.exports=function(t){try{return t.toString()}catch(e){try{return String(t)}catch(t){return null}}}},{}],539:[function(t,e,r){\"use strict\";var n=t(\"./safe-to-string\"),a=/[\\n\\r\\u2028\\u2029]/g;e.exports=function(t){var e=n(t);return null===e?\"<Non-coercible to string value>\":(e.length>100&&(e=e.slice(0,99)+\"\\u2026\"),e=e.replace(a,(function(t){switch(t){case\"\\n\":return\"\\\\n\";case\"\\r\":return\"\\\\r\";case\"\\u2028\":return\"\\\\u2028\";case\"\\u2029\":return\"\\\\u2029\";default:throw new Error(\"Unexpected character\")}})))}},{\"./safe-to-string\":538}],540:[function(t,e,r){\"use strict\";var n=t(\"../value/is\"),a={object:!0,function:!0,undefined:!0};e.exports=function(t){return!!n(t)&&hasOwnProperty.call(a,typeof t)}},{\"../value/is\":546}],541:[function(t,e,r){\"use strict\";var n=t(\"../lib/resolve-exception\"),a=t(\"./is\");e.exports=function(t){return a(t)?t:n(t,\"%v is not a plain function\",arguments[1])}},{\"../lib/resolve-exception\":537,\"./is\":542}],542:[function(t,e,r){\"use strict\";var n=t(\"../function/is\"),a=/^\\s*class[\\s{/}]/,i=Function.prototype.toString;e.exports=function(t){return!!n(t)&&!a.test(i.call(t))}},{\"../function/is\":536}],543:[function(t,e,r){\"use strict\";var n=t(\"../object/is\");e.exports=function(t){if(!n(t))return!1;try{return!!t.constructor&&t.constructor.prototype===t}catch(t){return!1}}},{\"../object/is\":540}],544:[function(t,e,r){\"use strict\";var n=t(\"../value/is\"),a=t(\"../object/is\"),i=Object.prototype.toString;e.exports=function(t){if(!n(t))return null;if(a(t)){var e=t.toString;if(\"function\"!=typeof e)return null;if(e===i)return null}try{return\"\"+t}catch(t){return null}}},{\"../object/is\":540,\"../value/is\":546}],545:[function(t,e,r){\"use strict\";var n=t(\"../lib/resolve-exception\"),a=t(\"./is\");e.exports=function(t){return a(t)?t:n(t,\"Cannot use %v\",arguments[1])}},{\"../lib/resolve-exception\":537,\"./is\":546}],546:[function(t,e,r){\"use strict\";e.exports=function(t){return null!=t}},{}],547:[function(t,e,r){(function(e){\"use strict\";var n=t(\"bit-twiddle\"),a=t(\"dup\"),i=t(\"buffer\").Buffer;e.__TYPEDARRAY_POOL||(e.__TYPEDARRAY_POOL={UINT8:a([32,0]),UINT16:a([32,0]),UINT32:a([32,0]),BIGUINT64:a([32,0]),INT8:a([32,0]),INT16:a([32,0]),INT32:a([32,0]),BIGINT64:a([32,0]),FLOAT:a([32,0]),DOUBLE:a([32,0]),DATA:a([32,0]),UINT8C:a([32,0]),BUFFER:a([32,0])});var o=\"undefined\"!=typeof Uint8ClampedArray,s=\"undefined\"!=typeof BigUint64Array,l=\"undefined\"!=typeof BigInt64Array,c=e.__TYPEDARRAY_POOL;c.UINT8C||(c.UINT8C=a([32,0])),c.BIGUINT64||(c.BIGUINT64=a([32,0])),c.BIGINT64||(c.BIGINT64=a([32,0])),c.BUFFER||(c.BUFFER=a([32,0]));var u=c.DATA,h=c.BUFFER;function f(t){if(t){var e=t.length||t.byteLength,r=n.log2(e);u[r].push(t)}}function p(t){t=n.nextPow2(t);var e=n.log2(t),r=u[e];return r.length>0?r.pop():new ArrayBuffer(t)}function d(t){return new Uint8Array(p(t),0,t)}function g(t){return new Uint16Array(p(2*t),0,t)}function m(t){return new Uint32Array(p(4*t),0,t)}function v(t){return new Int8Array(p(t),0,t)}function y(t){return new Int16Array(p(2*t),0,t)}function x(t){return new Int32Array(p(4*t),0,t)}function b(t){return new Float32Array(p(4*t),0,t)}function _(t){return new Float64Array(p(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(p(t),0,t):d(t)}function T(t){return s?new BigUint64Array(p(8*t),0,t):null}function k(t){return l?new BigInt64Array(p(8*t),0,t):null}function A(t){return new DataView(p(t),0,t)}function M(t){t=n.nextPow2(t);var e=n.log2(t),r=h[e];return r.length>0?r.pop():new i(t)}r.free=function(t){if(i.isBuffer(t))h[n.log2(t.length)].push(t);else{if(\"[object ArrayBuffer]\"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);u[r].push(t)}},r.freeUint8=r.freeUint16=r.freeUint32=r.freeBigUint64=r.freeInt8=r.freeInt16=r.freeInt32=r.freeBigInt64=r.freeFloat32=r.freeFloat=r.freeFloat64=r.freeDouble=r.freeUint8Clamped=r.freeDataView=function(t){f(t.buffer)},r.freeArrayBuffer=f,r.freeBuffer=function(t){h[n.log2(t.length)].push(t)},r.malloc=function(t,e){if(void 0===e||\"arraybuffer\"===e)return p(t);switch(e){case\"uint8\":return d(t);case\"uint16\":return g(t);case\"uint32\":return m(t);case\"int8\":return v(t);case\"int16\":return y(t);case\"int32\":return x(t);case\"float\":case\"float32\":return b(t);case\"double\":case\"float64\":return _(t);case\"uint8_clamped\":return w(t);case\"bigint64\":return k(t);case\"biguint64\":return T(t);case\"buffer\":return M(t);case\"data\":case\"dataview\":return A(t);default:return null}return null},r.mallocArrayBuffer=p,r.mallocUint8=d,r.mallocUint16=g,r.mallocUint32=m,r.mallocInt8=v,r.mallocInt16=y,r.mallocInt32=x,r.mallocFloat32=r.mallocFloat=b,r.mallocFloat64=r.mallocDouble=_,r.mallocUint8Clamped=w,r.mallocBigUint64=T,r.mallocBigInt64=k,r.mallocDataView=A,r.mallocBuffer=M,r.clearCache=function(){for(var t=0;t<32;++t)c.UINT8[t].length=0,c.UINT16[t].length=0,c.UINT32[t].length=0,c.INT8[t].length=0,c.INT16[t].length=0,c.INT32[t].length=0,c.FLOAT[t].length=0,c.DOUBLE[t].length=0,c.BIGUINT64[t].length=0,c.BIGINT64[t].length=0,c.UINT8C[t].length=0,u[t].length=0,h[t].length=0}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"bit-twiddle\":95,buffer:108,dup:171}],548:[function(t,e,r){\"use strict\";function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e<t;++e)this.roots[e]=e,this.ranks[e]=0}e.exports=n;var a=n.prototype;Object.defineProperty(a,\"length\",{get:function(){return this.roots.length}}),a.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},a.find=function(t){for(var e=t,r=this.roots;r[t]!==t;)t=r[t];for(;r[e]!==t;){var n=r[e];r[e]=t,e=n}return t},a.link=function(t,e){var r=this.find(t),n=this.find(e);if(r!==n){var a=this.ranks,i=this.roots,o=a[r],s=a[n];o<s?i[r]=n:s<o?i[n]=r:(i[n]=r,++a[r])}}},{}],549:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){return 0===t.length?t:e?(r||t.sort(e),function(t,e){for(var r=1,n=t.length,a=t[0],i=t[0],o=1;o<n;++o)if(i=a,e(a=t[o],i)){if(o===r){r++;continue}t[r++]=a}return t.length=r,t}(t,e)):(r||t.sort(),function(t){for(var e=1,r=t.length,n=t[0],a=t[0],i=1;i<r;++i,a=n)if(a=n,(n=t[i])!==a){if(i===e){e++;continue}t[e++]=n}return t.length=e,t}(t))}},{}],550:[function(t,e,r){var n=/[\\'\\\"]/;e.exports=function(t){return t?(n.test(t.charAt(0))&&(t=t.substr(1)),n.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):\"\"}},{}],551:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,a=r.length;n<a;n++){var i=r[n];for(var o in i)if((void 0===e[o]||Array.isArray(e[o])||t[o]!==e[o])&&o in e){var s;if(!0===i[o])s=e[o];else{if(!1===i[o])continue;if(\"function\"==typeof i[o]&&void 0===(s=i[o](e[o],t,e)))continue}t[o]=s}}return t}},{}],552:[function(t,e,r){\"use strict\";e.exports=function(t,e){\"object\"==typeof e&&null!==e||(e={});return n(t,e.canvas||a,e.context||i,e)};var n=t(\"./lib/vtext\"),a=null,i=null;\"undefined\"!=typeof document&&((a=document.createElement(\"canvas\")).width=8192,a.height=1024,i=a.getContext(\"2d\"))},{\"./lib/vtext\":553}],553:[function(t,e,r){e.exports=function(t,e,r,n){var i=64,o=1.25,s={breaklines:!1,bolds:!1,italics:!1,subscripts:!1,superscripts:!1};n&&(n.size&&n.size>0&&(i=n.size),n.lineSpacing&&n.lineSpacing>0&&(o=n.lineSpacing),n.styletags&&n.styletags.breaklines&&(s.breaklines=!!n.styletags.breaklines),n.styletags&&n.styletags.bolds&&(s.bolds=!!n.styletags.bolds),n.styletags&&n.styletags.italics&&(s.italics=!!n.styletags.italics),n.styletags&&n.styletags.subscripts&&(s.subscripts=!!n.styletags.subscripts),n.styletags&&n.styletags.superscripts&&(s.superscripts=!!n.styletags.superscripts));return r.font=[n.fontStyle,n.fontVariant,n.fontWeight,i+\"px\",n.font].filter((function(t){return t})).join(\" \"),r.textAlign=\"start\",r.textBaseline=\"alphabetic\",r.direction=\"ltr\",f(function(t,e,r,n,i,o){r=r.replace(/\\n/g,\"\"),r=!0===o.breaklines?r.replace(/\\<br\\>/g,\"\\n\"):r.replace(/\\<br\\>/g,\" \");var s=\"\",l=[];for(p=0;p<r.length;++p)l[p]=s;!0===o.bolds&&(l=c(\"b\",\"b|\",r,l));!0===o.italics&&(l=c(\"i\",\"i|\",r,l));!0===o.superscripts&&(l=c(\"sup\",\"+1\",r,l));!0===o.subscripts&&(l=c(\"sub\",\"-1\",r,l));var u=[],h=\"\";for(p=0;p<r.length;++p)null!==l[p]&&(h+=r[p],u.push(l[p]));var f,p,d,g,m,v=h.split(\"\\n\"),y=v.length,x=Math.round(i*n),b=n,_=2*n,w=0,T=y*x+_;t.height<T&&(t.height=T);e.fillStyle=\"#000\",e.fillRect(0,0,t.width,t.height),e.fillStyle=\"#fff\";var k=0,A=\"\";function M(){if(\"\"!==A){var t=e.measureText(A).width;e.fillText(A,b+d,_+g),d+=t}}function S(){return Math.round(m)+\"px \"}function E(t,r){var n=\"\"+e.font;if(!0===o.subscripts){var a=t.indexOf(\"-\"),i=r.indexOf(\"-\"),s=a>-1?parseInt(t[1+a]):0,l=i>-1?parseInt(r[1+i]):0;s!==l&&(n=n.replace(S(),\"?px \"),m*=Math.pow(.75,l-s),n=n.replace(\"?px \",S())),g+=.25*x*(l-s)}if(!0===o.superscripts){var c=t.indexOf(\"+\"),u=r.indexOf(\"+\"),h=c>-1?parseInt(t[1+c]):0,f=u>-1?parseInt(r[1+u]):0;h!==f&&(n=n.replace(S(),\"?px \"),m*=Math.pow(.75,f-h),n=n.replace(\"?px \",S())),g-=.25*x*(f-h)}if(!0===o.bolds){var p=t.indexOf(\"b|\")>-1,d=r.indexOf(\"b|\")>-1;!p&&d&&(n=v?n.replace(\"italic \",\"italic bold \"):\"bold \"+n),p&&!d&&(n=n.replace(\"bold \",\"\"))}if(!0===o.italics){var v=t.indexOf(\"i|\")>-1,y=r.indexOf(\"i|\")>-1;!v&&y&&(n=\"italic \"+n),v&&!y&&(n=n.replace(\"italic \",\"\"))}e.font=n}for(f=0;f<y;++f){var C=v[f]+\"\\n\";for(d=0,g=f*x,m=n,A=\"\",p=0;p<C.length;++p){var L=p+k<u.length?u[p+k]:u[u.length-1];s===L?A+=C[p]:(M(),A=C[p],void 0!==L&&(E(s,L),s=L))}M(),k+=C.length;var P=0|Math.round(d+2*b);w<P&&(w=P)}var I=w,z=_+x*y;return a(e.getImageData(0,0,I,z).data,[z,I,4]).pick(-1,-1,0).transpose(1,0)}(e,r,t,i,o,s),n,i)},e.exports.processPixels=f;var n=t(\"surface-nets\"),a=t(\"ndarray\"),i=t(\"simplify-planar-graph\"),o=t(\"clean-pslg\"),s=t(\"cdt2d\"),l=t(\"planar-graph-to-polyline\");function c(t,e,r,n){for(var a=\"<\"+t+\">\",i=\"</\"+t+\">\",o=a.length,s=i.length,l=\"+\"===e[0]||\"-\"===e[0],c=0,u=-s;c>-1&&-1!==(c=r.indexOf(a,c))&&-1!==(u=r.indexOf(i,c+o))&&!(u<=c);){for(var h=c;h<u+s;++h)if(h<c+o||h>=u)n[h]=null,r=r.substr(0,h)+\" \"+r.substr(h+1);else if(null!==n[h]){var f=n[h].indexOf(e[0]);-1===f?n[h]+=e:l&&(n[h]=n[h].substr(0,f+1)+(1+parseInt(n[h][f+1]))+n[h].substr(f+2))}var p=c+o,d=r.substr(p,u-p).indexOf(a);c=-1!==d?d:u+s}return n}function u(t,e){var r=n(t,128);return e?i(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function h(t,e,r,n){var a=u(t,n),i=function(t,e,r){for(var n=e.textAlign||\"start\",a=e.textBaseline||\"alphabetic\",i=[1<<30,1<<30],o=[0,0],s=t.length,l=0;l<s;++l)for(var c=t[l],u=0;u<2;++u)i[u]=0|Math.min(i[u],c[u]),o[u]=0|Math.max(o[u],c[u]);var h=0;switch(n){case\"center\":h=-.5*(i[0]+o[0]);break;case\"right\":case\"end\":h=-o[0];break;case\"left\":case\"start\":h=-i[0];break;default:throw new Error(\"vectorize-text: Unrecognized textAlign: '\"+n+\"'\")}var f=0;switch(a){case\"hanging\":case\"top\":f=-i[1];break;case\"middle\":f=-.5*(i[1]+o[1]);break;case\"alphabetic\":case\"ideographic\":f=-3*r;break;case\"bottom\":f=-o[1];break;default:throw new Error(\"vectorize-text: Unrecoginized textBaseline: '\"+a+\"'\")}var p=1/r;return\"lineHeight\"in e?p*=+e.lineHeight:\"width\"in e?p=e.width/(o[0]-i[0]):\"height\"in e&&(p=e.height/(o[1]-i[1])),t.map((function(t){return[p*(t[0]+h),p*(t[1]+f)]}))}(a.positions,e,r),c=a.edges,h=\"ccw\"===e.orientation;if(o(i,c),e.polygons||e.polygon||e.polyline){for(var f=l(c,i),p=new Array(f.length),d=0;d<f.length;++d){for(var g=f[d],m=new Array(g.length),v=0;v<g.length;++v){for(var y=g[v],x=new Array(y.length),b=0;b<y.length;++b)x[b]=i[y[b]].slice();h&&x.reverse(),m[v]=x}p[d]=m}return p}return e.triangles||e.triangulate||e.triangle?{cells:s(i,c,{delaunay:!1,exterior:!1,interior:!0}),positions:i}:{edges:c,positions:i}}function f(t,e,r){try{return h(t,e,r,!0)}catch(t){}try{return h(t,e,r,!1)}catch(t){}return e.polygons||e.polyline||e.polygon?[]:e.triangles||e.triangulate||e.triangle?{cells:[],positions:[]}:{edges:[],positions:[]}}},{cdt2d:109,\"clean-pslg\":118,ndarray:448,\"planar-graph-to-polyline\":466,\"simplify-planar-graph\":514,\"surface-nets\":522}],554:[function(t,e,r){!function(){\"use strict\";if(\"undefined\"==typeof ses||!ses.ok||ses.ok()){\"undefined\"!=typeof ses&&(ses.weakMapPermitHostObjects=g);var t=!1;if(\"function\"==typeof WeakMap){var r=WeakMap;if(\"undefined\"!=typeof navigator&&/Firefox/.test(navigator.userAgent));else{var n=new r,a=Object.freeze({});if(n.set(a,1),1===n.get(a))return void(e.exports=WeakMap);t=!0}}Object.prototype.hasOwnProperty;var i=Object.getOwnPropertyNames,o=Object.defineProperty,s=Object.isExtensible,l=\"weakmap:ident:\"+Math.random()+\"___\";if(\"undefined\"!=typeof crypto&&\"function\"==typeof crypto.getRandomValues&&\"function\"==typeof ArrayBuffer&&\"function\"==typeof Uint8Array){var c=new ArrayBuffer(25),u=new Uint8Array(c);crypto.getRandomValues(u),l=\"weakmap:rand:\"+Array.prototype.map.call(u,(function(t){return(t%36).toString(36)})).join(\"\")+\"___\"}if(o(Object,\"getOwnPropertyNames\",{value:function(t){return i(t).filter(m)}}),\"getPropertyNames\"in Object){var h=Object.getPropertyNames;o(Object,\"getPropertyNames\",{value:function(t){return h(t).filter(m)}})}!function(){var t=Object.freeze;o(Object,\"freeze\",{value:function(e){return v(e),t(e)}});var e=Object.seal;o(Object,\"seal\",{value:function(t){return v(t),e(t)}});var r=Object.preventExtensions;o(Object,\"preventExtensions\",{value:function(t){return v(t),r(t)}})}();var f=!1,p=0,d=function(){this instanceof d||x();var t=[],e=[],r=p++;return Object.create(d.prototype,{get___:{value:y((function(n,a){var i,o=v(n);return o?r in o?o[r]:a:(i=t.indexOf(n))>=0?e[i]:a}))},has___:{value:y((function(e){var n=v(e);return n?r in n:t.indexOf(e)>=0}))},set___:{value:y((function(n,a){var i,o=v(n);return o?o[r]=a:(i=t.indexOf(n))>=0?e[i]=a:(i=t.length,e[i]=a,t[i]=n),this}))},delete___:{value:y((function(n){var a,i,o=v(n);return o?r in o&&delete o[r]:!((a=t.indexOf(n))<0)&&(i=t.length-1,t[a]=void 0,e[a]=e[i],t[a]=t[i],t.length=i,e.length=i,!0)}))}})};d.prototype=Object.create(Object.prototype,{get:{value:function(t,e){return this.get___(t,e)},writable:!0,configurable:!0},has:{value:function(t){return this.has___(t)},writable:!0,configurable:!0},set:{value:function(t,e){return this.set___(t,e)},writable:!0,configurable:!0},delete:{value:function(t){return this.delete___(t)},writable:!0,configurable:!0}}),\"function\"==typeof r?function(){function n(){this instanceof d||x();var e,n=new r,a=void 0,i=!1;return e=t?function(t,e){return n.set(t,e),n.has(t)||(a||(a=new d),a.set(t,e)),this}:function(t,e){if(i)try{n.set(t,e)}catch(r){a||(a=new d),a.set___(t,e)}else n.set(t,e);return this},Object.create(d.prototype,{get___:{value:y((function(t,e){return a?n.has(t)?n.get(t):a.get___(t,e):n.get(t,e)}))},has___:{value:y((function(t){return n.has(t)||!!a&&a.has___(t)}))},set___:{value:y(e)},delete___:{value:y((function(t){var e=!!n.delete(t);return a&&a.delete___(t)||e}))},permitHostObjects___:{value:y((function(t){if(t!==g)throw new Error(\"bogus call to permitHostObjects___\");i=!0}))}})}t&&\"undefined\"!=typeof Proxy&&(Proxy=void 0),n.prototype=d.prototype,e.exports=n,Object.defineProperty(WeakMap.prototype,\"constructor\",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(\"undefined\"!=typeof Proxy&&(Proxy=void 0),e.exports=d)}function g(t){t.permitHostObjects___&&t.permitHostObjects___(g)}function m(t){return!(\"weakmap:\"==t.substr(0,\"weakmap:\".length)&&\"___\"===t.substr(t.length-3))}function v(t){if(t!==Object(t))throw new TypeError(\"Not an object: \"+t);var e=t[l];if(e&&e.key===t)return e;if(s(t)){e={key:t};try{return o(t,l,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function y(t){return t.prototype=null,Object.freeze(t)}function x(){f||\"undefined\"==typeof console||(f=!0,console.warn(\"WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future.\"))}}()},{}],555:[function(t,e,r){var n=t(\"./hidden-store.js\");e.exports=function(){var t={};return function(e){if((\"object\"!=typeof e||null===e)&&\"function\"!=typeof e)throw new Error(\"Weakmap-shim: Key must be object\");var r=e.valueOf(t);return r&&r.identity===t?r:n(e,t)}}},{\"./hidden-store.js\":556}],556:[function(t,e,r){e.exports=function(t,e){var r={identity:e},n=t.valueOf;return Object.defineProperty(t,\"valueOf\",{value:function(t){return t!==e?n.apply(this,arguments):r},writable:!0}),r}},{}],557:[function(t,e,r){var n=t(\"./create-store.js\");e.exports=function(){var t=n();return{get:function(e,r){var n=t(e);return n.hasOwnProperty(\"value\")?n.value:r},set:function(e,r){return t(e).value=r,this},has:function(e){return\"value\"in t(e)},delete:function(e){return delete t(e).value}}}},{\"./create-store.js\":555}],558:[function(t,e,r){var n=t(\"get-canvas-context\");e.exports=function(t){return n(\"webgl\",t)}},{\"get-canvas-context\":244}],559:[function(t,e,r){var n=t(\"../main\"),a=t(\"object-assign\"),i=n.instance();function o(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}o.prototype=new n.baseCalendar,a(o.prototype,{name:\"Chinese\",jdEpoch:1721425.5,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{\"\":{name:\"Chinese\",epochs:[\"BEC\",\"EC\"],monthNumbers:function(t,e){if(\"string\"==typeof t){var r=t.match(l);return r?r[0]:\"\"}var n=this._validateYear(t),a=t.month(),i=\"\"+this.toChineseMonth(n,a);return e&&i.length<2&&(i=\"0\"+i),this.isIntercalaryMonth(n,a)&&(i+=\"i\"),i},monthNames:function(t){if(\"string\"==typeof t){var e=t.match(c);return e?e[0]:\"\"}var r=this._validateYear(t),n=t.month(),a=[\"\\u4e00\\u6708\",\"\\u4e8c\\u6708\",\"\\u4e09\\u6708\",\"\\u56db\\u6708\",\"\\u4e94\\u6708\",\"\\u516d\\u6708\",\"\\u4e03\\u6708\",\"\\u516b\\u6708\",\"\\u4e5d\\u6708\",\"\\u5341\\u6708\",\"\\u5341\\u4e00\\u6708\",\"\\u5341\\u4e8c\\u6708\"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(a=\"\\u95f0\"+a),a},monthNamesShort:function(t){if(\"string\"==typeof t){var e=t.match(u);return e?e[0]:\"\"}var r=this._validateYear(t),n=t.month(),a=[\"\\u4e00\",\"\\u4e8c\",\"\\u4e09\",\"\\u56db\",\"\\u4e94\",\"\\u516d\",\"\\u4e03\",\"\\u516b\",\"\\u4e5d\",\"\\u5341\",\"\\u5341\\u4e00\",\"\\u5341\\u4e8c\"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(a=\"\\u95f0\"+a),a},parseMonth:function(t,e){t=this._validateYear(t);var r,n=parseInt(e);if(isNaN(n))\"\\u95f0\"===e[0]&&(r=!0,e=e.substring(1)),\"\\u6708\"===e[e.length-1]&&(e=e.substring(0,e.length-1)),n=1+[\"\\u4e00\",\"\\u4e8c\",\"\\u4e09\",\"\\u56db\",\"\\u4e94\",\"\\u516d\",\"\\u4e03\",\"\\u516b\",\"\\u4e5d\",\"\\u5341\",\"\\u5341\\u4e00\",\"\\u5341\\u4e8c\"].indexOf(e);else{var a=e[e.length-1];r=\"i\"===a||\"I\"===a}return this.toMonthIndex(t,n,r)},dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:1,isRTL:!1}},_validateYear:function(t,e){if(t.year&&(t=t.year()),\"number\"!=typeof t||t<1888||t>2111)throw e.replace(/\\{0\\}/,this.local.name);return t},toMonthIndex:function(t,e,r){var a=this.intercalaryMonth(t);if(r&&e!==a||e<1||e>12)throw n.local.invalidMonth.replace(/\\{0\\}/,this.local.name);return a?!r&&e<=a?e-1:e:e-1},toChineseMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);if(e<0||e>(r?12:11))throw n.local.invalidMonth.replace(/\\{0\\}/,this.local.name);return r?e<r?e+1:e:e+1},intercalaryMonth:function(t){return t=this._validateYear(t),h[t-h[0]]>>13},isIntercalaryMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);return!!r&&r===e},leapYear:function(t){return 0!==this.intercalaryMonth(t)},weekOfYear:function(t,e,r){var a,o=this._validateYear(t,n.local.invalidyear),s=f[o-f[0]],l=s>>9&4095,c=s>>5&15,u=31&s;(a=i.newDate(l,c,u)).add(4-(a.dayOfWeek()||7),\"d\");var h=this.toJD(t,e,r)-a.toJD();return 1+Math.floor(h/7)},monthsInYear:function(t){return this.leapYear(t)?13:12},daysInMonth:function(t,e){t.year&&(e=t.month(),t=t.year()),t=this._validateYear(t);var r=h[t-h[0]];if(e>(r>>13?12:11))throw n.local.invalidMonth.replace(/\\{0\\}/,this.local.name);return r&1<<12-e?30:29},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,s,r,n.local.invalidDate);t=this._validateYear(a.year()),e=a.month(),r=a.day();var o=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,a){var i,o,s;if(\"object\"==typeof t)o=t,i=e||{};else{var l;if(!(\"number\"==typeof t&&t>=1888&&t<=2111))throw new Error(\"Lunar year outside range 1888-2111\");if(!(\"number\"==typeof e&&e>=1&&e<=12))throw new Error(\"Lunar month outside range 1 - 12\");if(!(\"number\"==typeof r&&r>=1&&r<=30))throw new Error(\"Lunar day outside range 1 - 30\");\"object\"==typeof n?(l=!1,i=n):(l=!!n,i=a||{}),o={year:t,month:e,day:r,isIntercalary:l}}s=o.day-1;var c,u=h[o.year-h[0]],p=u>>13;c=p&&(o.month>p||o.isIntercalary)?o.month:o.month-1;for(var d=0;d<c;d++){s+=u&1<<12-d?30:29}var g=f[o.year-f[0]],m=new Date(g>>9&4095,(g>>5&15)-1,(31&g)+s);return i.year=m.getFullYear(),i.month=1+m.getMonth(),i.day=m.getDate(),i}(t,s,r,o);return i.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=i.fromJD(t),r=function(t,e,r,n){var a,i;if(\"object\"==typeof t)a=t,i=e||{};else{if(!(\"number\"==typeof t&&t>=1888&&t<=2111))throw new Error(\"Solar year outside range 1888-2111\");if(!(\"number\"==typeof e&&e>=1&&e<=12))throw new Error(\"Solar month outside range 1 - 12\");if(!(\"number\"==typeof r&&r>=1&&r<=31))throw new Error(\"Solar day outside range 1 - 31\");a={year:t,month:e,day:r},i=n||{}}var o=f[a.year-f[0]],s=a.year<<9|a.month<<5|a.day;i.year=s>=o?a.year:a.year-1,o=f[i.year-f[0]];var l,c=new Date(o>>9&4095,(o>>5&15)-1,31&o),u=new Date(a.year,a.month-1,a.day);l=Math.round((u-c)/864e5);var p,d=h[i.year-h[0]];for(p=0;p<13;p++){var g=d&1<<12-p?30:29;if(l<g)break;l-=g}var m=d>>13;!m||p<m?(i.isIntercalary=!1,i.month=1+p):p===m?(i.isIntercalary=!0,i.month=p):(i.isIntercalary=!1,i.month=p);return i.day=1+l,i}(e.year(),e.month(),e.day()),n=this.toMonthIndex(r.year,r.month,r.isIntercalary);return this.newDate(r.year,n,r.day)},fromString:function(t){var e=t.match(s),r=this._validateYear(+e[1]),n=+e[2],a=!!e[3],i=this.toMonthIndex(r,n,a),o=+e[4];return this.newDate(r,i,o)},add:function(t,e,r){var n=t.year(),a=t.month(),i=this.isIntercalaryMonth(n,a),s=this.toChineseMonth(n,a),l=Object.getPrototypeOf(o.prototype).add.call(this,t,e,r);if(\"y\"===r){var c=l.year(),u=l.month(),h=this.isIntercalaryMonth(c,s),f=i&&h?this.toMonthIndex(c,s,!0):this.toMonthIndex(c,s,!1);f!==u&&l.month(f)}return l}});var s=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)[-/](\\d?\\d)([iI]?)[-/](\\d?\\d)/m,l=/^\\d?\\d[iI]?/m,c=/^\\u95f0?\\u5341?[\\u4e00\\u4e8c\\u4e09\\u56db\\u4e94\\u516d\\u4e03\\u516b\\u4e5d]?\\u6708/m,u=/^\\u95f0?\\u5341?[\\u4e00\\u4e8c\\u4e09\\u56db\\u4e94\\u516d\\u4e03\\u516b\\u4e5d]?/m;n.calendars.chinese=o;var h=[1887,5780,5802,19157,2742,50359,1198,2646,46378,7466,3412,30122,5482,67949,2396,5294,43597,6732,6954,36181,2772,4954,18781,2396,54427,5274,6730,47781,5800,6868,21210,4790,59703,2350,5270,46667,3402,3496,38325,1388,4782,18735,2350,52374,6804,7498,44457,2906,1388,29294,4700,63789,6442,6804,56138,5802,2772,38235,1210,4698,22827,5418,63125,3476,5802,43701,2484,5302,27223,2646,70954,7466,3412,54698,5482,2412,38062,5294,2636,32038,6954,60245,2772,4826,43357,2394,5274,39501,6730,72357,5800,5844,53978,4790,2358,38039,5270,87627,3402,3496,54708,5484,4782,43311,2350,3222,27978,7498,68965,2904,5484,45677,4700,6444,39573,6804,6986,19285,2772,62811,1210,4698,47403,5418,5780,38570,5546,76469,2420,5302,51799,2646,5414,36501,3412,5546,18869,2412,54446,5276,6732,48422,6822,2900,28010,4826,92509,2394,5274,55883,6730,6820,47956,5812,2778,18779,2358,62615,5270,5450,46757,3492,5556,27318,4718,67887,2350,3222,52554,7498,3428,38252,5468,4700,31022,6444,64149,6804,6986,43861,2772,5338,35421,2650,70955,5418,5780,54954,5546,2740,38074,5302,2646,29991,3366,61011,3412,5546,43445,2412,5294,35406,6732,72998,6820,6996,52586,2778,2396,38045,5274,6698,23333,6820,64338,5812,2746,43355,2358,5270,39499,5450,79525,3492,5548],f=[1887,966732,967231,967733,968265,968766,969297,969798,970298,970829,971330,971830,972362,972863,973395,973896,974397,974928,975428,975929,976461,976962,977462,977994,978494,979026,979526,980026,980558,981059,981559,982091,982593,983124,983624,984124,984656,985157,985656,986189,986690,987191,987722,988222,988753,989254,989754,990286,990788,991288,991819,992319,992851,993352,993851,994383,994885,995385,995917,996418,996918,997450,997949,998481,998982,999483,1000014,1000515,1001016,1001548,1002047,1002578,1003080,1003580,1004111,1004613,1005113,1005645,1006146,1006645,1007177,1007678,1008209,1008710,1009211,1009743,1010243,1010743,1011275,1011775,1012306,1012807,1013308,1013840,1014341,1014841,1015373,1015874,1016404,1016905,1017405,1017937,1018438,1018939,1019471,1019972,1020471,1021002,1021503,1022035,1022535,1023036,1023568,1024069,1024568,1025100,1025601,1026102,1026633,1027133,1027666,1028167,1028666,1029198,1029699,1030199,1030730,1031231,1031763,1032264,1032764,1033296,1033797,1034297,1034828,1035329,1035830,1036362,1036861,1037393,1037894,1038394,1038925,1039427,1039927,1040459,1040959,1041491,1041992,1042492,1043023,1043524,1044024,1044556,1045057,1045558,1046090,1046590,1047121,1047622,1048122,1048654,1049154,1049655,1050187,1050689,1051219,1051720,1052220,1052751,1053252,1053752,1054284,1054786,1055285,1055817,1056317,1056849,1057349,1057850,1058382,1058883,1059383,1059915,1060415,1060947,1061447,1061947,1062479,1062981,1063480,1064012,1064514,1065014,1065545,1066045,1066577,1067078,1067578,1068110,1068611,1069112,1069642,1070142,1070674,1071175,1071675,1072207,1072709,1073209,1073740,1074241,1074741,1075273,1075773,1076305,1076807,1077308,1077839,1078340,1078840,1079372,1079871,1080403,1080904]},{\"../main\":573,\"object-assign\":452}],560:[function(t,e,r){var n=t(\"../main\"),a=t(\"object-assign\");function i(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}i.prototype=new n.baseCalendar,a(i.prototype,{name:\"Coptic\",jdEpoch:1825029.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Coptic\",epochs:[\"BAM\",\"AM\"],monthNames:[\"Thout\",\"Paopi\",\"Hathor\",\"Koiak\",\"Tobi\",\"Meshir\",\"Paremhat\",\"Paremoude\",\"Pashons\",\"Paoni\",\"Epip\",\"Mesori\",\"Pi Kogi Enavot\"],monthNamesShort:[\"Tho\",\"Pao\",\"Hath\",\"Koi\",\"Tob\",\"Mesh\",\"Pat\",\"Pad\",\"Pash\",\"Pao\",\"Epi\",\"Meso\",\"PiK\"],dayNames:[\"Tkyriaka\",\"Pesnau\",\"Pshoment\",\"Peftoou\",\"Ptiou\",\"Psoou\",\"Psabbaton\"],dayNamesShort:[\"Tky\",\"Pes\",\"Psh\",\"Pef\",\"Pti\",\"Pso\",\"Psa\"],dayNamesMin:[\"Tk\",\"Pes\",\"Psh\",\"Pef\",\"Pt\",\"Pso\",\"Psa\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[\"\"].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return(t=a.year())<0&&t++,a.day()+30*(a.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,a=e-30*(n-1)+1;return this.newDate(r,n,a)}}),n.calendars.coptic=i},{\"../main\":573,\"object-assign\":452}],561:[function(t,e,r){var n=t(\"../main\"),a=t(\"object-assign\");function i(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}i.prototype=new n.baseCalendar,a(i.prototype,{name:\"Discworld\",jdEpoch:1721425.5,daysPerMonth:[16,32,32,32,32,32,32,32,32,32,32,32,32],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Discworld\",epochs:[\"BUC\",\"UC\"],monthNames:[\"Ick\",\"Offle\",\"February\",\"March\",\"April\",\"May\",\"June\",\"Grune\",\"August\",\"Spune\",\"Sektober\",\"Ember\",\"December\"],monthNamesShort:[\"Ick\",\"Off\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Gru\",\"Aug\",\"Spu\",\"Sek\",\"Emb\",\"Dec\"],dayNames:[\"Sunday\",\"Octeday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Oct\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Oc\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:2,isRTL:!1}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),13},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),400},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/8)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(t,e,r){return(this._validate(t,e,r,n.local.invalidDate).day()+1)%8},weekDay:function(t,e,r){var n=this.dayOfWeek(t,e,r);return n>=2&&n<=6},extraInfo:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return{century:o[Math.floor((a.year()-1)/100)+1]||\"\"}},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return t=a.year()+(a.year()<0?1:0),e=a.month(),(r=a.day())+(e>1?16:0)+(e>2?32*(e-2):0)+400*(t-1)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t+.5)-Math.floor(this.jdEpoch)-1;var e=Math.floor(t/400)+1;t-=400*(e-1),t+=t>15?16:0;var r=Math.floor(t/32)+1,n=t-32*(r-1)+1;return this.newDate(e<=0?e-1:e,r,n)}});var o={20:\"Fruitbat\",21:\"Anchovy\"};n.calendars.discworld=i},{\"../main\":573,\"object-assign\":452}],562:[function(t,e,r){var n=t(\"../main\"),a=t(\"object-assign\");function i(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}i.prototype=new n.baseCalendar,a(i.prototype,{name:\"Ethiopian\",jdEpoch:1724220.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Ethiopian\",epochs:[\"BEE\",\"EE\"],monthNames:[\"Meskerem\",\"Tikemet\",\"Hidar\",\"Tahesas\",\"Tir\",\"Yekatit\",\"Megabit\",\"Miazia\",\"Genbot\",\"Sene\",\"Hamle\",\"Nehase\",\"Pagume\"],monthNamesShort:[\"Mes\",\"Tik\",\"Hid\",\"Tah\",\"Tir\",\"Yek\",\"Meg\",\"Mia\",\"Gen\",\"Sen\",\"Ham\",\"Neh\",\"Pag\"],dayNames:[\"Ehud\",\"Segno\",\"Maksegno\",\"Irob\",\"Hamus\",\"Arb\",\"Kidame\"],dayNamesShort:[\"Ehu\",\"Seg\",\"Mak\",\"Iro\",\"Ham\",\"Arb\",\"Kid\"],dayNamesMin:[\"Eh\",\"Se\",\"Ma\",\"Ir\",\"Ha\",\"Ar\",\"Ki\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[\"\"].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return(t=a.year())<0&&t++,a.day()+30*(a.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,a=e-30*(n-1)+1;return this.newDate(r,n,a)}}),n.calendars.ethiopian=i},{\"../main\":573,\"object-assign\":452}],563:[function(t,e,r){var n=t(\"../main\"),a=t(\"object-assign\");function i(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}function o(t,e){return t-e*Math.floor(t/e)}i.prototype=new n.baseCalendar,a(i.prototype,{name:\"Hebrew\",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{\"\":{name:\"Hebrew\",epochs:[\"BAM\",\"AM\"],monthNames:[\"Nisan\",\"Iyar\",\"Sivan\",\"Tammuz\",\"Av\",\"Elul\",\"Tishrei\",\"Cheshvan\",\"Kislev\",\"Tevet\",\"Shevat\",\"Adar\",\"Adar II\"],monthNamesShort:[\"Nis\",\"Iya\",\"Siv\",\"Tam\",\"Av\",\"Elu\",\"Tis\",\"Che\",\"Kis\",\"Tev\",\"She\",\"Ada\",\"Ad2\"],dayNames:[\"Yom Rishon\",\"Yom Sheni\",\"Yom Shlishi\",\"Yom Revi'i\",\"Yom Chamishi\",\"Yom Shishi\",\"Yom Shabbat\"],dayNamesShort:[\"Ris\",\"She\",\"Shl\",\"Rev\",\"Cha\",\"Shi\",\"Sha\"],dayNamesMin:[\"Ri\",\"She\",\"Shl\",\"Re\",\"Ch\",\"Shi\",\"Sha\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return o(7*(t=t<0?t+1:t)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),this._leapYear(t.year?t.year():t)?13:12},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),this.toJD(-1===t?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),12===e&&this.leapYear(t)||8===e&&5===o(this.daysInYear(t),10)?30:9===e&&3===o(this.daysInYear(t),10)?29:this.daysPerMonth[e-1]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},extraInfo:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return{yearType:(this.leapYear(a)?\"embolismic\":\"common\")+\" \"+[\"deficient\",\"regular\",\"complete\"][this.daysInYear(a)%10-3]}},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);t=a.year(),e=a.month(),r=a.day();var i=t<=0?t+1:t,o=this.jdEpoch+this._delay1(i)+this._delay2(i)+r+1;if(e<7){for(var s=7;s<=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s<e;s++)o+=this.daysInMonth(t,s)}else for(s=7;s<e;s++)o+=this.daysInMonth(t,s);return o},_delay1:function(t){var e=Math.floor((235*t-234)/19),r=12084+13753*e,n=29*e+Math.floor(r/25920);return o(3*(n+1),7)<3&&n++,n},_delay2:function(t){var e=this._delay1(t-1),r=this._delay1(t);return this._delay1(t+1)-r==356?2:r-e==382?1:0},fromJD:function(t){t=Math.floor(t)+.5;for(var e=Math.floor(98496*(t-this.jdEpoch)/35975351)-1;t>=this.toJD(-1===e?1:e+1,7,1);)e++;for(var r=t<this.toJD(e,1,1)?7:1;t>this.toJD(e,r,this.daysInMonth(e,r));)r++;var n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.hebrew=i},{\"../main\":573,\"object-assign\":452}],564:[function(t,e,r){var n=t(\"../main\"),a=t(\"object-assign\");function i(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}i.prototype=new n.baseCalendar,a(i.prototype,{name:\"Islamic\",jdEpoch:1948439.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Islamic\",epochs:[\"BH\",\"AH\"],monthNames:[\"Muharram\",\"Safar\",\"Rabi' al-awwal\",\"Rabi' al-thani\",\"Jumada al-awwal\",\"Jumada al-thani\",\"Rajab\",\"Sha'aban\",\"Ramadan\",\"Shawwal\",\"Dhu al-Qi'dah\",\"Dhu al-Hijjah\"],monthNamesShort:[\"Muh\",\"Saf\",\"Rab1\",\"Rab2\",\"Jum1\",\"Jum2\",\"Raj\",\"Sha'\",\"Ram\",\"Shaw\",\"DhuQ\",\"DhuH\"],dayNames:[\"Yawm al-ahad\",\"Yawm al-ithnayn\",\"Yawm ath-thulaathaa'\",\"Yawm al-arbi'aa'\",\"Yawm al-kham\\u012bs\",\"Yawm al-jum'a\",\"Yawm as-sabt\"],dayNamesShort:[\"Aha\",\"Ith\",\"Thu\",\"Arb\",\"Kha\",\"Jum\",\"Sab\"],dayNamesMin:[\"Ah\",\"It\",\"Th\",\"Ar\",\"Kh\",\"Ju\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!1}},leapYear:function(t){return(11*this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year()+14)%30<11},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return this.leapYear(t)?355:354},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return t=a.year(),e=a.month(),t=t<=0?t+1:t,(r=a.day())+Math.ceil(29.5*(e-1))+354*(t-1)+Math.floor((3+11*t)/30)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t)+.5;var e=Math.floor((30*(t-this.jdEpoch)+10646)/10631);e=e<=0?e-1:e;var r=Math.min(12,Math.ceil((t-29-this.toJD(e,1,1))/29.5)+1),n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.islamic=i},{\"../main\":573,\"object-assign\":452}],565:[function(t,e,r){var n=t(\"../main\"),a=t(\"object-assign\");function i(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}i.prototype=new n.baseCalendar,a(i.prototype,{name:\"Julian\",jdEpoch:1721423.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Julian\",epochs:[\"BC\",\"AD\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"mm/dd/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()<0?e.year()+1:e.year())%4==0},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return t=a.year(),e=a.month(),r=a.day(),t<0&&t++,e<=2&&(t--,e+=12),Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r-1524.5},fromJD:function(t){var e=Math.floor(t+.5)+1524,r=Math.floor((e-122.1)/365.25),n=Math.floor(365.25*r),a=Math.floor((e-n)/30.6001),i=a-Math.floor(a<14?1:13),o=r-Math.floor(i>2?4716:4715),s=e-n-Math.floor(30.6001*a);return o<=0&&o--,this.newDate(o,i,s)}}),n.calendars.julian=i},{\"../main\":573,\"object-assign\":452}],566:[function(t,e,r){var n=t(\"../main\"),a=t(\"object-assign\");function i(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}function o(t,e){return t-e*Math.floor(t/e)}function s(t,e){return o(t-1,e)+1}i.prototype=new n.baseCalendar,a(i.prototype,{name:\"Mayan\",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{\"\":{name:\"Mayan\",epochs:[\"\",\"\"],monthNames:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\"],monthNamesShort:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\"],dayNames:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],dayNamesShort:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],dayNamesMin:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],digits:null,dateFormat:\"YYYY.m.d\",firstDay:0,isRTL:!1,haabMonths:[\"Pop\",\"Uo\",\"Zip\",\"Zotz\",\"Tzec\",\"Xul\",\"Yaxkin\",\"Mol\",\"Chen\",\"Yax\",\"Zac\",\"Ceh\",\"Mac\",\"Kankin\",\"Muan\",\"Pax\",\"Kayab\",\"Cumku\",\"Uayeb\"],tzolkinMonths:[\"Imix\",\"Ik\",\"Akbal\",\"Kan\",\"Chicchan\",\"Cimi\",\"Manik\",\"Lamat\",\"Muluc\",\"Oc\",\"Chuen\",\"Eb\",\"Ben\",\"Ix\",\"Men\",\"Cib\",\"Caban\",\"Etznab\",\"Cauac\",\"Ahau\"]}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year();var e=Math.floor(t/400);return t%=400,t+=t<0?400:0,e+\".\"+Math.floor(t/20)+\".\"+t%20},forYear:function(t){if((t=t.split(\".\")).length<3)throw\"Invalid Mayan year\";for(var e=0,r=0;r<t.length;r++){var n=parseInt(t[r],10);if(Math.abs(n)>19||r>0&&n<0)throw\"Invalid Mayan year\";e=20*e+n}return e},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,n.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),!0},extraInfo:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate).toJD(),i=this._toHaab(a),o=this._toTzolkin(a);return{haabMonthName:this.local.haabMonths[i[0]-1],haabMonth:i[0],haabDay:i[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(t){var e=o((t-=this.jdEpoch)+8+340,365);return[Math.floor(e/20)+1,o(e,20)]},_toTzolkin:function(t){return[s((t-=this.jdEpoch)+20,20),s(t+4,13)]},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return a.day()+20*a.month()+360*a.year()+this.jdEpoch},fromJD:function(t){t=Math.floor(t)+.5-this.jdEpoch;var e=Math.floor(t/360);t%=360,t+=t<0?360:0;var r=Math.floor(t/20),n=t%20;return this.newDate(e,r,n)}}),n.calendars.mayan=i},{\"../main\":573,\"object-assign\":452}],567:[function(t,e,r){var n=t(\"../main\"),a=t(\"object-assign\");function i(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}i.prototype=new n.baseCalendar;var o=n.instance(\"gregorian\");a(i.prototype,{name:\"Nanakshahi\",jdEpoch:2257673.5,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Nanakshahi\",epochs:[\"BN\",\"AN\"],monthNames:[\"Chet\",\"Vaisakh\",\"Jeth\",\"Harh\",\"Sawan\",\"Bhadon\",\"Assu\",\"Katak\",\"Maghar\",\"Poh\",\"Magh\",\"Phagun\"],monthNamesShort:[\"Che\",\"Vai\",\"Jet\",\"Har\",\"Saw\",\"Bha\",\"Ass\",\"Kat\",\"Mgr\",\"Poh\",\"Mgh\",\"Pha\"],dayNames:[\"Somvaar\",\"Mangalvar\",\"Budhvaar\",\"Veervaar\",\"Shukarvaar\",\"Sanicharvaar\",\"Etvaar\"],dayNamesShort:[\"Som\",\"Mangal\",\"Budh\",\"Veer\",\"Shukar\",\"Sanichar\",\"Et\"],dayNamesMin:[\"So\",\"Ma\",\"Bu\",\"Ve\",\"Sh\",\"Sa\",\"Et\"],digits:null,dateFormat:\"dd-mm-yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[\"\"].invalidYear);return o.leapYear(e.year()+(e.year()<1?1:0)+1469)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(1-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidMonth);(t=a.year())<0&&t++;for(var i=a.day(),s=1;s<a.month();s++)i+=this.daysPerMonth[s-1];return i+o.toJD(t+1468,3,13)},fromJD:function(t){t=Math.floor(t+.5);for(var e=Math.floor((t-(this.jdEpoch-1))/366);t>=this.toJD(e+1,1,1);)e++;for(var r=t-Math.floor(this.toJD(e,1,1)+.5)+1,n=1;r>this.daysInMonth(e,n);)r-=this.daysInMonth(e,n),n++;return this.newDate(e,n,r)}}),n.calendars.nanakshahi=i},{\"../main\":573,\"object-assign\":452}],568:[function(t,e,r){var n=t(\"../main\"),a=t(\"object-assign\");function i(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}i.prototype=new n.baseCalendar,a(i.prototype,{name:\"Nepali\",jdEpoch:1700709.5,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{\"\":{name:\"Nepali\",epochs:[\"BBS\",\"ABS\"],monthNames:[\"Baisakh\",\"Jestha\",\"Ashadh\",\"Shrawan\",\"Bhadra\",\"Ashwin\",\"Kartik\",\"Mangsir\",\"Paush\",\"Mangh\",\"Falgun\",\"Chaitra\"],monthNamesShort:[\"Bai\",\"Je\",\"As\",\"Shra\",\"Bha\",\"Ash\",\"Kar\",\"Mang\",\"Pau\",\"Ma\",\"Fal\",\"Chai\"],dayNames:[\"Aaitabaar\",\"Sombaar\",\"Manglbaar\",\"Budhabaar\",\"Bihibaar\",\"Shukrabaar\",\"Shanibaar\"],dayNamesShort:[\"Aaita\",\"Som\",\"Mangl\",\"Budha\",\"Bihi\",\"Shukra\",\"Shani\"],dayNamesMin:[\"Aai\",\"So\",\"Man\",\"Bu\",\"Bi\",\"Shu\",\"Sha\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:1,isRTL:!1}},leapYear:function(t){return this.daysInYear(t)!==this.daysPerYear},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){if(t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),\"undefined\"==typeof this.NEPALI_CALENDAR_DATA[t])return this.daysPerYear;for(var e=0,r=this.minMonth;r<=12;r++)e+=this.NEPALI_CALENDAR_DATA[t][r];return e},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),\"undefined\"==typeof this.NEPALI_CALENDAR_DATA[t]?this.daysPerMonth[e-1]:this.NEPALI_CALENDAR_DATA[t][e]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);t=a.year(),e=a.month(),r=a.day();var i=n.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var c=t-(s>9||9===s&&r>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&&(o=r,s--);9!==s;)s<=0&&(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===e?(o+=r-this.NEPALI_CALENDAR_DATA[l][0])<0&&(o+=i.daysInYear(c)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],i.newDate(c,1,1).add(o,\"d\").toJD()},fromJD:function(t){var e=n.instance().fromJD(t),r=e.year(),a=e.dayOfYear(),i=r+56;this._createMissingCalendarData(i);for(var o=9,s=this.NEPALI_CALENDAR_DATA[i][0],l=this.NEPALI_CALENDAR_DATA[i][o]-s+1;a>l;)++o>12&&(o=1,i++),l+=this.NEPALI_CALENDAR_DATA[i][o];var c=this.NEPALI_CALENDAR_DATA[i][o]-(l-a);return this.newDate(i,o,c)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r<t+2;r++)\"undefined\"==typeof this.NEPALI_CALENDAR_DATA[r]&&(this.NEPALI_CALENDAR_DATA[r]=e)},NEPALI_CALENDAR_DATA:{1970:[18,31,31,32,31,31,31,30,29,30,29,30,30],1971:[18,31,31,32,31,32,30,30,29,30,29,30,30],1972:[17,31,32,31,32,31,30,30,30,29,29,30,30],1973:[19,30,32,31,32,31,30,30,30,29,30,29,31],1974:[19,31,31,32,30,31,31,30,29,30,29,30,30],1975:[18,31,31,32,32,30,31,30,29,30,29,30,30],1976:[17,31,32,31,32,31,30,30,30,29,29,30,31],1977:[18,31,32,31,32,31,31,29,30,29,30,29,31],1978:[18,31,31,32,31,31,31,30,29,30,29,30,30],1979:[18,31,31,32,32,31,30,30,29,30,29,30,30],1980:[17,31,32,31,32,31,30,30,30,29,29,30,31],1981:[18,31,31,31,32,31,31,29,30,30,29,30,30],1982:[18,31,31,32,31,31,31,30,29,30,29,30,30],1983:[18,31,31,32,32,31,30,30,29,30,29,30,30],1984:[17,31,32,31,32,31,30,30,30,29,29,30,31],1985:[18,31,31,31,32,31,31,29,30,30,29,30,30],1986:[18,31,31,32,31,31,31,30,29,30,29,30,30],1987:[18,31,32,31,32,31,30,30,29,30,29,30,30],1988:[17,31,32,31,32,31,30,30,30,29,29,30,31],1989:[18,31,31,31,32,31,31,30,29,30,29,30,30],1990:[18,31,31,32,31,31,31,30,29,30,29,30,30],1991:[18,31,32,31,32,31,30,30,29,30,29,30,30],1992:[17,31,32,31,32,31,30,30,30,29,30,29,31],1993:[18,31,31,31,32,31,31,30,29,30,29,30,30],1994:[18,31,31,32,31,31,31,30,29,30,29,30,30],1995:[17,31,32,31,32,31,30,30,30,29,29,30,30],1996:[17,31,32,31,32,31,30,30,30,29,30,29,31],1997:[18,31,31,32,31,31,31,30,29,30,29,30,30],1998:[18,31,31,32,31,31,31,30,29,30,29,30,30],1999:[17,31,32,31,32,31,30,30,30,29,29,30,31],2e3:[17,30,32,31,32,31,30,30,30,29,30,29,31],2001:[18,31,31,32,31,31,31,30,29,30,29,30,30],2002:[18,31,31,32,32,31,30,30,29,30,29,30,30],2003:[17,31,32,31,32,31,30,30,30,29,29,30,31],2004:[17,30,32,31,32,31,30,30,30,29,30,29,31],2005:[18,31,31,32,31,31,31,30,29,30,29,30,30],2006:[18,31,31,32,32,31,30,30,29,30,29,30,30],2007:[17,31,32,31,32,31,30,30,30,29,29,30,31],2008:[17,31,31,31,32,31,31,29,30,30,29,29,31],2009:[18,31,31,32,31,31,31,30,29,30,29,30,30],2010:[18,31,31,32,32,31,30,30,29,30,29,30,30],2011:[17,31,32,31,32,31,30,30,30,29,29,30,31],2012:[17,31,31,31,32,31,31,29,30,30,29,30,30],2013:[18,31,31,32,31,31,31,30,29,30,29,30,30],2014:[18,31,31,32,32,31,30,30,29,30,29,30,30],2015:[17,31,32,31,32,31,30,30,30,29,29,30,31],2016:[17,31,31,31,32,31,31,29,30,30,29,30,30],2017:[18,31,31,32,31,31,31,30,29,30,29,30,30],2018:[18,31,32,31,32,31,30,30,29,30,29,30,30],2019:[17,31,32,31,32,31,30,30,30,29,30,29,31],2020:[17,31,31,31,32,31,31,30,29,30,29,30,30],2021:[18,31,31,32,31,31,31,30,29,30,29,30,30],2022:[17,31,32,31,32,31,30,30,30,29,29,30,30],2023:[17,31,32,31,32,31,30,30,30,29,30,29,31],2024:[17,31,31,31,32,31,31,30,29,30,29,30,30],2025:[18,31,31,32,31,31,31,30,29,30,29,30,30],2026:[17,31,32,31,32,31,30,30,30,29,29,30,31],2027:[17,30,32,31,32,31,30,30,30,29,30,29,31],2028:[17,31,31,32,31,31,31,30,29,30,29,30,30],2029:[18,31,31,32,31,32,30,30,29,30,29,30,30],2030:[17,31,32,31,32,31,30,30,30,30,30,30,31],2031:[17,31,32,31,32,31,31,31,31,31,31,31,31],2032:[17,32,32,32,32,32,32,32,32,32,32,32,32],2033:[18,31,31,32,32,31,30,30,29,30,29,30,30],2034:[17,31,32,31,32,31,30,30,30,29,29,30,31],2035:[17,30,32,31,32,31,31,29,30,30,29,29,31],2036:[17,31,31,32,31,31,31,30,29,30,29,30,30],2037:[18,31,31,32,32,31,30,30,29,30,29,30,30],2038:[17,31,32,31,32,31,30,30,30,29,29,30,31],2039:[17,31,31,31,32,31,31,29,30,30,29,30,30],2040:[17,31,31,32,31,31,31,30,29,30,29,30,30],2041:[18,31,31,32,32,31,30,30,29,30,29,30,30],2042:[17,31,32,31,32,31,30,30,30,29,29,30,31],2043:[17,31,31,31,32,31,31,29,30,30,29,30,30],2044:[17,31,31,32,31,31,31,30,29,30,29,30,30],2045:[18,31,32,31,32,31,30,30,29,30,29,30,30],2046:[17,31,32,31,32,31,30,30,30,29,29,30,31],2047:[17,31,31,31,32,31,31,30,29,30,29,30,30],2048:[17,31,31,32,31,31,31,30,29,30,29,30,30],2049:[17,31,32,31,32,31,30,30,30,29,29,30,30],2050:[17,31,32,31,32,31,30,30,30,29,30,29,31],2051:[17,31,31,31,32,31,31,30,29,30,29,30,30],2052:[17,31,31,32,31,31,31,30,29,30,29,30,30],2053:[17,31,32,31,32,31,30,30,30,29,29,30,30],2054:[17,31,32,31,32,31,30,30,30,29,30,29,31],2055:[17,31,31,32,31,31,31,30,29,30,30,29,30],2056:[17,31,31,32,31,32,30,30,29,30,29,30,30],2057:[17,31,32,31,32,31,30,30,30,29,29,30,31],2058:[17,30,32,31,32,31,30,30,30,29,30,29,31],2059:[17,31,31,32,31,31,31,30,29,30,29,30,30],2060:[17,31,31,32,32,31,30,30,29,30,29,30,30],2061:[17,31,32,31,32,31,30,30,30,29,29,30,31],2062:[17,30,32,31,32,31,31,29,30,29,30,29,31],2063:[17,31,31,32,31,31,31,30,29,30,29,30,30],2064:[17,31,31,32,32,31,30,30,29,30,29,30,30],2065:[17,31,32,31,32,31,30,30,30,29,29,30,31],2066:[17,31,31,31,32,31,31,29,30,30,29,29,31],2067:[17,31,31,32,31,31,31,30,29,30,29,30,30],2068:[17,31,31,32,32,31,30,30,29,30,29,30,30],2069:[17,31,32,31,32,31,30,30,30,29,29,30,31],2070:[17,31,31,31,32,31,31,29,30,30,29,30,30],2071:[17,31,31,32,31,31,31,30,29,30,29,30,30],2072:[17,31,32,31,32,31,30,30,29,30,29,30,30],2073:[17,31,32,31,32,31,30,30,30,29,29,30,31],2074:[17,31,31,31,32,31,31,30,29,30,29,30,30],2075:[17,31,31,32,31,31,31,30,29,30,29,30,30],2076:[16,31,32,31,32,31,30,30,30,29,29,30,30],2077:[17,31,32,31,32,31,30,30,30,29,30,29,31],2078:[17,31,31,31,32,31,31,30,29,30,29,30,30],2079:[17,31,31,32,31,31,31,30,29,30,29,30,30],2080:[16,31,32,31,32,31,30,30,30,29,29,30,30],2081:[17,31,31,32,32,31,30,30,30,29,30,30,30],2082:[17,31,32,31,32,31,30,30,30,29,30,30,30],2083:[17,31,31,32,31,31,30,30,30,29,30,30,30],2084:[17,31,31,32,31,31,30,30,30,29,30,30,30],2085:[17,31,32,31,32,31,31,30,30,29,30,30,30],2086:[17,31,32,31,32,31,30,30,30,29,30,30,30],2087:[16,31,31,32,31,31,31,30,30,29,30,30,30],2088:[16,30,31,32,32,30,31,30,30,29,30,30,30],2089:[17,31,32,31,32,31,30,30,30,29,30,30,30],2090:[17,31,32,31,32,31,30,30,30,29,30,30,30],2091:[16,31,31,32,31,31,31,30,30,29,30,30,30],2092:[16,31,31,32,32,31,30,30,30,29,30,30,30],2093:[17,31,32,31,32,31,30,30,30,29,30,30,30],2094:[17,31,31,32,31,31,30,30,30,29,30,30,30],2095:[17,31,31,32,31,31,31,30,29,30,30,30,30],2096:[17,30,31,32,32,31,30,30,29,30,29,30,30],2097:[17,31,32,31,32,31,30,30,30,29,30,30,30],2098:[17,31,31,32,31,31,31,29,30,29,30,30,31],2099:[17,31,31,32,31,31,31,30,29,29,30,30,30],2100:[17,31,32,31,32,30,31,30,29,30,29,30,30]}}),n.calendars.nepali=i},{\"../main\":573,\"object-assign\":452}],569:[function(t,e,r){var n=t(\"../main\"),a=t(\"object-assign\");function i(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}function o(t,e){return t-e*Math.floor(t/e)}i.prototype=new n.baseCalendar,a(i.prototype,{name:\"Persian\",jdEpoch:1948320.5,daysPerMonth:[31,31,31,31,31,31,30,30,30,30,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Persian\",epochs:[\"BP\",\"AP\"],monthNames:[\"Farvardin\",\"Ordibehesht\",\"Khordad\",\"Tir\",\"Mordad\",\"Shahrivar\",\"Mehr\",\"Aban\",\"Azar\",\"Day\",\"Bahman\",\"Esfand\"],monthNamesShort:[\"Far\",\"Ord\",\"Kho\",\"Tir\",\"Mor\",\"Sha\",\"Meh\",\"Aba\",\"Aza\",\"Day\",\"Bah\",\"Esf\"],dayNames:[\"Yekshambe\",\"Doshambe\",\"Seshambe\",\"Ch\\xe6harshambe\",\"Panjshambe\",\"Jom'e\",\"Shambe\"],dayNamesShort:[\"Yek\",\"Do\",\"Se\",\"Ch\\xe6\",\"Panj\",\"Jom\",\"Sha\"],dayNamesMin:[\"Ye\",\"Do\",\"Se\",\"Ch\",\"Pa\",\"Jo\",\"Sh\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 682*((e.year()-(e.year()>0?474:473))%2820+474+38)%2816<682},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-(n.dayOfWeek()+1)%7,\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);t=a.year(),e=a.month(),r=a.day();var i=t-(t>=0?474:473),s=474+o(i,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(i/2820)+this.jdEpoch-1},fromJD:function(t){var e=(t=Math.floor(t)+.5)-this.toJD(475,1,1),r=Math.floor(e/1029983),n=o(e,1029983),a=2820;if(1029982!==n){var i=Math.floor(n/366),s=o(n,366);a=Math.floor((2134*i+2816*s+2815)/1028522)+i+1}var l=a+2820*r+474;l=l<=0?l-1:l;var c=t-this.toJD(l,1,1)+1,u=c<=186?Math.ceil(c/31):Math.ceil((c-6)/30),h=t-this.toJD(l,u,1)+1;return this.newDate(l,u,h)}}),n.calendars.persian=i,n.calendars.jalali=i},{\"../main\":573,\"object-assign\":452}],570:[function(t,e,r){var n=t(\"../main\"),a=t(\"object-assign\"),i=n.instance();function o(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}o.prototype=new n.baseCalendar,a(o.prototype,{name:\"Taiwan\",jdEpoch:2419402.5,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Taiwan\",epochs:[\"BROC\",\"ROC\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:1,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(e.year());return i.leapYear(t)},weekOfYear:function(t,e,r){var a=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(a.year());return i.weekOfYear(t,a.month(),a.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(a.year());return i.toJD(t,a.month(),a.day())},fromJD:function(t){var e=i.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)},_g2tYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)}}),n.calendars.taiwan=o},{\"../main\":573,\"object-assign\":452}],571:[function(t,e,r){var n=t(\"../main\"),a=t(\"object-assign\"),i=n.instance();function o(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}o.prototype=new n.baseCalendar,a(o.prototype,{name:\"Thai\",jdEpoch:1523098.5,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Thai\",epochs:[\"BBE\",\"BE\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(e.year());return i.leapYear(t)},weekOfYear:function(t,e,r){var a=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(a.year());return i.weekOfYear(t,a.month(),a.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(a.year());return i.toJD(t,a.month(),a.day())},fromJD:function(t){var e=i.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)},_g2tYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)}}),n.calendars.thai=o},{\"../main\":573,\"object-assign\":452}],572:[function(t,e,r){var n=t(\"../main\"),a=t(\"object-assign\");function i(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}i.prototype=new n.baseCalendar,a(i.prototype,{name:\"UmmAlQura\",hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Umm al-Qura\",epochs:[\"BH\",\"AH\"],monthNames:[\"Al-Muharram\",\"Safar\",\"Rabi' al-awwal\",\"Rabi' Al-Thani\",\"Jumada Al-Awwal\",\"Jumada Al-Thani\",\"Rajab\",\"Sha'aban\",\"Ramadan\",\"Shawwal\",\"Dhu al-Qi'dah\",\"Dhu al-Hijjah\"],monthNamesShort:[\"Muh\",\"Saf\",\"Rab1\",\"Rab2\",\"Jum1\",\"Jum2\",\"Raj\",\"Sha'\",\"Ram\",\"Shaw\",\"DhuQ\",\"DhuH\"],dayNames:[\"Yawm al-Ahad\",\"Yawm al-Ithnain\",\"Yawm al-Thal\\u0101th\\u0101\\u2019\",\"Yawm al-Arba\\u2018\\u0101\\u2019\",\"Yawm al-Kham\\u012bs\",\"Yawm al-Jum\\u2018a\",\"Yawm al-Sabt\"],dayNamesMin:[\"Ah\",\"Ith\",\"Th\",\"Ar\",\"Kh\",\"Ju\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!0}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 355===this.daysInYear(e.year())},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){for(var e=0,r=1;r<=12;r++)e+=this.daysInMonth(t,r);return e},daysInMonth:function(t,e){for(var r=this._validate(t,e,this.minDay,n.local.invalidMonth).toJD()-24e5+.5,a=0,i=0;i<o.length;i++){if(o[i]>r)return o[a]-o[a-1];a++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate),i=12*(a.year()-1)+a.month()-15292;return a.day()+o[i-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;n<o.length&&!(o[n]>e);n++)r++;var a=r+15292,i=Math.floor((a-1)/12),s=i+1,l=a-12*i,c=e-o[r-1]+1;return this.newDate(s,l,c)},isValid:function(t,e,r){var a=n.baseCalendar.prototype.isValid.apply(this,arguments);return a&&(a=(t=null!=t.year?t.year:t)>=1276&&t<=1500),a},_validate:function(t,e,r,a){var i=n.baseCalendar.prototype._validate.apply(this,arguments);if(i.year<1276||i.year>1500)throw a.replace(/\\{0\\}/,this.local.name);return i}}),n.calendars.ummalqura=i;var o=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]},{\"../main\":573,\"object-assign\":452}],573:[function(t,e,r){var n=t(\"object-assign\");function a(){this.regionalOptions=[],this.regionalOptions[\"\"]={invalidCalendar:\"Calendar {0} not found\",invalidDate:\"Invalid {0} date\",invalidMonth:\"Invalid {0} month\",invalidYear:\"Invalid {0} year\",differentCalendars:\"Cannot mix {0} and {1} dates\"},this.local=this.regionalOptions[\"\"],this.calendars={},this._localCals={}}function i(t,e,r,n){if(this._calendar=t,this._year=e,this._month=r,this._day=n,0===this._calendar._validateLevel&&!this._calendar.isValid(this._year,this._month,this._day))throw(c.local.invalidDate||c.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name)}function o(t,e){return\"000000\".substring(0,e-(t=\"\"+t).length)+t}function s(){this.shortYearCutoff=\"+10\"}function l(t){this.local=this.regionalOptions[t]||this.regionalOptions[\"\"]}n(a.prototype,{instance:function(t,e){t=(t||\"gregorian\").toLowerCase(),e=e||\"\";var r=this._localCals[t+\"-\"+e];if(!r&&this.calendars[t]&&(r=new this.calendars[t](e),this._localCals[t+\"-\"+e]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[\"\"].invalidCalendar).replace(/\\{0\\}/,t);return r},newDate:function(t,e,r,n,a){return(n=(null!=t&&t.year?t.calendar():\"string\"==typeof n?this.instance(n,a):n)||this.instance()).newDate(t,e,r)},substituteDigits:function(t){return function(e){return(e+\"\").replace(/[0-9]/g,(function(e){return t[e]}))}},substituteChineseDigits:function(t,e){return function(r){for(var n=\"\",a=0;r>0;){var i=r%10;n=(0===i?\"\":t[i]+e[a])+n,a++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&&(n=n.substr(1)),n||t[0]}}}),n(i.prototype,{newDate:function(t,e,r){return this._calendar.newDate(null==t?this:t,e,r)},year:function(t){return 0===arguments.length?this._year:this.set(t,\"y\")},month:function(t){return 0===arguments.length?this._month:this.set(t,\"m\")},day:function(t){return 0===arguments.length?this._day:this.set(t,\"d\")},date:function(t,e,r){if(!this._calendar.isValid(t,e,r))throw(c.local.invalidDate||c.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name);return this._year=t,this._month=e,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(t,e){return this._calendar.add(this,t,e)},set:function(t,e){return this._calendar.set(this,t,e)},compareTo:function(t){if(this._calendar.name!==t._calendar.name)throw(c.local.differentCalendars||c.regionalOptions[\"\"].differentCalendars).replace(/\\{0\\}/,this._calendar.local.name).replace(/\\{1\\}/,t._calendar.local.name);var e=this._year!==t._year?this._year-t._year:this._month!==t._month?this.monthOfYear()-t.monthOfYear():this._day-t._day;return 0===e?0:e<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(t){return this._calendar.fromJD(t)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(t){return this._calendar.fromJSDate(t)},toString:function(){return(this.year()<0?\"-\":\"\")+o(Math.abs(this.year()),4)+\"-\"+o(this.month(),2)+\"-\"+o(this.day(),2)}}),n(s.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate),r=t.day(),e=t.month(),t=t.year()),new i(this,t,e,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[\"\"].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[\"\"].invalidYear);return(e.year()<0?\"-\":\"\")+o(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[\"\"].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.regionalOptions[\"\"].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(t,e){var r=(e+this.firstMonth-2*this.minMonth)%this.monthsInYear(t)+this.minMonth;return this._validate(t,r,this.minDay,c.local.invalidMonth||c.regionalOptions[\"\"].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[\"\"].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate),this._correctAdd(t,this._add(t,e,r),e,r)},_add:function(t,e,r){if(this._validateLevel++,\"d\"===r||\"w\"===r){var n=t.toJD()+e*(\"w\"===r?this.daysInWeek():1),a=t.calendar().fromJD(n);return this._validateLevel--,[a.year(),a.month(),a.day()]}try{var i=t.year()+(\"y\"===r?e:0),o=t.monthOfYear()+(\"m\"===r?e:0);a=t.day();\"y\"===r?(t.month()!==this.fromMonthOfYear(i,o)&&(o=this.newDate(i,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(i)),a=Math.min(a,this.daysInMonth(i,this.fromMonthOfYear(i,o)))):\"m\"===r&&(!function(t){for(;o<t.minMonth;)i--,o+=t.monthsInYear(i);for(var e=t.monthsInYear(i);o>e-1+t.minMonth;)i++,o-=e,e=t.monthsInYear(i)}(this),a=Math.min(a,this.daysInMonth(i,this.fromMonthOfYear(i,o))));var s=[i,this.fromMonthOfYear(i,o),a];return this._validateLevel--,s}catch(t){throw this._validateLevel--,t}},_correctAdd:function(t,e,r,n){if(!(this.hasYearZero||\"y\"!==n&&\"m\"!==n||0!==e[0]&&t.year()>0==e[0]>0)){var a={y:[1,1,\"y\"],m:[1,this.monthsInYear(-1),\"m\"],w:[this.daysInWeek(),this.daysInYear(-1),\"d\"],d:[1,this.daysInYear(-1),\"d\"]}[n],i=r<0?-1:1;e=this._add(t,r*a[0]+i*a[1],a[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate);var n=\"y\"===r?e:t.year(),a=\"m\"===r?e:t.month(),i=\"d\"===r?e:t.day();return\"y\"!==r&&\"m\"!==r||(i=Math.min(i,this.daysInMonth(n,a))),t.date(n,a,i)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var a=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth<this.monthsInYear(a)&&r>=this.minDay&&r-this.minDay<this.daysInMonth(a)}return this._validateLevel--,n},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate);return c.instance().fromJD(this.toJD(n)).toJSDate()},fromJSDate:function(t){return this.fromJD(c.instance().fromJSDate(t).toJD())},_validate:function(t,e,r,n){if(t.year){if(0===this._validateLevel&&this.name!==t.calendar().name)throw(c.local.differentCalendars||c.regionalOptions[\"\"].differentCalendars).replace(/\\{0\\}/,this.local.name).replace(/\\{1\\}/,t.calendar().local.name);return t}try{if(this._validateLevel++,1===this._validateLevel&&!this.isValid(t,e,r))throw n.replace(/\\{0\\}/,this.local.name);var a=this.newDate(t,e,r);return this._validateLevel--,a}catch(t){throw this._validateLevel--,t}}}),l.prototype=new s,n(l.prototype,{name:\"Gregorian\",jdEpoch:1721425.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Gregorian\",epochs:[\"BCE\",\"CE\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"mm/dd/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[\"\"].invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==0&&(t%100!=0||t%400==0)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.regionalOptions[\"\"].invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate);t=n.year(),e=n.month(),r=n.day(),t<0&&t++,e<3&&(e+=12,t--);var a=Math.floor(t/100),i=2-a+Math.floor(a/4);return Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r+i-1524.5},fromJD:function(t){var e=Math.floor(t+.5),r=Math.floor((e-1867216.25)/36524.25),n=(r=e+1+r-Math.floor(r/4))+1524,a=Math.floor((n-122.1)/365.25),i=Math.floor(365.25*a),o=Math.floor((n-i)/30.6001),s=n-i-Math.floor(30.6001*o),l=o-(o>13.5?13:1),c=a-(l>2.5?4716:4715);return c<=0&&c--,this.newDate(c,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate),a=new Date(n.year(),n.month()-1,n.day());return a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0),a.setHours(a.getHours()>12?a.getHours()+2:0),a},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var c=e.exports=new a;c.cdate=i,c.baseCalendar=s,c.calendars.gregorian=l},{\"object-assign\":452}],574:[function(t,e,r){var n=t(\"object-assign\"),a=t(\"./main\");n(a.regionalOptions[\"\"],{invalidArguments:\"Invalid arguments\",invalidFormat:\"Cannot format a date from another calendar\",missingNumberAt:\"Missing number at position {0}\",unknownNameAt:\"Unknown name at position {0}\",unexpectedLiteralAt:\"Unexpected literal at position {0}\",unexpectedText:\"Additional text found at end\"}),a.local=a.regionalOptions[\"\"],n(a.cdate.prototype,{formatDate:function(t,e){return\"string\"!=typeof t&&(e=t,t=\"\"),this._calendar.formatDate(t||\"\",this,e)}}),n(a.baseCalendar.prototype,{UNIX_EPOCH:a.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:a.instance().jdEpoch,TICKS_PER_DAY:864e9,ATOM:\"yyyy-mm-dd\",COOKIE:\"D, dd M yyyy\",FULL:\"DD, MM d, yyyy\",ISO_8601:\"yyyy-mm-dd\",JULIAN:\"J\",RFC_822:\"D, d M yy\",RFC_850:\"DD, dd-M-yy\",RFC_1036:\"D, d M yy\",RFC_1123:\"D, d M yyyy\",RFC_2822:\"D, d M yyyy\",RSS:\"D, d M yy\",TICKS:\"!\",TIMESTAMP:\"@\",W3C:\"yyyy-mm-dd\",formatDate:function(t,e,r){if(\"string\"!=typeof t&&(r=e,e=t,t=\"\"),!e)return\"\";if(e.calendar()!==this)throw a.local.invalidFormat||a.regionalOptions[\"\"].invalidFormat;t=t||this.local.dateFormat;for(var n,i,o,s,l=(r=r||{}).dayNamesShort||this.local.dayNamesShort,c=r.dayNames||this.local.dayNames,u=r.monthNumbers||this.local.monthNumbers,h=r.monthNamesShort||this.local.monthNamesShort,f=r.monthNames||this.local.monthNames,p=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;w+n<t.length&&t.charAt(w+n)===e;)n++;return w+=n-1,Math.floor(n/(r||1))>1}),d=function(t,e,r,n){var a=\"\"+e;if(p(t,n))for(;a.length<r;)a=\"0\"+a;return a},g=this,m=function(t){return\"function\"==typeof u?u.call(g,t,p(\"m\")):x(d(\"m\",t.month(),2))},v=function(t,e){return e?\"function\"==typeof f?f.call(g,t):f[t.month()-g.minMonth]:\"function\"==typeof h?h.call(g,t):h[t.month()-g.minMonth]},y=this.local.digits,x=function(t){return r.localNumbers&&y?y(t):t},b=\"\",_=!1,w=0;w<t.length;w++)if(_)\"'\"!==t.charAt(w)||p(\"'\")?b+=t.charAt(w):_=!1;else switch(t.charAt(w)){case\"d\":b+=x(d(\"d\",e.day(),2));break;case\"D\":b+=(n=\"D\",i=e.dayOfWeek(),o=l,s=c,p(n)?s[i]:o[i]);break;case\"o\":b+=d(\"o\",e.dayOfYear(),3);break;case\"w\":b+=d(\"w\",e.weekOfYear(),2);break;case\"m\":b+=m(e);break;case\"M\":b+=v(e,p(\"M\"));break;case\"y\":b+=p(\"y\",2)?e.year():(e.year()%100<10?\"0\":\"\")+e.year()%100;break;case\"Y\":p(\"Y\",2),b+=e.formatYear();break;case\"J\":b+=e.toJD();break;case\"@\":b+=(e.toJD()-this.UNIX_EPOCH)*this.SECS_PER_DAY;break;case\"!\":b+=(e.toJD()-this.TICKS_EPOCH)*this.TICKS_PER_DAY;break;case\"'\":p(\"'\")?b+=\"'\":_=!0;break;default:b+=t.charAt(w)}return b},parseDate:function(t,e,r){if(null==e)throw a.local.invalidArguments||a.regionalOptions[\"\"].invalidArguments;if(\"\"===(e=\"object\"==typeof e?e.toString():e+\"\"))return null;t=t||this.local.dateFormat;var n=(r=r||{}).shortYearCutoff||this.shortYearCutoff;n=\"string\"!=typeof n?n:this.today().year()%100+parseInt(n,10);for(var i=r.dayNamesShort||this.local.dayNamesShort,o=r.dayNames||this.local.dayNames,s=r.parseMonth||this.local.parseMonth,l=r.monthNumbers||this.local.monthNumbers,c=r.monthNamesShort||this.local.monthNamesShort,u=r.monthNames||this.local.monthNames,h=-1,f=-1,p=-1,d=-1,g=-1,m=!1,v=!1,y=function(e,r){for(var n=1;M+n<t.length&&t.charAt(M+n)===e;)n++;return M+=n-1,Math.floor(n/(r||1))>1},x=function(t,r){var n=y(t,r),i=[2,3,n?4:2,n?4:2,10,11,20][\"oyYJ@!\".indexOf(t)+1],o=new RegExp(\"^-?\\\\d{1,\"+i+\"}\"),s=e.substring(A).match(o);if(!s)throw(a.local.missingNumberAt||a.regionalOptions[\"\"].missingNumberAt).replace(/\\{0\\}/,A);return A+=s[0].length,parseInt(s[0],10)},b=this,_=function(){if(\"function\"==typeof l){y(\"m\");var t=l.call(b,e.substring(A));return A+=t.length,t}return x(\"m\")},w=function(t,r,n,i){for(var o=y(t,i)?n:r,s=0;s<o.length;s++)if(e.substr(A,o[s].length).toLowerCase()===o[s].toLowerCase())return A+=o[s].length,s+b.minMonth;throw(a.local.unknownNameAt||a.regionalOptions[\"\"].unknownNameAt).replace(/\\{0\\}/,A)},T=function(){if(\"function\"==typeof u){var t=y(\"M\")?u.call(b,e.substring(A)):c.call(b,e.substring(A));return A+=t.length,t}return w(\"M\",c,u)},k=function(){if(e.charAt(A)!==t.charAt(M))throw(a.local.unexpectedLiteralAt||a.regionalOptions[\"\"].unexpectedLiteralAt).replace(/\\{0\\}/,A);A++},A=0,M=0;M<t.length;M++)if(v)\"'\"!==t.charAt(M)||y(\"'\")?k():v=!1;else switch(t.charAt(M)){case\"d\":d=x(\"d\");break;case\"D\":w(\"D\",i,o);break;case\"o\":g=x(\"o\");break;case\"w\":x(\"w\");break;case\"m\":p=_();break;case\"M\":p=T();break;case\"y\":var S=M;m=!y(\"y\",2),M=S,f=x(\"y\",2);break;case\"Y\":f=x(\"Y\",2);break;case\"J\":h=x(\"J\")+.5,\".\"===e.charAt(A)&&(A++,x(\"J\"));break;case\"@\":h=x(\"@\")/this.SECS_PER_DAY+this.UNIX_EPOCH;break;case\"!\":h=x(\"!\")/this.TICKS_PER_DAY+this.TICKS_EPOCH;break;case\"*\":A=e.length;break;case\"'\":y(\"'\")?k():v=!0;break;default:k()}if(A<e.length)throw a.local.unexpectedText||a.regionalOptions[\"\"].unexpectedText;if(-1===f?f=this.today().year():f<100&&m&&(f+=-1===n?1900:this.today().year()-this.today().year()%100-(f<=n?0:100)),\"string\"==typeof p&&(p=s.call(this,f,p)),g>-1){p=1,d=g;for(var E=this.daysInMonth(f,p);d>E;E=this.daysInMonth(f,p))p++,d-=E}return h>-1?this.fromJD(h):this.newDate(f,p,d)},determineDate:function(t,e,r,n,a){r&&\"object\"!=typeof r&&(a=n,n=r,r=null),\"string\"!=typeof n&&(a=n,n=\"\");var i=this;return e=e?e.newDate():null,t=null==t?e:\"string\"==typeof t?function(t){try{return i.parseDate(n,t,a)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&&r?r.newDate():null)||i.today(),o=/([+-]?[0-9]+)\\s*(d|w|m|y)?/g,s=o.exec(t);s;)e.add(parseInt(s[1],10),s[2]||\"d\"),s=o.exec(t);return e}(t):\"number\"==typeof t?isNaN(t)||t===1/0||t===-1/0?e:i.today().add(t,\"d\"):i.newDate(t)}})},{\"./main\":573,\"object-assign\":452}],575:[function(t,e,r){e.exports=t(\"cwise-compiler\")({args:[\"array\",{offset:[1],array:0},\"scalar\",\"scalar\",\"index\"],pre:{body:\"{}\",args:[],thisVars:[],localVars:[]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},body:{body:\"{\\n        var _inline_1_da = _inline_1_arg0_ - _inline_1_arg3_\\n        var _inline_1_db = _inline_1_arg1_ - _inline_1_arg3_\\n        if((_inline_1_da >= 0) !== (_inline_1_db >= 0)) {\\n          _inline_1_arg2_.push(_inline_1_arg4_[0] + 0.5 + 0.5 * (_inline_1_da + _inline_1_db) / (_inline_1_da - _inline_1_db))\\n        }\\n      }\",args:[{name:\"_inline_1_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_1_arg1_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_1_arg2_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_1_arg3_\",lvalue:!1,rvalue:!0,count:2},{name:\"_inline_1_arg4_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:[\"_inline_1_da\",\"_inline_1_db\"]},funcName:\"zeroCrossings\"})},{\"cwise-compiler\":148}],576:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=t(\"./lib/zc-core\")},{\"./lib/zc-core\":575}],577:[function(t,e,r){\"use strict\";e.exports=[{path:\"\",backoff:0},{path:\"M-2.4,-3V3L0.6,0Z\",backoff:.6},{path:\"M-3.7,-2.5V2.5L1.3,0Z\",backoff:1.3},{path:\"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z\",backoff:1.55},{path:\"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z\",backoff:1.6},{path:\"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z\",backoff:2},{path:\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\",backoff:0,noRotate:!0},{path:\"M2,2V-2H-2V2Z\",backoff:0,noRotate:!0}]},{}],578:[function(t,e,r){\"use strict\";var n=t(\"./arrow_paths\"),a=t(\"../../plots/font_attributes\"),i=t(\"../../plots/cartesian/constants\"),o=t(\"../../plot_api/plot_template\").templatedArray;e.exports=o(\"annotation\",{visible:{valType:\"boolean\",dflt:!0,editType:\"calc+arraydraw\"},text:{valType:\"string\",editType:\"calc+arraydraw\"},textangle:{valType:\"angle\",dflt:0,editType:\"calc+arraydraw\"},font:a({editType:\"calc+arraydraw\",colorEditType:\"arraydraw\"}),width:{valType:\"number\",min:1,dflt:null,editType:\"calc+arraydraw\"},height:{valType:\"number\",min:1,dflt:null,editType:\"calc+arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"arraydraw\"},align:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"center\",editType:\"arraydraw\"},valign:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"middle\",editType:\"arraydraw\"},bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"arraydraw\"},bordercolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"arraydraw\"},borderpad:{valType:\"number\",min:0,dflt:1,editType:\"calc+arraydraw\"},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc+arraydraw\"},showarrow:{valType:\"boolean\",dflt:!0,editType:\"calc+arraydraw\"},arrowcolor:{valType:\"color\",editType:\"arraydraw\"},arrowhead:{valType:\"integer\",min:0,max:n.length,dflt:1,editType:\"arraydraw\"},startarrowhead:{valType:\"integer\",min:0,max:n.length,dflt:1,editType:\"arraydraw\"},arrowside:{valType:\"flaglist\",flags:[\"end\",\"start\"],extras:[\"none\"],dflt:\"end\",editType:\"arraydraw\"},arrowsize:{valType:\"number\",min:.3,dflt:1,editType:\"calc+arraydraw\"},startarrowsize:{valType:\"number\",min:.3,dflt:1,editType:\"calc+arraydraw\"},arrowwidth:{valType:\"number\",min:.1,editType:\"calc+arraydraw\"},standoff:{valType:\"number\",min:0,dflt:0,editType:\"calc+arraydraw\"},startstandoff:{valType:\"number\",min:0,dflt:0,editType:\"calc+arraydraw\"},ax:{valType:\"any\",editType:\"calc+arraydraw\"},ay:{valType:\"any\",editType:\"calc+arraydraw\"},axref:{valType:\"enumerated\",dflt:\"pixel\",values:[\"pixel\",i.idRegex.x.toString()],editType:\"calc\"},ayref:{valType:\"enumerated\",dflt:\"pixel\",values:[\"pixel\",i.idRegex.y.toString()],editType:\"calc\"},xref:{valType:\"enumerated\",values:[\"paper\",i.idRegex.x.toString()],editType:\"calc\"},x:{valType:\"any\",editType:\"calc+arraydraw\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"auto\",editType:\"calc+arraydraw\"},xshift:{valType:\"number\",dflt:0,editType:\"calc+arraydraw\"},yref:{valType:\"enumerated\",values:[\"paper\",i.idRegex.y.toString()],editType:\"calc\"},y:{valType:\"any\",editType:\"calc+arraydraw\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"auto\",editType:\"calc+arraydraw\"},yshift:{valType:\"number\",dflt:0,editType:\"calc+arraydraw\"},clicktoshow:{valType:\"enumerated\",values:[!1,\"onoff\",\"onout\"],dflt:!1,editType:\"arraydraw\"},xclick:{valType:\"any\",editType:\"arraydraw\"},yclick:{valType:\"any\",editType:\"arraydraw\"},hovertext:{valType:\"string\",editType:\"arraydraw\"},hoverlabel:{bgcolor:{valType:\"color\",editType:\"arraydraw\"},bordercolor:{valType:\"color\",editType:\"arraydraw\"},font:a({editType:\"arraydraw\"}),editType:\"arraydraw\"},captureevents:{valType:\"boolean\",editType:\"arraydraw\"},editType:\"calc\",_deprecated:{ref:{valType:\"string\",editType:\"calc\"}}})},{\"../../plot_api/plot_template\":766,\"../../plots/cartesian/constants\":782,\"../../plots/font_attributes\":804,\"./arrow_paths\":577}],579:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),i=t(\"./draw\").draw;function o(t){var e=t._fullLayout;n.filterVisible(e.annotations).forEach((function(e){var r=a.getFromId(t,e.xref),n=a.getFromId(t,e.yref);e._extremes={},r&&s(e,r),n&&s(e,n)}))}function s(t,e){var r,n=e._id,i=n.charAt(0),o=t[i],s=t[\"a\"+i],l=t[i+\"ref\"],c=t[\"a\"+i+\"ref\"],u=t[\"_\"+i+\"padplus\"],h=t[\"_\"+i+\"padminus\"],f={x:1,y:-1}[i]*t[i+\"shift\"],p=3*t.arrowsize*t.arrowwidth||0,d=p+f,g=p-f,m=3*t.startarrowsize*t.arrowwidth||0,v=m+f,y=m-f;if(c===l){var x=a.findExtremes(e,[e.r2c(o)],{ppadplus:d,ppadminus:g}),b=a.findExtremes(e,[e.r2c(s)],{ppadplus:Math.max(u,v),ppadminus:Math.max(h,y)});r={min:[x.min[0],b.min[0]],max:[x.max[0],b.max[0]]}}else v=s?v+s:v,y=s?y-s:y,r=a.findExtremes(e,[e.r2c(o)],{ppadplus:Math.max(u,d,v),ppadminus:Math.max(h,g,y)});t._extremes[n]=r}e.exports=function(t){var e=t._fullLayout;if(n.filterVisible(e.annotations).length&&t._fullData.length)return n.syncOrAsync([i,o],t)}},{\"../../lib\":728,\"../../plots/cartesian/axes\":776,\"./draw\":584}],580:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../registry\"),i=t(\"../../plot_api/plot_template\").arrayEditor;function o(t,e){var r,n,a,i,o,l,c,u=t._fullLayout.annotations,h=[],f=[],p=[],d=(e||[]).length;for(r=0;r<u.length;r++)if(i=(a=u[r]).clicktoshow){for(n=0;n<d;n++)if(l=(o=e[n]).xaxis,c=o.yaxis,l._id===a.xref&&c._id===a.yref&&l.d2r(o.x)===s(a._xclick,l)&&c.d2r(o.y)===s(a._yclick,c)){(a.visible?\"onout\"===i?f:p:h).push(r);break}n===d&&a.visible&&\"onout\"===i&&f.push(r)}return{on:h,off:f,explicitOff:p}}function s(t,e){return\"log\"===e.type?e.l2r(t):e.d2r(t)}e.exports={hasClickToShow:function(t,e){var r=o(t,e);return r.on.length>0||r.explicitOff.length>0},onClick:function(t,e){var r,s,l=o(t,e),c=l.on,u=l.off.concat(l.explicitOff),h={},f=t._fullLayout.annotations;if(!c.length&&!u.length)return;for(r=0;r<c.length;r++)(s=i(t.layout,\"annotations\",f[c[r]])).modifyItem(\"visible\",!0),n.extendFlat(h,s.getUpdateObj());for(r=0;r<u.length;r++)(s=i(t.layout,\"annotations\",f[u[r]])).modifyItem(\"visible\",!1),n.extendFlat(h,s.getUpdateObj());return a.call(\"update\",t,{},h)}}},{\"../../lib\":728,\"../../plot_api/plot_template\":766,\"../../registry\":859}],581:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../color\");e.exports=function(t,e,r,i){i(\"opacity\");var o=i(\"bgcolor\"),s=i(\"bordercolor\"),l=a.opacity(s);i(\"borderpad\");var c=i(\"borderwidth\"),u=i(\"showarrow\");if(i(\"text\",u?\" \":r._dfltTitle.annotation),i(\"textangle\"),n.coerceFont(i,\"font\",r.font),i(\"width\"),i(\"align\"),i(\"height\")&&i(\"valign\"),u){var h,f,p=i(\"arrowside\");-1!==p.indexOf(\"end\")&&(h=i(\"arrowhead\"),f=i(\"arrowsize\")),-1!==p.indexOf(\"start\")&&(i(\"startarrowhead\",h),i(\"startarrowsize\",f)),i(\"arrowcolor\",l?e.bordercolor:a.defaultLine),i(\"arrowwidth\",2*(l&&c||1)),i(\"standoff\"),i(\"startstandoff\")}var d=i(\"hovertext\"),g=r.hoverlabel||{};if(d){var m=i(\"hoverlabel.bgcolor\",g.bgcolor||(a.opacity(o)?a.rgb(o):a.defaultLine)),v=i(\"hoverlabel.bordercolor\",g.bordercolor||a.contrast(m));n.coerceFont(i,\"hoverlabel.font\",{family:g.font.family,size:g.font.size,color:g.font.color||v})}i(\"captureevents\",!!d)}},{\"../../lib\":728,\"../color\":595}],582:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"../../lib/to_log_range\");e.exports=function(t,e,r,i){e=e||{};var o=\"log\"===r&&\"linear\"===e.type,s=\"linear\"===r&&\"log\"===e.type;if(o||s)for(var l,c,u=t._fullLayout.annotations,h=e._id.charAt(0),f=0;f<u.length;f++)l=u[f],c=\"annotations[\"+f+\"].\",l[h+\"ref\"]===e._id&&p(h),l[\"a\"+h+\"ref\"]===e._id&&p(\"a\"+h);function p(t){var r=l[t],s=null;s=o?a(r,e.range):Math.pow(10,r),n(s)||(s=null),i(c+t,s)}}},{\"../../lib/to_log_range\":754,\"fast-isnumeric\":236}],583:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),i=t(\"../../plots/array_container_defaults\"),o=t(\"./common_defaults\"),s=t(\"./attributes\");function l(t,e,r){function i(r,a){return n.coerce(t,e,s,r,a)}var l=i(\"visible\"),c=i(\"clicktoshow\");if(l||c){o(t,e,r,i);for(var u=e.showarrow,h=[\"x\",\"y\"],f=[-10,-30],p={_fullLayout:r},d=0;d<2;d++){var g=h[d],m=a.coerceRef(t,e,p,g,\"\",\"paper\");if(\"paper\"!==m)a.getFromId(p,m)._annIndices.push(e._index);if(a.coercePosition(e,p,i,m,g,.5),u){var v=\"a\"+g,y=a.coerceRef(t,e,p,v,\"pixel\");\"pixel\"!==y&&y!==m&&(y=e[v]=\"pixel\");var x=\"pixel\"===y?f[d]:.4;a.coercePosition(e,p,i,y,v,x)}i(g+\"anchor\"),i(g+\"shift\")}if(n.noneOrAll(t,e,[\"x\",\"y\"]),u&&n.noneOrAll(t,e,[\"ax\",\"ay\"]),c){var b=i(\"xclick\"),_=i(\"yclick\");e._xclick=void 0===b?e.x:a.cleanPosition(b,p,e.xref),e._yclick=void 0===_?e.y:a.cleanPosition(_,p,e.yref)}}}e.exports=function(t,e){i(t,e,{name:\"annotations\",handleItemDefaults:l})}},{\"../../lib\":728,\"../../plots/array_container_defaults\":772,\"../../plots/cartesian/axes\":776,\"./attributes\":578,\"./common_defaults\":581}],584:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../registry\"),i=t(\"../../plots/plots\"),o=t(\"../../lib\"),s=t(\"../../plots/cartesian/axes\"),l=t(\"../color\"),c=t(\"../drawing\"),u=t(\"../fx\"),h=t(\"../../lib/svg_text_utils\"),f=t(\"../../lib/setcursor\"),p=t(\"../dragelement\"),d=t(\"../../plot_api/plot_template\").arrayEditor,g=t(\"./draw_arrow_head\");function m(t,e){var r=t._fullLayout.annotations[e]||{},n=s.getFromId(t,r.xref),a=s.getFromId(t,r.yref);n&&n.setScale(),a&&a.setScale(),v(t,r,e,!1,n,a)}function v(t,e,r,i,s,m){var v,y,x=t._fullLayout,b=t._fullLayout._size,_=t._context.edits;i?(v=\"annotation-\"+i,y=i+\".annotations\"):(v=\"annotation\",y=\"annotations\");var w=d(t.layout,y,e),T=w.modifyBase,k=w.modifyItem,A=w.getUpdateObj;x._infolayer.selectAll(\".\"+v+'[data-index=\"'+r+'\"]').remove();var M=\"clip\"+x._uid+\"_ann\"+r;if(e._input&&!1!==e.visible){var S={x:{},y:{}},E=+e.textangle||0,C=x._infolayer.append(\"g\").classed(v,!0).attr(\"data-index\",String(r)).style(\"opacity\",e.opacity),L=C.append(\"g\").classed(\"annotation-text-g\",!0),P=_[e.showarrow?\"annotationTail\":\"annotationPosition\"],I=e.captureevents||_.annotationText||P,z=L.append(\"g\").style(\"pointer-events\",I?\"all\":null).call(f,\"pointer\").on(\"click\",(function(){t._dragging=!1,t.emit(\"plotly_clickannotation\",q(n.event))}));e.hovertext&&z.on(\"mouseover\",(function(){var r=e.hoverlabel,n=r.font,a=this.getBoundingClientRect(),i=t.getBoundingClientRect();u.loneHover({x0:a.left-i.left,x1:a.right-i.left,y:(a.top+a.bottom)/2-i.top,text:e.hovertext,color:r.bgcolor,borderColor:r.bordercolor,fontFamily:n.family,fontSize:n.size,fontColor:n.color},{container:x._hoverlayer.node(),outerContainer:x._paper.node(),gd:t})})).on(\"mouseout\",(function(){u.loneUnhover(x._hoverlayer.node())}));var O=e.borderwidth,D=e.borderpad,R=O+D,F=z.append(\"rect\").attr(\"class\",\"bg\").style(\"stroke-width\",O+\"px\").call(l.stroke,e.bordercolor).call(l.fill,e.bgcolor),B=e.width||e.height,N=x._topclips.selectAll(\"#\"+M).data(B?[0]:[]);N.enter().append(\"clipPath\").classed(\"annclip\",!0).attr(\"id\",M).append(\"rect\"),N.exit().remove();var j=e.font,V=x._meta?o.templateString(e.text,x._meta):e.text,U=z.append(\"text\").classed(\"annotation-text\",!0).text(V);_.annotationText?U.call(h.makeEditable,{delegate:z,gd:t}).call(H).on(\"edit\",(function(r){e.text=r,this.call(H),k(\"text\",r),s&&s.autorange&&T(s._name+\".autorange\",!0),m&&m.autorange&&T(m._name+\".autorange\",!0),a.call(\"_guiRelayout\",t,A())})):U.call(H)}else n.selectAll(\"#\"+M).remove();function q(t){var n={index:r,annotation:e._input,fullAnnotation:e,event:t};return i&&(n.subplotId=i),n}function H(r){return r.call(c.font,j).attr({\"text-anchor\":{left:\"start\",right:\"end\"}[e.align]||\"middle\"}),h.convertToTspans(r,t,G),r}function G(){var r=U.selectAll(\"a\");1===r.size()&&r.text()===U.text()&&z.insert(\"a\",\":first-child\").attr({\"xlink:xlink:href\":r.attr(\"xlink:href\"),\"xlink:xlink:show\":r.attr(\"xlink:show\")}).style({cursor:\"pointer\"}).node().appendChild(F.node());var n=z.select(\".annotation-text-math-group\"),u=!n.empty(),d=c.bBox((u?n:U).node()),v=d.width,y=d.height,w=e.width||v,I=e.height||y,D=Math.round(w+2*R),j=Math.round(I+2*R);function V(t,e){return\"auto\"===e&&(e=t<1/3?\"left\":t>2/3?\"right\":\"center\"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}for(var H=!1,G=[\"x\",\"y\"],Y=0;Y<G.length;Y++){var W,Z,X,J,K,Q=G[Y],$=e[Q+\"ref\"]||Q,tt=e[\"a\"+Q+\"ref\"],et={x:s,y:m}[Q],rt=(E+(\"x\"===Q?0:-90))*Math.PI/180,nt=D*Math.cos(rt),at=j*Math.sin(rt),it=Math.abs(nt)+Math.abs(at),ot=e[Q+\"anchor\"],st=e[Q+\"shift\"]*(\"x\"===Q?1:-1),lt=S[Q];if(et){var ct=et.r2fraction(e[Q]);(ct<0||ct>1)&&(tt===$?((ct=et.r2fraction(e[\"a\"+Q]))<0||ct>1)&&(H=!0):H=!0),W=et._offset+et.r2p(e[Q]),J=.5}else\"x\"===Q?(X=e[Q],W=b.l+b.w*X):(X=1-e[Q],W=b.t+b.h*X),J=e.showarrow?.5:X;if(e.showarrow){lt.head=W;var ut=e[\"a\"+Q];K=nt*V(.5,e.xanchor)-at*V(.5,e.yanchor),tt===$?(lt.tail=et._offset+et.r2p(ut),Z=K):(lt.tail=W+ut,Z=K+ut),lt.text=lt.tail+K;var ht=x[\"x\"===Q?\"width\":\"height\"];if(\"paper\"===$&&(lt.head=o.constrain(lt.head,1,ht-1)),\"pixel\"===tt){var ft=-Math.max(lt.tail-3,lt.text),pt=Math.min(lt.tail+3,lt.text)-ht;ft>0?(lt.tail+=ft,lt.text+=ft):pt>0&&(lt.tail-=pt,lt.text-=pt)}lt.tail+=st,lt.head+=st}else Z=K=it*V(J,ot),lt.text=W+K;lt.text+=st,K+=st,Z+=st,e[\"_\"+Q+\"padplus\"]=it/2+Z,e[\"_\"+Q+\"padminus\"]=it/2-Z,e[\"_\"+Q+\"size\"]=it,e[\"_\"+Q+\"shift\"]=K}if(H)z.remove();else{var dt=0,gt=0;if(\"left\"!==e.align&&(dt=(w-v)*(\"center\"===e.align?.5:1)),\"top\"!==e.valign&&(gt=(I-y)*(\"middle\"===e.valign?.5:1)),u)n.select(\"svg\").attr({x:R+dt-1,y:R+gt}).call(c.setClipUrl,B?M:null,t);else{var mt=R+gt-d.top,vt=R+dt-d.left;U.call(h.positionText,vt,mt).call(c.setClipUrl,B?M:null,t)}N.select(\"rect\").call(c.setRect,R,R,w,I),F.call(c.setRect,O/2,O/2,D-O,j-O),z.call(c.setTranslate,Math.round(S.x.text-D/2),Math.round(S.y.text-j/2)),L.attr({transform:\"rotate(\"+E+\",\"+S.x.text+\",\"+S.y.text+\")\"});var yt,xt=function(r,n){C.selectAll(\".annotation-arrow-g\").remove();var u=S.x.head,h=S.y.head,f=S.x.tail+r,d=S.y.tail+n,v=S.x.text+r,y=S.y.text+n,x=o.rotationXYMatrix(E,v,y),w=o.apply2DTransform(x),M=o.apply2DTransform2(x),P=+F.attr(\"width\"),I=+F.attr(\"height\"),O=v-.5*P,D=O+P,R=y-.5*I,B=R+I,N=[[O,R,O,B],[O,B,D,B],[D,B,D,R],[D,R,O,R]].map(M);if(!N.reduce((function(t,e){return t^!!o.segmentsIntersect(u,h,u+1e6,h+1e6,e[0],e[1],e[2],e[3])}),!1)){N.forEach((function(t){var e=o.segmentsIntersect(f,d,u,h,t[0],t[1],t[2],t[3]);e&&(f=e.x,d=e.y)}));var j=e.arrowwidth,V=e.arrowcolor,U=e.arrowside,q=C.append(\"g\").style({opacity:l.opacity(V)}).classed(\"annotation-arrow-g\",!0),H=q.append(\"path\").attr(\"d\",\"M\"+f+\",\"+d+\"L\"+u+\",\"+h).style(\"stroke-width\",j+\"px\").call(l.stroke,l.rgb(V));if(g(H,U,e),_.annotationPosition&&H.node().parentNode&&!i){var G=u,Y=h;if(e.standoff){var W=Math.sqrt(Math.pow(u-f,2)+Math.pow(h-d,2));G+=e.standoff*(f-u)/W,Y+=e.standoff*(d-h)/W}var Z,X,J=q.append(\"path\").classed(\"annotation-arrow\",!0).classed(\"anndrag\",!0).classed(\"cursor-move\",!0).attr({d:\"M3,3H-3V-3H3ZM0,0L\"+(f-G)+\",\"+(d-Y),transform:\"translate(\"+G+\",\"+Y+\")\"}).style(\"stroke-width\",j+6+\"px\").call(l.stroke,\"rgba(0,0,0,0)\").call(l.fill,\"rgba(0,0,0,0)\");p.init({element:J.node(),gd:t,prepFn:function(){var t=c.getTranslate(z);Z=t.x,X=t.y,s&&s.autorange&&T(s._name+\".autorange\",!0),m&&m.autorange&&T(m._name+\".autorange\",!0)},moveFn:function(t,r){var n=w(Z,X),a=n[0]+t,i=n[1]+r;z.call(c.setTranslate,a,i),k(\"x\",s?s.p2r(s.r2p(e.x)+t):e.x+t/b.w),k(\"y\",m?m.p2r(m.r2p(e.y)+r):e.y-r/b.h),e.axref===e.xref&&k(\"ax\",s.p2r(s.r2p(e.ax)+t)),e.ayref===e.yref&&k(\"ay\",m.p2r(m.r2p(e.ay)+r)),q.attr(\"transform\",\"translate(\"+t+\",\"+r+\")\"),L.attr({transform:\"rotate(\"+E+\",\"+a+\",\"+i+\")\"})},doneFn:function(){a.call(\"_guiRelayout\",t,A());var e=document.querySelector(\".js-notes-box-panel\");e&&e.redraw(e.selectedObj)}})}}};if(e.showarrow&&xt(0,0),P)p.init({element:z.node(),gd:t,prepFn:function(){yt=L.attr(\"transform\")},moveFn:function(t,r){var n=\"pointer\";if(e.showarrow)e.axref===e.xref?k(\"ax\",s.p2r(s.r2p(e.ax)+t)):k(\"ax\",e.ax+t),e.ayref===e.yref?k(\"ay\",m.p2r(m.r2p(e.ay)+r)):k(\"ay\",e.ay+r),xt(t,r);else{if(i)return;var a,o;if(s)a=s.p2r(s.r2p(e.x)+t);else{var l=e._xsize/b.w,c=e.x+(e._xshift-e.xshift)/b.w-l/2;a=p.align(c+t/b.w,l,0,1,e.xanchor)}if(m)o=m.p2r(m.r2p(e.y)+r);else{var u=e._ysize/b.h,h=e.y-(e._yshift+e.yshift)/b.h-u/2;o=p.align(h-r/b.h,u,0,1,e.yanchor)}k(\"x\",a),k(\"y\",o),s&&m||(n=p.getCursor(s?.5:a,m?.5:o,e.xanchor,e.yanchor))}L.attr({transform:\"translate(\"+t+\",\"+r+\")\"+yt}),f(z,n)},clickFn:function(r,n){e.captureevents&&t.emit(\"plotly_clickannotation\",q(n))},doneFn:function(){f(z),a.call(\"_guiRelayout\",t,A());var e=document.querySelector(\".js-notes-box-panel\");e&&e.redraw(e.selectedObj)}})}}}e.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(\".annotation\").remove();for(var r=0;r<e.annotations.length;r++)e.annotations[r].visible&&m(t,r);return i.previousPromises(t)},drawOne:m,drawRaw:v}},{\"../../lib\":728,\"../../lib/setcursor\":748,\"../../lib/svg_text_utils\":752,\"../../plot_api/plot_template\":766,\"../../plots/cartesian/axes\":776,\"../../plots/plots\":839,\"../../registry\":859,\"../color\":595,\"../dragelement\":614,\"../drawing\":617,\"../fx\":635,\"./draw_arrow_head\":585,d3:164}],585:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../color\"),i=t(\"./arrow_paths\");e.exports=function(t,e,r){var o,s,l,c,u=t.node(),h=i[r.arrowhead||0],f=i[r.startarrowhead||0],p=(r.arrowwidth||1)*(r.arrowsize||1),d=(r.arrowwidth||1)*(r.startarrowsize||1),g=e.indexOf(\"start\")>=0,m=e.indexOf(\"end\")>=0,v=h.backoff*p+r.standoff,y=f.backoff*d+r.startstandoff;if(\"line\"===u.nodeName){o={x:+t.attr(\"x1\"),y:+t.attr(\"y1\")},s={x:+t.attr(\"x2\"),y:+t.attr(\"y2\")};var x=o.x-s.x,b=o.y-s.y;if(c=(l=Math.atan2(b,x))+Math.PI,v&&y&&v+y>Math.sqrt(x*x+b*b))return void P();if(v){if(v*v>x*x+b*b)return void P();var _=v*Math.cos(l),w=v*Math.sin(l);s.x+=_,s.y+=w,t.attr({x2:s.x,y2:s.y})}if(y){if(y*y>x*x+b*b)return void P();var T=y*Math.cos(l),k=y*Math.sin(l);o.x-=T,o.y-=k,t.attr({x1:o.x,y1:o.y})}}else if(\"path\"===u.nodeName){var A=u.getTotalLength(),M=\"\";if(A<v+y)return void P();var S=u.getPointAtLength(0),E=u.getPointAtLength(.1);l=Math.atan2(S.y-E.y,S.x-E.x),o=u.getPointAtLength(Math.min(y,A)),M=\"0px,\"+y+\"px,\";var C=u.getPointAtLength(A),L=u.getPointAtLength(A-.1);c=Math.atan2(C.y-L.y,C.x-L.x),s=u.getPointAtLength(Math.max(0,A-v)),M+=A-(M?y+v:v)+\"px,\"+A+\"px\",t.style(\"stroke-dasharray\",M)}function P(){t.style(\"stroke-dasharray\",\"0px,100px\")}function I(e,i,o,s){e.path&&(e.noRotate&&(o=0),n.select(u.parentNode).append(\"path\").attr({class:t.attr(\"class\"),d:e.path,transform:\"translate(\"+i.x+\",\"+i.y+\")\"+(o?\"rotate(\"+180*o/Math.PI+\")\":\"\")+\"scale(\"+s+\")\"}).style({fill:a.rgb(r.arrowcolor),\"stroke-width\":0}))}g&&I(f,o,l,d),m&&I(h,s,c,p)}},{\"../color\":595,\"./arrow_paths\":577,d3:164}],586:[function(t,e,r){\"use strict\";var n=t(\"./draw\"),a=t(\"./click\");e.exports={moduleType:\"component\",name:\"annotations\",layoutAttributes:t(\"./attributes\"),supplyLayoutDefaults:t(\"./defaults\"),includeBasePlot:t(\"../../plots/cartesian/include_components\")(\"annotations\"),calcAutorange:t(\"./calc_autorange\"),draw:n.draw,drawOne:n.drawOne,drawRaw:n.drawRaw,hasClickToShow:a.hasClickToShow,onClick:a.onClick,convertCoords:t(\"./convert_coords\")}},{\"../../plots/cartesian/include_components\":788,\"./attributes\":578,\"./calc_autorange\":579,\"./click\":580,\"./convert_coords\":582,\"./defaults\":583,\"./draw\":584}],587:[function(t,e,r){\"use strict\";var n=t(\"../annotations/attributes\"),a=t(\"../../plot_api/edit_types\").overrideAll,i=t(\"../../plot_api/plot_template\").templatedArray;e.exports=a(i(\"annotation\",{visible:n.visible,x:{valType:\"any\"},y:{valType:\"any\"},z:{valType:\"any\"},ax:{valType:\"number\"},ay:{valType:\"number\"},xanchor:n.xanchor,xshift:n.xshift,yanchor:n.yanchor,yshift:n.yshift,text:n.text,textangle:n.textangle,font:n.font,width:n.width,height:n.height,opacity:n.opacity,align:n.align,valign:n.valign,bgcolor:n.bgcolor,bordercolor:n.bordercolor,borderpad:n.borderpad,borderwidth:n.borderwidth,showarrow:n.showarrow,arrowcolor:n.arrowcolor,arrowhead:n.arrowhead,startarrowhead:n.startarrowhead,arrowside:n.arrowside,arrowsize:n.arrowsize,startarrowsize:n.startarrowsize,arrowwidth:n.arrowwidth,standoff:n.standoff,startstandoff:n.startstandoff,hovertext:n.hovertext,hoverlabel:n.hoverlabel,captureevents:n.captureevents}),\"calc\",\"from-root\")},{\"../../plot_api/edit_types\":759,\"../../plot_api/plot_template\":766,\"../annotations/attributes\":578}],588:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\");function i(t,e){var r=e.fullSceneLayout.domain,i=e.fullLayout._size,o={pdata:null,type:\"linear\",autorange:!1,range:[-1/0,1/0]};t._xa={},n.extendFlat(t._xa,o),a.setConvert(t._xa),t._xa._offset=i.l+r.x[0]*i.w,t._xa.l2p=function(){return.5*(1+t._pdata[0]/t._pdata[3])*i.w*(r.x[1]-r.x[0])},t._ya={},n.extendFlat(t._ya,o),a.setConvert(t._ya),t._ya._offset=i.t+(1-r.y[1])*i.h,t._ya.l2p=function(){return.5*(1-t._pdata[1]/t._pdata[3])*i.h*(r.y[1]-r.y[0])}}e.exports=function(t){for(var e=t.fullSceneLayout.annotations,r=0;r<e.length;r++)i(e[r],t);t.fullLayout._infolayer.selectAll(\".annotation-\"+t.id).remove()}},{\"../../lib\":728,\"../../plots/cartesian/axes\":776}],589:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),i=t(\"../../plots/array_container_defaults\"),o=t(\"../annotations/common_defaults\"),s=t(\"./attributes\");function l(t,e,r,i){function l(r,a){return n.coerce(t,e,s,r,a)}function c(t){var n=t+\"axis\",i={_fullLayout:{}};return i._fullLayout[n]=r[n],a.coercePosition(e,i,l,t,t,.5)}l(\"visible\")&&(o(t,e,i.fullLayout,l),c(\"x\"),c(\"y\"),c(\"z\"),n.noneOrAll(t,e,[\"x\",\"y\",\"z\"]),e.xref=\"x\",e.yref=\"y\",e.zref=\"z\",l(\"xanchor\"),l(\"yanchor\"),l(\"xshift\"),l(\"yshift\"),e.showarrow&&(e.axref=\"pixel\",e.ayref=\"pixel\",l(\"ax\",-10),l(\"ay\",-30),n.noneOrAll(t,e,[\"ax\",\"ay\"])))}e.exports=function(t,e,r){i(t,e,{name:\"annotations\",handleItemDefaults:l,fullLayout:r.fullLayout})}},{\"../../lib\":728,\"../../plots/array_container_defaults\":772,\"../../plots/cartesian/axes\":776,\"../annotations/common_defaults\":581,\"./attributes\":587}],590:[function(t,e,r){\"use strict\";var n=t(\"../annotations/draw\").drawRaw,a=t(\"../../plots/gl3d/project\"),i=[\"x\",\"y\",\"z\"];e.exports=function(t){for(var e=t.fullSceneLayout,r=t.dataScale,o=e.annotations,s=0;s<o.length;s++){for(var l=o[s],c=!1,u=0;u<3;u++){var h=i[u],f=l[h],p=e[h+\"axis\"].r2fraction(f);if(p<0||p>1){c=!0;break}}c?t.fullLayout._infolayer.select(\".annotation-\"+t.id+'[data-index=\"'+s+'\"]').remove():(l._pdata=a(t.glplot.cameraParams,[e.xaxis.r2l(l.x)*r[0],e.yaxis.r2l(l.y)*r[1],e.zaxis.r2l(l.z)*r[2]]),n(t.graphDiv,l,s,t.id,l._xa,l._ya))}}},{\"../../plots/gl3d/project\":827,\"../annotations/draw\":584}],591:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),a=t(\"../../lib\");e.exports={moduleType:\"component\",name:\"annotations3d\",schema:{subplots:{scene:{annotations:t(\"./attributes\")}}},layoutAttributes:t(\"./attributes\"),handleDefaults:t(\"./defaults\"),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(!r)return;for(var i=r.attrRegex,o=Object.keys(t),s=0;s<o.length;s++){var l=o[s];i.test(l)&&(t[l].annotations||[]).length&&(a.pushUnique(e._basePlotModules,r),a.pushUnique(e._subplots.gl3d,l))}},convert:t(\"./convert\"),draw:t(\"./draw\")}},{\"../../lib\":728,\"../../registry\":859,\"./attributes\":587,\"./convert\":588,\"./defaults\":589,\"./draw\":590}],592:[function(t,e,r){\"use strict\";e.exports=t(\"world-calendars/dist/main\"),t(\"world-calendars/dist/plus\"),t(\"world-calendars/dist/calendars/chinese\"),t(\"world-calendars/dist/calendars/coptic\"),t(\"world-calendars/dist/calendars/discworld\"),t(\"world-calendars/dist/calendars/ethiopian\"),t(\"world-calendars/dist/calendars/hebrew\"),t(\"world-calendars/dist/calendars/islamic\"),t(\"world-calendars/dist/calendars/julian\"),t(\"world-calendars/dist/calendars/mayan\"),t(\"world-calendars/dist/calendars/nanakshahi\"),t(\"world-calendars/dist/calendars/nepali\"),t(\"world-calendars/dist/calendars/persian\"),t(\"world-calendars/dist/calendars/taiwan\"),t(\"world-calendars/dist/calendars/thai\"),t(\"world-calendars/dist/calendars/ummalqura\")},{\"world-calendars/dist/calendars/chinese\":559,\"world-calendars/dist/calendars/coptic\":560,\"world-calendars/dist/calendars/discworld\":561,\"world-calendars/dist/calendars/ethiopian\":562,\"world-calendars/dist/calendars/hebrew\":563,\"world-calendars/dist/calendars/islamic\":564,\"world-calendars/dist/calendars/julian\":565,\"world-calendars/dist/calendars/mayan\":566,\"world-calendars/dist/calendars/nanakshahi\":567,\"world-calendars/dist/calendars/nepali\":568,\"world-calendars/dist/calendars/persian\":569,\"world-calendars/dist/calendars/taiwan\":570,\"world-calendars/dist/calendars/thai\":571,\"world-calendars/dist/calendars/ummalqura\":572,\"world-calendars/dist/main\":573,\"world-calendars/dist/plus\":574}],593:[function(t,e,r){\"use strict\";var n=t(\"./calendars\"),a=t(\"../../lib\"),i=t(\"../../constants/numerical\"),o=i.EPOCHJD,s=i.ONEDAY,l={valType:\"enumerated\",values:Object.keys(n.calendars),editType:\"calc\",dflt:\"gregorian\"},c=function(t,e,r,n){var i={};return i[r]=l,a.coerce(t,e,i,r,n)},u={d:{0:\"dd\",\"-\":\"d\"},e:{0:\"d\",\"-\":\"d\"},a:{0:\"D\",\"-\":\"D\"},A:{0:\"DD\",\"-\":\"DD\"},j:{0:\"oo\",\"-\":\"o\"},W:{0:\"ww\",\"-\":\"w\"},m:{0:\"mm\",\"-\":\"m\"},b:{0:\"M\",\"-\":\"M\"},B:{0:\"MM\",\"-\":\"MM\"},y:{0:\"yy\",\"-\":\"yy\"},Y:{0:\"yyyy\",\"-\":\"yyyy\"},U:\"##\",w:\"##\",c:{0:\"D M d %X yyyy\",\"-\":\"D M d %X yyyy\"},x:{0:\"mm/dd/yyyy\",\"-\":\"mm/dd/yyyy\"}};var h={};function f(t){var e=h[t];return e||(e=h[t]=n.instance(t))}function p(t){return a.extendFlat({},l,{description:t})}function d(t){return\"Sets the calendar system to use with `\"+t+\"` date data.\"}var g={xcalendar:p(d(\"x\"))},m=a.extendFlat({},g,{ycalendar:p(d(\"y\"))}),v=a.extendFlat({},m,{zcalendar:p(d(\"z\"))}),y=p([\"Sets the calendar system to use for `range` and `tick0`\",\"if this is a date axis. This does not set the calendar for\",\"interpreting data on this axis, that's specified in the trace\",\"or via the global `layout.calendar`\"].join(\" \"));e.exports={moduleType:\"component\",name:\"calendars\",schema:{traces:{scatter:m,bar:m,box:m,heatmap:m,contour:m,histogram:m,histogram2d:m,histogram2dcontour:m,scatter3d:v,surface:v,mesh3d:v,scattergl:m,ohlc:g,candlestick:g},layout:{calendar:p([\"Sets the default calendar system to use for interpreting and\",\"displaying dates throughout the plot.\"].join(\" \"))},subplots:{xaxis:{calendar:y},yaxis:{calendar:y},scene:{xaxis:{calendar:y},yaxis:{calendar:y},zaxis:{calendar:y}},polar:{radialaxis:{calendar:y}}},transforms:{filter:{valuecalendar:p([\"Sets the calendar system to use for `value`, if it is a date.\"].join(\" \")),targetcalendar:p([\"Sets the calendar system to use for `target`, if it is an\",\"array of dates. If `target` is a string (eg *x*) we use the\",\"corresponding trace attribute (eg `xcalendar`) if it exists,\",\"even if `targetcalendar` is provided.\"].join(\" \"))}}},layoutAttributes:l,handleDefaults:c,handleTraceDefaults:function(t,e,r,n){for(var a=0;a<r.length;a++)c(t,e,r[a]+\"calendar\",n.calendar)},CANONICAL_SUNDAY:{chinese:\"2000-01-02\",coptic:\"2000-01-03\",discworld:\"2000-01-03\",ethiopian:\"2000-01-05\",hebrew:\"5000-01-01\",islamic:\"1000-01-02\",julian:\"2000-01-03\",mayan:\"5000-01-01\",nanakshahi:\"1000-01-05\",nepali:\"2000-01-05\",persian:\"1000-01-01\",jalali:\"1000-01-01\",taiwan:\"1000-01-04\",thai:\"2000-01-04\",ummalqura:\"1400-01-06\"},CANONICAL_TICK:{chinese:\"2000-01-01\",coptic:\"2000-01-01\",discworld:\"2000-01-01\",ethiopian:\"2000-01-01\",hebrew:\"5000-01-01\",islamic:\"1000-01-01\",julian:\"2000-01-01\",mayan:\"5000-01-01\",nanakshahi:\"1000-01-01\",nepali:\"2000-01-01\",persian:\"1000-01-01\",jalali:\"1000-01-01\",taiwan:\"1000-01-01\",thai:\"2000-01-01\",ummalqura:\"1400-01-01\"},DFLTRANGE:{chinese:[\"2000-01-01\",\"2001-01-01\"],coptic:[\"1700-01-01\",\"1701-01-01\"],discworld:[\"1800-01-01\",\"1801-01-01\"],ethiopian:[\"2000-01-01\",\"2001-01-01\"],hebrew:[\"5700-01-01\",\"5701-01-01\"],islamic:[\"1400-01-01\",\"1401-01-01\"],julian:[\"2000-01-01\",\"2001-01-01\"],mayan:[\"5200-01-01\",\"5201-01-01\"],nanakshahi:[\"0500-01-01\",\"0501-01-01\"],nepali:[\"2000-01-01\",\"2001-01-01\"],persian:[\"1400-01-01\",\"1401-01-01\"],jalali:[\"1400-01-01\",\"1401-01-01\"],taiwan:[\"0100-01-01\",\"0101-01-01\"],thai:[\"2500-01-01\",\"2501-01-01\"],ummalqura:[\"1400-01-01\",\"1401-01-01\"]},getCal:f,worldCalFmt:function(t,e,r){for(var n,a,i,l,c,h=Math.floor((e+.05)/s)+o,p=f(r).fromJD(h),d=0;-1!==(d=t.indexOf(\"%\",d));)\"0\"===(n=t.charAt(d+1))||\"-\"===n||\"_\"===n?(i=3,a=t.charAt(d+2),\"_\"===n&&(n=\"-\")):(a=n,n=\"0\",i=2),(l=u[a])?(c=\"##\"===l?\"##\":p.formatDate(l[n]),t=t.substr(0,d)+c+t.substr(d+i),d+=c.length):d+=i;return t}}},{\"../../constants/numerical\":704,\"../../lib\":728,\"./calendars\":592}],594:[function(t,e,r){\"use strict\";r.defaults=[\"#1f77b4\",\"#ff7f0e\",\"#2ca02c\",\"#d62728\",\"#9467bd\",\"#8c564b\",\"#e377c2\",\"#7f7f7f\",\"#bcbd22\",\"#17becf\"],r.defaultLine=\"#444\",r.lightLine=\"#eee\",r.background=\"#fff\",r.borderLine=\"#BEC8D9\",r.lightFraction=1e3/11},{}],595:[function(t,e,r){\"use strict\";var n=t(\"tinycolor2\"),a=t(\"fast-isnumeric\"),i=e.exports={},o=t(\"./attributes\");i.defaults=o.defaults;var s=i.defaultLine=o.defaultLine;i.lightLine=o.lightLine;var l=i.background=o.background;function c(t){if(a(t)||\"string\"!=typeof t)return t;var e=t.trim();if(\"rgb\"!==e.substr(0,3))return t;var r=e.match(/^rgba?\\s*\\(([^()]*)\\)$/);if(!r)return t;var n=r[1].trim().split(/\\s*[\\s,]\\s*/),i=\"a\"===e.charAt(3)&&4===n.length;if(!i&&3!==n.length)return t;for(var o=0;o<n.length;o++){if(!n[o].length)return t;if(n[o]=Number(n[o]),!(n[o]>=0))return t;if(3===o)n[o]>1&&(n[o]=1);else if(n[o]>=1)return t}var s=Math.round(255*n[0])+\", \"+Math.round(255*n[1])+\", \"+Math.round(255*n[2]);return i?\"rgba(\"+s+\", \"+n[3]+\")\":\"rgb(\"+s+\")\"}i.tinyRGB=function(t){var e=t.toRgb();return\"rgb(\"+Math.round(e.r)+\", \"+Math.round(e.g)+\", \"+Math.round(e.b)+\")\"},i.rgb=function(t){return i.tinyRGB(n(t))},i.opacity=function(t){return t?n(t).getAlpha():0},i.addOpacity=function(t,e){var r=n(t).toRgb();return\"rgba(\"+Math.round(r.r)+\", \"+Math.round(r.g)+\", \"+Math.round(r.b)+\", \"+e+\")\"},i.combine=function(t,e){var r=n(t).toRgb();if(1===r.a)return n(t).toRgbString();var a=n(e||l).toRgb(),i=1===a.a?a:{r:255*(1-a.a)+a.r*a.a,g:255*(1-a.a)+a.g*a.a,b:255*(1-a.a)+a.b*a.a},o={r:i.r*(1-r.a)+r.r*r.a,g:i.g*(1-r.a)+r.g*r.a,b:i.b*(1-r.a)+r.b*r.a};return n(o).toRgbString()},i.contrast=function(t,e,r){var a=n(t);return 1!==a.getAlpha()&&(a=n(i.combine(t,l))),(a.isDark()?e?a.lighten(e):l:r?a.darken(r):s).toString()},i.stroke=function(t,e){var r=n(e);t.style({stroke:i.tinyRGB(r),\"stroke-opacity\":r.getAlpha()})},i.fill=function(t,e){var r=n(e);t.style({fill:i.tinyRGB(r),\"fill-opacity\":r.getAlpha()})},i.clean=function(t){if(t&&\"object\"==typeof t){var e,r,n,a,o=Object.keys(t);for(e=0;e<o.length;e++)if(a=t[n=o[e]],\"color\"===n.substr(n.length-5))if(Array.isArray(a))for(r=0;r<a.length;r++)a[r]=c(a[r]);else t[n]=c(a);else if(\"colorscale\"===n.substr(n.length-10)&&Array.isArray(a))for(r=0;r<a.length;r++)Array.isArray(a[r])&&(a[r][1]=c(a[r][1]));else if(Array.isArray(a)){var s=a[0];if(!Array.isArray(s)&&s&&\"object\"==typeof s)for(r=0;r<a.length;r++)i.clean(a[r])}else a&&\"object\"==typeof a&&i.clean(a)}}},{\"./attributes\":594,\"fast-isnumeric\":236,tinycolor2:528}],596:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/layout_attributes\"),a=t(\"../../plots/font_attributes\"),i=t(\"../../lib/extend\").extendFlat,o=t(\"../../plot_api/edit_types\").overrideAll;e.exports=o({thicknessmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"pixels\"},thickness:{valType:\"number\",min:0,dflt:30},lenmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"fraction\"},len:{valType:\"number\",min:0,dflt:1},x:{valType:\"number\",dflt:1.02,min:-2,max:3},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"left\"},xpad:{valType:\"number\",min:0,dflt:10},y:{valType:\"number\",dflt:.5,min:-2,max:3},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"middle\"},ypad:{valType:\"number\",min:0,dflt:10},outlinecolor:n.linecolor,outlinewidth:n.linewidth,bordercolor:n.linecolor,borderwidth:{valType:\"number\",min:0,dflt:0},bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\"},tickmode:n.tickmode,nticks:n.nticks,tick0:n.tick0,dtick:n.dtick,tickvals:n.tickvals,ticktext:n.ticktext,ticks:i({},n.ticks,{dflt:\"\"}),ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,showticklabels:n.showticklabels,tickfont:a({}),tickangle:n.tickangle,tickformat:n.tickformat,tickformatstops:n.tickformatstops,tickprefix:n.tickprefix,showtickprefix:n.showtickprefix,ticksuffix:n.ticksuffix,showticksuffix:n.showticksuffix,separatethousands:n.separatethousands,exponentformat:n.exponentformat,showexponent:n.showexponent,title:{text:{valType:\"string\"},font:a({}),side:{valType:\"enumerated\",values:[\"right\",\"top\",\"bottom\"],dflt:\"top\"}},_deprecated:{title:{valType:\"string\"},titlefont:a({}),titleside:{valType:\"enumerated\",values:[\"right\",\"top\",\"bottom\"],dflt:\"top\"}}},\"colorbars\",\"from-root\")},{\"../../lib/extend\":719,\"../../plot_api/edit_types\":759,\"../../plots/cartesian/layout_attributes\":790,\"../../plots/font_attributes\":804}],597:[function(t,e,r){\"use strict\";e.exports={cn:{colorbar:\"colorbar\",cbbg:\"cbbg\",cbfill:\"cbfill\",cbfills:\"cbfills\",cbline:\"cbline\",cblines:\"cblines\",cbaxis:\"cbaxis\",cbtitleunshift:\"cbtitleunshift\",cbtitle:\"cbtitle\",cboutline:\"cboutline\",crisp:\"crisp\",jsPlaceholder:\"js-placeholder\"}}},{}],598:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../plot_api/plot_template\"),i=t(\"../../plots/cartesian/tick_value_defaults\"),o=t(\"../../plots/cartesian/tick_mark_defaults\"),s=t(\"../../plots/cartesian/tick_label_defaults\"),l=t(\"./attributes\");e.exports=function(t,e,r){var c=a.newContainer(e,\"colorbar\"),u=t.colorbar||{};function h(t,e){return n.coerce(u,c,l,t,e)}var f=h(\"thicknessmode\");h(\"thickness\",\"fraction\"===f?30/(r.width-r.margin.l-r.margin.r):30);var p=h(\"lenmode\");h(\"len\",\"fraction\"===p?1:r.height-r.margin.t-r.margin.b),h(\"x\"),h(\"xanchor\"),h(\"xpad\"),h(\"y\"),h(\"yanchor\"),h(\"ypad\"),n.noneOrAll(u,c,[\"x\",\"y\"]),h(\"outlinecolor\"),h(\"outlinewidth\"),h(\"bordercolor\"),h(\"borderwidth\"),h(\"bgcolor\"),i(u,c,h,\"linear\");var d={outerTicks:!1,font:r.font};s(u,c,h,\"linear\",d),o(u,c,h,\"linear\",d),h(\"title.text\",r._dfltTitle.colorbar),n.coerceFont(h,\"title.font\",r.font),h(\"title.side\")}},{\"../../lib\":728,\"../../plot_api/plot_template\":766,\"../../plots/cartesian/tick_label_defaults\":797,\"../../plots/cartesian/tick_mark_defaults\":798,\"../../plots/cartesian/tick_value_defaults\":799,\"./attributes\":596}],599:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"tinycolor2\"),i=t(\"../../plots/plots\"),o=t(\"../../registry\"),s=t(\"../../plots/cartesian/axes\"),l=t(\"../dragelement\"),c=t(\"../../lib\"),u=t(\"../../lib/extend\").extendFlat,h=t(\"../../lib/setcursor\"),f=t(\"../drawing\"),p=t(\"../color\"),d=t(\"../titles\"),g=t(\"../../lib/svg_text_utils\"),m=t(\"../colorscale/helpers\").flipScale,v=t(\"../../plots/cartesian/axis_defaults\"),y=t(\"../../plots/cartesian/position_defaults\"),x=t(\"../../plots/cartesian/layout_attributes\"),b=t(\"../../constants/alignment\"),_=b.LINE_SPACING,w=b.FROM_TL,T=b.FROM_BR,k=t(\"./constants\").cn;e.exports={draw:function(t){var e=t._fullLayout._infolayer.selectAll(\"g.\"+k.colorbar).data(function(t){var e,r,n,a,i=t._fullLayout,o=t.calcdata,s=[];function l(t){return u(t,{_fillcolor:null,_line:{color:null,width:null,dash:null},_levels:{start:null,end:null,size:null},_filllevels:null,_fillgradient:null,_zrange:null})}function c(){\"function\"==typeof a.calc?a.calc(t,n,e):(e._fillgradient=r.reversescale?m(r.colorscale):r.colorscale,e._zrange=[r[a.min],r[a.max]])}for(var h=0;h<o.length;h++){var f=o[h],p=(n=f[0].trace)._module.colorbar;if(!0===n.visible&&p)for(var d=Array.isArray(p),g=d?p:[p],v=0;v<g.length;v++){var y=(a=g[v]).container;(r=y?n[y]:n)&&r.showscale&&((e=l(r.colorbar))._id=\"cb\"+n.uid+(d&&y?\"-\"+y:\"\"),e._traceIndex=n.index,e._propPrefix=(y?y+\".\":\"\")+\"colorbar.\",e._meta=n._meta,c(),s.push(e))}}for(var x in i._colorAxes)if((r=i[x]).showscale){var b=i._colorAxes[x];(e=l(r.colorbar))._id=\"cb\"+x,e._propPrefix=x+\".colorbar.\",e._meta=i._meta,a={min:\"cmin\",max:\"cmax\"},\"heatmap\"!==b[0]&&(n=b[1],a.calc=n._module.colorbar.calc),c(),s.push(e)}return s}(t),(function(t){return t._id}));e.enter().append(\"g\").attr(\"class\",(function(t){return t._id})).classed(k.colorbar,!0),e.each((function(e){var r=n.select(this);c.ensureSingle(r,\"rect\",k.cbbg),c.ensureSingle(r,\"g\",k.cbfills),c.ensureSingle(r,\"g\",k.cblines),c.ensureSingle(r,\"g\",k.cbaxis,(function(t){t.classed(k.crisp,!0)})),c.ensureSingle(r,\"g\",k.cbtitleunshift,(function(t){t.append(\"g\").classed(k.cbtitle,!0)})),c.ensureSingle(r,\"rect\",k.cboutline);var m=function(t,e,r){var o=r._fullLayout,l=o._size,h=e._fillcolor,m=e._line,b=e.title,A=b.side,M=e._zrange||n.extent((\"function\"==typeof h?h:m.color).domain()),S=\"function\"==typeof m.color?m.color:function(){return m.color},E=\"function\"==typeof h?h:function(){return h},C=e._levels,L=function(t,e,r){var n,a,i=e._levels,o=[],s=[],l=i.end+i.size/100,c=i.size,u=1.001*r[0]-.001*r[1],h=1.001*r[1]-.001*r[0];for(a=0;a<1e5&&(n=i.start+a*c,!(c>0?n>=l:n<=l));a++)n>u&&n<h&&o.push(n);if(e._fillgradient)s=[0];else if(\"function\"==typeof e._fillcolor){var f=e._filllevels;if(f)for(l=f.end+f.size/100,c=f.size,a=0;a<1e5&&(n=f.start+a*c,!(c>0?n>=l:n<=l));a++)n>r[0]&&n<r[1]&&s.push(n);else(s=o.map((function(t){return t-i.size/2}))).push(s[s.length-1]+i.size)}else e._fillcolor&&\"string\"==typeof e._fillcolor&&(s=[0]);i.size<0&&(o.reverse(),s.reverse());return{line:o,fill:s}}(0,e,M),P=L.fill,I=L.line,z=Math.round(e.thickness*(\"fraction\"===e.thicknessmode?l.w:1)),O=z/l.w,D=Math.round(e.len*(\"fraction\"===e.lenmode?l.h:1)),R=D/l.h,F=e.xpad/l.w,B=(e.borderwidth+e.outlinewidth)/2,N=e.ypad/l.h,j=Math.round(e.x*l.w+e.xpad),V=e.x-O*({middle:.5,right:1}[e.xanchor]||0),U=e.y+R*(({top:-.5,bottom:.5}[e.yanchor]||0)-.5),q=Math.round(l.h*(1-U)),H=q-D;e._lenFrac=R,e._thickFrac=O,e._xLeftFrac=V,e._yBottomFrac=U;var G=e._axis=function(t,e,r){var n=t._fullLayout,a={type:\"linear\",range:r,tickmode:e.tickmode,nticks:e.nticks,tick0:e.tick0,dtick:e.dtick,tickvals:e.tickvals,ticktext:e.ticktext,ticks:e.ticks,ticklen:e.ticklen,tickwidth:e.tickwidth,tickcolor:e.tickcolor,showticklabels:e.showticklabels,tickfont:e.tickfont,tickangle:e.tickangle,tickformat:e.tickformat,exponentformat:e.exponentformat,separatethousands:e.separatethousands,showexponent:e.showexponent,showtickprefix:e.showtickprefix,tickprefix:e.tickprefix,showticksuffix:e.showticksuffix,ticksuffix:e.ticksuffix,title:e.title,showline:!0,anchor:\"free\",side:\"right\",position:1},i={type:\"linear\",_id:\"y\"+e._id},o={letter:\"y\",font:n.font,noHover:!0,noTickson:!0,calendar:n.calendar};function s(t,e){return c.coerce(a,i,x,t,e)}return v(a,i,s,o,n),y(a,i,s,o),i}(r,e,M);G.position=e.x+F+O,-1!==[\"top\",\"bottom\"].indexOf(A)&&(G.title.side=A,G.titlex=e.x+F,G.titley=U+(\"top\"===b.side?R-N:N));if(m.color&&\"auto\"===e.tickmode){G.tickmode=\"linear\",G.tick0=C.start;var Y=C.size,W=c.constrain((q-H)/50,4,15)+1,Z=(M[1]-M[0])/((e.nticks||W)*Y);if(Z>1){var X=Math.pow(10,Math.floor(Math.log(Z)/Math.LN10));Y*=X*c.roundUp(Z/X,[2,5,10]),(Math.abs(C.start)/C.size+1e-6)%1<2e-6&&(G.tick0=0)}G.dtick=Y}G.domain=[U+N,U+R-N],G.setScale(),t.attr(\"transform\",\"translate(\"+Math.round(l.l)+\",\"+Math.round(l.t)+\")\");var J,K=t.select(\".\"+k.cbtitleunshift).attr(\"transform\",\"translate(-\"+Math.round(l.l)+\",-\"+Math.round(l.t)+\")\"),Q=t.select(\".\"+k.cbaxis),$=0;function tt(n,a){var i={propContainer:G,propName:e._propPrefix+\"title\",traceIndex:e._traceIndex,_meta:e._meta,placeholder:o._dfltTitle.colorbar,containerGroup:t.select(\".\"+k.cbtitle)},s=\"h\"===n.charAt(0)?n.substr(1):\"h\"+n;t.selectAll(\".\"+s+\",.\"+s+\"-math-group\").remove(),d.draw(r,n,u(i,a||{}))}return c.syncOrAsync([i.previousPromises,function(){if(-1!==[\"top\",\"bottom\"].indexOf(A)){var t,r=l.l+(e.x+F)*l.w,n=G.title.font.size;t=\"top\"===A?(1-(U+R-N))*l.h+l.t+3+.75*n:(1-(U+N))*l.h+l.t-3-.25*n,tt(G._id+\"title\",{attributes:{x:r,y:t,\"text-anchor\":\"start\"}})}},function(){if(-1!==[\"top\",\"bottom\"].indexOf(A)){var i=t.select(\".\"+k.cbtitle),o=i.select(\"text\"),u=[-e.outlinewidth/2,e.outlinewidth/2],h=i.select(\".h\"+G._id+\"title-math-group\").node(),p=15.6;if(o.node()&&(p=parseInt(o.node().style.fontSize,10)*_),h?($=f.bBox(h).height)>p&&(u[1]-=($-p)/2):o.node()&&!o.classed(k.jsPlaceholder)&&($=f.bBox(o.node()).height),$){if($+=5,\"top\"===A)G.domain[1]-=$/l.h,u[1]*=-1;else{G.domain[0]+=$/l.h;var d=g.lineCount(o);u[1]+=(1-d)*p}i.attr(\"transform\",\"translate(\"+u+\")\"),G.setScale()}}t.selectAll(\".\"+k.cbfills+\",.\"+k.cblines).attr(\"transform\",\"translate(0,\"+Math.round(l.h*(1-G.domain[1]))+\")\"),Q.attr(\"transform\",\"translate(0,\"+Math.round(-l.t)+\")\");var v=t.select(\".\"+k.cbfills).selectAll(\"rect.\"+k.cbfill).data(P);v.enter().append(\"rect\").classed(k.cbfill,!0).style(\"stroke\",\"none\"),v.exit().remove();var y=M.map(G.c2p).map(Math.round).sort((function(t,e){return t-e}));v.each((function(t,i){var o=[0===i?M[0]:(P[i]+P[i-1])/2,i===P.length-1?M[1]:(P[i]+P[i+1])/2].map(G.c2p).map(Math.round);o[1]=c.constrain(o[1]+(o[1]>o[0])?1:-1,y[0],y[1]);var s=n.select(this).attr({x:j,width:Math.max(z,2),y:n.min(o),height:Math.max(n.max(o)-n.min(o),2)});if(e._fillgradient)f.gradient(s,r,e._id,\"vertical\",e._fillgradient,\"fill\");else{var l=E(t).replace(\"e-\",\"\");s.attr(\"fill\",a(l).toHexString())}}));var x=t.select(\".\"+k.cblines).selectAll(\"path.\"+k.cbline).data(m.color&&m.width?I:[]);x.enter().append(\"path\").classed(k.cbline,!0),x.exit().remove(),x.each((function(t){n.select(this).attr(\"d\",\"M\"+j+\",\"+(Math.round(G.c2p(t))+m.width/2%1)+\"h\"+z).call(f.lineGroupStyle,m.width,S(t),m.dash)})),Q.selectAll(\"g.\"+G._id+\"tick,path\").remove();var b=j+z+(e.outlinewidth||0)/2-(\"outside\"===e.ticks?1:0),w=s.calcTicks(G),T=s.makeTransFn(G),C=s.getTickSigns(G)[2];return s.drawTicks(r,G,{vals:\"inside\"===G.ticks?s.clipEnds(G,w):w,layer:Q,path:s.makeTickPath(G,b,C),transFn:T}),s.drawLabels(r,G,{vals:w,layer:Q,transFn:T,labelFns:s.makeLabelFns(G,b)})},function(){if(-1===[\"top\",\"bottom\"].indexOf(A)){var t=G.title.font.size,e=G._offset+G._length/2,a=l.l+(G.position||0)*l.w+(\"right\"===G.side?10+t*(G.showticklabels?1:.5):-10-t*(G.showticklabels?.5:0));tt(\"h\"+G._id+\"title\",{avoid:{selection:n.select(r).selectAll(\"g.\"+G._id+\"tick\"),side:A,offsetLeft:l.l,offsetTop:0,maxShift:o.width},attributes:{x:a,y:e,\"text-anchor\":\"middle\"},transform:{rotate:\"-90\",offset:0}})}},i.previousPromises,function(){var n=z+e.outlinewidth/2+f.bBox(Q.node()).width;if((J=K.select(\"text\")).node()&&!J.classed(k.jsPlaceholder)){var a,o=K.select(\".h\"+G._id+\"title-math-group\").node();a=o&&-1!==[\"top\",\"bottom\"].indexOf(A)?f.bBox(o).width:f.bBox(K.node()).right-j-l.l,n=Math.max(n,a)}var s=2*e.xpad+n+e.borderwidth+e.outlinewidth/2,c=q-H;t.select(\".\"+k.cbbg).attr({x:j-e.xpad-(e.borderwidth+e.outlinewidth)/2,y:H-B,width:Math.max(s,2),height:Math.max(c+2*B,2)}).call(p.fill,e.bgcolor).call(p.stroke,e.bordercolor).style(\"stroke-width\",e.borderwidth),t.selectAll(\".\"+k.cboutline).attr({x:j,y:H+e.ypad+(\"top\"===A?$:0),width:Math.max(z,2),height:Math.max(c-2*e.ypad-$,2)}).call(p.stroke,e.outlinecolor).style({fill:\"none\",\"stroke-width\":e.outlinewidth});var u=({center:.5,right:1}[e.xanchor]||0)*s;t.attr(\"transform\",\"translate(\"+(l.l-u)+\",\"+l.t+\")\");var h={},d=w[e.yanchor],g=T[e.yanchor];\"pixels\"===e.lenmode?(h.y=e.y,h.t=c*d,h.b=c*g):(h.t=h.b=0,h.yt=e.y+e.len*d,h.yb=e.y-e.len*g);var m=w[e.xanchor],v=T[e.xanchor];if(\"pixels\"===e.thicknessmode)h.x=e.x,h.l=s*m,h.r=s*v;else{var y=s-z;h.l=y*m,h.r=y*v,h.xl=e.x-e.thickness*m,h.xr=e.x+e.thickness*v}i.autoMargin(r,e._id,h)}],r)}(r,e,t);m&&m.then&&(t._promises||[]).push(m),t._context.edits.colorbarPosition&&function(t,e,r){var n,a,i,s=r._fullLayout._size;l.init({element:t.node(),gd:r,prepFn:function(){n=t.attr(\"transform\"),h(t)},moveFn:function(r,o){t.attr(\"transform\",n+\" translate(\"+r+\",\"+o+\")\"),a=l.align(e._xLeftFrac+r/s.w,e._thickFrac,0,1,e.xanchor),i=l.align(e._yBottomFrac-o/s.h,e._lenFrac,0,1,e.yanchor);var c=l.getCursor(a,i,e.xanchor,e.yanchor);h(t,c)},doneFn:function(){if(h(t),void 0!==a&&void 0!==i){var n={};n[e._propPrefix+\"x\"]=a,n[e._propPrefix+\"y\"]=i,void 0!==e._traceIndex?o.call(\"_guiRestyle\",r,n,e._traceIndex):o.call(\"_guiRelayout\",r,n)}}})}(r,e,t)})),e.exit().each((function(e){i.autoMargin(t,e._id)})).remove(),e.order()}}},{\"../../constants/alignment\":697,\"../../lib\":728,\"../../lib/extend\":719,\"../../lib/setcursor\":748,\"../../lib/svg_text_utils\":752,\"../../plots/cartesian/axes\":776,\"../../plots/cartesian/axis_defaults\":778,\"../../plots/cartesian/layout_attributes\":790,\"../../plots/cartesian/position_defaults\":793,\"../../plots/plots\":839,\"../../registry\":859,\"../color\":595,\"../colorscale/helpers\":606,\"../dragelement\":614,\"../drawing\":617,\"../titles\":690,\"./constants\":597,d3:164,tinycolor2:528}],600:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t){return n.isPlainObject(t.colorbar)}},{\"../../lib\":728}],601:[function(t,e,r){\"use strict\";e.exports={moduleType:\"component\",name:\"colorbar\",attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),draw:t(\"./draw\").draw,hasColorbar:t(\"./has_colorbar\")}},{\"./attributes\":596,\"./defaults\":598,\"./draw\":599,\"./has_colorbar\":600}],602:[function(t,e,r){\"use strict\";var n=t(\"../colorbar/attributes\"),a=t(\"../../lib/regex\").counter,i=t(\"./scales.js\").scales;Object.keys(i);function o(t){return\"`\"+t+\"`\"}e.exports=function(t,e){t=t||\"\";var r,s=(e=e||{}).cLetter||\"c\",l=(\"onlyIfNumerical\"in e?e.onlyIfNumerical:Boolean(t),\"noScale\"in e?e.noScale:\"marker.line\"===t),c=\"showScaleDflt\"in e?e.showScaleDflt:\"z\"===s,u=\"string\"==typeof e.colorscaleDflt?i[e.colorscaleDflt]:null,h=e.editTypeOverride||\"\",f=t?t+\".\":\"\";\"colorAttr\"in e?(r=e.colorAttr,e.colorAttr):o(f+(r={z:\"z\",c:\"color\"}[s]));var p=s+\"auto\",d=s+\"min\",g=s+\"max\",m=s+\"mid\",v=(o(f+p),o(f+d),o(f+g),{});v[d]=v[g]=void 0;var y={};y[p]=!1;var x={};return\"color\"===r&&(x.color={valType:\"color\",arrayOk:!0,editType:h||\"style\"},e.anim&&(x.color.anim=!0)),x[p]={valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:v},x[d]={valType:\"number\",dflt:null,editType:h||\"plot\",impliedEdits:y},x[g]={valType:\"number\",dflt:null,editType:h||\"plot\",impliedEdits:y},x[m]={valType:\"number\",dflt:null,editType:\"calc\",impliedEdits:v},x.colorscale={valType:\"colorscale\",editType:\"calc\",dflt:u,impliedEdits:{autocolorscale:!1}},x.autocolorscale={valType:\"boolean\",dflt:!1!==e.autoColorDflt,editType:\"calc\",impliedEdits:{colorscale:void 0}},x.reversescale={valType:\"boolean\",dflt:!1,editType:\"plot\"},l||(x.showscale={valType:\"boolean\",dflt:c,editType:\"calc\"},x.colorbar=n),e.noColorAxis||(x.coloraxis={valType:\"subplotid\",regex:a(\"coloraxis\"),dflt:null,editType:\"calc\"}),x}},{\"../../lib/regex\":744,\"../colorbar/attributes\":596,\"./scales.js\":610}],603:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"../../lib\"),i=t(\"./helpers\").extractOpts;e.exports=function(t,e,r){var o,s=t._fullLayout,l=r.vals,c=r.containerStr,u=c?a.nestedProperty(e,c).get():e,h=i(u),f=!1!==h.auto,p=h.min,d=h.max,g=h.mid,m=function(){return a.aggNums(Math.min,null,l)},v=function(){return a.aggNums(Math.max,null,l)};(void 0===p?p=m():f&&(p=u._colorAx&&n(p)?Math.min(p,m()):m()),void 0===d?d=v():f&&(d=u._colorAx&&n(d)?Math.max(d,v()):v()),f&&void 0!==g&&(d-g>g-p?p=g-(d-g):d-g<g-p&&(d=g+(g-p))),p===d&&(p-=.5,d+=.5),h._sync(\"min\",p),h._sync(\"max\",d),h.autocolorscale)&&(o=p*d<0?s.colorscale.diverging:p>=0?s.colorscale.sequential:s.colorscale.sequentialminus,h._sync(\"colorscale\",o))}},{\"../../lib\":728,\"./helpers\":606,\"fast-isnumeric\":236}],604:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"./helpers\").hasColorscale,i=t(\"./helpers\").extractOpts;e.exports=function(t,e){function r(t,e){var r=t[\"_\"+e];void 0!==r&&(t[e]=r)}function o(t,a){var o=a.container?n.nestedProperty(t,a.container).get():t;if(o)if(o.coloraxis)o._colorAx=e[o.coloraxis];else{var s=i(o),l=s.auto;(l||void 0===s.min)&&r(o,a.min),(l||void 0===s.max)&&r(o,a.max),s.autocolorscale&&r(o,\"colorscale\")}}for(var s=0;s<t.length;s++){var l=t[s],c=l._module.colorbar;if(c)if(Array.isArray(c))for(var u=0;u<c.length;u++)o(l,c[u]);else o(l,c);a(l,\"marker.line\")&&o(l,{container:\"marker.line\",min:\"cmin\",max:\"cmax\"})}for(var h in e._colorAxes)o(e[h],{min:\"cmin\",max:\"cmax\"})}},{\"../../lib\":728,\"./helpers\":606}],605:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"../../lib\"),i=t(\"../colorbar/has_colorbar\"),o=t(\"../colorbar/defaults\"),s=t(\"./scales\").isValid,l=t(\"../../registry\").traceIs;function c(t,e){var r=e.slice(0,e.length-1);return e?a.nestedProperty(t,r).get()||{}:t}e.exports=function t(e,r,u,h,f){var p=f.prefix,d=f.cLetter,g=\"_module\"in r,m=c(e,p),v=c(r,p),y=c(r._template||{},p)||{},x=function(){return delete e.coloraxis,delete r.coloraxis,t(e,r,u,h,f)};if(g){var b=u._colorAxes||{},_=h(p+\"coloraxis\");if(_){var w=l(r,\"contour\")&&a.nestedProperty(r,\"contours.coloring\").get()||\"heatmap\",T=b[_];return void(T?(T[2].push(x),T[0]!==w&&(T[0]=!1,a.warn([\"Ignoring coloraxis:\",_,\"setting\",\"as it is linked to incompatible colorscales.\"].join(\" \")))):b[_]=[w,r,[x]])}}var k=m[d+\"min\"],A=m[d+\"max\"],M=n(k)&&n(A)&&k<A;h(p+d+\"auto\",!M)?h(p+d+\"mid\"):(h(p+d+\"min\"),h(p+d+\"max\"));var S,E,C=m.colorscale,L=y.colorscale;(void 0!==C&&(S=!s(C)),void 0!==L&&(S=!s(L)),h(p+\"autocolorscale\",S),h(p+\"colorscale\"),h(p+\"reversescale\"),\"marker.line.\"!==p)&&(p&&g&&(E=i(m)),h(p+\"showscale\",E)&&(p&&y&&(v._template=y),o(m,v,u)))}},{\"../../lib\":728,\"../../registry\":859,\"../colorbar/defaults\":598,\"../colorbar/has_colorbar\":600,\"./scales\":610,\"fast-isnumeric\":236}],606:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"tinycolor2\"),i=t(\"fast-isnumeric\"),o=t(\"../../lib\"),s=t(\"../color\"),l=t(\"./scales\").isValid;var c=[\"showscale\",\"autocolorscale\",\"colorscale\",\"reversescale\",\"colorbar\"],u=[\"min\",\"max\",\"mid\",\"auto\"];function h(t){var e,r,n,a=t._colorAx,i=a||t,o={};for(r=0;r<c.length;r++)o[n=c[r]]=i[n];if(a)for(e=\"c\",r=0;r<u.length;r++)o[n=u[r]]=i[\"c\"+n];else{var s;for(r=0;r<u.length;r++)((s=\"c\"+(n=u[r]))in i||(s=\"z\"+n)in i)&&(o[n]=i[s]);e=s.charAt(0)}return o._sync=function(t,r){var n=-1!==u.indexOf(t)?e+t:t;i[n]=i[\"_\"+n]=r},o}function f(t){for(var e=h(t),r=e.min,n=e.max,a=e.reversescale?p(e.colorscale):e.colorscale,i=a.length,o=new Array(i),s=new Array(i),l=0;l<i;l++){var c=a[l];o[l]=r+c[0]*(n-r),s[l]=c[1]}return{domain:o,range:s}}function p(t){for(var e=t.length,r=new Array(e),n=e-1,a=0;n>=0;n--,a++){var i=t[n];r[a]=[1-i[0],i[1]]}return r}function d(t,e){e=e||{};for(var r=t.domain,o=t.range,l=o.length,c=new Array(l),u=0;u<l;u++){var h=a(o[u]).toRgb();c[u]=[h.r,h.g,h.b,h.a]}var f,p=n.scale.linear().domain(r).range(c).clamp(!0),d=e.noNumericCheck,m=e.returnArray;return(f=d&&m?p:d?function(t){return g(p(t))}:m?function(t){return i(t)?p(t):a(t).isValid()?t:s.defaultLine}:function(t){return i(t)?g(p(t)):a(t).isValid()?t:s.defaultLine}).domain=p.domain,f.range=function(){return o},f}function g(t){var e={r:t[0],g:t[1],b:t[2],a:t[3]};return a(e).toRgbString()}e.exports={hasColorscale:function(t,e,r){var n=e?o.nestedProperty(t,e).get()||{}:t,a=n[r||\"color\"],s=!1;if(o.isArrayOrTypedArray(a))for(var c=0;c<a.length;c++)if(i(a[c])){s=!0;break}return o.isPlainObject(n)&&(s||!0===n.showscale||i(n.cmin)&&i(n.cmax)||l(n.colorscale)||o.isPlainObject(n.colorbar))},extractOpts:h,extractScale:f,flipScale:p,makeColorScaleFunc:d,makeColorScaleFuncFromTrace:function(t,e){return d(f(t),e)}}},{\"../../lib\":728,\"../color\":595,\"./scales\":610,d3:164,\"fast-isnumeric\":236,tinycolor2:528}],607:[function(t,e,r){\"use strict\";var n=t(\"./scales\"),a=t(\"./helpers\");e.exports={moduleType:\"component\",name:\"colorscale\",attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyLayoutDefaults:t(\"./layout_defaults\"),handleDefaults:t(\"./defaults\"),crossTraceDefaults:t(\"./cross_trace_defaults\"),calc:t(\"./calc\"),scales:n.scales,defaultScale:n.defaultScale,getScale:n.get,isValidScale:n.isValid,hasColorscale:a.hasColorscale,extractOpts:a.extractOpts,extractScale:a.extractScale,flipScale:a.flipScale,makeColorScaleFunc:a.makeColorScaleFunc,makeColorScaleFuncFromTrace:a.makeColorScaleFuncFromTrace}},{\"./attributes\":602,\"./calc\":603,\"./cross_trace_defaults\":604,\"./defaults\":605,\"./helpers\":606,\"./layout_attributes\":608,\"./layout_defaults\":609,\"./scales\":610}],608:[function(t,e,r){\"use strict\";var n=t(\"../../lib/extend\").extendFlat,a=t(\"./attributes\"),i=t(\"./scales\").scales;e.exports={editType:\"calc\",colorscale:{editType:\"calc\",sequential:{valType:\"colorscale\",dflt:i.Reds,editType:\"calc\"},sequentialminus:{valType:\"colorscale\",dflt:i.Blues,editType:\"calc\"},diverging:{valType:\"colorscale\",dflt:i.RdBu,editType:\"calc\"}},coloraxis:n({_isSubplotObj:!0,editType:\"calc\"},a(\"\",{colorAttr:\"corresponding trace color array(s)\",noColorAxis:!0,showScaleDflt:!0}))}},{\"../../lib/extend\":719,\"./attributes\":602,\"./scales\":610}],609:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../plot_api/plot_template\"),i=t(\"./layout_attributes\"),o=t(\"./defaults\");e.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r(\"colorscale.sequential\"),r(\"colorscale.sequentialminus\"),r(\"colorscale.diverging\");var s,l,c=e._colorAxes;function u(t,e){return n.coerce(s,l,i.coloraxis,t,e)}for(var h in c){var f=c[h];if(f[0])s=t[h]||{},(l=a.newContainer(e,h,\"coloraxis\"))._name=h,o(s,l,e,u,{prefix:\"\",cLetter:\"c\"});else{for(var p=0;p<f[2].length;p++)f[2][p]();delete e._colorAxes[h]}}}},{\"../../lib\":728,\"../../plot_api/plot_template\":766,\"./defaults\":605,\"./layout_attributes\":608}],610:[function(t,e,r){\"use strict\";var n=t(\"tinycolor2\"),a={Greys:[[0,\"rgb(0,0,0)\"],[1,\"rgb(255,255,255)\"]],YlGnBu:[[0,\"rgb(8,29,88)\"],[.125,\"rgb(37,52,148)\"],[.25,\"rgb(34,94,168)\"],[.375,\"rgb(29,145,192)\"],[.5,\"rgb(65,182,196)\"],[.625,\"rgb(127,205,187)\"],[.75,\"rgb(199,233,180)\"],[.875,\"rgb(237,248,217)\"],[1,\"rgb(255,255,217)\"]],Greens:[[0,\"rgb(0,68,27)\"],[.125,\"rgb(0,109,44)\"],[.25,\"rgb(35,139,69)\"],[.375,\"rgb(65,171,93)\"],[.5,\"rgb(116,196,118)\"],[.625,\"rgb(161,217,155)\"],[.75,\"rgb(199,233,192)\"],[.875,\"rgb(229,245,224)\"],[1,\"rgb(247,252,245)\"]],YlOrRd:[[0,\"rgb(128,0,38)\"],[.125,\"rgb(189,0,38)\"],[.25,\"rgb(227,26,28)\"],[.375,\"rgb(252,78,42)\"],[.5,\"rgb(253,141,60)\"],[.625,\"rgb(254,178,76)\"],[.75,\"rgb(254,217,118)\"],[.875,\"rgb(255,237,160)\"],[1,\"rgb(255,255,204)\"]],Bluered:[[0,\"rgb(0,0,255)\"],[1,\"rgb(255,0,0)\"]],RdBu:[[0,\"rgb(5,10,172)\"],[.35,\"rgb(106,137,247)\"],[.5,\"rgb(190,190,190)\"],[.6,\"rgb(220,170,132)\"],[.7,\"rgb(230,145,90)\"],[1,\"rgb(178,10,28)\"]],Reds:[[0,\"rgb(220,220,220)\"],[.2,\"rgb(245,195,157)\"],[.4,\"rgb(245,160,105)\"],[1,\"rgb(178,10,28)\"]],Blues:[[0,\"rgb(5,10,172)\"],[.35,\"rgb(40,60,190)\"],[.5,\"rgb(70,100,245)\"],[.6,\"rgb(90,120,245)\"],[.7,\"rgb(106,137,247)\"],[1,\"rgb(220,220,220)\"]],Picnic:[[0,\"rgb(0,0,255)\"],[.1,\"rgb(51,153,255)\"],[.2,\"rgb(102,204,255)\"],[.3,\"rgb(153,204,255)\"],[.4,\"rgb(204,204,255)\"],[.5,\"rgb(255,255,255)\"],[.6,\"rgb(255,204,255)\"],[.7,\"rgb(255,153,255)\"],[.8,\"rgb(255,102,204)\"],[.9,\"rgb(255,102,102)\"],[1,\"rgb(255,0,0)\"]],Rainbow:[[0,\"rgb(150,0,90)\"],[.125,\"rgb(0,0,200)\"],[.25,\"rgb(0,25,255)\"],[.375,\"rgb(0,152,255)\"],[.5,\"rgb(44,255,150)\"],[.625,\"rgb(151,255,0)\"],[.75,\"rgb(255,234,0)\"],[.875,\"rgb(255,111,0)\"],[1,\"rgb(255,0,0)\"]],Portland:[[0,\"rgb(12,51,131)\"],[.25,\"rgb(10,136,186)\"],[.5,\"rgb(242,211,56)\"],[.75,\"rgb(242,143,56)\"],[1,\"rgb(217,30,30)\"]],Jet:[[0,\"rgb(0,0,131)\"],[.125,\"rgb(0,60,170)\"],[.375,\"rgb(5,255,255)\"],[.625,\"rgb(255,255,0)\"],[.875,\"rgb(250,0,0)\"],[1,\"rgb(128,0,0)\"]],Hot:[[0,\"rgb(0,0,0)\"],[.3,\"rgb(230,0,0)\"],[.6,\"rgb(255,210,0)\"],[1,\"rgb(255,255,255)\"]],Blackbody:[[0,\"rgb(0,0,0)\"],[.2,\"rgb(230,0,0)\"],[.4,\"rgb(230,210,0)\"],[.7,\"rgb(255,255,255)\"],[1,\"rgb(160,200,255)\"]],Earth:[[0,\"rgb(0,0,130)\"],[.1,\"rgb(0,180,180)\"],[.2,\"rgb(40,210,40)\"],[.4,\"rgb(230,230,50)\"],[.6,\"rgb(120,70,20)\"],[1,\"rgb(255,255,255)\"]],Electric:[[0,\"rgb(0,0,0)\"],[.15,\"rgb(30,0,100)\"],[.4,\"rgb(120,0,100)\"],[.6,\"rgb(160,90,0)\"],[.8,\"rgb(230,200,0)\"],[1,\"rgb(255,250,220)\"]],Viridis:[[0,\"#440154\"],[.06274509803921569,\"#48186a\"],[.12549019607843137,\"#472d7b\"],[.18823529411764706,\"#424086\"],[.25098039215686274,\"#3b528b\"],[.3137254901960784,\"#33638d\"],[.3764705882352941,\"#2c728e\"],[.4392156862745098,\"#26828e\"],[.5019607843137255,\"#21918c\"],[.5647058823529412,\"#1fa088\"],[.6274509803921569,\"#28ae80\"],[.6901960784313725,\"#3fbc73\"],[.7529411764705882,\"#5ec962\"],[.8156862745098039,\"#84d44b\"],[.8784313725490196,\"#addc30\"],[.9411764705882353,\"#d8e219\"],[1,\"#fde725\"]],Cividis:[[0,\"rgb(0,32,76)\"],[.058824,\"rgb(0,42,102)\"],[.117647,\"rgb(0,52,110)\"],[.176471,\"rgb(39,63,108)\"],[.235294,\"rgb(60,74,107)\"],[.294118,\"rgb(76,85,107)\"],[.352941,\"rgb(91,95,109)\"],[.411765,\"rgb(104,106,112)\"],[.470588,\"rgb(117,117,117)\"],[.529412,\"rgb(131,129,120)\"],[.588235,\"rgb(146,140,120)\"],[.647059,\"rgb(161,152,118)\"],[.705882,\"rgb(176,165,114)\"],[.764706,\"rgb(192,177,109)\"],[.823529,\"rgb(209,191,102)\"],[.882353,\"rgb(225,204,92)\"],[.941176,\"rgb(243,219,79)\"],[1,\"rgb(255,233,69)\"]]},i=a.RdBu;function o(t){var e=0;if(!Array.isArray(t)||t.length<2)return!1;if(!t[0]||!t[t.length-1])return!1;if(0!=+t[0][0]||1!=+t[t.length-1][0])return!1;for(var r=0;r<t.length;r++){var a=t[r];if(2!==a.length||+a[0]<e||!n(a[1]).isValid())return!1;e=+a[0]}return!0}e.exports={scales:a,defaultScale:i,get:function(t,e){if(e||(e=i),!t)return e;function r(){try{t=a[t]||JSON.parse(t)}catch(r){t=e}}return\"string\"==typeof t&&(r(),\"string\"==typeof t&&r()),o(t)?t:e},isValid:function(t){return void 0!==a[t]||o(t)}}},{tinycolor2:528}],611:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,a){var i=(t-r)/(n-r),o=i+e/(n-r),s=(i+o)/2;return\"left\"===a||\"bottom\"===a?i:\"center\"===a||\"middle\"===a?s:\"right\"===a||\"top\"===a?o:i<2/3-s?i:o>4/3-s?o:s}},{}],612:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=[[\"sw-resize\",\"s-resize\",\"se-resize\"],[\"w-resize\",\"move\",\"e-resize\"],[\"nw-resize\",\"n-resize\",\"ne-resize\"]];e.exports=function(t,e,r,i){return t=\"left\"===r?0:\"center\"===r?1:\"right\"===r?2:n.constrain(Math.floor(3*t),0,2),e=\"bottom\"===i?0:\"middle\"===i?1:\"top\"===i?2:n.constrain(Math.floor(3*e),0,2),a[e][t]}},{\"../../lib\":728}],613:[function(t,e,r){\"use strict\";r.selectMode=function(t){return\"lasso\"===t||\"select\"===t},r.drawMode=function(t){return\"drawclosedpath\"===t||\"drawopenpath\"===t||\"drawline\"===t||\"drawrect\"===t||\"drawcircle\"===t},r.openMode=function(t){return\"drawline\"===t||\"drawopenpath\"===t},r.rectMode=function(t){return\"select\"===t||\"drawline\"===t||\"drawrect\"===t||\"drawcircle\"===t},r.freeMode=function(t){return\"lasso\"===t||\"drawclosedpath\"===t||\"drawopenpath\"===t},r.selectingOrDrawing=function(t){return r.freeMode(t)||r.rectMode(t)}},{}],614:[function(t,e,r){\"use strict\";var n=t(\"mouse-event-offset\"),a=t(\"has-hover\"),i=t(\"has-passive-events\"),o=t(\"../../lib\").removeElement,s=t(\"../../plots/cartesian/constants\"),l=e.exports={};l.align=t(\"./align\"),l.getCursor=t(\"./cursor\");var c=t(\"./unhover\");function u(){var t=document.createElement(\"div\");t.className=\"dragcover\";var e=t.style;return e.position=\"fixed\",e.left=0,e.right=0,e.top=0,e.bottom=0,e.zIndex=999999999,e.background=\"none\",document.body.appendChild(t),t}function h(t){return n(t.changedTouches?t.changedTouches[0]:t,document.body)}l.unhover=c.wrapped,l.unhoverRaw=c.raw,l.init=function(t){var e,r,n,c,f,p,d,g,m=t.gd,v=1,y=m._context.doubleClickDelay,x=t.element;m._mouseDownTime||(m._mouseDownTime=0),x.style.pointerEvents=\"all\",x.onmousedown=_,i?(x._ontouchstart&&x.removeEventListener(\"touchstart\",x._ontouchstart),x._ontouchstart=_,x.addEventListener(\"touchstart\",_,{passive:!1})):x.ontouchstart=_;var b=t.clampFn||function(t,e,r){return Math.abs(t)<r&&(t=0),Math.abs(e)<r&&(e=0),[t,e]};function _(i){m._dragged=!1,m._dragging=!0;var o=h(i);e=o[0],r=o[1],d=i.target,p=i,g=2===i.buttons||i.ctrlKey,\"undefined\"==typeof i.clientX&&\"undefined\"==typeof i.clientY&&(i.clientX=e,i.clientY=r),(n=(new Date).getTime())-m._mouseDownTime<y?v+=1:(v=1,m._mouseDownTime=n),t.prepFn&&t.prepFn(i,e,r),a&&!g?(f=u()).style.cursor=window.getComputedStyle(x).cursor:a||(f=document,c=window.getComputedStyle(document.documentElement).cursor,document.documentElement.style.cursor=window.getComputedStyle(x).cursor),document.addEventListener(\"mouseup\",T),document.addEventListener(\"touchend\",T),!1!==t.dragmode&&(i.preventDefault(),document.addEventListener(\"mousemove\",w),document.addEventListener(\"touchmove\",w,{passive:!1}))}function w(n){n.preventDefault();var a=h(n),i=t.minDrag||s.MINDRAG,o=b(a[0]-e,a[1]-r,i),c=o[0],u=o[1];(c||u)&&(m._dragged=!0,l.unhover(m)),m._dragged&&t.moveFn&&!g&&(m._dragdata={element:x,dx:c,dy:u},t.moveFn(c,u))}function T(e){if(delete m._dragdata,!1!==t.dragmode&&(e.preventDefault(),document.removeEventListener(\"mousemove\",w),document.removeEventListener(\"touchmove\",w)),document.removeEventListener(\"mouseup\",T),document.removeEventListener(\"touchend\",T),a?o(f):c&&(f.documentElement.style.cursor=c,c=null),m._dragging){if(m._dragging=!1,(new Date).getTime()-m._mouseDownTime>y&&(v=Math.max(v-1,1)),m._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(v,p),!g){var r;try{r=new MouseEvent(\"click\",e)}catch(t){var n=h(e);(r=document.createEvent(\"MouseEvents\")).initMouseEvent(\"click\",e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,n[0],n[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}d.dispatchEvent(r)}m._dragging=!1,m._dragged=!1}else m._dragged=!1}},l.coverSlip=u},{\"../../lib\":728,\"../../plots/cartesian/constants\":782,\"./align\":611,\"./cursor\":612,\"./unhover\":615,\"has-hover\":409,\"has-passive-events\":410,\"mouse-event-offset\":437}],615:[function(t,e,r){\"use strict\";var n=t(\"../../lib/events\"),a=t(\"../../lib/throttle\"),i=t(\"../../lib/dom\").getGraphDiv,o=t(\"../fx/constants\"),s=e.exports={};s.wrapped=function(t,e,r){(t=i(t))._fullLayout&&a.clear(t._fullLayout._uid+o.HOVERID),s.raw(t,e,r)},s.raw=function(t,e){var r=t._fullLayout,a=t._hoverdata;e||(e={}),e.target&&!1===n.triggerHandler(t,\"plotly_beforehover\",e)||(r._hoverlayer.selectAll(\"g\").remove(),r._hoverlayer.selectAll(\"line\").remove(),r._hoverlayer.selectAll(\"circle\").remove(),t._hoverdata=void 0,e.target&&a&&t.emit(\"plotly_unhover\",{event:e,points:a}))}},{\"../../lib/dom\":717,\"../../lib/events\":718,\"../../lib/throttle\":753,\"../fx/constants\":629}],616:[function(t,e,r){\"use strict\";r.dash={valType:\"string\",values:[\"solid\",\"dot\",\"dash\",\"longdash\",\"dashdot\",\"longdashdot\"],dflt:\"solid\",editType:\"style\"}},{}],617:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"fast-isnumeric\"),i=t(\"tinycolor2\"),o=t(\"../../registry\"),s=t(\"../color\"),l=t(\"../colorscale\"),c=t(\"../../lib\"),u=t(\"../../lib/svg_text_utils\"),h=t(\"../../constants/xmlns_namespaces\"),f=t(\"../../constants/alignment\").LINE_SPACING,p=t(\"../../constants/interactions\").DESELECTDIM,d=t(\"../../traces/scatter/subtypes\"),g=t(\"../../traces/scatter/make_bubble_size_func\"),m=t(\"../../components/fx/helpers\").appendArrayPointValue,v=e.exports={};v.font=function(t,e,r,n){c.isPlainObject(e)&&(n=e.color,r=e.size,e=e.family),e&&t.style(\"font-family\",e),r+1&&t.style(\"font-size\",r+\"px\"),n&&t.call(s.fill,n)},v.setPosition=function(t,e,r){t.attr(\"x\",e).attr(\"y\",r)},v.setSize=function(t,e,r){t.attr(\"width\",e).attr(\"height\",r)},v.setRect=function(t,e,r,n,a){t.call(v.setPosition,e,r).call(v.setSize,n,a)},v.translatePoint=function(t,e,r,n){var i=r.c2p(t.x),o=n.c2p(t.y);return!!(a(i)&&a(o)&&e.node())&&(\"text\"===e.node().nodeName?e.attr(\"x\",i).attr(\"y\",o):e.attr(\"transform\",\"translate(\"+i+\",\"+o+\")\"),!0)},v.translatePoints=function(t,e,r){t.each((function(t){var a=n.select(this);v.translatePoint(t,a,e,r)}))},v.hideOutsideRangePoint=function(t,e,r,n,a,i){e.attr(\"display\",r.isPtWithinRange(t,a)&&n.isPtWithinRange(t,i)?null:\"none\")},v.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,a=e.yaxis;t.each((function(e){var i=e[0].trace,s=i.xcalendar,l=i.ycalendar,c=o.traceIs(i,\"bar-like\")?\".bartext\":\".point,.textpoint\";t.selectAll(c).each((function(t){v.hideOutsideRangePoint(t,n.select(this),r,a,s,l)}))}))}},v.crispRound=function(t,e,r){return e&&a(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},v.singleLineStyle=function(t,e,r,n,a){e.style(\"fill\",\"none\");var i=(((t||[])[0]||{}).trace||{}).line||{},o=r||i.width||0,l=a||i.dash||\"\";s.stroke(e,n||i.color),v.dashLine(e,l,o)},v.lineGroupStyle=function(t,e,r,a){t.style(\"fill\",\"none\").each((function(t){var i=(((t||[])[0]||{}).trace||{}).line||{},o=e||i.width||0,l=a||i.dash||\"\";n.select(this).call(s.stroke,r||i.color).call(v.dashLine,l,o)}))},v.dashLine=function(t,e,r){r=+r||0,e=v.dashStyle(e,r),t.style({\"stroke-dasharray\":e,\"stroke-width\":r+\"px\"})},v.dashStyle=function(t,e){e=+e||1;var r=Math.max(e,3);return\"solid\"===t?t=\"\":\"dot\"===t?t=r+\"px,\"+r+\"px\":\"dash\"===t?t=3*r+\"px,\"+3*r+\"px\":\"longdash\"===t?t=5*r+\"px,\"+5*r+\"px\":\"dashdot\"===t?t=3*r+\"px,\"+r+\"px,\"+r+\"px,\"+r+\"px\":\"longdashdot\"===t&&(t=5*r+\"px,\"+2*r+\"px,\"+r+\"px,\"+2*r+\"px\"),t},v.singleFillStyle=function(t){var e=(((n.select(t.node()).data()[0]||[])[0]||{}).trace||{}).fillcolor;e&&t.call(s.fill,e)},v.fillGroupStyle=function(t){t.style(\"stroke-width\",0).each((function(t){var e=n.select(this);t[0].trace&&e.call(s.fill,t[0].trace.fillcolor)}))};var y=t(\"./symbol_defs\");v.symbolNames=[],v.symbolFuncs=[],v.symbolNeedLines={},v.symbolNoDot={},v.symbolNoFill={},v.symbolList=[],Object.keys(y).forEach((function(t){var e=y[t],r=e.n;v.symbolList.push(r,t,r+100,t+\"-open\"),v.symbolNames[r]=t,v.symbolFuncs[r]=e.f,e.needLine&&(v.symbolNeedLines[r]=!0),e.noDot?v.symbolNoDot[r]=!0:v.symbolList.push(r+200,t+\"-dot\",r+300,t+\"-open-dot\"),e.noFill&&(v.symbolNoFill[r]=!0)}));var x=v.symbolNames.length;function b(t,e){var r=t%100;return v.symbolFuncs[r](e)+(t>=200?\"M0,0.5L0.5,0L0,-0.5L-0.5,0Z\":\"\")}v.symbolNumber=function(t){if(\"string\"==typeof t){var e=0;t.indexOf(\"-open\")>0&&(e=100,t=t.replace(\"-open\",\"\")),t.indexOf(\"-dot\")>0&&(e+=200,t=t.replace(\"-dot\",\"\")),(t=v.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=x||t>=400?0:Math.floor(Math.max(t,0))};var _={x1:1,x2:0,y1:0,y2:0},w={x1:0,x2:0,y1:1,y2:0},T=n.format(\"~.1f\"),k={radial:{node:\"radialGradient\"},radialreversed:{node:\"radialGradient\",reversed:!0},horizontal:{node:\"linearGradient\",attrs:_},horizontalreversed:{node:\"linearGradient\",attrs:_,reversed:!0},vertical:{node:\"linearGradient\",attrs:w},verticalreversed:{node:\"linearGradient\",attrs:w,reversed:!0}};v.gradient=function(t,e,r,a,o,l){for(var u=o.length,h=k[a],f=new Array(u),p=0;p<u;p++)h.reversed?f[u-1-p]=[T(100*(1-o[p][0])),o[p][1]]:f[p]=[T(100*o[p][0]),o[p][1]];var d=e._fullLayout,g=\"g\"+d._uid+\"-\"+r,m=d._defs.select(\".gradients\").selectAll(\"#\"+g).data([a+f.join(\";\")],c.identity);m.exit().remove(),m.enter().append(h.node).each((function(){var t=n.select(this);h.attrs&&t.attr(h.attrs),t.attr(\"id\",g);var e=t.selectAll(\"stop\").data(f);e.exit().remove(),e.enter().append(\"stop\"),e.each((function(t){var e=i(t[1]);n.select(this).attr({offset:t[0]+\"%\",\"stop-color\":s.tinyRGB(e),\"stop-opacity\":e.getAlpha()})}))})),t.style(l,z(g,e)).style(l+\"-opacity\",null);var v=function(t){return\".\"+t.attr(\"class\").replace(/\\s/g,\".\")},y=v(n.select(t.node().parentNode))+\">\"+v(t);d._gradientUrlQueryParts[y]=1},v.initGradients=function(t){var e=t._fullLayout;c.ensureSingle(e._defs,\"g\",\"gradients\").selectAll(\"linearGradient,radialGradient\").remove(),e._gradientUrlQueryParts={}},v.pointStyle=function(t,e,r){if(t.size()){var a=v.makePointStyleFns(e);t.each((function(t){v.singlePointStyle(t,n.select(this),e,a,r)}))}},v.singlePointStyle=function(t,e,r,n,a){var i=r.marker,o=i.line;if(e.style(\"opacity\",n.selectedOpacityFn?n.selectedOpacityFn(t):void 0===t.mo?i.opacity:t.mo),n.ms2mrc){var l;l=\"various\"===t.ms||\"various\"===i.size?3:n.ms2mrc(t.ms),t.mrc=l,n.selectedSizeFn&&(l=t.mrc=n.selectedSizeFn(t));var u=v.symbolNumber(t.mx||i.symbol)||0;t.om=u%200>=100,e.attr(\"d\",b(u,l))}var h,f,p,d=!1;if(t.so)p=o.outlierwidth,f=o.outliercolor,h=i.outliercolor;else{var g=(o||{}).width;p=(t.mlw+1||g+1||(t.trace?(t.trace.marker.line||{}).width:0)+1)-1||0,f=\"mlc\"in t?t.mlcc=n.lineScale(t.mlc):c.isArrayOrTypedArray(o.color)?s.defaultLine:o.color,c.isArrayOrTypedArray(i.color)&&(h=s.defaultLine,d=!0),h=\"mc\"in t?t.mcc=n.markerScale(t.mc):i.color||\"rgba(0,0,0,0)\",n.selectedColorFn&&(h=n.selectedColorFn(t))}if(t.om)e.call(s.stroke,h).style({\"stroke-width\":(p||1)+\"px\",fill:\"none\"});else{e.style(\"stroke-width\",(t.isBlank?0:p)+\"px\");var m=i.gradient,y=t.mgt;if(y?d=!0:y=m&&m.type,Array.isArray(y)&&(y=y[0],k[y]||(y=0)),y&&\"none\"!==y){var x=t.mgc;x?d=!0:x=m.color;var _=r.uid;d&&(_+=\"-\"+t.i),v.gradient(e,a,_,y,[[0,x],[1,h]],\"fill\")}else s.fill(e,h);p&&s.stroke(e,f)}},v.makePointStyleFns=function(t){var e={},r=t.marker;return e.markerScale=v.tryColorscale(r,\"\"),e.lineScale=v.tryColorscale(r,\"line\"),o.traceIs(t,\"symbols\")&&(e.ms2mrc=d.isBubble(t)?g(t):function(){return(r.size||6)/2}),t.selectedpoints&&c.extendFlat(e,v.makeSelectedPointStyleFns(t)),e},v.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},a=t.marker||{},i=r.marker||{},s=n.marker||{},l=a.opacity,u=i.opacity,h=s.opacity,f=void 0!==u,d=void 0!==h;(c.isArrayOrTypedArray(l)||f||d)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?a.opacity:t.mo;return t.selected?f?u:e:d?h:p*e});var g=a.color,m=i.color,v=s.color;(m||v)&&(e.selectedColorFn=function(t){var e=t.mcc||g;return t.selected?m||e:v||e});var y=a.size,x=i.size,b=s.size,_=void 0!==x,w=void 0!==b;return o.traceIs(t,\"symbols\")&&(_||w)&&(e.selectedSizeFn=function(t){var e=t.mrc||y/2;return t.selected?_?x/2:e:w?b/2:e}),e},v.makeSelectedTextStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},a=t.textfont||{},i=r.textfont||{},o=n.textfont||{},l=a.color,c=i.color,u=o.color;return e.selectedTextColorFn=function(t){var e=t.tc||l;return t.selected?c||e:u||(c?e:s.addOpacity(e,p))},e},v.selectedPointStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=v.makeSelectedPointStyleFns(e),a=e.marker||{},i=[];r.selectedOpacityFn&&i.push((function(t,e){t.style(\"opacity\",r.selectedOpacityFn(e))})),r.selectedColorFn&&i.push((function(t,e){s.fill(t,r.selectedColorFn(e))})),r.selectedSizeFn&&i.push((function(t,e){var n=e.mx||a.symbol||0,i=r.selectedSizeFn(e);t.attr(\"d\",b(v.symbolNumber(n),i)),e.mrc2=i})),i.length&&t.each((function(t){for(var e=n.select(this),r=0;r<i.length;r++)i[r](e,t)}))}},v.tryColorscale=function(t,e){var r=e?c.nestedProperty(t,e).get():t;if(r){var n=r.color;if((r.colorscale||r._colorAx)&&c.isArrayOrTypedArray(n))return l.makeColorScaleFuncFromTrace(r)}return c.identity};var A={start:1,end:-1,middle:0,bottom:1,top:-1};function M(t,e,r,a){var i=n.select(t.node().parentNode),o=-1!==e.indexOf(\"top\")?\"top\":-1!==e.indexOf(\"bottom\")?\"bottom\":\"middle\",s=-1!==e.indexOf(\"left\")?\"end\":-1!==e.indexOf(\"right\")?\"start\":\"middle\",l=a?a/.8+1:0,c=(u.lineCount(t)-1)*f+1,h=A[s]*l,p=.75*r+A[o]*l+(A[o]-1)*c*r/2;t.attr(\"text-anchor\",s),i.attr(\"transform\",\"translate(\"+h+\",\"+p+\")\")}function S(t,e){var r=t.ts||e.textfont.size;return a(r)&&r>0?r:0}v.textPointStyle=function(t,e,r){if(t.size()){var a;if(e.selectedpoints){var i=v.makeSelectedTextStyleFns(e);a=i.selectedTextColorFn}var o=e.texttemplate,s=r._fullLayout;t.each((function(t){var i=n.select(this),l=o?c.extractOption(t,e,\"txt\",\"texttemplate\"):c.extractOption(t,e,\"tx\",\"text\");if(l||0===l){if(o){var h=e._module.formatLabels?e._module.formatLabels(t,e,s):{},f={};m(f,e,t.i);var p=e._meta||{};l=c.texttemplateString(l,h,s._d3locale,f,t,p)}var d=t.tp||e.textposition,g=S(t,e),y=a?a(t):t.tc||e.textfont.color;i.call(v.font,t.tf||e.textfont.family,g,y).text(l).call(u.convertToTspans,r).call(M,d,g,t.mrc)}else i.remove()}))}},v.selectedTextStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=v.makeSelectedTextStyleFns(e);t.each((function(t){var a=n.select(this),i=r.selectedTextColorFn(t),o=t.tp||e.textposition,l=S(t,e);s.fill(a,i),M(a,o,l,t.mrc2||t.mrc)}))}};function E(t,e,r,a){var i=t[0]-e[0],o=t[1]-e[1],s=r[0]-e[0],l=r[1]-e[1],c=Math.pow(i*i+o*o,.25),u=Math.pow(s*s+l*l,.25),h=(u*u*i-c*c*s)*a,f=(u*u*o-c*c*l)*a,p=3*u*(c+u),d=3*c*(c+u);return[[n.round(e[0]+(p&&h/p),2),n.round(e[1]+(p&&f/p),2)],[n.round(e[0]-(d&&h/d),2),n.round(e[1]-(d&&f/d),2)]]}v.smoothopen=function(t,e){if(t.length<3)return\"M\"+t.join(\"L\");var r,n=\"M\"+t[0],a=[];for(r=1;r<t.length-1;r++)a.push(E(t[r-1],t[r],t[r+1],e));for(n+=\"Q\"+a[0][0]+\" \"+t[1],r=2;r<t.length-1;r++)n+=\"C\"+a[r-2][1]+\" \"+a[r-1][0]+\" \"+t[r];return n+=\"Q\"+a[t.length-3][1]+\" \"+t[t.length-1]},v.smoothclosed=function(t,e){if(t.length<3)return\"M\"+t.join(\"L\")+\"Z\";var r,n=\"M\"+t[0],a=t.length-1,i=[E(t[a],t[0],t[1],e)];for(r=1;r<a;r++)i.push(E(t[r-1],t[r],t[r+1],e));for(i.push(E(t[a-1],t[a],t[0],e)),r=1;r<=a;r++)n+=\"C\"+i[r-1][1]+\" \"+i[r][0]+\" \"+t[r];return n+=\"C\"+i[a][1]+\" \"+i[0][0]+\" \"+t[0]+\"Z\"};var C={hv:function(t,e){return\"H\"+n.round(e[0],2)+\"V\"+n.round(e[1],2)},vh:function(t,e){return\"V\"+n.round(e[1],2)+\"H\"+n.round(e[0],2)},hvh:function(t,e){return\"H\"+n.round((t[0]+e[0])/2,2)+\"V\"+n.round(e[1],2)+\"H\"+n.round(e[0],2)},vhv:function(t,e){return\"V\"+n.round((t[1]+e[1])/2,2)+\"H\"+n.round(e[0],2)+\"V\"+n.round(e[1],2)}},L=function(t,e){return\"L\"+n.round(e[0],2)+\",\"+n.round(e[1],2)};v.steps=function(t){var e=C[t]||L;return function(t){for(var r=\"M\"+n.round(t[0][0],2)+\",\"+n.round(t[0][1],2),a=1;a<t.length;a++)r+=e(t[a-1],t[a]);return r}},v.makeTester=function(){var t=c.ensureSingleById(n.select(\"body\"),\"svg\",\"js-plotly-tester\",(function(t){t.attr(h.svgAttrs).style({position:\"absolute\",left:\"-10000px\",top:\"-10000px\",width:\"9000px\",height:\"9000px\",\"z-index\":\"1\"})})),e=c.ensureSingle(t,\"path\",\"js-reference-point\",(function(t){t.attr(\"d\",\"M0,0H1V1H0Z\").style({\"stroke-width\":0,fill:\"black\"})}));v.tester=t,v.testref=e},v.savedBBoxes={};var P=0;function I(t){var e=t.getAttribute(\"data-unformatted\");if(null!==e)return e+t.getAttribute(\"data-math\")+t.getAttribute(\"text-anchor\")+t.getAttribute(\"style\")}function z(t,e){if(!t)return null;var r=e._context;return\"url('\"+(r._exportedPlot?\"\":r._baseUrl||\"\")+\"#\"+t+\"')\"}v.bBox=function(t,e,r){var a,i,o;if(r||(r=I(t)),r){if(a=v.savedBBoxes[r])return c.extendFlat({},a)}else if(1===t.childNodes.length){var s=t.childNodes[0];if(r=I(s)){var l=+s.getAttribute(\"x\")||0,h=+s.getAttribute(\"y\")||0,f=s.getAttribute(\"transform\");if(!f){var p=v.bBox(s,!1,r);return l&&(p.left+=l,p.right+=l),h&&(p.top+=h,p.bottom+=h),p}if(r+=\"~\"+l+\"~\"+h+\"~\"+f,a=v.savedBBoxes[r])return c.extendFlat({},a)}}e?i=t:(o=v.tester.node(),i=t.cloneNode(!0),o.appendChild(i)),n.select(i).attr(\"transform\",null).call(u.positionText,0,0);var d=i.getBoundingClientRect(),g=v.testref.node().getBoundingClientRect();e||o.removeChild(i);var m={height:d.height,width:d.width,left:d.left-g.left,top:d.top-g.top,right:d.right-g.left,bottom:d.bottom-g.top};return P>=1e4&&(v.savedBBoxes={},P=0),r&&(v.savedBBoxes[r]=m),P++,c.extendFlat({},m)},v.setClipUrl=function(t,e,r){t.attr(\"clip-path\",z(e,r))},v.getTranslate=function(t){var e=(t[t.attr?\"attr\":\"getAttribute\"](\"transform\")||\"\").replace(/.*\\btranslate\\((-?\\d*\\.?\\d*)[^-\\d]*(-?\\d*\\.?\\d*)[^\\d].*/,(function(t,e,r){return[e,r].join(\" \")})).split(\" \");return{x:+e[0]||0,y:+e[1]||0}},v.setTranslate=function(t,e,r){var n=t.attr?\"attr\":\"getAttribute\",a=t.attr?\"attr\":\"setAttribute\",i=t[n](\"transform\")||\"\";return e=e||0,r=r||0,i=i.replace(/(\\btranslate\\(.*?\\);?)/,\"\").trim(),i=(i+=\" translate(\"+e+\", \"+r+\")\").trim(),t[a](\"transform\",i),i},v.getScale=function(t){var e=(t[t.attr?\"attr\":\"getAttribute\"](\"transform\")||\"\").replace(/.*\\bscale\\((\\d*\\.?\\d*)[^\\d]*(\\d*\\.?\\d*)[^\\d].*/,(function(t,e,r){return[e,r].join(\" \")})).split(\" \");return{x:+e[0]||1,y:+e[1]||1}},v.setScale=function(t,e,r){var n=t.attr?\"attr\":\"getAttribute\",a=t.attr?\"attr\":\"setAttribute\",i=t[n](\"transform\")||\"\";return e=e||1,r=r||1,i=i.replace(/(\\bscale\\(.*?\\);?)/,\"\").trim(),i=(i+=\" scale(\"+e+\", \"+r+\")\").trim(),t[a](\"transform\",i),i};var O=/\\s*sc.*/;v.setPointGroupScale=function(t,e,r){if(e=e||1,r=r||1,t){var n=1===e&&1===r?\"\":\" scale(\"+e+\",\"+r+\")\";t.each((function(){var t=(this.getAttribute(\"transform\")||\"\").replace(O,\"\");t=(t+=n).trim(),this.setAttribute(\"transform\",t)}))}};var D=/translate\\([^)]*\\)\\s*$/;v.setTextPointsScale=function(t,e,r){t&&t.each((function(){var t,a=n.select(this),i=a.select(\"text\");if(i.node()){var o=parseFloat(i.attr(\"x\")||0),s=parseFloat(i.attr(\"y\")||0),l=(a.attr(\"transform\")||\"\").match(D);t=1===e&&1===r?[]:[\"translate(\"+o+\",\"+s+\")\",\"scale(\"+e+\",\"+r+\")\",\"translate(\"+-o+\",\"+-s+\")\"],l&&t.push(l),a.attr(\"transform\",t.join(\" \"))}}))}},{\"../../components/fx/helpers\":631,\"../../constants/alignment\":697,\"../../constants/interactions\":703,\"../../constants/xmlns_namespaces\":705,\"../../lib\":728,\"../../lib/svg_text_utils\":752,\"../../registry\":859,\"../../traces/scatter/make_bubble_size_func\":1151,\"../../traces/scatter/subtypes\":1158,\"../color\":595,\"../colorscale\":607,\"./symbol_defs\":618,d3:164,\"fast-isnumeric\":236,tinycolor2:528}],618:[function(t,e,r){\"use strict\";var n=t(\"d3\");e.exports={circle:{n:0,f:function(t){var e=n.round(t,2);return\"M\"+e+\",0A\"+e+\",\"+e+\" 0 1,1 0,-\"+e+\"A\"+e+\",\"+e+\" 0 0,1 \"+e+\",0Z\"}},square:{n:1,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"H-\"+e+\"V-\"+e+\"H\"+e+\"Z\"}},diamond:{n:2,f:function(t){var e=n.round(1.3*t,2);return\"M\"+e+\",0L0,\"+e+\"L-\"+e+\",0L0,-\"+e+\"Z\"}},cross:{n:3,f:function(t){var e=n.round(.4*t,2),r=n.round(1.2*t,2);return\"M\"+r+\",\"+e+\"H\"+e+\"V\"+r+\"H-\"+e+\"V\"+e+\"H-\"+r+\"V-\"+e+\"H-\"+e+\"V-\"+r+\"H\"+e+\"V-\"+e+\"H\"+r+\"Z\"}},x:{n:4,f:function(t){var e=n.round(.8*t/Math.sqrt(2),2),r=\"l\"+e+\",\"+e,a=\"l\"+e+\",-\"+e,i=\"l-\"+e+\",-\"+e,o=\"l-\"+e+\",\"+e;return\"M0,\"+e+r+a+i+a+i+o+i+o+r+o+r+\"Z\"}},\"triangle-up\":{n:5,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return\"M-\"+e+\",\"+n.round(t/2,2)+\"H\"+e+\"L0,-\"+n.round(t,2)+\"Z\"}},\"triangle-down\":{n:6,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return\"M-\"+e+\",-\"+n.round(t/2,2)+\"H\"+e+\"L0,\"+n.round(t,2)+\"Z\"}},\"triangle-left\":{n:7,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return\"M\"+n.round(t/2,2)+\",-\"+e+\"V\"+e+\"L-\"+n.round(t,2)+\",0Z\"}},\"triangle-right\":{n:8,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return\"M-\"+n.round(t/2,2)+\",-\"+e+\"V\"+e+\"L\"+n.round(t,2)+\",0Z\"}},\"triangle-ne\":{n:9,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return\"M-\"+r+\",-\"+e+\"H\"+e+\"V\"+r+\"Z\"}},\"triangle-se\":{n:10,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return\"M\"+e+\",-\"+r+\"V\"+e+\"H-\"+r+\"Z\"}},\"triangle-sw\":{n:11,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return\"M\"+r+\",\"+e+\"H-\"+e+\"V-\"+r+\"Z\"}},\"triangle-nw\":{n:12,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return\"M-\"+e+\",\"+r+\"V-\"+e+\"H\"+r+\"Z\"}},pentagon:{n:13,f:function(t){var e=n.round(.951*t,2),r=n.round(.588*t,2),a=n.round(-t,2),i=n.round(-.309*t,2);return\"M\"+e+\",\"+i+\"L\"+r+\",\"+n.round(.809*t,2)+\"H-\"+r+\"L-\"+e+\",\"+i+\"L0,\"+a+\"Z\"}},hexagon:{n:14,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),a=n.round(t*Math.sqrt(3)/2,2);return\"M\"+a+\",-\"+r+\"V\"+r+\"L0,\"+e+\"L-\"+a+\",\"+r+\"V-\"+r+\"L0,-\"+e+\"Z\"}},hexagon2:{n:15,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),a=n.round(t*Math.sqrt(3)/2,2);return\"M-\"+r+\",\"+a+\"H\"+r+\"L\"+e+\",0L\"+r+\",-\"+a+\"H-\"+r+\"L-\"+e+\",0Z\"}},octagon:{n:16,f:function(t){var e=n.round(.924*t,2),r=n.round(.383*t,2);return\"M-\"+r+\",-\"+e+\"H\"+r+\"L\"+e+\",-\"+r+\"V\"+r+\"L\"+r+\",\"+e+\"H-\"+r+\"L-\"+e+\",\"+r+\"V-\"+r+\"Z\"}},star:{n:17,f:function(t){var e=1.4*t,r=n.round(.225*e,2),a=n.round(.951*e,2),i=n.round(.363*e,2),o=n.round(.588*e,2),s=n.round(-e,2),l=n.round(-.309*e,2),c=n.round(.118*e,2),u=n.round(.809*e,2);return\"M\"+r+\",\"+l+\"H\"+a+\"L\"+i+\",\"+c+\"L\"+o+\",\"+u+\"L0,\"+n.round(.382*e,2)+\"L-\"+o+\",\"+u+\"L-\"+i+\",\"+c+\"L-\"+a+\",\"+l+\"H-\"+r+\"L0,\"+s+\"Z\"}},hexagram:{n:18,f:function(t){var e=n.round(.66*t,2),r=n.round(.38*t,2),a=n.round(.76*t,2);return\"M-\"+a+\",0l-\"+r+\",-\"+e+\"h\"+a+\"l\"+r+\",-\"+e+\"l\"+r+\",\"+e+\"h\"+a+\"l-\"+r+\",\"+e+\"l\"+r+\",\"+e+\"h-\"+a+\"l-\"+r+\",\"+e+\"l-\"+r+\",-\"+e+\"h-\"+a+\"Z\"}},\"star-triangle-up\":{n:19,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),a=n.round(1.6*t,2),i=n.round(4*t,2),o=\"A \"+i+\",\"+i+\" 0 0 1 \";return\"M-\"+e+\",\"+r+o+e+\",\"+r+o+\"0,-\"+a+o+\"-\"+e+\",\"+r+\"Z\"}},\"star-triangle-down\":{n:20,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),a=n.round(1.6*t,2),i=n.round(4*t,2),o=\"A \"+i+\",\"+i+\" 0 0 1 \";return\"M\"+e+\",-\"+r+o+\"-\"+e+\",-\"+r+o+\"0,\"+a+o+e+\",-\"+r+\"Z\"}},\"star-square\":{n:21,f:function(t){var e=n.round(1.1*t,2),r=n.round(2*t,2),a=\"A \"+r+\",\"+r+\" 0 0 1 \";return\"M-\"+e+\",-\"+e+a+\"-\"+e+\",\"+e+a+e+\",\"+e+a+e+\",-\"+e+a+\"-\"+e+\",-\"+e+\"Z\"}},\"star-diamond\":{n:22,f:function(t){var e=n.round(1.4*t,2),r=n.round(1.9*t,2),a=\"A \"+r+\",\"+r+\" 0 0 1 \";return\"M-\"+e+\",0\"+a+\"0,\"+e+a+e+\",0\"+a+\"0,-\"+e+a+\"-\"+e+\",0Z\"}},\"diamond-tall\":{n:23,f:function(t){var e=n.round(.7*t,2),r=n.round(1.4*t,2);return\"M0,\"+r+\"L\"+e+\",0L0,-\"+r+\"L-\"+e+\",0Z\"}},\"diamond-wide\":{n:24,f:function(t){var e=n.round(1.4*t,2),r=n.round(.7*t,2);return\"M0,\"+r+\"L\"+e+\",0L0,-\"+r+\"L-\"+e+\",0Z\"}},hourglass:{n:25,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"H-\"+e+\"L\"+e+\",-\"+e+\"H-\"+e+\"Z\"},noDot:!0},bowtie:{n:26,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"V-\"+e+\"L-\"+e+\",\"+e+\"V-\"+e+\"Z\"},noDot:!0},\"circle-cross\":{n:27,f:function(t){var e=n.round(t,2);return\"M0,\"+e+\"V-\"+e+\"M\"+e+\",0H-\"+e+\"M\"+e+\",0A\"+e+\",\"+e+\" 0 1,1 0,-\"+e+\"A\"+e+\",\"+e+\" 0 0,1 \"+e+\",0Z\"},needLine:!0,noDot:!0},\"circle-x\":{n:28,f:function(t){var e=n.round(t,2),r=n.round(t/Math.sqrt(2),2);return\"M\"+r+\",\"+r+\"L-\"+r+\",-\"+r+\"M\"+r+\",-\"+r+\"L-\"+r+\",\"+r+\"M\"+e+\",0A\"+e+\",\"+e+\" 0 1,1 0,-\"+e+\"A\"+e+\",\"+e+\" 0 0,1 \"+e+\",0Z\"},needLine:!0,noDot:!0},\"square-cross\":{n:29,f:function(t){var e=n.round(t,2);return\"M0,\"+e+\"V-\"+e+\"M\"+e+\",0H-\"+e+\"M\"+e+\",\"+e+\"H-\"+e+\"V-\"+e+\"H\"+e+\"Z\"},needLine:!0,noDot:!0},\"square-x\":{n:30,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"L-\"+e+\",-\"+e+\"M\"+e+\",-\"+e+\"L-\"+e+\",\"+e+\"M\"+e+\",\"+e+\"H-\"+e+\"V-\"+e+\"H\"+e+\"Z\"},needLine:!0,noDot:!0},\"diamond-cross\":{n:31,f:function(t){var e=n.round(1.3*t,2);return\"M\"+e+\",0L0,\"+e+\"L-\"+e+\",0L0,-\"+e+\"ZM0,-\"+e+\"V\"+e+\"M-\"+e+\",0H\"+e},needLine:!0,noDot:!0},\"diamond-x\":{n:32,f:function(t){var e=n.round(1.3*t,2),r=n.round(.65*t,2);return\"M\"+e+\",0L0,\"+e+\"L-\"+e+\",0L0,-\"+e+\"ZM-\"+r+\",-\"+r+\"L\"+r+\",\"+r+\"M-\"+r+\",\"+r+\"L\"+r+\",-\"+r},needLine:!0,noDot:!0},\"cross-thin\":{n:33,f:function(t){var e=n.round(1.4*t,2);return\"M0,\"+e+\"V-\"+e+\"M\"+e+\",0H-\"+e},needLine:!0,noDot:!0,noFill:!0},\"x-thin\":{n:34,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"L-\"+e+\",-\"+e+\"M\"+e+\",-\"+e+\"L-\"+e+\",\"+e},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(t){var e=n.round(1.2*t,2),r=n.round(.85*t,2);return\"M0,\"+e+\"V-\"+e+\"M\"+e+\",0H-\"+e+\"M\"+r+\",\"+r+\"L-\"+r+\",-\"+r+\"M\"+r+\",-\"+r+\"L-\"+r+\",\"+r},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(t){var e=n.round(t/2,2),r=n.round(t,2);return\"M\"+e+\",\"+r+\"V-\"+r+\"m-\"+r+\",0V\"+r+\"M\"+r+\",\"+e+\"H-\"+r+\"m0,-\"+r+\"H\"+r},needLine:!0,noFill:!0},\"y-up\":{n:37,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),a=n.round(.8*t,2);return\"M-\"+e+\",\"+a+\"L0,0M\"+e+\",\"+a+\"L0,0M0,-\"+r+\"L0,0\"},needLine:!0,noDot:!0,noFill:!0},\"y-down\":{n:38,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),a=n.round(.8*t,2);return\"M-\"+e+\",-\"+a+\"L0,0M\"+e+\",-\"+a+\"L0,0M0,\"+r+\"L0,0\"},needLine:!0,noDot:!0,noFill:!0},\"y-left\":{n:39,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),a=n.round(.8*t,2);return\"M\"+a+\",\"+e+\"L0,0M\"+a+\",-\"+e+\"L0,0M-\"+r+\",0L0,0\"},needLine:!0,noDot:!0,noFill:!0},\"y-right\":{n:40,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),a=n.round(.8*t,2);return\"M-\"+a+\",\"+e+\"L0,0M-\"+a+\",-\"+e+\"L0,0M\"+r+\",0L0,0\"},needLine:!0,noDot:!0,noFill:!0},\"line-ew\":{n:41,f:function(t){var e=n.round(1.4*t,2);return\"M\"+e+\",0H-\"+e},needLine:!0,noDot:!0,noFill:!0},\"line-ns\":{n:42,f:function(t){var e=n.round(1.4*t,2);return\"M0,\"+e+\"V-\"+e},needLine:!0,noDot:!0,noFill:!0},\"line-ne\":{n:43,f:function(t){var e=n.round(t,2);return\"M\"+e+\",-\"+e+\"L-\"+e+\",\"+e},needLine:!0,noDot:!0,noFill:!0},\"line-nw\":{n:44,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"L-\"+e+\",-\"+e},needLine:!0,noDot:!0,noFill:!0}}},{d3:164}],619:[function(t,e,r){\"use strict\";e.exports={visible:{valType:\"boolean\",editType:\"calc\"},type:{valType:\"enumerated\",values:[\"percent\",\"constant\",\"sqrt\",\"data\"],editType:\"calc\"},symmetric:{valType:\"boolean\",editType:\"calc\"},array:{valType:\"data_array\",editType:\"calc\"},arrayminus:{valType:\"data_array\",editType:\"calc\"},value:{valType:\"number\",min:0,dflt:10,editType:\"calc\"},valueminus:{valType:\"number\",min:0,dflt:10,editType:\"calc\"},traceref:{valType:\"integer\",min:0,dflt:0,editType:\"style\"},tracerefminus:{valType:\"integer\",min:0,dflt:0,editType:\"style\"},copy_ystyle:{valType:\"boolean\",editType:\"plot\"},copy_zstyle:{valType:\"boolean\",editType:\"style\"},color:{valType:\"color\",editType:\"style\"},thickness:{valType:\"number\",min:0,dflt:2,editType:\"style\"},width:{valType:\"number\",min:0,editType:\"plot\"},editType:\"calc\",_deprecated:{opacity:{valType:\"number\",editType:\"style\"}}}},{}],620:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"../../registry\"),i=t(\"../../plots/cartesian/axes\"),o=t(\"../../lib\"),s=t(\"./compute_error\");function l(t,e,r,a){var l=e[\"error_\"+a]||{},c=[];if(l.visible&&-1!==[\"linear\",\"log\"].indexOf(r.type)){for(var u=s(l),h=0;h<t.length;h++){var f=t[h],p=f.i;if(void 0===p)p=h;else if(null===p)continue;var d=f[a];if(n(r.c2l(d))){var g=u(d,p);if(n(g[0])&&n(g[1])){var m=f[a+\"s\"]=d-g[0],v=f[a+\"h\"]=d+g[1];c.push(m,v)}}}var y=r._id,x=e._extremes[y],b=i.findExtremes(r,c,o.extendFlat({tozero:x.opts.tozero},{padded:!0}));x.min=x.min.concat(b.min),x.max=x.max.concat(b.max)}}e.exports=function(t){for(var e=t.calcdata,r=0;r<e.length;r++){var n=e[r],o=n[0].trace;if(!0===o.visible&&a.traceIs(o,\"errorBarsOK\")){var s=i.getFromId(t,o.xaxis),c=i.getFromId(t,o.yaxis);l(n,o,s,\"x\"),l(n,o,c,\"y\")}}}},{\"../../lib\":728,\"../../plots/cartesian/axes\":776,\"../../registry\":859,\"./compute_error\":621,\"fast-isnumeric\":236}],621:[function(t,e,r){\"use strict\";function n(t,e){return\"percent\"===t?function(t){return Math.abs(t*e/100)}:\"constant\"===t?function(){return Math.abs(e)}:\"sqrt\"===t?function(t){return Math.sqrt(Math.abs(t))}:void 0}e.exports=function(t){var e=t.type,r=t.symmetric;if(\"data\"===e){var a=t.array||[];if(r)return function(t,e){var r=+a[e];return[r,r]};var i=t.arrayminus||[];return function(t,e){var r=+a[e],n=+i[e];return isNaN(r)&&isNaN(n)?[NaN,NaN]:[n||0,r||0]}}var o=n(e,t.value),s=n(e,t.valueminus);return r||void 0===t.valueminus?function(t){var e=o(t);return[e,e]}:function(t){return[s(t),o(t)]}}},{}],622:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"../../registry\"),i=t(\"../../lib\"),o=t(\"../../plot_api/plot_template\"),s=t(\"./attributes\");e.exports=function(t,e,r,l){var c=\"error_\"+l.axis,u=o.newContainer(e,c),h=t[c]||{};function f(t,e){return i.coerce(h,u,s,t,e)}if(!1!==f(\"visible\",void 0!==h.array||void 0!==h.value||\"sqrt\"===h.type)){var p=f(\"type\",\"array\"in h?\"data\":\"percent\"),d=!0;\"sqrt\"!==p&&(d=f(\"symmetric\",!((\"data\"===p?\"arrayminus\":\"valueminus\")in h))),\"data\"===p?(f(\"array\"),f(\"traceref\"),d||(f(\"arrayminus\"),f(\"tracerefminus\"))):\"percent\"!==p&&\"constant\"!==p||(f(\"value\"),d||f(\"valueminus\"));var g=\"copy_\"+l.inherit+\"style\";if(l.inherit)(e[\"error_\"+l.inherit]||{}).visible&&f(g,!(h.color||n(h.thickness)||n(h.width)));l.inherit&&u[g]||(f(\"color\",r),f(\"thickness\"),f(\"width\",a.traceIs(e,\"gl3d\")?0:4))}}},{\"../../lib\":728,\"../../plot_api/plot_template\":766,\"../../registry\":859,\"./attributes\":619,\"fast-isnumeric\":236}],623:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../plot_api/edit_types\").overrideAll,i=t(\"./attributes\"),o={error_x:n.extendFlat({},i),error_y:n.extendFlat({},i)};delete o.error_x.copy_zstyle,delete o.error_y.copy_zstyle,delete o.error_y.copy_ystyle;var s={error_x:n.extendFlat({},i),error_y:n.extendFlat({},i),error_z:n.extendFlat({},i)};delete s.error_x.copy_ystyle,delete s.error_y.copy_ystyle,delete s.error_z.copy_ystyle,delete s.error_z.copy_zstyle,e.exports={moduleType:\"component\",name:\"errorbars\",schema:{traces:{scatter:o,bar:o,histogram:o,scatter3d:a(s,\"calc\",\"nested\"),scattergl:a(o,\"calc\",\"nested\")}},supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\"),makeComputeError:t(\"./compute_error\"),plot:t(\"./plot\"),style:t(\"./style\"),hoverInfo:function(t,e,r){(e.error_y||{}).visible&&(r.yerr=t.yh-t.y,e.error_y.symmetric||(r.yerrneg=t.y-t.ys));(e.error_x||{}).visible&&(r.xerr=t.xh-t.x,e.error_x.symmetric||(r.xerrneg=t.x-t.xs))}}},{\"../../lib\":728,\"../../plot_api/edit_types\":759,\"./attributes\":619,\"./calc\":620,\"./compute_error\":621,\"./defaults\":622,\"./plot\":624,\"./style\":625}],624:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"fast-isnumeric\"),i=t(\"../drawing\"),o=t(\"../../traces/scatter/subtypes\");e.exports=function(t,e,r,s){var l=r.xaxis,c=r.yaxis,u=s&&s.duration>0;e.each((function(e){var h,f=e[0].trace,p=f.error_x||{},d=f.error_y||{};f.ids&&(h=function(t){return t.id});var g=o.hasMarkers(f)&&f.marker.maxdisplayed>0;d.visible||p.visible||(e=[]);var m=n.select(this).selectAll(\"g.errorbar\").data(e,h);if(m.exit().remove(),e.length){p.visible||m.selectAll(\"path.xerror\").remove(),d.visible||m.selectAll(\"path.yerror\").remove(),m.style(\"opacity\",1);var v=m.enter().append(\"g\").classed(\"errorbar\",!0);u&&v.style(\"opacity\",0).transition().duration(s.duration).style(\"opacity\",1),i.setClipUrl(m,r.layerClipId,t),m.each((function(t){var e=n.select(this),r=function(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};void 0!==t.yh&&(n.yh=r.c2p(t.yh),n.ys=r.c2p(t.ys),a(n.ys)||(n.noYS=!0,n.ys=r.c2p(t.ys,!0)));void 0!==t.xh&&(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),a(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0)));return n}(t,l,c);if(!g||t.vis){var i,o=e.select(\"path.yerror\");if(d.visible&&a(r.x)&&a(r.yh)&&a(r.ys)){var h=d.width;i=\"M\"+(r.x-h)+\",\"+r.yh+\"h\"+2*h+\"m-\"+h+\",0V\"+r.ys,r.noYS||(i+=\"m-\"+h+\",0h\"+2*h),!o.size()?o=e.append(\"path\").style(\"vector-effect\",\"non-scaling-stroke\").classed(\"yerror\",!0):u&&(o=o.transition().duration(s.duration).ease(s.easing)),o.attr(\"d\",i)}else o.remove();var f=e.select(\"path.xerror\");if(p.visible&&a(r.y)&&a(r.xh)&&a(r.xs)){var m=(p.copy_ystyle?d:p).width;i=\"M\"+r.xh+\",\"+(r.y-m)+\"v\"+2*m+\"m0,-\"+m+\"H\"+r.xs,r.noXS||(i+=\"m0,-\"+m+\"v\"+2*m),!f.size()?f=e.append(\"path\").style(\"vector-effect\",\"non-scaling-stroke\").classed(\"xerror\",!0):u&&(f=f.transition().duration(s.duration).ease(s.easing)),f.attr(\"d\",i)}else f.remove()}}))}}))}},{\"../../traces/scatter/subtypes\":1158,\"../drawing\":617,d3:164,\"fast-isnumeric\":236}],625:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../color\");e.exports=function(t){t.each((function(t){var e=t[0].trace,r=e.error_y||{},i=e.error_x||{},o=n.select(this);o.selectAll(\"path.yerror\").style(\"stroke-width\",r.thickness+\"px\").call(a.stroke,r.color),i.copy_ystyle&&(i=r),o.selectAll(\"path.xerror\").style(\"stroke-width\",i.thickness+\"px\").call(a.stroke,i.color)}))}},{\"../color\":595,d3:164}],626:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),a=t(\"./layout_attributes\").hoverlabel,i=t(\"../../lib/extend\").extendFlat;e.exports={hoverlabel:{bgcolor:i({},a.bgcolor,{arrayOk:!0}),bordercolor:i({},a.bordercolor,{arrayOk:!0}),font:n({arrayOk:!0,editType:\"none\"}),align:i({},a.align,{arrayOk:!0}),namelength:i({},a.namelength,{arrayOk:!0}),editType:\"none\"}}},{\"../../lib/extend\":719,\"../../plots/font_attributes\":804,\"./layout_attributes\":636}],627:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../registry\");function i(t,e,r,a){a=a||n.identity,Array.isArray(t)&&(e[0][r]=a(t))}e.exports=function(t){var e=t.calcdata,r=t._fullLayout;function o(t){return function(e){return n.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}for(var s=0;s<e.length;s++){var l=e[s],c=l[0].trace;if(!a.traceIs(c,\"pie-like\")){var u=a.traceIs(c,\"2dMap\")?i:n.fillArray;u(c.hoverinfo,l,\"hi\",o(c)),c.hovertemplate&&u(c.hovertemplate,l,\"ht\"),c.hoverlabel&&(u(c.hoverlabel.bgcolor,l,\"hbg\"),u(c.hoverlabel.bordercolor,l,\"hbc\"),u(c.hoverlabel.font.size,l,\"hts\"),u(c.hoverlabel.font.color,l,\"htc\"),u(c.hoverlabel.font.family,l,\"htf\"),u(c.hoverlabel.namelength,l,\"hnl\"),u(c.hoverlabel.align,l,\"hta\"))}}}},{\"../../lib\":728,\"../../registry\":859}],628:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),a=t(\"./hover\").hover;e.exports=function(t,e,r){var i=n.getComponentMethod(\"annotations\",\"onClick\")(t,t._hoverdata);function o(){t.emit(\"plotly_click\",{points:t._hoverdata,event:e})}void 0!==r&&a(t,e,r,!0),t._hoverdata&&e&&e.target&&(i&&i.then?i.then(o):o(),e.stopImmediatePropagation&&e.stopImmediatePropagation())}},{\"../../registry\":859,\"./hover\":632}],629:[function(t,e,r){\"use strict\";e.exports={YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:\"Arial, sans-serif\",HOVERMINTIME:50,HOVERID:\"-hover\"}},{}],630:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"./attributes\"),i=t(\"./hoverlabel_defaults\");e.exports=function(t,e,r,o){var s=n.extendFlat({},o.hoverlabel);e.hovertemplate&&(s.namelength=-1),i(t,e,(function(r,i){return n.coerce(t,e,a,r,i)}),s)}},{\"../../lib\":728,\"./attributes\":626,\"./hoverlabel_defaults\":633}],631:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");r.getSubplot=function(t){return t.subplot||t.xaxis+t.yaxis||t.geo},r.isTraceInSubplots=function(t,e){if(\"splom\"===t.type){for(var n=t.xaxes||[],a=t.yaxes||[],i=0;i<n.length;i++)for(var o=0;o<a.length;o++)if(-1!==e.indexOf(n[i]+a[o]))return!0;return!1}return-1!==e.indexOf(r.getSubplot(t))},r.flat=function(t,e){for(var r=new Array(t.length),n=0;n<t.length;n++)r[n]=e;return r},r.p2c=function(t,e){for(var r=new Array(t.length),n=0;n<t.length;n++)r[n]=t[n].p2c(e);return r},r.getDistanceFunction=function(t,e,n,a){return\"closest\"===t?a||r.quadrature(e,n):\"x\"===t.charAt(0)?e:n},r.getClosest=function(t,e,r){if(!1!==r.index)r.index>=0&&r.index<t.length?r.distance=0:r.index=!1;else for(var n=0;n<t.length;n++){var a=e(t[n]);a<=r.distance&&(r.index=n,r.distance=a)}return r},r.inbox=function(t,e,r){return t*e<0||0===t?r:1/0},r.quadrature=function(t,e){return function(r){var n=t(r),a=e(r);return Math.sqrt(n*n+a*a)}},r.makeEventData=function(t,e,n){var a=\"index\"in t?t.index:t.pointNumber,i={data:e._input,fullData:e,curveNumber:e.index,pointNumber:a};if(e._indexToPoints){var o=e._indexToPoints[a];1===o.length?i.pointIndex=o[0]:i.pointIndices=o}else i.pointIndex=a;return e._module.eventData?i=e._module.eventData(i,t,e,n,a):(\"xVal\"in t?i.x=t.xVal:\"x\"in t&&(i.x=t.x),\"yVal\"in t?i.y=t.yVal:\"y\"in t&&(i.y=t.y),t.xa&&(i.xaxis=t.xa),t.ya&&(i.yaxis=t.ya),void 0!==t.zLabelVal&&(i.z=t.zLabelVal)),r.appendArrayPointValue(i,e,a),i},r.appendArrayPointValue=function(t,e,r){var a=e._arrayAttrs;if(a)for(var s=0;s<a.length;s++){var l=a[s],c=i(l);if(void 0===t[c]){var u=o(n.nestedProperty(e,l).get(),r);void 0!==u&&(t[c]=u)}}},r.appendArrayMultiPointValues=function(t,e,r){var a=e._arrayAttrs;if(a)for(var s=0;s<a.length;s++){var l=a[s],c=i(l);if(void 0===t[c]){for(var u=n.nestedProperty(e,l).get(),h=new Array(r.length),f=0;f<r.length;f++)h[f]=o(u,r[f]);t[c]=h}}};var a={ids:\"id\",locations:\"location\",labels:\"label\",values:\"value\",\"marker.colors\":\"color\",parents:\"parent\"};function i(t){return a[t]||t}function o(t,e){return Array.isArray(e)?Array.isArray(t)&&Array.isArray(t[e[0]])?t[e[0]][e[1]]:void 0:t[e]}var s={x:!0,y:!0},l={\"x unified\":!0,\"y unified\":!0};r.isUnifiedHover=function(t){return\"string\"==typeof t&&!!l[t]},r.isXYhover=function(t){return\"string\"==typeof t&&!!s[t]}},{\"../../lib\":728}],632:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"fast-isnumeric\"),i=t(\"tinycolor2\"),o=t(\"../../lib\"),s=t(\"../../lib/events\"),l=t(\"../../lib/svg_text_utils\"),c=t(\"../../lib/override_cursor\"),u=t(\"../drawing\"),h=t(\"../color\"),f=t(\"../dragelement\"),p=t(\"../../plots/cartesian/axes\"),d=t(\"../../registry\"),g=t(\"./helpers\"),m=t(\"./constants\"),v=t(\"../legend/defaults\"),y=t(\"../legend/draw\"),x=m.YANGLE,b=Math.PI*x/180,_=1/Math.sin(b),w=Math.cos(b),T=Math.sin(b),k=m.HOVERARROWSIZE,A=m.HOVERTEXTPAD;function M(t){return[t.trace.index,t.index,t.x0,t.y0,t.name,t.attr,t.xa,t.ya||\"\"].join(\",\")}r.hover=function(t,e,r,i){t=o.getGraphDiv(t),o.throttle(t._fullLayout._uid+m.HOVERID,m.HOVERMINTIME,(function(){!function(t,e,r,i){r||(r=\"xy\");var l=Array.isArray(r)?r:[r],u=t._fullLayout,p=u._plots||[],m=p[r],v=u._has(\"cartesian\");if(m){var y=m.overlays.map((function(t){return t.id}));l=l.concat(y)}for(var x=l.length,b=new Array(x),w=new Array(x),T=!1,k=0;k<x;k++){var A=l[k];if(p[A])T=!0,b[k]=p[A].xaxis,w[k]=p[A].yaxis;else{if(!u[A]||!u[A]._subplot)return void o.warn(\"Unrecognized subplot: \"+A);var S=u[A]._subplot;b[k]=S.xaxis,w[k]=S.yaxis}}var C=e.hovermode||u.hovermode;C&&!T&&(C=\"closest\");if(-1===[\"x\",\"y\",\"closest\",\"x unified\",\"y unified\"].indexOf(C)||!t.calcdata||t.querySelector(\".zoombox\")||t._dragging)return f.unhoverRaw(t,e);var O,D,R,F,B,N,j,V,U,q,H,G,Y,W=-1===u.hoverdistance?1/0:u.hoverdistance,Z=-1===u.spikedistance?1/0:u.spikedistance,X=[],J=[],K={hLinePoint:null,vLinePoint:null},Q=!1;if(Array.isArray(e))for(C=\"array\",R=0;R<e.length;R++)(B=t.calcdata[e[R].curveNumber||0])&&(N=B[0].trace,\"skip\"!==B[0].trace.hoverinfo&&(J.push(B),\"h\"===N.orientation&&(Q=!0)));else{for(F=0;F<t.calcdata.length;F++)B=t.calcdata[F],\"skip\"!==(N=B[0].trace).hoverinfo&&g.isTraceInSubplots(N,l)&&(J.push(B),\"h\"===N.orientation&&(Q=!0));var $,tt;if(!e.target)$=\"xpx\"in e?e.xpx:b[0]._length/2,tt=\"ypx\"in e?e.ypx:w[0]._length/2;else{if(!1===s.triggerHandler(t,\"plotly_beforehover\",e))return;var et=e.target.getBoundingClientRect();if($=e.clientX-et.left,tt=e.clientY-et.top,$<0||$>b[0]._length||tt<0||tt>w[0]._length)return f.unhoverRaw(t,e)}if(e.pointerX=$+b[0]._offset,e.pointerY=tt+w[0]._offset,O=\"xval\"in e?g.flat(l,e.xval):g.p2c(b,$),D=\"yval\"in e?g.flat(l,e.yval):g.p2c(w,tt),!a(O[0])||!a(D[0]))return o.warn(\"Fx.hover failed\",e,t),f.unhoverRaw(t,e)}var rt=1/0;function nt(t,r){for(F=0;F<J.length;F++)if((B=J[F])&&B[0]&&B[0].trace&&!0===(N=B[0].trace).visible&&0!==N._length&&-1===[\"carpet\",\"contourcarpet\"].indexOf(N._module.name)){if(\"splom\"===N.type?j=l[V=0]:(j=g.getSubplot(N),V=l.indexOf(j)),U=C,g.isUnifiedHover(U)&&(U=U.charAt(0)),G={cd:B,trace:N,xa:b[V],ya:w[V],maxHoverDistance:W,maxSpikeDistance:Z,index:!1,distance:Math.min(rt,W),spikeDistance:1/0,xSpike:void 0,ySpike:void 0,color:h.defaultLine,name:N.name,x0:void 0,x1:void 0,y0:void 0,y1:void 0,xLabelVal:void 0,yLabelVal:void 0,zLabelVal:void 0,text:void 0},u[j]&&(G.subplot=u[j]._subplot),u._splomScenes&&u._splomScenes[N.uid]&&(G.scene=u._splomScenes[N.uid]),Y=X.length,\"array\"===U){var n=e[F];\"pointNumber\"in n?(G.index=n.pointNumber,U=\"closest\"):(U=\"\",\"xval\"in n&&(q=n.xval,U=\"x\"),\"yval\"in n&&(H=n.yval,U=U?\"closest\":\"y\"))}else void 0!==t&&void 0!==r?(q=t,H=r):(q=O[V],H=D[V]);if(0!==W)if(N._module&&N._module.hoverPoints){var i=N._module.hoverPoints(G,q,H,U,u._hoverlayer);if(i)for(var s,c=0;c<i.length;c++)s=i[c],a(s.x0)&&a(s.y0)&&X.push(P(s,C))}else o.log(\"Unrecognized trace type in hover:\",N);if(\"closest\"===C&&X.length>Y&&(X.splice(0,Y),rt=X[0].distance),v&&0!==Z&&0===X.length){G.distance=Z,G.index=!1;var f=N._module.hoverPoints(G,q,H,\"closest\",u._hoverlayer);if(f&&(f=f.filter((function(t){return t.spikeDistance<=Z}))),f&&f.length){var p,d=f.filter((function(t){return t.xa.showspikes&&\"hovered data\"!==t.xa.spikesnap}));if(d.length){var m=d[0];a(m.x0)&&a(m.y0)&&(p=it(m),(!K.vLinePoint||K.vLinePoint.spikeDistance>p.spikeDistance)&&(K.vLinePoint=p))}var y=f.filter((function(t){return t.ya.showspikes&&\"hovered data\"!==t.ya.spikesnap}));if(y.length){var x=y[0];a(x.x0)&&a(x.y0)&&(p=it(x),(!K.hLinePoint||K.hLinePoint.spikeDistance>p.spikeDistance)&&(K.hLinePoint=p))}}}}}function at(t,e){for(var r,n=null,a=1/0,i=0;i<t.length;i++)(r=t[i].spikeDistance)<=a&&r<=e&&(n=t[i],a=r);return n}function it(t){return t?{xa:t.xa,ya:t.ya,x:void 0!==t.xSpike?t.xSpike:(t.x0+t.x1)/2,y:void 0!==t.ySpike?t.ySpike:(t.y0+t.y1)/2,distance:t.distance,spikeDistance:t.spikeDistance,curveNumber:t.trace.index,color:t.color,pointNumber:t.index}:null}nt();var ot={fullLayout:u,container:u._hoverlayer,outerContainer:u._paperdiv,event:e},st=t._spikepoints,lt={vLinePoint:K.vLinePoint,hLinePoint:K.hLinePoint};if(t._spikepoints=lt,v&&0!==Z&&0!==X.length){var ct=at(X.filter((function(t){return t.ya.showspikes})),Z);K.hLinePoint=it(ct);var ut=at(X.filter((function(t){return t.xa.showspikes})),Z);K.vLinePoint=it(ut)}if(0===X.length){var ht=f.unhoverRaw(t,e);return!v||null===K.hLinePoint&&null===K.vLinePoint||z(st)&&I(t,K,ot),ht}v&&z(st)&&I(t,K,ot);if(X.sort((function(t,e){return t.distance-e.distance})),g.isXYhover(U)&&0!==X[0].length&&\"splom\"!==X[0].trace.type){var ft=X[0],pt=ft.cd[ft.index],dt=\"group\"===u.boxmode||\"group\"===u.violinmode,gt=ft.xVal,mt=ft.xa;\"category\"===mt.type&&(gt=mt._categoriesMap[gt]),\"date\"===mt.type&&(gt=mt.d2c(gt)),pt&&pt.t&&pt.t.posLetter===mt._id&&dt&&(gt+=pt.t.dPos);var vt=ft.yVal;\"category\"===(mt=ft.ya).type&&(vt=mt._categoriesMap[vt]),\"date\"===mt.type&&(vt=mt.d2c(vt)),pt&&pt.t&&pt.t.posLetter===mt._id&&dt&&(vt+=pt.t.dPos),nt(gt,vt);var yt={};X=X.filter((function(t){var e=M(t);if(!yt[e])return yt[e]=!0,yt[e]}))}var xt=t._hoverdata,bt=[];for(R=0;R<X.length;R++){var _t=X[R],wt=g.makeEventData(_t,_t.trace,_t.cd);if(!1!==_t.hovertemplate){var Tt=!1;_t.cd[_t.index]&&_t.cd[_t.index].ht&&(Tt=_t.cd[_t.index].ht),_t.hovertemplate=Tt||_t.trace.hovertemplate||!1}_t.eventData=[wt],bt.push(wt)}t._hoverdata=bt;var kt=\"y\"===C&&(J.length>1||X.length>1)||\"closest\"===C&&Q&&X.length>1,At=h.combine(u.plot_bgcolor||h.background,u.paper_bgcolor),Mt={hovermode:C,rotateLabels:kt,bgColor:At,container:u._hoverlayer,outerContainer:u._paperdiv,commonLabelOpts:u.hoverlabel,hoverdistance:u.hoverdistance},St=E(X,Mt,t);g.isUnifiedHover(C)||(!function(t,e,r){var n,a,i,o,s,l,c,u=0,h=1,f=t.size(),p=new Array(f),d=0;function g(t){var e=t[0],r=t[t.length-1];if(a=e.pmin-e.pos-e.dp+e.size,i=r.pos+r.dp+r.size-e.pmax,a>.01){for(s=t.length-1;s>=0;s--)t[s].dp+=a;n=!1}if(!(i<.01)){if(a<-.01){for(s=t.length-1;s>=0;s--)t[s].dp-=i;n=!1}if(n){var c=0;for(o=0;o<t.length;o++)(l=t[o]).pos+l.dp+l.size>e.pmax&&c++;for(o=t.length-1;o>=0&&!(c<=0);o--)(l=t[o]).pos>e.pmax-1&&(l.del=!0,c--);for(o=0;o<t.length&&!(c<=0);o++)if((l=t[o]).pos<e.pmin+1)for(l.del=!0,c--,i=2*l.size,s=t.length-1;s>=0;s--)t[s].dp-=i;for(o=t.length-1;o>=0&&!(c<=0);o--)(l=t[o]).pos+l.dp+l.size>e.pmax&&(l.del=!0,c--)}}}t.each((function(t){var n=t[e],a=\"x\"===n._id.charAt(0),i=n.range;0===d&&i&&i[0]>i[1]!==a&&(h=-1),p[d++]=[{datum:t,traceIndex:t.trace.index,dp:0,pos:t.pos,posref:t.posref,size:t.by*(a?_:1)/2,pmin:0,pmax:a?r.width:r.height}]})),p.sort((function(t,e){return t[0].posref-e[0].posref||h*(e[0].traceIndex-t[0].traceIndex)}));for(;!n&&u<=f;){for(u++,n=!0,o=0;o<p.length-1;){var m=p[o],v=p[o+1],y=m[m.length-1],x=v[0];if((a=y.pos+y.dp+y.size-x.pos-x.dp+x.size)>.01&&y.pmin===x.pmin&&y.pmax===x.pmax){for(s=v.length-1;s>=0;s--)v[s].dp+=a;for(m.push.apply(m,v),p.splice(o+1,1),c=0,s=m.length-1;s>=0;s--)c+=m[s].dp;for(i=c/m.length,s=m.length-1;s>=0;s--)m[s].dp-=i;n=!1}else o++}p.forEach(g)}for(o=p.length-1;o>=0;o--){var b=p[o];for(s=b.length-1;s>=0;s--){var w=b[s],T=w.datum;T.offset=w.dp,T.del=w.del}}}(St,kt?\"xa\":\"ya\",u),L(St,kt));if(e.target&&e.target.tagName){var Et=d.getComponentMethod(\"annotations\",\"hasClickToShow\")(t,bt);c(n.select(e.target),Et?\"pointer\":\"\")}if(!e.target||i||!function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var a=r[n],i=t._hoverdata[n];if(a.curveNumber!==i.curveNumber||String(a.pointNumber)!==String(i.pointNumber)||String(a.pointNumbers)!==String(i.pointNumbers))return!0}return!1}(t,0,xt))return;xt&&t.emit(\"plotly_unhover\",{event:e,points:xt});t.emit(\"plotly_hover\",{event:e,points:t._hoverdata,xaxes:b,yaxes:w,xvals:O,yvals:D})}(t,e,r,i)}))},r.loneHover=function(t,e){var r=!0;Array.isArray(t)||(r=!1,t=[t]);var a=t.map((function(t){return{color:t.color||h.defaultLine,x0:t.x0||t.x||0,x1:t.x1||t.x||0,y0:t.y0||t.y||0,y1:t.y1||t.y||0,xLabel:t.xLabel,yLabel:t.yLabel,zLabel:t.zLabel,text:t.text,name:t.name,idealAlign:t.idealAlign,borderColor:t.borderColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,nameLength:t.nameLength,textAlign:t.textAlign,trace:t.trace||{index:0,hoverinfo:\"\"},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:t.hovertemplate||!1,eventData:t.eventData||!1,hovertemplateLabels:t.hovertemplateLabels||!1}})),i=n.select(e.container),o=e.outerContainer?n.select(e.outerContainer):i,s={hovermode:\"closest\",rotateLabels:!1,bgColor:e.bgColor||h.background,container:i,outerContainer:o},l=E(a,s,e.gd),c=0,u=0;return l.sort((function(t,e){return t.y0-e.y0})).each((function(t,r){var n=t.y0-t.by/2;t.offset=n-5<c?c-n+5:0,c=n+t.by+t.offset,r===e.anchorIndex&&(u=t.offset)})).each((function(t){t.offset-=u})),L(l,s.rotateLabels),r?l:l.node()};var S=/<extra>([\\s\\S]*)<\\/extra>/;function E(t,e,r){var a=r._fullLayout,i=e.hovermode,s=e.rotateLabels,c=e.bgColor,f=e.container,p=e.outerContainer,d=e.commonLabelOpts||{},b=e.fontFamily||m.HOVERFONT,_=e.fontSize||m.HOVERFONTSIZE,w=t[0],T=w.xa,S=w.ya,E=\"y\"===i.charAt(0)?\"yLabel\":\"xLabel\",L=w[E],P=(String(L)||\"\").split(\" \")[0],I=p.node().getBoundingClientRect(),z=I.top,O=I.width,D=I.height,R=void 0!==L&&w.distance<=e.hoverdistance&&(\"x\"===i||\"y\"===i);if(R){var F,B,N=!0;for(F=0;F<t.length;F++)if(N&&void 0===t[F].zLabel&&(N=!1),B=t[F].hoverinfo||t[F].trace.hoverinfo){var j=Array.isArray(B)?B:B.split(\"+\");if(-1===j.indexOf(\"all\")&&-1===j.indexOf(i)){R=!1;break}}N&&(R=!1)}var V=f.selectAll(\"g.axistext\").data(R?[0]:[]);function U(t){return t.filter((function(t){return void 0!==t.zLabelVal||(t[E]||\"\").split(\" \")[0]===P}))}if(V.enter().append(\"g\").classed(\"axistext\",!0),V.exit().remove(),V.each((function(){var e=n.select(this),s=o.ensureSingle(e,\"path\",\"\",(function(t){t.style({\"stroke-width\":\"1px\"})})),c=o.ensureSingle(e,\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),f=d.bgcolor||h.defaultLine,p=d.bordercolor||h.contrast(f),g=h.contrast(f),m={family:d.font.family||b,size:d.font.size||_,color:d.font.color||g};s.style({fill:f,stroke:p}),c.text(L).call(u.font,m).call(l.positionText,0,0).call(l.convertToTspans,r),e.attr(\"transform\",\"\");var v,y,x=c.node().getBoundingClientRect();if(\"x\"===i){var M=\"top\"===T.side?\"-\":\"\";c.attr(\"text-anchor\",\"middle\").call(l.positionText,0,\"top\"===T.side?z-x.bottom-k-A:z-x.top+k+A),v=T._offset+(w.x0+w.x1)/2,y=S._offset+(\"top\"===T.side?0:S._length);var E=x.width/2+A;v<E?(v=E,s.attr(\"d\",\"M-\"+(E-k)+\",0L-\"+(E-2*k)+\",\"+M+k+\"H\"+(A+x.width/2)+\"v\"+M+(2*A+x.height)+\"H-\"+E+\"V\"+M+k+\"Z\")):v>a.width-E?(v=a.width-E,s.attr(\"d\",\"M\"+(E-k)+\",0L\"+E+\",\"+M+k+\"v\"+M+(2*A+x.height)+\"H-\"+E+\"V\"+M+k+\"H\"+(E-2*k)+\"Z\")):s.attr(\"d\",\"M0,0L\"+k+\",\"+M+k+\"H\"+(A+x.width/2)+\"v\"+M+(2*A+x.height)+\"H-\"+(A+x.width/2)+\"V\"+M+k+\"H-\"+k+\"Z\")}else{var C,P,I;\"right\"===S.side?(C=\"start\",P=1,I=\"\",v=T._offset+T._length):(C=\"end\",P=-1,I=\"-\",v=T._offset),y=S._offset+(w.y0+w.y1)/2,c.attr(\"text-anchor\",C),s.attr(\"d\",\"M0,0L\"+I+k+\",\"+k+\"V\"+(A+x.height/2)+\"h\"+I+(2*A+x.width)+\"V-\"+(A+x.height/2)+\"H\"+I+k+\"V-\"+k+\"Z\");var O,D=x.height/2,R=z-x.top-D,F=\"clip\"+a._uid+\"commonlabel\"+S._id;if(v<x.width+2*A+k){O=\"M-\"+(k+A)+\"-\"+D+\"h-\"+(x.width-A)+\"V\"+D+\"h\"+(x.width-A)+\"Z\";var B=x.width-v+A;l.positionText(c,B,R),\"end\"===C&&c.selectAll(\"tspan\").each((function(){var t=n.select(this),e=u.tester.append(\"text\").text(t.text()).call(u.font,m),r=e.node().getBoundingClientRect();Math.round(r.width)<Math.round(x.width)&&t.attr(\"x\",B-r.width),e.remove()}))}else l.positionText(c,P*(A+k),R),O=null;var N=a._topclips.selectAll(\"#\"+F).data(O?[0]:[]);N.enter().append(\"clipPath\").attr(\"id\",F).append(\"path\"),N.exit().remove(),N.select(\"path\").attr(\"d\",O),u.setClipUrl(c,O?F:null,r)}e.attr(\"transform\",\"translate(\"+v+\",\"+y+\")\"),t=U(t)})),g.isUnifiedHover(i)){if(f.selectAll(\"g.hovertext\").remove(),void 0!==L&&w.distance<=e.hoverdistance&&(t=U(t)),0===t.length)return;var q={showlegend:!0,legend:{title:{text:L,font:a.hoverlabel.font},font:a.hoverlabel.font,bgcolor:a.hoverlabel.bgcolor,bordercolor:a.hoverlabel.bordercolor,borderwidth:1,tracegroupgap:7,traceorder:a.legend?a.legend.traceorder:void 0,orientation:\"v\"}},H={};v(q,H,r._fullData);var G=H.legend;G.entries=[];for(var Y=0;Y<t.length;Y++){var W=C(t[Y],!0,i,a,L),Z=W[0],X=W[1],J=t[Y];J.name=X,J.text=\"\"!==X?X+\" : \"+Z:Z;var K=J.cd[J.index];K&&(K.mc&&(J.mc=K.mc),K.mcc&&(J.mc=K.mcc),K.mlc&&(J.mlc=K.mlc),K.mlcc&&(J.mlc=K.mlcc),K.mlw&&(J.mlw=K.mlw),K.mrc&&(J.mrc=K.mrc),K.dir&&(J.dir=K.dir)),J._distinct=!0,G.entries.push([J])}G.entries.sort((function(t,e){return t[0].trace.index-e[0].trace.index})),G.layer=f,y(r,G);var Q=o.mean(t.map((function(t){return(t.y0+t.y1)/2}))),$=o.mean(t.map((function(t){return(t.x0+t.x1)/2}))),tt=f.select(\"g.legend\"),et=tt.node().getBoundingClientRect();$+=T._offset,Q+=S._offset-et.height/2;var rt=et.width+2*A;!($+rt<=O)&&$-rt>=0?$-=rt:$+=2*A;var nt=et.height+2*A,at=Q+nt>=D;return nt<=D&&(Q<=z?Q=S._offset+2*A:at&&(Q=D-nt)),tt.attr(\"transform\",\"translate(\"+$+\",\"+Q+\")\"),tt}var it=f.selectAll(\"g.hovertext\").data(t,(function(t){return M(t)}));return it.enter().append(\"g\").classed(\"hovertext\",!0).each((function(){var t=n.select(this);t.append(\"rect\").call(h.fill,h.addOpacity(c,.8)),t.append(\"text\").classed(\"name\",!0),t.append(\"path\").style(\"stroke-width\",\"1px\"),t.append(\"text\").classed(\"nums\",!0).call(u.font,b,_)})),it.exit().remove(),it.each((function(t){var e=n.select(this).attr(\"transform\",\"\"),o=t.bgcolor||t.color,f=h.combine(h.opacity(o)?o:h.defaultLine,c),p=h.combine(h.opacity(t.color)?t.color:h.defaultLine,c),d=t.borderColor||h.contrast(f),g=C(t,R,i,a,L,e),m=g[0],v=g[1],y=e.select(\"text.nums\").call(u.font,t.fontFamily||b,t.fontSize||_,t.fontColor||d).text(m).attr(\"data-notex\",1).call(l.positionText,0,0).call(l.convertToTspans,r),w=e.select(\"text.name\"),T=0,M=0;if(v&&v!==m){w.call(u.font,t.fontFamily||b,t.fontSize||_,p).text(v).attr(\"data-notex\",1).call(l.positionText,0,0).call(l.convertToTspans,r);var S=w.node().getBoundingClientRect();T=S.width+2*A,M=S.height+2*A}else w.remove(),e.select(\"rect\").remove();e.select(\"path\").style({fill:f,stroke:d});var E,P,I=y.node().getBoundingClientRect(),F=t.xa._offset+(t.x0+t.x1)/2,B=t.ya._offset+(t.y0+t.y1)/2,N=Math.abs(t.x1-t.x0),j=Math.abs(t.y1-t.y0),V=I.width+k+A+T;if(t.ty0=z-I.top,t.bx=I.width+2*A,t.by=Math.max(I.height+2*A,M),t.anchor=\"start\",t.txwidth=I.width,t.tx2width=T,t.offset=0,s)t.pos=F,E=B+j/2+V<=D,P=B-j/2-V>=0,\"top\"!==t.idealAlign&&E||!P?E?(B+=j/2,t.anchor=\"start\"):t.anchor=\"middle\":(B-=j/2,t.anchor=\"end\");else if(t.pos=B,E=F+N/2+V<=O,P=F-N/2-V>=0,\"left\"!==t.idealAlign&&E||!P)if(E)F+=N/2,t.anchor=\"start\";else{t.anchor=\"middle\";var U=V/2,q=F+U-O,H=F-U;q>0&&(F-=q),H<0&&(F+=-H)}else F-=N/2,t.anchor=\"end\";y.attr(\"text-anchor\",t.anchor),T&&w.attr(\"text-anchor\",t.anchor),e.attr(\"transform\",\"translate(\"+F+\",\"+B+\")\"+(s?\"rotate(\"+x+\")\":\"\"))})),it}function C(t,e,r,n,a,i){var s=\"\",l=\"\";void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name&&(t.trace._meta&&(t.name=o.templateString(t.name,t.trace._meta)),s=O(t.name,t.nameLength)),void 0!==t.zLabel?(void 0!==t.xLabel&&(l+=\"x: \"+t.xLabel+\"<br>\"),void 0!==t.yLabel&&(l+=\"y: \"+t.yLabel+\"<br>\"),\"choropleth\"!==t.trace.type&&\"choroplethmapbox\"!==t.trace.type&&(l+=(l?\"z: \":\"\")+t.zLabel)):e&&t[r.charAt(0)+\"Label\"]===a?l=t[(\"x\"===r.charAt(0)?\"y\":\"x\")+\"Label\"]||\"\":void 0===t.xLabel?void 0!==t.yLabel&&\"scattercarpet\"!==t.trace.type&&(l=t.yLabel):l=void 0===t.yLabel?t.xLabel:\"(\"+t.xLabel+\", \"+t.yLabel+\")\",!t.text&&0!==t.text||Array.isArray(t.text)||(l+=(l?\"<br>\":\"\")+t.text),void 0!==t.extraText&&(l+=(l?\"<br>\":\"\")+t.extraText),i&&\"\"===l&&!t.hovertemplate&&(\"\"===s&&i.remove(),l=s);var c=n._d3locale,u=t.hovertemplate||!1,h=t.hovertemplateLabels||t,f=t.eventData[0]||{};return u&&(l=(l=o.hovertemplateString(u,h,c,f,t.trace._meta)).replace(S,(function(e,r){return s=O(r,t.nameLength),\"\"}))),[l,s]}function L(t,e){t.each((function(t){var r=n.select(this);if(t.del)return r.remove();var a=r.select(\"text.nums\"),i=t.anchor,o=\"end\"===i?-1:1,s={start:1,end:-1,middle:0}[i],c=s*(k+A),h=c+s*(t.txwidth+A),f=0,p=t.offset;\"middle\"===i&&(c-=t.tx2width/2,h+=t.txwidth/2+A),e&&(p*=-T,f=t.offset*w),r.select(\"path\").attr(\"d\",\"middle\"===i?\"M-\"+(t.bx/2+t.tx2width/2)+\",\"+(p-t.by/2)+\"h\"+t.bx+\"v\"+t.by+\"h-\"+t.bx+\"Z\":\"M0,0L\"+(o*k+f)+\",\"+(k+p)+\"v\"+(t.by/2-k)+\"h\"+o*t.bx+\"v-\"+t.by+\"H\"+(o*k+f)+\"V\"+(p-k)+\"Z\");var d=c+f,g=p+t.ty0-t.by/2+A,m=t.textAlign||\"auto\";\"auto\"!==m&&(\"left\"===m&&\"start\"!==i?(a.attr(\"text-anchor\",\"start\"),d=\"middle\"===i?-t.bx/2-t.tx2width/2+A:-t.bx-A):\"right\"===m&&\"end\"!==i&&(a.attr(\"text-anchor\",\"end\"),d=\"middle\"===i?t.bx/2-t.tx2width/2-A:t.bx+A)),a.call(l.positionText,d,g),t.tx2width&&(r.select(\"text.name\").call(l.positionText,h+s*A+f,p+t.ty0-t.by/2+A),r.select(\"rect\").call(u.setRect,h+(s-1)*t.tx2width/2+f,p-t.by/2-1,t.tx2width,t.by+2))}))}function P(t,e){var r=t.index,n=t.trace||{},i=t.cd[0],s=t.cd[r]||{};function l(t){return t||a(t)&&0===t}var c=Array.isArray(r)?function(t,e){var a=o.castOption(i,r,t);return l(a)?a:o.extractOption({},n,\"\",e)}:function(t,e){return o.extractOption(s,n,t,e)};function u(e,r,n){var a=c(r,n);l(a)&&(t[e]=a)}if(u(\"hoverinfo\",\"hi\",\"hoverinfo\"),u(\"bgcolor\",\"hbg\",\"hoverlabel.bgcolor\"),u(\"borderColor\",\"hbc\",\"hoverlabel.bordercolor\"),u(\"fontFamily\",\"htf\",\"hoverlabel.font.family\"),u(\"fontSize\",\"hts\",\"hoverlabel.font.size\"),u(\"fontColor\",\"htc\",\"hoverlabel.font.color\"),u(\"nameLength\",\"hnl\",\"hoverlabel.namelength\"),u(\"textAlign\",\"hta\",\"hoverlabel.align\"),t.posref=\"y\"===e||\"closest\"===e&&\"h\"===n.orientation?t.xa._offset+(t.x0+t.x1)/2:t.ya._offset+(t.y0+t.y1)/2,t.x0=o.constrain(t.x0,0,t.xa._length),t.x1=o.constrain(t.x1,0,t.xa._length),t.y0=o.constrain(t.y0,0,t.ya._length),t.y1=o.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&&(t.xLabel=\"xLabel\"in t?t.xLabel:p.hoverLabelText(t.xa,t.xLabelVal),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel=\"yLabel\"in t?t.yLabel:p.hoverLabelText(t.ya,t.yLabelVal),t.yVal=t.ya.c2d(t.yLabelVal)),void 0!==t.zLabelVal&&void 0===t.zLabel&&(t.zLabel=String(t.zLabelVal)),!(isNaN(t.xerr)||\"log\"===t.xa.type&&t.xerr<=0)){var h=p.tickText(t.xa,t.xa.c2l(t.xerr),\"hover\").text;void 0!==t.xerrneg?t.xLabel+=\" +\"+h+\" / -\"+p.tickText(t.xa,t.xa.c2l(t.xerrneg),\"hover\").text:t.xLabel+=\" \\xb1 \"+h,\"x\"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||\"log\"===t.ya.type&&t.yerr<=0)){var f=p.tickText(t.ya,t.ya.c2l(t.yerr),\"hover\").text;void 0!==t.yerrneg?t.yLabel+=\" +\"+f+\" / -\"+p.tickText(t.ya,t.ya.c2l(t.yerrneg),\"hover\").text:t.yLabel+=\" \\xb1 \"+f,\"y\"===e&&(t.distance+=1)}var d=t.hoverinfo||t.trace.hoverinfo;return d&&\"all\"!==d&&(-1===(d=Array.isArray(d)?d:d.split(\"+\")).indexOf(\"x\")&&(t.xLabel=void 0),-1===d.indexOf(\"y\")&&(t.yLabel=void 0),-1===d.indexOf(\"z\")&&(t.zLabel=void 0),-1===d.indexOf(\"text\")&&(t.text=void 0),-1===d.indexOf(\"name\")&&(t.name=void 0)),t}function I(t,e,r){var n,a,o=r.container,s=r.fullLayout,l=s._size,c=r.event,f=!!e.hLinePoint,d=!!e.vLinePoint;if(o.selectAll(\".spikeline\").remove(),d||f){var g=h.combine(s.plot_bgcolor,s.paper_bgcolor);if(f){var m,v,y=e.hLinePoint;n=y&&y.xa,\"cursor\"===(a=y&&y.ya).spikesnap?(m=c.pointerX,v=c.pointerY):(m=n._offset+y.x,v=a._offset+y.y);var x,b,_=i.readability(y.color,g)<1.5?h.contrast(g):y.color,w=a.spikemode,T=a.spikethickness,k=a.spikecolor||_,A=p.getPxPosition(t,a);if(-1!==w.indexOf(\"toaxis\")||-1!==w.indexOf(\"across\")){if(-1!==w.indexOf(\"toaxis\")&&(x=A,b=m),-1!==w.indexOf(\"across\")){var M=a._counterDomainMin,S=a._counterDomainMax;\"free\"===a.anchor&&(M=Math.min(M,a.position),S=Math.max(S,a.position)),x=l.l+M*l.w,b=l.l+S*l.w}o.insert(\"line\",\":first-child\").attr({x1:x,x2:b,y1:v,y2:v,\"stroke-width\":T,stroke:k,\"stroke-dasharray\":u.dashStyle(a.spikedash,T)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),o.insert(\"line\",\":first-child\").attr({x1:x,x2:b,y1:v,y2:v,\"stroke-width\":T+2,stroke:g}).classed(\"spikeline\",!0).classed(\"crisp\",!0)}-1!==w.indexOf(\"marker\")&&o.insert(\"circle\",\":first-child\").attr({cx:A+(\"right\"!==a.side?T:-T),cy:v,r:T,fill:k}).classed(\"spikeline\",!0)}if(d){var E,C,L=e.vLinePoint;n=L&&L.xa,a=L&&L.ya,\"cursor\"===n.spikesnap?(E=c.pointerX,C=c.pointerY):(E=n._offset+L.x,C=a._offset+L.y);var P,I,z=i.readability(L.color,g)<1.5?h.contrast(g):L.color,O=n.spikemode,D=n.spikethickness,R=n.spikecolor||z,F=p.getPxPosition(t,n);if(-1!==O.indexOf(\"toaxis\")||-1!==O.indexOf(\"across\")){if(-1!==O.indexOf(\"toaxis\")&&(P=F,I=C),-1!==O.indexOf(\"across\")){var B=n._counterDomainMin,N=n._counterDomainMax;\"free\"===n.anchor&&(B=Math.min(B,n.position),N=Math.max(N,n.position)),P=l.t+(1-N)*l.h,I=l.t+(1-B)*l.h}o.insert(\"line\",\":first-child\").attr({x1:E,x2:E,y1:P,y2:I,\"stroke-width\":D,stroke:R,\"stroke-dasharray\":u.dashStyle(n.spikedash,D)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),o.insert(\"line\",\":first-child\").attr({x1:E,x2:E,y1:P,y2:I,\"stroke-width\":D+2,stroke:g}).classed(\"spikeline\",!0).classed(\"crisp\",!0)}-1!==O.indexOf(\"marker\")&&o.insert(\"circle\",\":first-child\").attr({cx:E,cy:F-(\"top\"!==n.side?D:-D),r:D,fill:R}).classed(\"spikeline\",!0)}}}function z(t,e){return!e||(e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint)}function O(t,e){return l.plainText(t||\"\",{len:e,allowedTags:[\"br\",\"sub\",\"sup\",\"b\",\"i\",\"em\"]})}},{\"../../lib\":728,\"../../lib/events\":718,\"../../lib/override_cursor\":739,\"../../lib/svg_text_utils\":752,\"../../plots/cartesian/axes\":776,\"../../registry\":859,\"../color\":595,\"../dragelement\":614,\"../drawing\":617,\"../legend/defaults\":647,\"../legend/draw\":648,\"./constants\":629,\"./helpers\":631,d3:164,\"fast-isnumeric\":236,tinycolor2:528}],633:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../color\"),i=t(\"./helpers\").isUnifiedHover;e.exports=function(t,e,r,o){function s(t){o.font[t]||(o.font[t]=e.legend?e.legend.font[t]:e.font[t])}o=o||{},e&&i(e.hovermode)&&(o.font||(o.font={}),s(\"size\"),s(\"family\"),s(\"color\"),e.legend?(o.bgcolor||(o.bgcolor=a.combine(e.legend.bgcolor,e.paper_bgcolor)),o.bordercolor||(o.bordercolor=e.legend.bordercolor)):o.bgcolor||(o.bgcolor=e.paper_bgcolor)),r(\"hoverlabel.bgcolor\",o.bgcolor),r(\"hoverlabel.bordercolor\",o.bordercolor),r(\"hoverlabel.namelength\",o.namelength),n.coerceFont(r,\"hoverlabel.font\",o.font),r(\"hoverlabel.align\",o.align)}},{\"../../lib\":728,\"../color\":595,\"./helpers\":631}],634:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"./layout_attributes\");e.exports=function(t,e,r){function i(r,i){return void 0!==e[r]?e[r]:n.coerce(t,e,a,r,i)}var o,s=i(\"clickmode\");return e._has(\"cartesian\")?s.indexOf(\"select\")>-1?o=\"closest\":(e._isHoriz=function(t,e){for(var r=e._scatterStackOpts||{},n=0;n<t.length;n++){var a=t[n],i=a.xaxis+a.yaxis,o=(r[i]||{})[a.stackgroup]||{};if(\"h\"!==a.orientation&&\"h\"!==o.orientation)return!1}return!0}(r,e),o=e._isHoriz?\"y\":\"x\"):o=\"closest\",i(\"hovermode\",o)}},{\"../../lib\":728,\"./layout_attributes\":636}],635:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../lib\"),i=t(\"../dragelement\"),o=t(\"./helpers\"),s=t(\"./layout_attributes\"),l=t(\"./hover\");e.exports={moduleType:\"component\",name:\"fx\",constants:t(\"./constants\"),schema:{layout:s},attributes:t(\"./attributes\"),layoutAttributes:s,supplyLayoutGlobalDefaults:t(\"./layout_global_defaults\"),supplyDefaults:t(\"./defaults\"),supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\"),getDistanceFunction:o.getDistanceFunction,getClosest:o.getClosest,inbox:o.inbox,quadrature:o.quadrature,appendArrayPointValue:o.appendArrayPointValue,castHoverOption:function(t,e,r){return a.castOption(t,e,\"hoverlabel.\"+r)},castHoverinfo:function(t,e,r){return a.castOption(t,r,\"hoverinfo\",(function(r){return a.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)}))},hover:l.hover,unhover:i.unhover,loneHover:l.loneHover,loneUnhover:function(t){var e=a.isD3Selection(t)?t:n.select(t);e.selectAll(\"g.hovertext\").remove(),e.selectAll(\".spikeline\").remove()},click:t(\"./click\")}},{\"../../lib\":728,\"../dragelement\":614,\"./attributes\":626,\"./calc\":627,\"./click\":628,\"./constants\":629,\"./defaults\":630,\"./helpers\":631,\"./hover\":632,\"./layout_attributes\":636,\"./layout_defaults\":637,\"./layout_global_defaults\":638,d3:164}],636:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),a=t(\"../../plots/font_attributes\")({editType:\"none\"});a.family.dflt=n.HOVERFONT,a.size.dflt=n.HOVERFONTSIZE,e.exports={clickmode:{valType:\"flaglist\",flags:[\"event\",\"select\"],dflt:\"event\",editType:\"plot\",extras:[\"none\"]},dragmode:{valType:\"enumerated\",values:[\"zoom\",\"pan\",\"select\",\"lasso\",\"drawclosedpath\",\"drawopenpath\",\"drawline\",\"drawrect\",\"drawcircle\",\"orbit\",\"turntable\",!1],dflt:\"zoom\",editType:\"modebar\"},hovermode:{valType:\"enumerated\",values:[\"x\",\"y\",\"closest\",!1,\"x unified\",\"y unified\"],editType:\"modebar\"},hoverdistance:{valType:\"integer\",min:-1,dflt:20,editType:\"none\"},spikedistance:{valType:\"integer\",min:-1,dflt:20,editType:\"none\"},hoverlabel:{bgcolor:{valType:\"color\",editType:\"none\"},bordercolor:{valType:\"color\",editType:\"none\"},font:a,align:{valType:\"enumerated\",values:[\"left\",\"right\",\"auto\"],dflt:\"auto\",editType:\"none\"},namelength:{valType:\"integer\",min:-1,dflt:15,editType:\"none\"},editType:\"none\"},selectdirection:{valType:\"enumerated\",values:[\"h\",\"v\",\"d\",\"any\"],dflt:\"any\",editType:\"none\"}}},{\"../../plots/font_attributes\":804,\"./constants\":629}],637:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"./helpers\").isUnifiedHover,i=t(\"./layout_attributes\"),o=t(\"./hovermode_defaults\"),s=t(\"./hoverlabel_defaults\");e.exports=function(t,e,r){function l(r,a){return n.coerce(t,e,i,r,a)}var c=o(t,e,r);c&&(l(\"hoverdistance\"),l(\"spikedistance\",a(c)?-1:void 0)),\"select\"===l(\"dragmode\")&&l(\"selectdirection\");var u=e._has(\"mapbox\"),h=e._has(\"geo\"),f=e._basePlotModules.length;\"zoom\"===e.dragmode&&((u||h)&&1===f||u&&h&&2===f)&&(e.dragmode=\"pan\"),s(t,e,l)}},{\"../../lib\":728,\"./helpers\":631,\"./hoverlabel_defaults\":633,\"./hovermode_defaults\":634,\"./layout_attributes\":636}],638:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"./hoverlabel_defaults\"),i=t(\"./layout_attributes\");e.exports=function(t,e){a(t,e,(function(r,a){return n.coerce(t,e,i,r,a)}))}},{\"../../lib\":728,\"./hoverlabel_defaults\":633,\"./layout_attributes\":636}],639:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../lib/regex\").counter,i=t(\"../../plots/domain\").attributes,o=t(\"../../plots/cartesian/constants\").idRegex,s=t(\"../../plot_api/plot_template\"),l={rows:{valType:\"integer\",min:1,editType:\"plot\"},roworder:{valType:\"enumerated\",values:[\"top to bottom\",\"bottom to top\"],dflt:\"top to bottom\",editType:\"plot\"},columns:{valType:\"integer\",min:1,editType:\"plot\"},subplots:{valType:\"info_array\",freeLength:!0,dimensions:2,items:{valType:\"enumerated\",values:[a(\"xy\").toString(),\"\"],editType:\"plot\"},editType:\"plot\"},xaxes:{valType:\"info_array\",freeLength:!0,items:{valType:\"enumerated\",values:[o.x.toString(),\"\"],editType:\"plot\"},editType:\"plot\"},yaxes:{valType:\"info_array\",freeLength:!0,items:{valType:\"enumerated\",values:[o.y.toString(),\"\"],editType:\"plot\"},editType:\"plot\"},pattern:{valType:\"enumerated\",values:[\"independent\",\"coupled\"],dflt:\"coupled\",editType:\"plot\"},xgap:{valType:\"number\",min:0,max:1,editType:\"plot\"},ygap:{valType:\"number\",min:0,max:1,editType:\"plot\"},domain:i({name:\"grid\",editType:\"plot\",noGridCell:!0},{}),xside:{valType:\"enumerated\",values:[\"bottom\",\"bottom plot\",\"top plot\",\"top\"],dflt:\"bottom plot\",editType:\"plot\"},yside:{valType:\"enumerated\",values:[\"left\",\"left plot\",\"right plot\",\"right\"],dflt:\"left plot\",editType:\"plot\"},editType:\"plot\"};function c(t,e,r){var n=e[r+\"axes\"],a=Object.keys((t._splomAxes||{})[r]||{});return Array.isArray(n)?n:a.length?a:void 0}function u(t,e,r,n,a,i){var o=e(t+\"gap\",r),s=e(\"domain.\"+t);e(t+\"side\",n);for(var l=new Array(a),c=s[0],u=(s[1]-c)/(a-o),h=u*(1-o),f=0;f<a;f++){var p=c+u*f;l[i?a-1-f:f]=[p,p+h]}return l}function h(t,e,r,n,a){var i,o=new Array(r);function s(t,r){-1!==e.indexOf(r)&&void 0===n[r]?(o[t]=r,n[r]=t):o[t]=\"\"}if(Array.isArray(t))for(i=0;i<r;i++)s(i,t[i]);else for(s(0,a),i=1;i<r;i++)s(i,a+(i+1));return o}e.exports={moduleType:\"component\",name:\"grid\",schema:{layout:{grid:l}},layoutAttributes:l,sizeDefaults:function(t,e){var r=t.grid||{},a=c(e,r,\"x\"),i=c(e,r,\"y\");if(t.grid||a||i){var o,h,f=Array.isArray(r.subplots)&&Array.isArray(r.subplots[0]),p=Array.isArray(a),d=Array.isArray(i),g=p&&a!==r.xaxes&&d&&i!==r.yaxes;f?(o=r.subplots.length,h=r.subplots[0].length):(d&&(o=i.length),p&&(h=a.length));var m=s.newContainer(e,\"grid\"),v=k(\"rows\",o),y=k(\"columns\",h);if(v*y>1){if(!f&&!p&&!d)\"independent\"===k(\"pattern\")&&(f=!0);m._hasSubplotGrid=f;var x,b,_=\"top to bottom\"===k(\"roworder\"),w=f?.2:.1,T=f?.3:.1;g&&e._splomGridDflt&&(x=e._splomGridDflt.xside,b=e._splomGridDflt.yside),m._domains={x:u(\"x\",k,w,x,y),y:u(\"y\",k,T,b,v,_)}}else delete e.grid}function k(t,e){return n.coerce(r,m,l,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,a,i,o,s,l,u,f=t.grid||{},p=e._subplots,d=r._hasSubplotGrid,g=r.rows,m=r.columns,v=\"independent\"===r.pattern,y=r._axisMap={};if(d){var x=f.subplots||[];l=r.subplots=new Array(g);var b=1;for(n=0;n<g;n++){var _=l[n]=new Array(m),w=x[n]||[];for(a=0;a<m;a++)if(v?(s=1===b?\"xy\":\"x\"+b+\"y\"+b,b++):s=w[a],_[a]=\"\",-1!==p.cartesian.indexOf(s)){if(u=s.indexOf(\"y\"),i=s.slice(0,u),o=s.slice(u),void 0!==y[i]&&y[i]!==a||void 0!==y[o]&&y[o]!==n)continue;_[a]=s,y[i]=a,y[o]=n}}}else{var T=c(e,f,\"x\"),k=c(e,f,\"y\");r.xaxes=h(T,p.xaxis,m,y,\"x\"),r.yaxes=h(k,p.yaxis,g,y,\"y\")}var A=r._anchors={},M=\"top to bottom\"===r.roworder;for(var S in y){var E,C,L,P=S.charAt(0),I=r[P+\"side\"];if(I.length<8)A[S]=\"free\";else if(\"x\"===P){if(\"t\"===I.charAt(0)===M?(E=0,C=1,L=g):(E=g-1,C=-1,L=-1),d){var z=y[S];for(n=E;n!==L;n+=C)if((s=l[n][z])&&(u=s.indexOf(\"y\"),s.slice(0,u)===S)){A[S]=s.slice(u);break}}else for(n=E;n!==L;n+=C)if(o=r.yaxes[n],-1!==p.cartesian.indexOf(S+o)){A[S]=o;break}}else if(\"l\"===I.charAt(0)?(E=0,C=1,L=m):(E=m-1,C=-1,L=-1),d){var O=y[S];for(n=E;n!==L;n+=C)if((s=l[O][n])&&(u=s.indexOf(\"y\"),s.slice(u)===S)){A[S]=s.slice(0,u);break}}else for(n=E;n!==L;n+=C)if(i=r.xaxes[n],-1!==p.cartesian.indexOf(i+S)){A[S]=i;break}}}}}},{\"../../lib\":728,\"../../lib/regex\":744,\"../../plot_api/plot_template\":766,\"../../plots/cartesian/constants\":782,\"../../plots/domain\":803}],640:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/constants\"),a=t(\"../../plot_api/plot_template\").templatedArray;e.exports=a(\"image\",{visible:{valType:\"boolean\",dflt:!0,editType:\"arraydraw\"},source:{valType:\"string\",editType:\"arraydraw\"},layer:{valType:\"enumerated\",values:[\"below\",\"above\"],dflt:\"above\",editType:\"arraydraw\"},sizex:{valType:\"number\",dflt:0,editType:\"arraydraw\"},sizey:{valType:\"number\",dflt:0,editType:\"arraydraw\"},sizing:{valType:\"enumerated\",values:[\"fill\",\"contain\",\"stretch\"],dflt:\"contain\",editType:\"arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"arraydraw\"},x:{valType:\"any\",dflt:0,editType:\"arraydraw\"},y:{valType:\"any\",dflt:0,editType:\"arraydraw\"},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"arraydraw\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"top\",editType:\"arraydraw\"},xref:{valType:\"enumerated\",values:[\"paper\",n.idRegex.x.toString()],dflt:\"paper\",editType:\"arraydraw\"},yref:{valType:\"enumerated\",values:[\"paper\",n.idRegex.y.toString()],dflt:\"paper\",editType:\"arraydraw\"},editType:\"arraydraw\"})},{\"../../plot_api/plot_template\":766,\"../../plots/cartesian/constants\":782}],641:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"../../lib/to_log_range\");e.exports=function(t,e,r,i){e=e||{};var o=\"log\"===r&&\"linear\"===e.type,s=\"linear\"===r&&\"log\"===e.type;if(o||s)for(var l,c,u=t._fullLayout.images,h=e._id.charAt(0),f=0;f<u.length;f++)if(c=\"images[\"+f+\"].\",(l=u[f])[h+\"ref\"]===e._id){var p=l[h],d=l[\"size\"+h],g=null,m=null;if(o){g=a(p,e.range);var v=d/Math.pow(10,g)/2;m=2*Math.log(v+Math.sqrt(1+v*v))/Math.LN10}else m=(g=Math.pow(10,p))*(Math.pow(10,d/2)-Math.pow(10,-d/2));n(g)?n(m)||(m=null):(g=null,m=null),i(c+h,g),i(c+\"size\"+h,m)}}},{\"../../lib/to_log_range\":754,\"fast-isnumeric\":236}],642:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),i=t(\"../../plots/array_container_defaults\"),o=t(\"./attributes\");function s(t,e,r){function i(r,a){return n.coerce(t,e,o,r,a)}var s=i(\"source\");if(!i(\"visible\",!!s))return e;i(\"layer\"),i(\"xanchor\"),i(\"yanchor\"),i(\"sizex\"),i(\"sizey\"),i(\"sizing\"),i(\"opacity\");for(var l={_fullLayout:r},c=[\"x\",\"y\"],u=0;u<2;u++){var h=c[u],f=a.coerceRef(t,e,l,h,\"paper\");if(\"paper\"!==f)a.getFromId(l,f)._imgIndices.push(e._index);a.coercePosition(e,l,i,f,h,0)}return e}e.exports=function(t,e){i(t,e,{name:\"images\",handleItemDefaults:s})}},{\"../../lib\":728,\"../../plots/array_container_defaults\":772,\"../../plots/cartesian/axes\":776,\"./attributes\":640}],643:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../drawing\"),i=t(\"../../plots/cartesian/axes\"),o=t(\"../../constants/xmlns_namespaces\");e.exports=function(t){var e,r,s=t._fullLayout,l=[],c={},u=[];for(r=0;r<s.images.length;r++){var h=s.images[r];if(h.visible)if(\"below\"===h.layer&&\"paper\"!==h.xref&&\"paper\"!==h.yref){e=h.xref+h.yref;var f=s._plots[e];if(!f){u.push(h);continue}f.mainplot&&(e=f.mainplot.id),c[e]||(c[e]=[]),c[e].push(h)}else\"above\"===h.layer?l.push(h):u.push(h)}var p={left:{sizing:\"xMin\",offset:0},center:{sizing:\"xMid\",offset:-.5},right:{sizing:\"xMax\",offset:-1}},d={top:{sizing:\"YMin\",offset:0},middle:{sizing:\"YMid\",offset:-.5},bottom:{sizing:\"YMax\",offset:-1}};function g(e){var r=n.select(this);if(this._imgSrc!==e.source)if(r.attr(\"xmlns\",o.svg),e.source&&\"data:\"===e.source.slice(0,5))r.attr(\"xlink:href\",e.source),this._imgSrc=e.source;else{var a=new Promise(function(t){var n=new Image;function a(){r.remove(),t()}this.img=n,n.setAttribute(\"crossOrigin\",\"anonymous\"),n.onerror=a,n.onload=function(){var e=document.createElement(\"canvas\");e.width=this.width,e.height=this.height,e.getContext(\"2d\").drawImage(this,0,0);var n=e.toDataURL(\"image/png\");r.attr(\"xlink:href\",n),t()},r.on(\"error\",a),n.src=e.source,this._imgSrc=e.source}.bind(this));t._promises.push(a)}}function m(e){var r=n.select(this),o=i.getFromId(t,e.xref),l=i.getFromId(t,e.yref),c=s._size,u=o?Math.abs(o.l2p(e.sizex)-o.l2p(0)):e.sizex*c.w,h=l?Math.abs(l.l2p(e.sizey)-l.l2p(0)):e.sizey*c.h,f=u*p[e.xanchor].offset,g=h*d[e.yanchor].offset,m=p[e.xanchor].sizing+d[e.yanchor].sizing,v=(o?o.r2p(e.x)+o._offset:e.x*c.w+c.l)+f,y=(l?l.r2p(e.y)+l._offset:c.h-e.y*c.h+c.t)+g;switch(e.sizing){case\"fill\":m+=\" slice\";break;case\"stretch\":m=\"none\"}r.attr({x:v,y:y,width:u,height:h,preserveAspectRatio:m,opacity:e.opacity});var x=(o?o._id:\"\")+(l?l._id:\"\");a.setClipUrl(r,x?\"clip\"+s._uid+x:null,t)}var v=s._imageLowerLayer.selectAll(\"image\").data(u),y=s._imageUpperLayer.selectAll(\"image\").data(l);v.enter().append(\"image\"),y.enter().append(\"image\"),v.exit().remove(),y.exit().remove(),v.each((function(t){g.bind(this)(t),m.bind(this)(t)})),y.each((function(t){g.bind(this)(t),m.bind(this)(t)}));var x=Object.keys(s._plots);for(r=0;r<x.length;r++){e=x[r];var b=s._plots[e];if(b.imagelayer){var _=b.imagelayer.selectAll(\"image\").data(c[e]||[]);_.enter().append(\"image\"),_.exit().remove(),_.each((function(t){g.bind(this)(t),m.bind(this)(t)}))}}}},{\"../../constants/xmlns_namespaces\":705,\"../../plots/cartesian/axes\":776,\"../drawing\":617,d3:164}],644:[function(t,e,r){\"use strict\";e.exports={moduleType:\"component\",name:\"images\",layoutAttributes:t(\"./attributes\"),supplyLayoutDefaults:t(\"./defaults\"),includeBasePlot:t(\"../../plots/cartesian/include_components\")(\"images\"),draw:t(\"./draw\"),convertCoords:t(\"./convert_coords\")}},{\"../../plots/cartesian/include_components\":788,\"./attributes\":640,\"./convert_coords\":641,\"./defaults\":642,\"./draw\":643}],645:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),a=t(\"../color/attributes\");e.exports={bgcolor:{valType:\"color\",editType:\"legend\"},bordercolor:{valType:\"color\",dflt:a.defaultLine,editType:\"legend\"},borderwidth:{valType:\"number\",min:0,dflt:0,editType:\"legend\"},font:n({editType:\"legend\"}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"v\",editType:\"legend\"},traceorder:{valType:\"flaglist\",flags:[\"reversed\",\"grouped\"],extras:[\"normal\"],editType:\"legend\"},tracegroupgap:{valType:\"number\",min:0,dflt:10,editType:\"legend\"},itemsizing:{valType:\"enumerated\",values:[\"trace\",\"constant\"],dflt:\"trace\",editType:\"legend\"},itemclick:{valType:\"enumerated\",values:[\"toggle\",\"toggleothers\",!1],dflt:\"toggle\",editType:\"legend\"},itemdoubleclick:{valType:\"enumerated\",values:[\"toggle\",\"toggleothers\",!1],dflt:\"toggleothers\",editType:\"legend\"},x:{valType:\"number\",min:-2,max:3,editType:\"legend\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"legend\"},y:{valType:\"number\",min:-2,max:3,editType:\"legend\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],editType:\"legend\"},uirevision:{valType:\"any\",editType:\"none\"},valign:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"middle\",editType:\"legend\"},title:{text:{valType:\"string\",dflt:\"\",editType:\"legend\"},font:n({editType:\"legend\"}),side:{valType:\"enumerated\",values:[\"top\",\"left\",\"top left\"],editType:\"legend\"},editType:\"legend\"},editType:\"legend\"}},{\"../../plots/font_attributes\":804,\"../color/attributes\":594}],646:[function(t,e,r){\"use strict\";e.exports={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:\"#808BA4\",scrollBarMargin:4,scrollBarEnterAttrs:{rx:20,ry:3,width:0,height:0},titlePad:2,textGap:40,itemGap:5}},{}],647:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),a=t(\"../../lib\"),i=t(\"../../plot_api/plot_template\"),o=t(\"./attributes\"),s=t(\"../../plots/layout_attributes\"),l=t(\"./helpers\");e.exports=function(t,e,r){for(var c=t.legend||{},u=0,h=!1,f=\"normal\",p=0;p<r.length;p++){var d=r[p];d.visible&&((d.showlegend||d._dfltShowLegend&&!(d._module&&d._module.attributes&&d._module.attributes.showlegend&&!1===d._module.attributes.showlegend.dflt))&&(u++,d.showlegend&&(h=!0,(n.traceIs(d,\"pie-like\")||!0===d._input.showlegend)&&u++)),(n.traceIs(d,\"bar\")&&\"stack\"===e.barmode||-1!==[\"tonextx\",\"tonexty\"].indexOf(d.fill))&&(f=l.isGrouped({traceorder:f})?\"grouped+reversed\":\"reversed\"),void 0!==d.legendgroup&&\"\"!==d.legendgroup&&(f=l.isReversed({traceorder:f})?\"reversed+grouped\":\"grouped\"))}var g=a.coerce(t,e,s,\"showlegend\",h&&u>1);if(!1!==g||c.uirevision){var m=i.newContainer(e,\"legend\");if(_(\"uirevision\",e.uirevision),!1!==g){_(\"bgcolor\",e.paper_bgcolor),_(\"bordercolor\"),_(\"borderwidth\"),a.coerceFont(_,\"font\",e.font);var v,y,x,b=_(\"orientation\");\"h\"===b?(v=0,n.getComponentMethod(\"rangeslider\",\"isVisible\")(t.xaxis)?(y=1.1,x=\"bottom\"):(y=-.1,x=\"top\")):(v=1.02,y=1,x=\"auto\"),_(\"traceorder\",f),l.isGrouped(e.legend)&&_(\"tracegroupgap\"),_(\"itemsizing\"),_(\"itemclick\"),_(\"itemdoubleclick\"),_(\"x\",v),_(\"xanchor\"),_(\"y\",y),_(\"yanchor\",x),_(\"valign\"),a.noneOrAll(c,m,[\"x\",\"y\"]),_(\"title.text\")&&(_(\"title.side\",\"h\"===b?\"left\":\"top\"),a.coerceFont(_,\"title.font\",e.font))}}function _(t,e){return a.coerce(c,m,o,t,e)}}},{\"../../lib\":728,\"../../plot_api/plot_template\":766,\"../../plots/layout_attributes\":830,\"../../registry\":859,\"./attributes\":645,\"./helpers\":651}],648:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../lib\"),i=t(\"../../plots/plots\"),o=t(\"../../registry\"),s=t(\"../../lib/events\"),l=t(\"../dragelement\"),c=t(\"../drawing\"),u=t(\"../color\"),h=t(\"../../lib/svg_text_utils\"),f=t(\"./handle_click\"),p=t(\"./constants\"),d=t(\"../../constants/alignment\"),g=d.LINE_SPACING,m=d.FROM_TL,v=d.FROM_BR,y=t(\"./get_legend_data\"),x=t(\"./style\"),b=t(\"./helpers\");function _(t,e,r,n,a){var i=r.data()[0][0].trace,l={event:a,node:r.node(),curveNumber:i.index,expandedIndex:i._expandedIndex,data:t.data,layout:t.layout,frames:t._transitionData._frames,config:t._context,fullData:t._fullData,fullLayout:t._fullLayout};if(i._group&&(l.group=i._group),o.traceIs(i,\"pie-like\")&&(l.label=r.datum()[0].label),!1!==s.triggerHandler(t,\"plotly_legendclick\",l))if(1===n)e._clickTimeout=setTimeout((function(){f(r,t,n)}),t._context.doubleClickDelay);else if(2===n){e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==s.triggerHandler(t,\"plotly_legenddoubleclick\",l)&&f(r,t,n)}}function w(t,e,r){var n,i=t.data()[0][0],s=i.trace,l=o.traceIs(s,\"pie-like\"),u=s.index,f=r._main&&e._context.edits.legendText&&!l,d=r._maxNameLength;r.entries?n=i.text:(n=l?i.label:s.name,s._meta&&(n=a.templateString(n,s._meta)));var g=a.ensureSingle(t,\"text\",\"legendtext\");g.attr(\"text-anchor\",\"start\").classed(\"user-select-none\",!0).call(c.font,r.font).text(f?T(n,d):n),h.positionText(g,p.textGap,0),f?g.call(h.makeEditable,{gd:e,text:n}).call(A,t,e,r).on(\"edit\",(function(n){this.text(T(n,d)).call(A,t,e,r);var s=i.trace._fullInput||{},l={};if(o.hasTransform(s,\"groupby\")){var c=o.getTransformIndices(s,\"groupby\"),h=c[c.length-1],f=a.keyedContainer(s,\"transforms[\"+h+\"].styles\",\"target\",\"value.name\");f.set(i.trace._group,n),l=f.constructUpdate()}else l.name=n;return o.call(\"_guiRestyle\",e,l,u)})):A(g,t,e,r)}function T(t,e){var r=Math.max(4,e);if(t&&t.trim().length>=r/2)return t;for(var n=r-(t=t||\"\").length;n>0;n--)t+=\" \";return t}function k(t,e){var r,i=e._context.doubleClickDelay,o=1,s=a.ensureSingle(t,\"rect\",\"legendtoggle\",(function(t){t.style(\"cursor\",\"pointer\").attr(\"pointer-events\",\"all\").call(u.fill,\"rgba(0,0,0,0)\")}));s.on(\"mousedown\",(function(){(r=(new Date).getTime())-e._legendMouseDownTime<i?o+=1:(o=1,e._legendMouseDownTime=r)})),s.on(\"mouseup\",(function(){if(!e._dragged&&!e._editing){var r=e._fullLayout.legend;(new Date).getTime()-e._legendMouseDownTime>i&&(o=Math.max(o-1,1)),_(e,r,t,o,n.event)}}))}function A(t,e,r,n){n._main||t.attr(\"data-notex\",!0),h.convertToTspans(t,r,(function(){!function(t,e,r){var n=t.data()[0][0];if(r._main&&n&&!n.trace.showlegend)return void t.remove();var a=t.select(\"g[class*=math-group]\"),i=a.node();r||(r=e._fullLayout.legend);var o,s,l=r.borderwidth,u=(n?r:r.title).font.size*g;if(i){var f=c.bBox(i);o=f.height,s=f.width,n?c.setTranslate(a,0,.25*o):c.setTranslate(a,l,.75*o+l)}else{var d=t.select(n?\".legendtext\":\".legendtitletext\"),m=h.lineCount(d),v=d.node();o=u*m,s=v?c.bBox(v).width:0;var y=u*((m-1)/2-.3);n?h.positionText(d,p.textGap,-y):h.positionText(d,p.titlePad+l,u+l)}n?(n.lineHeight=u,n.height=Math.max(o,16)+3,n.width=s):(r._titleWidth=s,r._titleHeight=o)}(e,r,n)}))}function M(t){return a.isRightAnchor(t)?\"right\":a.isCenterAnchor(t)?\"center\":\"left\"}function S(t){return a.isBottomAnchor(t)?\"bottom\":a.isMiddleAnchor(t)?\"middle\":\"top\"}e.exports=function(t,e){var r,s=t._fullLayout,h=\"legend\"+s._uid;if(e?(r=e.layer,h+=\"-hover\"):((e=s.legend||{})._main=!0,r=s._infolayer),r){var f;if(t._legendMouseDownTime||(t._legendMouseDownTime=0),e._main){if(!t.calcdata)return;f=s.showlegend&&y(t.calcdata,e)}else{if(!e.entries)return;f=y(e.entries,e)}var d=s.hiddenlabels||[];if(e._main&&(!s.showlegend||!f.length))return r.selectAll(\".legend\").remove(),s._topdefs.select(\"#\"+h).remove(),i.autoMargin(t,\"legend\");var g=a.ensureSingle(r,\"g\",\"legend\",(function(t){e._main&&t.attr(\"pointer-events\",\"all\")})),T=a.ensureSingleById(s._topdefs,\"clipPath\",h,(function(t){t.append(\"rect\")})),E=a.ensureSingle(g,\"rect\",\"bg\",(function(t){t.attr(\"shape-rendering\",\"crispEdges\")}));E.call(u.stroke,e.bordercolor).call(u.fill,e.bgcolor).style(\"stroke-width\",e.borderwidth+\"px\");var C=a.ensureSingle(g,\"g\",\"scrollbox\"),L=e.title;if(e._titleWidth=0,e._titleHeight=0,L.text){var P=a.ensureSingle(C,\"text\",\"legendtitletext\");P.attr(\"text-anchor\",\"start\").classed(\"user-select-none\",!0).call(c.font,L.font).text(L.text),A(P,C,t,e)}else C.selectAll(\".legendtitletext\").remove();var I=a.ensureSingle(g,\"rect\",\"scrollbar\",(function(t){t.attr(p.scrollBarEnterAttrs).call(u.fill,p.scrollBarColor)})),z=C.selectAll(\"g.groups\").data(f);z.enter().append(\"g\").attr(\"class\",\"groups\"),z.exit().remove();var O=z.selectAll(\"g.traces\").data(a.identity);O.enter().append(\"g\").attr(\"class\",\"traces\"),O.exit().remove(),O.style(\"opacity\",(function(t){var e=t[0].trace;return o.traceIs(e,\"pie-like\")?-1!==d.indexOf(t[0].label)?.5:1:\"legendonly\"===e.visible?.5:1})).each((function(){n.select(this).call(w,t,e)})).call(x,t,e).each((function(){e._main&&n.select(this).call(k,t)})),a.syncOrAsync([i.previousPromises,function(){return function(t,e,r,a){var i=t._fullLayout;a||(a=i.legend);var o=i._size,s=b.isVertical(a),l=b.isGrouped(a),u=a.borderwidth,h=2*u,f=p.textGap,d=p.itemGap,g=2*(u+d),m=S(a),v=a.y<0||0===a.y&&\"top\"===m,y=a.y>1||1===a.y&&\"bottom\"===m;a._maxHeight=Math.max(v||y?i.height/2:o.h,30);var x=0;a._width=0,a._height=0;var _=function(t){var e=0,r=0,n=t.title.side;n&&(-1!==n.indexOf(\"left\")&&(e=t._titleWidth),-1!==n.indexOf(\"top\")&&(r=t._titleHeight));return[e,r]}(a);if(s)r.each((function(t){var e=t[0].height;c.setTranslate(this,u+_[0],u+_[1]+a._height+e/2+d),a._height+=e,a._width=Math.max(a._width,t[0].width)})),x=f+a._width,a._width+=d+f+h,a._height+=g,l&&(e.each((function(t,e){c.setTranslate(this,0,e*a.tracegroupgap)})),a._height+=(a._lgroupsLength-1)*a.tracegroupgap);else{var w=M(a),T=a.x<0||0===a.x&&\"right\"===w,k=a.x>1||1===a.x&&\"left\"===w,A=y||v,E=i.width/2;a._maxWidth=Math.max(T?A&&\"left\"===w?o.l+o.w:E:k?A&&\"right\"===w?o.r+o.w:E:o.w,2*f);var C=0,L=0;r.each((function(t){var e=t[0].width+f;C=Math.max(C,e),L+=e})),x=null;var P=0;if(l){var I=0,z=0,O=0;e.each((function(){var t=0,e=0;n.select(this).selectAll(\"g.traces\").each((function(r){var n=r[0].height;c.setTranslate(this,_[0],_[1]+u+d+n/2+e),e+=n,t=Math.max(t,f+r[0].width)})),I=Math.max(I,e);var r=t+d;r+u+z>a._maxWidth&&(P=Math.max(P,z),z=0,O+=I+a.tracegroupgap,I=e),c.setTranslate(this,z,O),z+=r})),a._width=Math.max(P,z)+u,a._height=O+I+g}else{var D=r.size(),R=L+h+(D-1)*d<a._maxWidth,F=0,B=0,N=0,j=0;r.each((function(t){var e=t[0].height,r=f+t[0].width,n=(R?r:C)+d;n+u+B>a._maxWidth&&(P=Math.max(P,j),B=0,N+=F,a._height+=F,F=0),c.setTranslate(this,_[0]+u+B,_[1]+u+N+e/2+d),j=B+r+d,B+=n,F=Math.max(F,e)})),R?(a._width=B+h,a._height=F+g):(a._width=Math.max(P,j)+h,a._height+=F+g)}}a._width=Math.ceil(Math.max(a._width+_[0],a._titleWidth+2*(u+p.titlePad))),a._height=Math.ceil(Math.max(a._height+_[1],a._titleHeight+2*(u+p.itemGap))),a._effHeight=Math.min(a._height,a._maxHeight);var V=t._context.edits,U=V.legendText||V.legendPosition;r.each((function(t){var e=n.select(this).select(\".legendtoggle\"),r=t[0].height,a=U?f:x||f+t[0].width;s||(a+=d/2),c.setRect(e,0,-r/2,a,r)}))}(t,z,O,e)},function(){if(!e._main||!function(t){var e=t._fullLayout.legend,r=M(e),n=S(e);return i.autoMargin(t,\"legend\",{x:e.x,y:e.y,l:e._width*m[r],r:e._width*v[r],b:e._effHeight*v[n],t:e._effHeight*m[n]})}(t)){var u,f,d,y,x=s._size,b=e.borderwidth,w=x.l+x.w*e.x-m[M(e)]*e._width,k=x.t+x.h*(1-e.y)-m[S(e)]*e._effHeight;if(e._main&&s.margin.autoexpand){var A=w,L=k;w=a.constrain(w,0,s.width-e._width),k=a.constrain(k,0,s.height-e._effHeight),w!==A&&a.log(\"Constrain legend.x to make legend fit inside graph\"),k!==L&&a.log(\"Constrain legend.y to make legend fit inside graph\")}if(e._main&&c.setTranslate(g,w,k),I.on(\".drag\",null),g.on(\"wheel\",null),!e._main||e._height<=e._maxHeight||t._context.staticPlot){var P=e._effHeight;e._main||(P=e._height),E.attr({width:e._width-b,height:P-b,x:b/2,y:b/2}),c.setTranslate(C,0,0),T.select(\"rect\").attr({width:e._width-2*b,height:P-2*b,x:b,y:b}),c.setClipUrl(C,h,t),c.setRect(I,0,0,0,0),delete e._scrollY}else{var z,O,D,R=Math.max(p.scrollBarMinHeight,e._effHeight*e._effHeight/e._height),F=e._effHeight-R-2*p.scrollBarMargin,B=e._height-e._effHeight,N=F/B,j=Math.min(e._scrollY||0,B);E.attr({width:e._width-2*b+p.scrollBarWidth+p.scrollBarMargin,height:e._effHeight-b,x:b/2,y:b/2}),T.select(\"rect\").attr({width:e._width-2*b+p.scrollBarWidth+p.scrollBarMargin,height:e._effHeight-2*b,x:b,y:b+j}),c.setClipUrl(C,h,t),q(j,R,N),g.on(\"wheel\",(function(){q(j=a.constrain(e._scrollY+n.event.deltaY/F*B,0,B),R,N),0!==j&&j!==B&&n.event.preventDefault()}));var V=n.behavior.drag().on(\"dragstart\",(function(){var t=n.event.sourceEvent;z=\"touchstart\"===t.type?t.changedTouches[0].clientY:t.clientY,D=j})).on(\"drag\",(function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||(O=\"touchmove\"===t.type?t.changedTouches[0].clientY:t.clientY,q(j=function(t,e,r){var n=(r-e)/N+t;return a.constrain(n,0,B)}(D,z,O),R,N))}));I.call(V);var U=n.behavior.drag().on(\"dragstart\",(function(){var t=n.event.sourceEvent;\"touchstart\"===t.type&&(z=t.changedTouches[0].clientY,D=j)})).on(\"drag\",(function(){var t=n.event.sourceEvent;\"touchmove\"===t.type&&(O=t.changedTouches[0].clientY,q(j=function(t,e,r){var n=(e-r)/N+t;return a.constrain(n,0,B)}(D,z,O),R,N))}));C.call(U)}if(t._context.edits.legendPosition)g.classed(\"cursor-move\",!0),l.init({element:g.node(),gd:t,prepFn:function(){var t=c.getTranslate(g);d=t.x,y=t.y},moveFn:function(t,r){var n=d+t,a=y+r;c.setTranslate(g,n,a),u=l.align(n,0,x.l,x.l+x.w,e.xanchor),f=l.align(a,0,x.t+x.h,x.t,e.yanchor)},doneFn:function(){void 0!==u&&void 0!==f&&o.call(\"_guiRelayout\",t,{\"legend.x\":u,\"legend.y\":f})},clickFn:function(e,n){var a=r.selectAll(\"g.traces\").filter((function(){var t=this.getBoundingClientRect();return n.clientX>=t.left&&n.clientX<=t.right&&n.clientY>=t.top&&n.clientY<=t.bottom}));a.size()>0&&_(t,g,a,e,n)}})}function q(r,n,a){e._scrollY=t._fullLayout.legend._scrollY=r,c.setTranslate(C,0,-r),c.setRect(I,e._width,p.scrollBarMargin+r*a,p.scrollBarWidth,n),T.select(\"rect\").attr(\"y\",b+r)}}],t)}}},{\"../../constants/alignment\":697,\"../../lib\":728,\"../../lib/events\":718,\"../../lib/svg_text_utils\":752,\"../../plots/plots\":839,\"../../registry\":859,\"../color\":595,\"../dragelement\":614,\"../drawing\":617,\"./constants\":646,\"./get_legend_data\":649,\"./handle_click\":650,\"./helpers\":651,\"./style\":653,d3:164}],649:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),a=t(\"./helpers\");e.exports=function(t,e){var r,i,o={},s=[],l=!1,c={},u=0,h=0,f=e._main;function p(t,r){if(\"\"!==t&&a.isGrouped(e))-1===s.indexOf(t)?(s.push(t),l=!0,o[t]=[[r]]):o[t].push([r]);else{var n=\"~~i\"+u;s.push(n),o[n]=[[r]],u++}}for(r=0;r<t.length;r++){var d=t[r],g=d[0],m=g.trace,v=m.legendgroup;if(!f||m.visible&&m.showlegend)if(n.traceIs(m,\"pie-like\"))for(c[v]||(c[v]={}),i=0;i<d.length;i++){var y=d[i].label;c[v][y]||(p(v,{label:y,color:d[i].color,i:d[i].i,trace:m,pts:d[i].pts}),c[v][y]=!0,h=Math.max(h,(y||\"\").length))}else p(v,g),h=Math.max(h,(m.name||\"\").length)}if(!s.length)return[];var x,b,_=s.length;if(l&&a.isGrouped(e))for(b=new Array(_),r=0;r<_;r++)x=o[s[r]],b[r]=a.isReversed(e)?x.reverse():x;else{for(b=[new Array(_)],r=0;r<_;r++)x=o[s[r]][0],b[0][a.isReversed(e)?_-r-1:r]=x;_=1}return e._lgroupsLength=_,e._maxNameLength=h,b}},{\"../../registry\":859,\"./helpers\":651}],650:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../registry\"),i=!0;e.exports=function(t,e,r){var o=e._fullLayout;if(!e._dragged&&!e._editing){var s,l=o.legend.itemclick,c=o.legend.itemdoubleclick;if(1===r&&\"toggle\"===l&&\"toggleothers\"===c&&i&&e.data&&e._context.showTips?(n.notifier(n._(e,\"Double-click on legend to isolate one trace\"),\"long\"),i=!1):i=!1,1===r?s=l:2===r&&(s=c),s){var u,h,f,p,d,g=o.hiddenlabels?o.hiddenlabels.slice():[],m=t.data()[0][0],v=e._fullData,y=m.trace,x=y.legendgroup,b={},_=[],w=[],T=[];if(a.traceIs(y,\"pie-like\")){var k=m.label,A=g.indexOf(k);\"toggle\"===s?-1===A?g.push(k):g.splice(A,1):\"toggleothers\"===s&&(g=[],e.calcdata[0].forEach((function(t){k!==t.label&&g.push(t.label)})),e._fullLayout.hiddenlabels&&e._fullLayout.hiddenlabels.length===g.length&&-1===A&&(g=[])),a.call(\"_guiRelayout\",e,\"hiddenlabels\",g)}else{var M,S=x&&x.length,E=[];if(S)for(u=0;u<v.length;u++)(M=v[u]).visible&&M.legendgroup===x&&E.push(u);if(\"toggle\"===s){var C;switch(y.visible){case!0:C=\"legendonly\";break;case!1:C=!1;break;case\"legendonly\":C=!0}if(S)for(u=0;u<v.length;u++)!1!==v[u].visible&&v[u].legendgroup===x&&B(v[u],C);else B(y,C)}else if(\"toggleothers\"===s){var L,P,I,z,O=!0;for(u=0;u<v.length;u++)if(L=v[u]===y,I=!0!==v[u].showlegend,!(L||I||(P=S&&v[u].legendgroup===x)||!0!==v[u].visible||a.traceIs(v[u],\"notLegendIsolatable\"))){O=!1;break}for(u=0;u<v.length;u++)if(!1!==v[u].visible&&!a.traceIs(v[u],\"notLegendIsolatable\"))switch(y.visible){case\"legendonly\":B(v[u],!0);break;case!0:z=!!O||\"legendonly\",L=v[u]===y,I=!0!==v[u].showlegend&&!v[u].legendgroup,P=L||S&&v[u].legendgroup===x,B(v[u],!(!P&&!I)||z)}}for(u=0;u<w.length;u++)if(f=w[u]){var D=f.constructUpdate(),R=Object.keys(D);for(h=0;h<R.length;h++)p=R[h],(b[p]=b[p]||[])[T[u]]=D[p]}for(d=Object.keys(b),u=0;u<d.length;u++)for(p=d[u],h=0;h<_.length;h++)b[p].hasOwnProperty(h)||(b[p][h]=void 0);a.call(\"_guiRestyle\",e,b,_)}}}function F(t,e,r){var n=_.indexOf(t),a=b[e];return a||(a=b[e]=[]),-1===_.indexOf(t)&&(_.push(t),n=_.length-1),a[n]=r,n}function B(t,e){var r=t._fullInput;if(a.hasTransform(r,\"groupby\")){var i=w[r.index];if(!i){var o=a.getTransformIndices(r,\"groupby\"),s=o[o.length-1];i=n.keyedContainer(r,\"transforms[\"+s+\"].styles\",\"target\",\"value.visible\"),w[r.index]=i}var l=i.get(t._group);void 0===l&&(l=!0),!1!==l&&i.set(t._group,e),T[r.index]=F(r.index,\"visible\",!1!==r.visible)}else{var c=!1!==r.visible&&e;F(r.index,\"visible\",c)}}}},{\"../../lib\":728,\"../../registry\":859}],651:[function(t,e,r){\"use strict\";r.isGrouped=function(t){return-1!==(t.traceorder||\"\").indexOf(\"grouped\")},r.isVertical=function(t){return\"h\"!==t.orientation},r.isReversed=function(t){return-1!==(t.traceorder||\"\").indexOf(\"reversed\")}},{}],652:[function(t,e,r){\"use strict\";e.exports={moduleType:\"component\",name:\"legend\",layoutAttributes:t(\"./attributes\"),supplyLayoutDefaults:t(\"./defaults\"),draw:t(\"./draw\"),style:t(\"./style\")}},{\"./attributes\":645,\"./defaults\":647,\"./draw\":648,\"./style\":653}],653:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../registry\"),i=t(\"../../lib\"),o=t(\"../drawing\"),s=t(\"../color\"),l=t(\"../colorscale/helpers\").extractOpts,c=t(\"../../traces/scatter/subtypes\"),u=t(\"../../traces/pie/style_one\"),h=t(\"../../traces/pie/helpers\").castOption;function f(t,e){return(e?\"radial\":\"horizontal\")+(t?\"\":\"reversed\")}e.exports=function(t,e,r){var p=e._fullLayout;r||(r=p.legend);var d=\"constant\"===r.itemsizing,g=function(t,e,r,n){var a;if(t+1)a=t;else{if(!(e&&e.width>0))return 0;a=e.width}return d?n:Math.min(a,r)};function m(t,e,r){var i=t[0].trace,o=i.marker||{},l=o.line||{},c=r?i.visible&&i.type===r:a.traceIs(i,\"bar\"),u=n.select(e).select(\"g.legendpoints\").selectAll(\"path.legend\"+r).data(c?[t]:[]);u.enter().append(\"path\").classed(\"legend\"+r,!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",\"translate(20,0)\"),u.exit().remove(),u.each((function(t){var e=n.select(this),r=t[0],a=g(r.mlw,o.line,5,2);e.style(\"stroke-width\",a+\"px\").call(s.fill,r.mc||o.color),a&&s.stroke(e,r.mlc||l.color)}))}function v(t,e,r){var o=t[0],s=o.trace,l=r?s.visible&&s.type===r:a.traceIs(s,r),c=n.select(e).select(\"g.legendpoints\").selectAll(\"path.legend\"+r).data(l?[t]:[]);if(c.enter().append(\"path\").classed(\"legend\"+r,!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",\"translate(20,0)\"),c.exit().remove(),c.size()){var f=(s.marker||{}).line,p=g(h(f.width,o.pts),f,5,2),d=i.minExtend(s,{marker:{line:{width:p}}});d.marker.line.color=f.color;var m=i.minExtend(o,{trace:d});u(c,m,d)}}t.each((function(t){var e=n.select(this),a=i.ensureSingle(e,\"g\",\"layers\");a.style(\"opacity\",t[0].trace.opacity);var o=r.valign,s=t[0].lineHeight,l=t[0].height;if(\"middle\"!==o&&s&&l){var c={top:1,bottom:-1}[o]*(.5*(s-l+3));a.attr(\"transform\",\"translate(0,\"+c+\")\")}else a.attr(\"transform\",null);a.selectAll(\"g.legendfill\").data([t]).enter().append(\"g\").classed(\"legendfill\",!0),a.selectAll(\"g.legendlines\").data([t]).enter().append(\"g\").classed(\"legendlines\",!0);var u=a.selectAll(\"g.legendsymbols\").data([t]);u.enter().append(\"g\").classed(\"legendsymbols\",!0),u.selectAll(\"g.legendpoints\").data([t]).enter().append(\"g\").classed(\"legendpoints\",!0)})).each((function(t){var r,a=t[0].trace,c=[];if(a.visible)switch(a.type){case\"histogram2d\":case\"heatmap\":c=[[\"M-15,-2V4H15V-2Z\"]],r=!0;break;case\"choropleth\":case\"choroplethmapbox\":c=[[\"M-6,-6V6H6V-6Z\"]],r=!0;break;case\"densitymapbox\":c=[[\"M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0\"]],r=\"radial\";break;case\"cone\":c=[[\"M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z\"],[\"M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z\"],[\"M-6,-2 A2,2 0 0,0 -6,2 L6,0Z\"]],r=!1;break;case\"streamtube\":c=[[\"M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z\"],[\"M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z\"],[\"M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z\"]],r=!1;break;case\"surface\":c=[[\"M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z\"],[\"M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z\"]],r=!0;break;case\"mesh3d\":c=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6H6L0,6Z\"]],r=!1;break;case\"volume\":c=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6H6L0,6Z\"]],r=!0;break;case\"isosurface\":c=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6 A12,24 0 0,0 6,-6 L0,6Z\"]],r=!1}var u=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legend3dandfriends\").data(c);u.enter().append(\"path\").classed(\"legend3dandfriends\",!0).attr(\"transform\",\"translate(20,0)\").style(\"stroke-miterlimit\",1),u.exit().remove(),u.each((function(t,c){var u,h=n.select(this),p=l(a),d=p.colorscale,g=p.reversescale;if(d){if(!r){var m=d.length;u=0===c?d[g?m-1:0][1]:1===c?d[g?0:m-1][1]:d[Math.floor((m-1)/2)][1]}}else{var v=a.vertexcolor||a.facecolor||a.color;u=i.isArrayOrTypedArray(v)?v[c]||v[0]:v}h.attr(\"d\",t[0]),u?h.call(s.fill,u):h.call((function(t){if(t.size()){var n=\"legendfill-\"+a.uid;o.gradient(t,e,n,f(g,\"radial\"===r),d,\"fill\")}}))}))})).each((function(t){var e=t[0].trace,r=\"waterfall\"===e.type;if(t[0]._distinct&&r){var a=t[0].trace[t[0].dir].marker;return t[0].mc=a.color,t[0].mlw=a.line.width,t[0].mlc=a.line.color,m(t,this,\"waterfall\")}var i=[];e.visible&&r&&(i=t[0].hasTotals?[[\"increasing\",\"M-6,-6V6H0Z\"],[\"totals\",\"M6,6H0L-6,-6H-0Z\"],[\"decreasing\",\"M6,6V-6H0Z\"]]:[[\"increasing\",\"M-6,-6V6H6Z\"],[\"decreasing\",\"M6,6V-6H-6Z\"]]);var o=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legendwaterfall\").data(i);o.enter().append(\"path\").classed(\"legendwaterfall\",!0).attr(\"transform\",\"translate(20,0)\").style(\"stroke-miterlimit\",1),o.exit().remove(),o.each((function(t){var r=n.select(this),a=e[t[0]].marker,i=g(void 0,a.line,5,2);r.attr(\"d\",t[1]).style(\"stroke-width\",i+\"px\").call(s.fill,a.color),i&&r.call(s.stroke,a.line.color)}))})).each((function(t){m(t,this,\"funnel\")})).each((function(t){m(t,this)})).each((function(t){var r=t[0].trace,l=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legendbox\").data(r.visible&&a.traceIs(r,\"box-violin\")?[t]:[]);l.enter().append(\"path\").classed(\"legendbox\",!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",\"translate(20,0)\"),l.exit().remove(),l.each((function(){var t=n.select(this);if(\"all\"!==r.boxpoints&&\"all\"!==r.points||0!==s.opacity(r.fillcolor)||0!==s.opacity((r.line||{}).color)){var a=g(void 0,r.line,5,2);t.style(\"stroke-width\",a+\"px\").call(s.fill,r.fillcolor),a&&s.stroke(t,r.line.color)}else{var c=i.minExtend(r,{marker:{size:d?12:i.constrain(r.marker.size,2,16),sizeref:1,sizemin:1,sizemode:\"diameter\"}});l.call(o.pointStyle,c,e)}}))})).each((function(t){v(t,this,\"funnelarea\")})).each((function(t){v(t,this,\"pie\")})).each((function(t){var r,a,s=t[0],u=s.trace,h=u.visible&&u.fill&&\"none\"!==u.fill,p=c.hasLines(u),d=u.contours,m=!1,v=!1,y=l(u),x=y.colorscale,b=y.reversescale;if(d){var _=d.coloring;\"lines\"===_?m=!0:p=\"none\"===_||\"heatmap\"===_||d.showlines,\"constraint\"===d.type?h=\"=\"!==d._operation:\"fill\"!==_&&\"heatmap\"!==_||(v=!0)}var w=c.hasMarkers(u)||c.hasText(u),T=h||v,k=p||m,A=w||!T?\"M5,0\":k?\"M5,-2\":\"M5,-3\",M=n.select(this),S=M.select(\".legendfill\").selectAll(\"path\").data(h||v?[t]:[]);if(S.enter().append(\"path\").classed(\"js-fill\",!0),S.exit().remove(),S.attr(\"d\",A+\"h30v6h-30z\").call(h?o.fillGroupStyle:function(t){if(t.size()){var r=\"legendfill-\"+u.uid;o.gradient(t,e,r,f(b),x,\"fill\")}}),p||m){var E=g(void 0,u.line,10,5);a=i.minExtend(u,{line:{width:E}}),r=[i.minExtend(s,{trace:a})]}var C=M.select(\".legendlines\").selectAll(\"path\").data(p||m?[r]:[]);C.enter().append(\"path\").classed(\"js-line\",!0),C.exit().remove(),C.attr(\"d\",A+(m?\"l30,0.0001\":\"h30\")).call(p?o.lineGroupStyle:function(t){if(t.size()){var r=\"legendline-\"+u.uid;o.lineGroupStyle(t),o.gradient(t,e,r,f(b),x,\"stroke\")}})})).each((function(t){var r,a,s=t[0],l=s.trace,u=c.hasMarkers(l),h=c.hasText(l),f=c.hasLines(l);function p(t,e,r,n){var a=i.nestedProperty(l,t).get(),o=i.isArrayOrTypedArray(a)&&e?e(a):a;if(d&&o&&void 0!==n&&(o=n),r){if(o<r[0])return r[0];if(o>r[1])return r[1]}return o}function g(t){return s._distinct&&s.index&&t[s.index]?t[s.index]:t[0]}if(u||h||f){var m={},v={};if(u){m.mc=p(\"marker.color\",g),m.mx=p(\"marker.symbol\",g),m.mo=p(\"marker.opacity\",i.mean,[.2,1]),m.mlc=p(\"marker.line.color\",g),m.mlw=p(\"marker.line.width\",i.mean,[0,5],2),v.marker={sizeref:1,sizemin:1,sizemode:\"diameter\"};var y=p(\"marker.size\",i.mean,[2,16],12);m.ms=y,v.marker.size=y}f&&(v.line={width:p(\"line.width\",g,[0,10],5)}),h&&(m.tx=\"Aa\",m.tp=p(\"textposition\",g),m.ts=10,m.tc=p(\"textfont.color\",g),m.tf=p(\"textfont.family\",g)),r=[i.minExtend(s,m)],(a=i.minExtend(l,v)).selectedpoints=null,a.texttemplate=null}var x=n.select(this).select(\"g.legendpoints\"),b=x.selectAll(\"path.scatterpts\").data(u?r:[]);b.enter().insert(\"path\",\":first-child\").classed(\"scatterpts\",!0).attr(\"transform\",\"translate(20,0)\"),b.exit().remove(),b.call(o.pointStyle,a,e),u&&(r[0].mrc=3);var _=x.selectAll(\"g.pointtext\").data(h?r:[]);_.enter().append(\"g\").classed(\"pointtext\",!0).append(\"text\").attr(\"transform\",\"translate(20,0)\"),_.exit().remove(),_.selectAll(\"text\").call(o.textPointStyle,a,e)})).each((function(t){var e=t[0].trace,r=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legendcandle\").data(e.visible&&\"candlestick\"===e.type?[t,t]:[]);r.enter().append(\"path\").classed(\"legendcandle\",!0).attr(\"d\",(function(t,e){return e?\"M-15,0H-8M-8,6V-6H8Z\":\"M15,0H8M8,-6V6H-8Z\"})).attr(\"transform\",\"translate(20,0)\").style(\"stroke-miterlimit\",1),r.exit().remove(),r.each((function(t,r){var a=n.select(this),i=e[r?\"increasing\":\"decreasing\"],o=g(void 0,i.line,5,2);a.style(\"stroke-width\",o+\"px\").call(s.fill,i.fillcolor),o&&s.stroke(a,i.line.color)}))})).each((function(t){var e=t[0].trace,r=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legendohlc\").data(e.visible&&\"ohlc\"===e.type?[t,t]:[]);r.enter().append(\"path\").classed(\"legendohlc\",!0).attr(\"d\",(function(t,e){return e?\"M-15,0H0M-8,-6V0\":\"M15,0H0M8,6V0\"})).attr(\"transform\",\"translate(20,0)\").style(\"stroke-miterlimit\",1),r.exit().remove(),r.each((function(t,r){var a=n.select(this),i=e[r?\"increasing\":\"decreasing\"],l=g(void 0,i.line,5,2);a.style(\"fill\",\"none\").call(o.dashLine,i.line.dash,l),l&&s.stroke(a,i.line.color)}))}))}},{\"../../lib\":728,\"../../registry\":859,\"../../traces/pie/helpers\":1113,\"../../traces/pie/style_one\":1119,\"../../traces/scatter/subtypes\":1158,\"../color\":595,\"../colorscale/helpers\":606,\"../drawing\":617,d3:164}],654:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),a=t(\"../../plots/plots\"),i=t(\"../../plots/cartesian/axis_ids\"),o=t(\"../../fonts/ploticon\"),s=t(\"../shapes/draw\").eraseActiveShape,l=t(\"../../lib\"),c=l._,u=e.exports={};function h(t,e){var r,a,o=e.currentTarget,s=o.getAttribute(\"data-attr\"),l=o.getAttribute(\"data-val\")||!0,c=t._fullLayout,u={},h=i.list(t,null,!0),f=c._cartesianSpikesEnabled;if(\"zoom\"===s){var p,d=\"in\"===l?.5:2,g=(1+d)/2,m=(1-d)/2;for(a=0;a<h.length;a++)if(!(r=h[a]).fixedrange)if(p=r._name,\"auto\"===l)u[p+\".autorange\"]=!0;else if(\"reset\"===l){if(void 0===r._rangeInitial)u[p+\".autorange\"]=!0;else{var v=r._rangeInitial.slice();u[p+\".range[0]\"]=v[0],u[p+\".range[1]\"]=v[1]}void 0!==r._showSpikeInitial&&(u[p+\".showspikes\"]=r._showSpikeInitial,\"on\"!==f||r._showSpikeInitial||(f=\"off\"))}else{var y=[r.r2l(r.range[0]),r.r2l(r.range[1])],x=[g*y[0]+m*y[1],g*y[1]+m*y[0]];u[p+\".range[0]\"]=r.l2r(x[0]),u[p+\".range[1]\"]=r.l2r(x[1])}}else\"hovermode\"!==s||\"x\"!==l&&\"y\"!==l||(l=c._isHoriz?\"y\":\"x\",o.setAttribute(\"data-val\",l)),u[s]=l;c._cartesianSpikesEnabled=f,n.call(\"_guiRelayout\",t,u)}function f(t,e){for(var r=e.currentTarget,a=r.getAttribute(\"data-attr\"),i=r.getAttribute(\"data-val\")||!0,o=t._fullLayout._subplots.gl3d||[],s={},l=a.split(\".\"),c=0;c<o.length;c++)s[o[c]+\".\"+l[1]]=i;var u=\"pan\"===i?i:\"zoom\";s.dragmode=u,n.call(\"_guiRelayout\",t,s)}function p(t,e){for(var r=e.currentTarget.getAttribute(\"data-attr\"),a=t._fullLayout,i=a._subplots.gl3d||[],o={},s=0;s<i.length;s++){var l,c=i[s],u=c+\".camera\",h=c+\".aspectratio\",f=c+\".aspectmode\",p=a[c]._scene;\"resetLastSave\"===r?(o[u+\".up\"]=p.viewInitial.up,o[u+\".eye\"]=p.viewInitial.eye,o[u+\".center\"]=p.viewInitial.center,l=!0):\"resetDefault\"===r&&(o[u+\".up\"]=null,o[u+\".eye\"]=null,o[u+\".center\"]=null,l=!0),l&&(o[h+\".x\"]=p.viewInitial.aspectratio.x,o[h+\".y\"]=p.viewInitial.aspectratio.y,o[h+\".z\"]=p.viewInitial.aspectratio.z,o[f]=p.viewInitial.aspectmode)}n.call(\"_guiRelayout\",t,o)}function d(t,e){var r=e.currentTarget,n=r._previousVal,a=t._fullLayout,i=a._subplots.gl3d||[],o=[\"xaxis\",\"yaxis\",\"zaxis\"],s={},l={};if(n)l=n,r._previousVal=null;else{for(var c=0;c<i.length;c++){var u=i[c],h=a[u],f=u+\".hovermode\";s[f]=h.hovermode,l[f]=!1;for(var p=0;p<3;p++){var d=o[p],g=u+\".\"+d+\".showspikes\";l[g]=!1,s[g]=h[d].showspikes}}r._previousVal=s}return l}function g(t,e){for(var r=e.currentTarget,a=r.getAttribute(\"data-attr\"),i=r.getAttribute(\"data-val\")||!0,o=t._fullLayout,s=o._subplots.geo||[],l=0;l<s.length;l++){var c=s[l],u=o[c];if(\"zoom\"===a){var h=u.projection.scale,f=\"in\"===i?2*h:.5*h;n.call(\"_guiRelayout\",t,c+\".projection.scale\",f)}}\"reset\"===a&&x(t,\"geo\")}function m(t){var e=t._fullLayout;return!e.hovermode&&(e._has(\"cartesian\")?e._isHoriz?\"y\":\"x\":\"closest\")}function v(t){var e=m(t);n.call(\"_guiRelayout\",t,\"hovermode\",e)}function y(t,e){for(var r=e.currentTarget.getAttribute(\"data-val\"),a=t._fullLayout,i=a._subplots.mapbox||[],o={},s=0;s<i.length;s++){var l=i[s],c=a[l].zoom,u=\"in\"===r?1.05*c:c/1.05;o[l+\".zoom\"]=u}n.call(\"_guiRelayout\",t,o)}function x(t,e){for(var r=t._fullLayout,a=r._subplots[e]||[],i={},o=0;o<a.length;o++)for(var s=a[o],l=r[s]._subplot.viewInitial,c=Object.keys(l),u=0;u<c.length;u++){var h=c[u];i[s+\".\"+h]=l[h]}n.call(\"_guiRelayout\",t,i)}u.toImage={name:\"toImage\",title:function(t){var e=(t._context.toImageButtonOptions||{}).format||\"png\";return c(t,\"png\"===e?\"Download plot as a png\":\"Download plot\")},icon:o.camera,click:function(t){var e=t._context.toImageButtonOptions,r={format:e.format||\"png\"};l.notifier(c(t,\"Taking snapshot - this may take a few seconds\"),\"long\"),\"svg\"!==r.format&&l.isIE()&&(l.notifier(c(t,\"IE only supports svg.  Changing format to svg.\"),\"long\"),r.format=\"svg\"),[\"filename\",\"width\",\"height\",\"scale\"].forEach((function(t){t in e&&(r[t]=e[t])})),n.call(\"downloadImage\",t,r).then((function(e){l.notifier(c(t,\"Snapshot succeeded\")+\" - \"+e,\"long\")})).catch((function(){l.notifier(c(t,\"Sorry, there was a problem downloading your snapshot!\"),\"long\")}))}},u.sendDataToCloud={name:\"sendDataToCloud\",title:function(t){return c(t,\"Edit in Chart Studio\")},icon:o.disk,click:function(t){a.sendDataToCloud(t)}},u.editInChartStudio={name:\"editInChartStudio\",title:function(t){return c(t,\"Edit in Chart Studio\")},icon:o.pencil,click:function(t){a.sendDataToCloud(t)}},u.zoom2d={name:\"zoom2d\",title:function(t){return c(t,\"Zoom\")},attr:\"dragmode\",val:\"zoom\",icon:o.zoombox,click:h},u.pan2d={name:\"pan2d\",title:function(t){return c(t,\"Pan\")},attr:\"dragmode\",val:\"pan\",icon:o.pan,click:h},u.select2d={name:\"select2d\",title:function(t){return c(t,\"Box Select\")},attr:\"dragmode\",val:\"select\",icon:o.selectbox,click:h},u.lasso2d={name:\"lasso2d\",title:function(t){return c(t,\"Lasso Select\")},attr:\"dragmode\",val:\"lasso\",icon:o.lasso,click:h},u.drawclosedpath={name:\"drawclosedpath\",title:function(t){return c(t,\"Draw closed freeform\")},attr:\"dragmode\",val:\"drawclosedpath\",icon:o.drawclosedpath,click:h},u.drawopenpath={name:\"drawopenpath\",title:function(t){return c(t,\"Draw open freeform\")},attr:\"dragmode\",val:\"drawopenpath\",icon:o.drawopenpath,click:h},u.drawline={name:\"drawline\",title:function(t){return c(t,\"Draw line\")},attr:\"dragmode\",val:\"drawline\",icon:o.drawline,click:h},u.drawrect={name:\"drawrect\",title:function(t){return c(t,\"Draw rectangle\")},attr:\"dragmode\",val:\"drawrect\",icon:o.drawrect,click:h},u.drawcircle={name:\"drawcircle\",title:function(t){return c(t,\"Draw circle\")},attr:\"dragmode\",val:\"drawcircle\",icon:o.drawcircle,click:h},u.eraseshape={name:\"eraseshape\",title:function(t){return c(t,\"Erase active shape\")},icon:o.eraseshape,click:s},u.zoomIn2d={name:\"zoomIn2d\",title:function(t){return c(t,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:o.zoom_plus,click:h},u.zoomOut2d={name:\"zoomOut2d\",title:function(t){return c(t,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:o.zoom_minus,click:h},u.autoScale2d={name:\"autoScale2d\",title:function(t){return c(t,\"Autoscale\")},attr:\"zoom\",val:\"auto\",icon:o.autoscale,click:h},u.resetScale2d={name:\"resetScale2d\",title:function(t){return c(t,\"Reset axes\")},attr:\"zoom\",val:\"reset\",icon:o.home,click:h},u.hoverClosestCartesian={name:\"hoverClosestCartesian\",title:function(t){return c(t,\"Show closest data on hover\")},attr:\"hovermode\",val:\"closest\",icon:o.tooltip_basic,gravity:\"ne\",click:h},u.hoverCompareCartesian={name:\"hoverCompareCartesian\",title:function(t){return c(t,\"Compare data on hover\")},attr:\"hovermode\",val:function(t){return t._fullLayout._isHoriz?\"y\":\"x\"},icon:o.tooltip_compare,gravity:\"ne\",click:h},u.zoom3d={name:\"zoom3d\",title:function(t){return c(t,\"Zoom\")},attr:\"scene.dragmode\",val:\"zoom\",icon:o.zoombox,click:f},u.pan3d={name:\"pan3d\",title:function(t){return c(t,\"Pan\")},attr:\"scene.dragmode\",val:\"pan\",icon:o.pan,click:f},u.orbitRotation={name:\"orbitRotation\",title:function(t){return c(t,\"Orbital rotation\")},attr:\"scene.dragmode\",val:\"orbit\",icon:o[\"3d_rotate\"],click:f},u.tableRotation={name:\"tableRotation\",title:function(t){return c(t,\"Turntable rotation\")},attr:\"scene.dragmode\",val:\"turntable\",icon:o[\"z-axis\"],click:f},u.resetCameraDefault3d={name:\"resetCameraDefault3d\",title:function(t){return c(t,\"Reset camera to default\")},attr:\"resetDefault\",icon:o.home,click:p},u.resetCameraLastSave3d={name:\"resetCameraLastSave3d\",title:function(t){return c(t,\"Reset camera to last save\")},attr:\"resetLastSave\",icon:o.movie,click:p},u.hoverClosest3d={name:\"hoverClosest3d\",title:function(t){return c(t,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:o.tooltip_basic,gravity:\"ne\",click:function(t,e){var r=d(t,e);n.call(\"_guiRelayout\",t,r)}},u.zoomInGeo={name:\"zoomInGeo\",title:function(t){return c(t,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:o.zoom_plus,click:g},u.zoomOutGeo={name:\"zoomOutGeo\",title:function(t){return c(t,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:o.zoom_minus,click:g},u.resetGeo={name:\"resetGeo\",title:function(t){return c(t,\"Reset\")},attr:\"reset\",val:null,icon:o.autoscale,click:g},u.hoverClosestGeo={name:\"hoverClosestGeo\",title:function(t){return c(t,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:o.tooltip_basic,gravity:\"ne\",click:v},u.hoverClosestGl2d={name:\"hoverClosestGl2d\",title:function(t){return c(t,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:o.tooltip_basic,gravity:\"ne\",click:v},u.hoverClosestPie={name:\"hoverClosestPie\",title:function(t){return c(t,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:\"closest\",icon:o.tooltip_basic,gravity:\"ne\",click:v},u.resetViewSankey={name:\"resetSankeyGroup\",title:function(t){return c(t,\"Reset view\")},icon:o.home,click:function(t){for(var e={\"node.groups\":[],\"node.x\":[],\"node.y\":[]},r=0;r<t._fullData.length;r++){var a=t._fullData[r]._viewInitial;e[\"node.groups\"].push(a.node.groups.slice()),e[\"node.x\"].push(a.node.x.slice()),e[\"node.y\"].push(a.node.y.slice())}n.call(\"restyle\",t,e)}},u.toggleHover={name:\"toggleHover\",title:function(t){return c(t,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:o.tooltip_basic,gravity:\"ne\",click:function(t,e){var r=d(t,e);r.hovermode=m(t),n.call(\"_guiRelayout\",t,r)}},u.resetViews={name:\"resetViews\",title:function(t){return c(t,\"Reset views\")},icon:o.home,click:function(t,e){var r=e.currentTarget;r.setAttribute(\"data-attr\",\"zoom\"),r.setAttribute(\"data-val\",\"reset\"),h(t,e),r.setAttribute(\"data-attr\",\"resetLastSave\"),p(t,e),x(t,\"geo\"),x(t,\"mapbox\")}},u.toggleSpikelines={name:\"toggleSpikelines\",title:function(t){return c(t,\"Toggle Spike Lines\")},icon:o.spikeline,attr:\"_cartesianSpikesEnabled\",val:\"on\",click:function(t){var e=t._fullLayout,r=e._cartesianSpikesEnabled;e._cartesianSpikesEnabled=\"on\"===r?\"off\":\"on\",n.call(\"_guiRelayout\",t,function(t){for(var e=\"on\"===t._fullLayout._cartesianSpikesEnabled,r=i.list(t,null,!0),n={},a=0;a<r.length;a++){var o=r[a];n[o._name+\".showspikes\"]=!!e||o._showSpikeInitial}return n}(t))}},u.resetViewMapbox={name:\"resetViewMapbox\",title:function(t){return c(t,\"Reset view\")},attr:\"reset\",icon:o.home,click:function(t){x(t,\"mapbox\")}},u.zoomInMapbox={name:\"zoomInMapbox\",title:function(t){return c(t,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:o.zoom_plus,click:y},u.zoomOutMapbox={name:\"zoomOutMapbox\",title:function(t){return c(t,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:o.zoom_minus,click:y}},{\"../../fonts/ploticon\":708,\"../../lib\":728,\"../../plots/cartesian/axis_ids\":779,\"../../plots/plots\":839,\"../../registry\":859,\"../shapes/draw\":676}],655:[function(t,e,r){\"use strict\";r.manage=t(\"./manage\")},{\"./manage\":656}],656:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axis_ids\"),a=t(\"../../traces/scatter/subtypes\"),i=t(\"../../registry\"),o=t(\"../fx/helpers\").isUnifiedHover,s=t(\"./modebar\"),l=t(\"./buttons\");e.exports=function(t){var e=t._fullLayout,r=t._context,u=e._modeBar;if(r.displayModeBar||r.watermark){if(!Array.isArray(r.modeBarButtonsToRemove))throw new Error([\"*modeBarButtonsToRemove* configuration options\",\"must be an array.\"].join(\" \"));if(!Array.isArray(r.modeBarButtonsToAdd))throw new Error([\"*modeBarButtonsToAdd* configuration options\",\"must be an array.\"].join(\" \"));var h,f=r.modeBarButtons;h=Array.isArray(f)&&f.length?function(t){for(var e=0;e<t.length;e++)for(var r=t[e],n=0;n<r.length;n++){var a=r[n];if(\"string\"==typeof a){if(void 0===l[a])throw new Error([\"*modeBarButtons* configuration options\",\"invalid button name\"].join(\" \"));t[e][n]=l[a]}}return t}(f):!r.displayModeBar&&r.watermark?[]:function(t){var e=t._fullLayout,r=t._fullData,s=t._context,u=s.modeBarButtonsToRemove,h=s.modeBarButtonsToAdd,f=e._has(\"cartesian\"),p=e._has(\"gl3d\"),d=e._has(\"geo\"),g=e._has(\"pie\"),m=e._has(\"funnelarea\"),v=e._has(\"gl2d\"),y=e._has(\"ternary\"),x=e._has(\"mapbox\"),b=e._has(\"polar\"),_=e._has(\"sankey\"),w=function(t){for(var e=n.list({_fullLayout:t},null,!0),r=0;r<e.length;r++)if(!e[r].fixedrange)return!1;return!0}(e),T=o(e.hovermode),k=[];function A(t){if(t.length){for(var e=[],r=0;r<t.length;r++){var n=t[r];-1===u.indexOf(n)&&e.push(l[n])}k.push(e)}}var M=[\"toImage\"];s.showEditInChartStudio?M.push(\"editInChartStudio\"):s.showSendToCloud&&M.push(\"sendDataToCloud\");A(M);var S=[],E=[],C=[],L=[];(f||v||g||m||y)+d+p+x+b>1?(E=[\"toggleHover\"],C=[\"resetViews\"]):d?(S=[\"zoomInGeo\",\"zoomOutGeo\"],E=[\"hoverClosestGeo\"],C=[\"resetGeo\"]):p?(E=[\"hoverClosest3d\"],C=[\"resetCameraDefault3d\",\"resetCameraLastSave3d\"]):x?(S=[\"zoomInMapbox\",\"zoomOutMapbox\"],E=[\"toggleHover\"],C=[\"resetViewMapbox\"]):v?E=[\"hoverClosestGl2d\"]:g?E=[\"hoverClosestPie\"]:_?(E=[\"hoverClosestCartesian\",\"hoverCompareCartesian\"],C=[\"resetViewSankey\"]):E=[\"toggleHover\"];f&&(E=[\"toggleSpikelines\",\"hoverClosestCartesian\",\"hoverCompareCartesian\"]);(function(t){for(var e=0;e<t.length;e++)if(!i.traceIs(t[e],\"noHover\"))return!1;return!0}(r)||T)&&(E=[]);!f&&!v||w||(S=[\"zoomIn2d\",\"zoomOut2d\",\"autoScale2d\"],\"resetViews\"!==C[0]&&(C=[\"resetScale2d\"]));p?L=[\"zoom3d\",\"pan3d\",\"orbitRotation\",\"tableRotation\"]:(f||v)&&!w||y?L=[\"zoom2d\",\"pan2d\"]:x||d?L=[\"pan2d\"]:b&&(L=[\"zoom2d\"]);(function(t){for(var e=!1,r=0;r<t.length&&!e;r++){var n=t[r];n._module&&n._module.selectPoints&&(i.traceIs(n,\"scatter-like\")?(a.hasMarkers(n)||a.hasText(n))&&(e=!0):i.traceIs(n,\"box-violin\")&&\"all\"!==n.boxpoints&&\"all\"!==n.points||(e=!0))}return e})(r)&&L.push(\"select2d\",\"lasso2d\");if(Array.isArray(h)){for(var P=[],I=0;I<h.length;I++){var z=h[I];\"string\"==typeof z?-1!==c.indexOf(z)&&(e._has(\"mapbox\")||e._has(\"cartesian\"))&&L.push(z):P.push(z)}h=P}return A(L),A(S.concat(C)),A(E),function(t,e){if(e.length)if(Array.isArray(e[0]))for(var r=0;r<e.length;r++)t.push(e[r]);else t.push(e);return t}(k,h)}(t),u?u.update(t,h):e._modeBar=s(t,h)}else u&&(u.destroy(),delete e._modeBar)};var c=[\"drawline\",\"drawopenpath\",\"drawclosedpath\",\"drawcircle\",\"drawrect\",\"eraseshape\"]},{\"../../plots/cartesian/axis_ids\":779,\"../../registry\":859,\"../../traces/scatter/subtypes\":1158,\"../fx/helpers\":631,\"./buttons\":654,\"./modebar\":657}],657:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"fast-isnumeric\"),i=t(\"../../lib\"),o=t(\"../../fonts/ploticon\"),s=new DOMParser;function l(t){this.container=t.container,this.element=document.createElement(\"div\"),this.update(t.graphInfo,t.buttons),this.container.appendChild(this.element)}var c=l.prototype;c.update=function(t,e){this.graphInfo=t;var r=this.graphInfo._context,n=this.graphInfo._fullLayout,a=\"modebar-\"+n._uid;this.element.setAttribute(\"id\",a),this._uid=a,this.element.className=\"modebar\",\"hover\"===r.displayModeBar&&(this.element.className+=\" modebar--hover ease-bg\"),\"v\"===n.modebar.orientation&&(this.element.className+=\" vertical\",e=e.reverse());var o=n.modebar,s=\"hover\"===r.displayModeBar?\".js-plotly-plot .plotly:hover \":\"\";i.deleteRelatedStyleRule(a),i.addRelatedStyleRule(a,s+\"#\"+a+\" .modebar-group\",\"background-color: \"+o.bgcolor),i.addRelatedStyleRule(a,\"#\"+a+\" .modebar-btn .icon path\",\"fill: \"+o.color),i.addRelatedStyleRule(a,\"#\"+a+\" .modebar-btn:hover .icon path\",\"fill: \"+o.activecolor),i.addRelatedStyleRule(a,\"#\"+a+\" .modebar-btn.active .icon path\",\"fill: \"+o.activecolor);var l=!this.hasButtons(e),c=this.hasLogo!==r.displaylogo,u=this.locale!==r.locale;if(this.locale=r.locale,(l||c||u)&&(this.removeAllButtons(),this.updateButtons(e),r.watermark||r.displaylogo)){var h=this.getLogo();r.watermark&&(h.className=h.className+\" watermark\"),\"v\"===n.modebar.orientation?this.element.insertBefore(h,this.element.childNodes[0]):this.element.appendChild(h),this.hasLogo=!0}this.updateActiveButton()},c.updateButtons=function(t){var e=this;this.buttons=t,this.buttonElements=[],this.buttonsNames=[],this.buttons.forEach((function(t){var r=e.createGroup();t.forEach((function(t){var n=t.name;if(!n)throw new Error(\"must provide button 'name' in button config\");if(-1!==e.buttonsNames.indexOf(n))throw new Error(\"button name '\"+n+\"' is taken\");e.buttonsNames.push(n);var a=e.createButton(t);e.buttonElements.push(a),r.appendChild(a)})),e.element.appendChild(r)}))},c.createGroup=function(){var t=document.createElement(\"div\");return t.className=\"modebar-group\",t},c.createButton=function(t){var e=this,r=document.createElement(\"a\");r.setAttribute(\"rel\",\"tooltip\"),r.className=\"modebar-btn\";var a=t.title;void 0===a?a=t.name:\"function\"==typeof a&&(a=a(this.graphInfo)),(a||0===a)&&r.setAttribute(\"data-title\",a),void 0!==t.attr&&r.setAttribute(\"data-attr\",t.attr);var i=t.val;if(void 0!==i&&(\"function\"==typeof i&&(i=i(this.graphInfo)),r.setAttribute(\"data-val\",i)),\"function\"!=typeof t.click)throw new Error(\"must provide button 'click' function in button config\");r.addEventListener(\"click\",(function(r){t.click(e.graphInfo,r),e.updateActiveButton(r.currentTarget)})),r.setAttribute(\"data-toggle\",t.toggle||!1),t.toggle&&n.select(r).classed(\"active\",!0);var s=t.icon;return\"function\"==typeof s?r.appendChild(s()):r.appendChild(this.createIcon(s||o.question)),r.setAttribute(\"data-gravity\",t.gravity||\"n\"),r},c.createIcon=function(t){var e,r=a(t.height)?Number(t.height):t.ascent-t.descent,n=\"http://www.w3.org/2000/svg\";if(t.path){(e=document.createElementNS(n,\"svg\")).setAttribute(\"viewBox\",[0,0,t.width,r].join(\" \")),e.setAttribute(\"class\",\"icon\");var i=document.createElementNS(n,\"path\");i.setAttribute(\"d\",t.path),t.transform?i.setAttribute(\"transform\",t.transform):void 0!==t.ascent&&i.setAttribute(\"transform\",\"matrix(1 0 0 -1 0 \"+t.ascent+\")\"),e.appendChild(i)}t.svg&&(e=s.parseFromString(t.svg,\"application/xml\").childNodes[0]);return e.setAttribute(\"height\",\"1em\"),e.setAttribute(\"width\",\"1em\"),e},c.updateActiveButton=function(t){var e=this.graphInfo._fullLayout,r=void 0!==t?t.getAttribute(\"data-attr\"):null;this.buttonElements.forEach((function(t){var a=t.getAttribute(\"data-val\")||!0,o=t.getAttribute(\"data-attr\"),s=\"true\"===t.getAttribute(\"data-toggle\"),l=n.select(t);if(s)o===r&&l.classed(\"active\",!l.classed(\"active\"));else{var c=null===o?o:i.nestedProperty(e,o).get();l.classed(\"active\",c===a)}}))},c.hasButtons=function(t){var e=this.buttons;if(!e)return!1;if(t.length!==e.length)return!1;for(var r=0;r<t.length;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n<t[r].length;n++)if(t[r][n].name!==e[r][n].name)return!1}return!0},c.getLogo=function(){var t=this.createGroup(),e=document.createElement(\"a\");return e.href=\"https://plotly.com/\",e.target=\"_blank\",e.setAttribute(\"data-title\",i._(this.graphInfo,\"Produced with Plotly\")),e.className=\"modebar-btn plotlyjsicon modebar-btn--logo\",e.appendChild(this.createIcon(o.newplotlylogo)),t.appendChild(e),t},c.removeAllButtons=function(){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.hasLogo=!1},c.destroy=function(){i.removeElement(this.container.querySelector(\".modebar\")),i.deleteRelatedStyleRule(this._uid)},e.exports=function(t,e){var r=t._fullLayout,a=new l({graphInfo:t,container:r._modebardiv.node(),buttons:e});return r._privateplot&&n.select(a.element).append(\"span\").classed(\"badge-private float--left\",!0).text(\"PRIVATE\"),a}},{\"../../fonts/ploticon\":708,\"../../lib\":728,d3:164,\"fast-isnumeric\":236}],658:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),a=t(\"../color/attributes\"),i=(0,t(\"../../plot_api/plot_template\").templatedArray)(\"button\",{visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},step:{valType:\"enumerated\",values:[\"month\",\"year\",\"day\",\"hour\",\"minute\",\"second\",\"all\"],dflt:\"month\",editType:\"plot\"},stepmode:{valType:\"enumerated\",values:[\"backward\",\"todate\"],dflt:\"backward\",editType:\"plot\"},count:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},label:{valType:\"string\",editType:\"plot\"},editType:\"plot\"});e.exports={visible:{valType:\"boolean\",editType:\"plot\"},buttons:i,x:{valType:\"number\",min:-2,max:3,editType:\"plot\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"plot\"},y:{valType:\"number\",min:-2,max:3,editType:\"plot\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"bottom\",editType:\"plot\"},font:n({editType:\"plot\"}),bgcolor:{valType:\"color\",dflt:a.lightLine,editType:\"plot\"},activecolor:{valType:\"color\",editType:\"plot\"},bordercolor:{valType:\"color\",dflt:a.defaultLine,editType:\"plot\"},borderwidth:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"plot\"}},{\"../../plot_api/plot_template\":766,\"../../plots/font_attributes\":804,\"../color/attributes\":594}],659:[function(t,e,r){\"use strict\";e.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}},{}],660:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../color\"),i=t(\"../../plot_api/plot_template\"),o=t(\"../../plots/array_container_defaults\"),s=t(\"./attributes\"),l=t(\"./constants\");function c(t,e,r,a){var i=a.calendar;function o(r,a){return n.coerce(t,e,s.buttons,r,a)}if(o(\"visible\")){var l=o(\"step\");\"all\"!==l&&(!i||\"gregorian\"===i||\"month\"!==l&&\"year\"!==l?o(\"stepmode\"):e.stepmode=\"backward\",o(\"count\")),o(\"label\")}}e.exports=function(t,e,r,u,h){var f=t.rangeselector||{},p=i.newContainer(e,\"rangeselector\");function d(t,e){return n.coerce(f,p,s,t,e)}if(d(\"visible\",o(f,p,{name:\"buttons\",handleItemDefaults:c,calendar:h}).length>0)){var g=function(t,e,r){for(var n=r.filter((function(r){return e[r].anchor===t._id})),a=0,i=0;i<n.length;i++){var o=e[n[i]].domain;o&&(a=Math.max(o[1],a))}return[t.domain[0],a+l.yPad]}(e,r,u);d(\"x\",g[0]),d(\"y\",g[1]),n.noneOrAll(t,e,[\"x\",\"y\"]),d(\"xanchor\"),d(\"yanchor\"),n.coerceFont(d,\"font\",r.font);var m=d(\"bgcolor\");d(\"activecolor\",a.contrast(m,l.lightAmount,l.darkAmount)),d(\"bordercolor\"),d(\"borderwidth\")}}},{\"../../lib\":728,\"../../plot_api/plot_template\":766,\"../../plots/array_container_defaults\":772,\"../color\":595,\"./attributes\":658,\"./constants\":659}],661:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../registry\"),i=t(\"../../plots/plots\"),o=t(\"../color\"),s=t(\"../drawing\"),l=t(\"../../lib\"),c=t(\"../../lib/svg_text_utils\"),u=t(\"../../plots/cartesian/axis_ids\"),h=t(\"../../constants/alignment\"),f=h.LINE_SPACING,p=h.FROM_TL,d=h.FROM_BR,g=t(\"./constants\"),m=t(\"./get_update_object\");function v(t){return t._id}function y(t,e,r){var n=l.ensureSingle(t,\"rect\",\"selector-rect\",(function(t){t.attr(\"shape-rendering\",\"crispEdges\")}));n.attr({rx:g.rx,ry:g.ry}),n.call(o.stroke,e.bordercolor).call(o.fill,function(t,e){return e._isActive||e._isHovered?t.activecolor:t.bgcolor}(e,r)).style(\"stroke-width\",e.borderwidth+\"px\")}function x(t,e,r,n){l.ensureSingle(t,\"text\",\"selector-text\",(function(t){t.classed(\"user-select-none\",!0).attr(\"text-anchor\",\"middle\")})).call(s.font,e.font).text(function(t,e){if(t.label)return e?l.templateString(t.label,e):t.label;return\"all\"===t.step?\"all\":t.count+t.step.charAt(0)}(r,n._fullLayout._meta)).call((function(t){c.convertToTspans(t,n)}))}e.exports=function(t){var e=t._fullLayout._infolayer.selectAll(\".rangeselector\").data(function(t){for(var e=u.list(t,\"x\",!0),r=[],n=0;n<e.length;n++){var a=e[n];a.rangeselector&&a.rangeselector.visible&&r.push(a)}return r}(t),v);e.enter().append(\"g\").classed(\"rangeselector\",!0),e.exit().remove(),e.style({cursor:\"pointer\",\"pointer-events\":\"all\"}),e.each((function(e){var r=n.select(this),o=e,u=o.rangeselector,h=r.selectAll(\"g.button\").data(l.filterVisible(u.buttons));h.enter().append(\"g\").classed(\"button\",!0),h.exit().remove(),h.each((function(e){var r=n.select(this),i=m(o,e);e._isActive=function(t,e,r){if(\"all\"===e.step)return!0===t.autorange;var n=Object.keys(r);return t.range[0]===r[n[0]]&&t.range[1]===r[n[1]]}(o,e,i),r.call(y,u,e),r.call(x,u,e,t),r.on(\"click\",(function(){t._dragged||a.call(\"_guiRelayout\",t,i)})),r.on(\"mouseover\",(function(){e._isHovered=!0,r.call(y,u,e)})),r.on(\"mouseout\",(function(){e._isHovered=!1,r.call(y,u,e)}))})),function(t,e,r,a,o){var u=0,h=0,m=r.borderwidth;e.each((function(){var t=n.select(this).select(\".selector-text\"),e=r.font.size*f,a=Math.max(e*c.lineCount(t),16)+3;h=Math.max(h,a)})),e.each((function(){var t=n.select(this),e=t.select(\".selector-rect\"),a=t.select(\".selector-text\"),i=a.node()&&s.bBox(a.node()).width,o=r.font.size*f,l=c.lineCount(a),p=Math.max(i+10,g.minButtonWidth);t.attr(\"transform\",\"translate(\"+(m+u)+\",\"+m+\")\"),e.attr({x:0,y:0,width:p,height:h}),c.positionText(a,p/2,h/2-(l-1)*o/2+3),u+=p+5}));var v=t._fullLayout._size,y=v.l+v.w*r.x,x=v.t+v.h*(1-r.y),b=\"left\";l.isRightAnchor(r)&&(y-=u,b=\"right\");l.isCenterAnchor(r)&&(y-=u/2,b=\"center\");var _=\"top\";l.isBottomAnchor(r)&&(x-=h,_=\"bottom\");l.isMiddleAnchor(r)&&(x-=h/2,_=\"middle\");u=Math.ceil(u),h=Math.ceil(h),y=Math.round(y),x=Math.round(x),i.autoMargin(t,a+\"-range-selector\",{x:r.x,y:r.y,l:u*p[b],r:u*d[b],b:h*d[_],t:h*p[_]}),o.attr(\"transform\",\"translate(\"+y+\",\"+x+\")\")}(t,h,u,o._name,r)}))}},{\"../../constants/alignment\":697,\"../../lib\":728,\"../../lib/svg_text_utils\":752,\"../../plots/cartesian/axis_ids\":779,\"../../plots/plots\":839,\"../../registry\":859,\"../color\":595,\"../drawing\":617,\"./constants\":659,\"./get_update_object\":662,d3:164}],662:[function(t,e,r){\"use strict\";var n=t(\"d3\");e.exports=function(t,e){var r=t._name,a={};if(\"all\"===e.step)a[r+\".autorange\"]=!0;else{var i=function(t,e){var r,a=t.range,i=new Date(t.r2l(a[1])),o=e.step,s=e.count;switch(e.stepmode){case\"backward\":r=t.l2r(+n.time[o].utc.offset(i,-s));break;case\"todate\":var l=n.time[o].utc.offset(i,-s);r=t.l2r(+n.time[o].utc.ceil(l))}var c=a[1];return[r,c]}(t,e);a[r+\".range[0]\"]=i[0],a[r+\".range[1]\"]=i[1]}return a}},{d3:164}],663:[function(t,e,r){\"use strict\";e.exports={moduleType:\"component\",name:\"rangeselector\",schema:{subplots:{xaxis:{rangeselector:t(\"./attributes\")}}},layoutAttributes:t(\"./attributes\"),handleDefaults:t(\"./defaults\"),draw:t(\"./draw\")}},{\"./attributes\":658,\"./defaults\":660,\"./draw\":661}],664:[function(t,e,r){\"use strict\";var n=t(\"../color/attributes\");e.exports={bgcolor:{valType:\"color\",dflt:n.background,editType:\"plot\"},bordercolor:{valType:\"color\",dflt:n.defaultLine,editType:\"plot\"},borderwidth:{valType:\"integer\",dflt:0,min:0,editType:\"plot\"},autorange:{valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"calc\",impliedEdits:{\"^autorange\":!1}}],editType:\"calc\",impliedEdits:{autorange:!1}},thickness:{valType:\"number\",dflt:.15,min:0,max:1,editType:\"plot\"},visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"},editType:\"calc\"}},{\"../color/attributes\":594}],665:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axis_ids\").list,a=t(\"../../plots/cartesian/autorange\").getAutoRange,i=t(\"./constants\");e.exports=function(t){for(var e=n(t,\"x\",!0),r=0;r<e.length;r++){var o=e[r],s=o[i.name];s&&s.visible&&s.autorange&&(s._input.autorange=!0,s._input.range=s.range=a(t,o))}}},{\"../../plots/cartesian/autorange\":775,\"../../plots/cartesian/axis_ids\":779,\"./constants\":666}],666:[function(t,e,r){\"use strict\";e.exports={name:\"rangeslider\",containerClassName:\"rangeslider-container\",bgClassName:\"rangeslider-bg\",rangePlotClassName:\"rangeslider-rangeplot\",maskMinClassName:\"rangeslider-mask-min\",maskMaxClassName:\"rangeslider-mask-max\",slideBoxClassName:\"rangeslider-slidebox\",grabberMinClassName:\"rangeslider-grabber-min\",grabAreaMinClassName:\"rangeslider-grabarea-min\",handleMinClassName:\"rangeslider-handle-min\",grabberMaxClassName:\"rangeslider-grabber-max\",grabAreaMaxClassName:\"rangeslider-grabarea-max\",handleMaxClassName:\"rangeslider-handle-max\",maskMinOppAxisClassName:\"rangeslider-mask-min-opp-axis\",maskMaxOppAxisClassName:\"rangeslider-mask-max-opp-axis\",maskColor:\"rgba(0,0,0,0.4)\",maskOppAxisColor:\"rgba(0,0,0,0.2)\",slideBoxFill:\"transparent\",slideBoxCursor:\"ew-resize\",grabAreaFill:\"transparent\",grabAreaCursor:\"col-resize\",grabAreaWidth:10,handleWidth:4,handleRadius:1,handleStrokeWidth:1,extraPad:15}},{}],667:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../plot_api/plot_template\"),i=t(\"../../plots/cartesian/axis_ids\"),o=t(\"./attributes\"),s=t(\"./oppaxis_attributes\");e.exports=function(t,e,r){var l=t[r],c=e[r];if(l.rangeslider||e._requestRangeslider[c._id]){n.isPlainObject(l.rangeslider)||(l.rangeslider={});var u,h,f=l.rangeslider,p=a.newContainer(c,\"rangeslider\");if(_(\"visible\")){_(\"bgcolor\",e.plot_bgcolor),_(\"bordercolor\"),_(\"borderwidth\"),_(\"thickness\"),_(\"autorange\",!c.isValidRange(f.range)),_(\"range\");var d=e._subplots;if(d)for(var g=d.cartesian.filter((function(t){return t.substr(0,t.indexOf(\"y\"))===i.name2id(r)})).map((function(t){return t.substr(t.indexOf(\"y\"),t.length)})),m=n.simpleMap(g,i.id2name),v=0;v<m.length;v++){var y=m[v];u=f[y]||{},h=a.newContainer(p,y,\"yaxis\");var x,b=e[y];u.range&&b.isValidRange(u.range)&&(x=\"fixed\"),\"match\"!==w(\"rangemode\",x)&&w(\"range\",b.range.slice())}p._input=f}}function _(t,e){return n.coerce(f,p,o,t,e)}function w(t,e){return n.coerce(u,h,s,t,e)}}},{\"../../lib\":728,\"../../plot_api/plot_template\":766,\"../../plots/cartesian/axis_ids\":779,\"./attributes\":664,\"./oppaxis_attributes\":671}],668:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../registry\"),i=t(\"../../plots/plots\"),o=t(\"../../lib\"),s=t(\"../drawing\"),l=t(\"../color\"),c=t(\"../titles\"),u=t(\"../../plots/cartesian\"),h=t(\"../../plots/cartesian/axis_ids\"),f=t(\"../dragelement\"),p=t(\"../../lib/setcursor\"),d=t(\"./constants\");function g(t,e,r,n){var a=o.ensureSingle(t,\"rect\",d.bgClassName,(function(t){t.attr({x:0,y:0,\"shape-rendering\":\"crispEdges\"})})),i=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,l=-n._offsetShift,c=s.crispRound(e,n.borderwidth);a.attr({width:n._width+i,height:n._height+i,transform:\"translate(\"+l+\",\"+l+\")\",fill:n.bgcolor,stroke:n.bordercolor,\"stroke-width\":c})}function m(t,e,r,n){var a=e._fullLayout;o.ensureSingleById(a._topdefs,\"clipPath\",n._clipId,(function(t){t.append(\"rect\").attr({x:0,y:0})})).select(\"rect\").attr({width:n._width,height:n._height})}function v(t,e,r,a){var l,c=e.calcdata,f=t.selectAll(\"g.\"+d.rangePlotClassName).data(r._subplotsWith,o.identity);f.enter().append(\"g\").attr(\"class\",(function(t){return d.rangePlotClassName+\" \"+t})).call(s.setClipUrl,a._clipId,e),f.order(),f.exit().remove(),f.each((function(t,o){var s=n.select(this),f=0===o,p=h.getFromId(e,t,\"y\"),d=p._name,g=a[d],m={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:a.range.slice(),calendar:r.calendar},width:a._width,height:a._height,margin:{t:0,b:0,l:0,r:0}},_context:e._context};r.rangebreaks&&(m.layout.xaxis.rangebreaks=r.rangebreaks),m.layout[d]={type:p.type,domain:[0,1],range:\"match\"!==g.rangemode?g.range.slice():p.range.slice(),calendar:p.calendar},p.rangebreaks&&(m.layout[d].rangebreaks=p.rangebreaks),i.supplyDefaults(m);var v=m._fullLayout.xaxis,y=m._fullLayout[d];v.clearCalc(),v.setScale(),y.clearCalc(),y.setScale();var x={id:t,plotgroup:s,xaxis:v,yaxis:y,isRangePlot:!0};f?l=x:(x.mainplot=\"xy\",x.mainplotinfo=l),u.rangePlot(e,x,function(t,e){for(var r=[],n=0;n<t.length;n++){var a=t[n],i=a[0].trace;i.xaxis+i.yaxis===e&&r.push(a)}return r}(c,t))}))}function y(t,e,r,n,a){(o.ensureSingle(t,\"rect\",d.maskMinClassName,(function(t){t.attr({x:0,y:0,\"shape-rendering\":\"crispEdges\"})})).attr(\"height\",n._height).call(l.fill,d.maskColor),o.ensureSingle(t,\"rect\",d.maskMaxClassName,(function(t){t.attr({y:0,\"shape-rendering\":\"crispEdges\"})})).attr(\"height\",n._height).call(l.fill,d.maskColor),\"match\"!==a.rangemode)&&(o.ensureSingle(t,\"rect\",d.maskMinOppAxisClassName,(function(t){t.attr({y:0,\"shape-rendering\":\"crispEdges\"})})).attr(\"width\",n._width).call(l.fill,d.maskOppAxisColor),o.ensureSingle(t,\"rect\",d.maskMaxOppAxisClassName,(function(t){t.attr({y:0,\"shape-rendering\":\"crispEdges\"})})).attr(\"width\",n._width).style(\"border-top\",d.maskOppBorder).call(l.fill,d.maskOppAxisColor))}function x(t,e,r,n){e._context.staticPlot||o.ensureSingle(t,\"rect\",d.slideBoxClassName,(function(t){t.attr({y:0,cursor:d.slideBoxCursor,\"shape-rendering\":\"crispEdges\"})})).attr({height:n._height,fill:d.slideBoxFill})}function b(t,e,r,n){var a=o.ensureSingle(t,\"g\",d.grabberMinClassName),i=o.ensureSingle(t,\"g\",d.grabberMaxClassName),s={x:0,width:d.handleWidth,rx:d.handleRadius,fill:l.background,stroke:l.defaultLine,\"stroke-width\":d.handleStrokeWidth,\"shape-rendering\":\"crispEdges\"},c={y:Math.round(n._height/4),height:Math.round(n._height/2)};if(o.ensureSingle(a,\"rect\",d.handleMinClassName,(function(t){t.attr(s)})).attr(c),o.ensureSingle(i,\"rect\",d.handleMaxClassName,(function(t){t.attr(s)})).attr(c),!e._context.staticPlot){var u={width:d.grabAreaWidth,x:0,y:0,fill:d.grabAreaFill,cursor:d.grabAreaCursor};o.ensureSingle(a,\"rect\",d.grabAreaMinClassName,(function(t){t.attr(u)})).attr(\"height\",n._height),o.ensureSingle(i,\"rect\",d.grabAreaMaxClassName,(function(t){t.attr(u)})).attr(\"height\",n._height)}}e.exports=function(t){for(var e=t._fullLayout,r=e._rangeSliderData,i=0;i<r.length;i++){var s=r[i][d.name];s._clipId=s._id+\"-\"+e._uid}var l=e._infolayer.selectAll(\"g.\"+d.containerClassName).data(r,(function(t){return t._name}));l.exit().each((function(t){var r=t[d.name];e._topdefs.select(\"#\"+r._clipId).remove()})).remove(),0!==r.length&&(l.enter().append(\"g\").classed(d.containerClassName,!0).attr(\"pointer-events\",\"all\"),l.each((function(r){var i=n.select(this),s=r[d.name],l=e[h.id2name(r.anchor)],u=s[h.id2name(r.anchor)];if(s.range){var _,w=o.simpleMap(s.range,r.r2l),T=o.simpleMap(r.range,r.r2l);_=T[0]<T[1]?[Math.min(w[0],T[0]),Math.max(w[1],T[1])]:[Math.max(w[0],T[0]),Math.min(w[1],T[1])],s.range=s._input.range=o.simpleMap(_,r.l2r)}r.cleanRange(\"rangeslider.range\");var k=e._size,A=r.domain;s._width=k.w*(A[1]-A[0]);var M=Math.round(k.l+k.w*A[0]),S=Math.round(k.t+k.h*(1-r._counterDomainMin)+(\"bottom\"===r.side?r._depth:0)+s._offsetShift+d.extraPad);i.attr(\"transform\",\"translate(\"+M+\",\"+S+\")\"),s._rl=o.simpleMap(s.range,r.r2l);var E=s._rl[0],C=s._rl[1],L=C-E;if(s.p2d=function(t){return t/s._width*L+E},s.d2p=function(t){return(t-E)/L*s._width},r.rangebreaks){var P=r.locateBreaks(E,C);if(P.length){var I,z,O=0;for(I=0;I<P.length;I++)O+=(z=P[I]).max-z.min;var D=s._width/(C-E-O),R=[-D*E];for(I=0;I<P.length;I++)z=P[I],R.push(R[R.length-1]-D*(z.max-z.min));for(s.d2p=function(t){for(var e=R[0],r=0;r<P.length;r++){var n=P[r];if(t>=n.max)e=R[r+1];else if(t<n.min)break}return e+D*t},I=0;I<P.length;I++)(z=P[I]).pmin=s.d2p(z.min),z.pmax=s.d2p(z.max);s.p2d=function(t){for(var e=R[0],r=0;r<P.length;r++){var n=P[r];if(t>=n.pmax)e=R[r+1];else if(t<n.pmin)break}return(t-e)/D}}}if(\"match\"!==u.rangemode){var F=l.r2l(u.range[0]),B=l.r2l(u.range[1])-F;s.d2pOppAxis=function(t){return(t-F)/B*s._height}}i.call(g,t,r,s).call(m,t,r,s).call(v,t,r,s).call(y,t,r,s,u).call(x,t,r,s).call(b,t,r,s),function(t,e,r,i){var s=t.select(\"rect.\"+d.slideBoxClassName).node(),l=t.select(\"rect.\"+d.grabAreaMinClassName).node(),c=t.select(\"rect.\"+d.grabAreaMaxClassName).node();t.on(\"mousedown\",(function(){var u=n.event,h=u.target,d=u.clientX,g=d-t.node().getBoundingClientRect().left,m=i.d2p(r._rl[0]),v=i.d2p(r._rl[1]),y=f.coverSlip();function x(t){var u,f,x,b=+t.clientX-d;switch(h){case s:x=\"ew-resize\",u=m+b,f=v+b;break;case l:x=\"col-resize\",u=m+b,f=v;break;case c:x=\"col-resize\",u=m,f=v+b;break;default:x=\"ew-resize\",u=g,f=g+b}if(f<u){var _=f;f=u,u=_}i._pixelMin=u,i._pixelMax=f,p(n.select(y),x),function(t,e,r,n){function i(t){return r.l2r(o.constrain(t,n._rl[0],n._rl[1]))}var s=i(n.p2d(n._pixelMin)),l=i(n.p2d(n._pixelMax));window.requestAnimationFrame((function(){a.call(\"_guiRelayout\",e,r._name+\".range\",[s,l])}))}(0,e,r,i)}y.addEventListener(\"mousemove\",x),y.addEventListener(\"mouseup\",(function t(){y.removeEventListener(\"mousemove\",x),y.removeEventListener(\"mouseup\",t),o.removeElement(y)}))}))}(i,t,r,s),function(t,e,r,n,a,i){var s=d.handleWidth/2;function l(t){return o.constrain(t,0,n._width)}function c(t){return o.constrain(t,0,n._height)}function u(t){return o.constrain(t,-s,n._width+s)}var h=l(n.d2p(r._rl[0])),f=l(n.d2p(r._rl[1]));if(t.select(\"rect.\"+d.slideBoxClassName).attr(\"x\",h).attr(\"width\",f-h),t.select(\"rect.\"+d.maskMinClassName).attr(\"width\",h),t.select(\"rect.\"+d.maskMaxClassName).attr(\"x\",f).attr(\"width\",n._width-f),\"match\"!==i.rangemode){var p=n._height-c(n.d2pOppAxis(a._rl[1])),g=n._height-c(n.d2pOppAxis(a._rl[0]));t.select(\"rect.\"+d.maskMinOppAxisClassName).attr(\"x\",h).attr(\"height\",p).attr(\"width\",f-h),t.select(\"rect.\"+d.maskMaxOppAxisClassName).attr(\"x\",h).attr(\"y\",g).attr(\"height\",n._height-g).attr(\"width\",f-h),t.select(\"rect.\"+d.slideBoxClassName).attr(\"y\",p).attr(\"height\",g-p)}var m=Math.round(u(h-s))-.5,v=Math.round(u(f-s))+.5;t.select(\"g.\"+d.grabberMinClassName).attr(\"transform\",\"translate(\"+m+\",0.5)\"),t.select(\"g.\"+d.grabberMaxClassName).attr(\"transform\",\"translate(\"+v+\",0.5)\")}(i,0,r,s,l,u),\"bottom\"===r.side&&c.draw(t,r._id+\"title\",{propContainer:r,propName:r._name+\".title\",placeholder:e._dfltTitle.x,attributes:{x:r._offset+r._length/2,y:S+s._height+s._offsetShift+10+1.5*r.title.font.size,\"text-anchor\":\"middle\"}})})))}},{\"../../lib\":728,\"../../lib/setcursor\":748,\"../../plots/cartesian\":789,\"../../plots/cartesian/axis_ids\":779,\"../../plots/plots\":839,\"../../registry\":859,\"../color\":595,\"../dragelement\":614,\"../drawing\":617,\"../titles\":690,\"./constants\":666,d3:164}],669:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axis_ids\"),a=t(\"../../lib/svg_text_utils\"),i=t(\"./constants\"),o=t(\"../../constants/alignment\").LINE_SPACING,s=i.name;function l(t){var e=t&&t[s];return e&&e.visible}r.isVisible=l,r.makeData=function(t){var e=n.list({_fullLayout:t},\"x\",!0),r=t.margin,a=[];if(!t._has(\"gl2d\"))for(var i=0;i<e.length;i++){var o=e[i];if(l(o)){a.push(o);var c=o[s];c._id=s+o._id,c._height=(t.height-r.b-r.t)*c.thickness,c._offsetShift=Math.floor(c.borderwidth/2)}}t._rangeSliderData=a},r.autoMarginOpts=function(t,e){var r=t._fullLayout,n=e[s],l=e._id.charAt(0),c=0,u=0;\"bottom\"===e.side&&(c=e._depth,e.title.text!==r._dfltTitle[l]&&(u=1.5*e.title.font.size+10+n._offsetShift,u+=(e.title.text.match(a.BR_TAG_ALL)||[]).length*e.title.font.size*o));return{x:0,y:e._counterDomainMin,l:0,r:0,t:0,b:n._height+c+Math.max(r.margin.b,u),pad:i.extraPad+2*n._offsetShift}}},{\"../../constants/alignment\":697,\"../../lib/svg_text_utils\":752,\"../../plots/cartesian/axis_ids\":779,\"./constants\":666}],670:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"./attributes\"),i=t(\"./oppaxis_attributes\"),o=t(\"./helpers\");e.exports={moduleType:\"component\",name:\"rangeslider\",schema:{subplots:{xaxis:{rangeslider:n.extendFlat({},a,{yaxis:i})}}},layoutAttributes:t(\"./attributes\"),handleDefaults:t(\"./defaults\"),calcAutorange:t(\"./calc_autorange\"),draw:t(\"./draw\"),isVisible:o.isVisible,makeData:o.makeData,autoMarginOpts:o.autoMarginOpts}},{\"../../lib\":728,\"./attributes\":664,\"./calc_autorange\":665,\"./defaults\":667,\"./draw\":668,\"./helpers\":669,\"./oppaxis_attributes\":671}],671:[function(t,e,r){\"use strict\";e.exports={_isSubplotObj:!0,rangemode:{valType:\"enumerated\",values:[\"auto\",\"fixed\",\"match\"],dflt:\"match\",editType:\"calc\"},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"plot\"},{valType:\"any\",editType:\"plot\"}],editType:\"plot\"},editType:\"calc\"}},{}],672:[function(t,e,r){\"use strict\";var n=t(\"../annotations/attributes\"),a=t(\"../../traces/scatter/attributes\").line,i=t(\"../drawing/attributes\").dash,o=t(\"../../lib/extend\").extendFlat,s=t(\"../../plot_api/plot_template\").templatedArray;e.exports=s(\"shape\",{visible:{valType:\"boolean\",dflt:!0,editType:\"calc+arraydraw\"},type:{valType:\"enumerated\",values:[\"circle\",\"rect\",\"path\",\"line\"],editType:\"calc+arraydraw\"},layer:{valType:\"enumerated\",values:[\"below\",\"above\"],dflt:\"above\",editType:\"arraydraw\"},xref:o({},n.xref,{}),xsizemode:{valType:\"enumerated\",values:[\"scaled\",\"pixel\"],dflt:\"scaled\",editType:\"calc+arraydraw\"},xanchor:{valType:\"any\",editType:\"calc+arraydraw\"},x0:{valType:\"any\",editType:\"calc+arraydraw\"},x1:{valType:\"any\",editType:\"calc+arraydraw\"},yref:o({},n.yref,{}),ysizemode:{valType:\"enumerated\",values:[\"scaled\",\"pixel\"],dflt:\"scaled\",editType:\"calc+arraydraw\"},yanchor:{valType:\"any\",editType:\"calc+arraydraw\"},y0:{valType:\"any\",editType:\"calc+arraydraw\"},y1:{valType:\"any\",editType:\"calc+arraydraw\"},path:{valType:\"string\",editType:\"calc+arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"arraydraw\"},line:{color:o({},a.color,{editType:\"arraydraw\"}),width:o({},a.width,{editType:\"calc+arraydraw\"}),dash:o({},i,{editType:\"arraydraw\"}),editType:\"calc+arraydraw\"},fillcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"arraydraw\"},fillrule:{valType:\"enumerated\",values:[\"evenodd\",\"nonzero\"],dflt:\"evenodd\",editType:\"arraydraw\"},editable:{valType:\"boolean\",dflt:!1,editType:\"calc+arraydraw\"},editType:\"arraydraw\"})},{\"../../lib/extend\":719,\"../../plot_api/plot_template\":766,\"../../traces/scatter/attributes\":1134,\"../annotations/attributes\":578,\"../drawing/attributes\":616}],673:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),i=t(\"./constants\"),o=t(\"./helpers\");function s(t){return c(t.line.width,t.xsizemode,t.x0,t.x1,t.path,!1)}function l(t){return c(t.line.width,t.ysizemode,t.y0,t.y1,t.path,!0)}function c(t,e,r,a,s,l){var c=t/2,u=l;if(\"pixel\"===e){var h=s?o.extractPathCoords(s,l?i.paramIsY:i.paramIsX):[r,a],f=n.aggNums(Math.max,null,h),p=n.aggNums(Math.min,null,h),d=p<0?Math.abs(p)+c:c,g=f>0?f+c:c;return{ppad:c,ppadplus:u?d:g,ppadminus:u?g:d}}return{ppad:c}}function u(t,e,r,n,a){var s=\"category\"===t.type||\"multicategory\"===t.type?t.r2c:t.d2c;if(void 0!==e)return[s(e),s(r)];if(n){var l,c,u,h,f=1/0,p=-1/0,d=n.match(i.segmentRE);for(\"date\"===t.type&&(s=o.decodeDate(s)),l=0;l<d.length;l++)void 0!==(c=a[d[l].charAt(0)].drawn)&&(!(u=d[l].substr(1).match(i.paramRE))||u.length<c||((h=s(u[c]))<f&&(f=h),h>p&&(p=h)));return p>=f?[f,p]:void 0}}e.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var o=0;o<r.length;o++){var c,h,f=r[o];if(f._extremes={},\"paper\"!==f.xref){var p=\"pixel\"===f.xsizemode?f.xanchor:f.x0,d=\"pixel\"===f.xsizemode?f.xanchor:f.x1;(h=u(c=a.getFromId(t,f.xref),p,d,f.path,i.paramIsX))&&(f._extremes[c._id]=a.findExtremes(c,h,s(f)))}if(\"paper\"!==f.yref){var g=\"pixel\"===f.ysizemode?f.yanchor:f.y0,m=\"pixel\"===f.ysizemode?f.yanchor:f.y1;(h=u(c=a.getFromId(t,f.yref),g,m,f.path,i.paramIsY))&&(f._extremes[c._id]=a.findExtremes(c,h,l(f)))}}}},{\"../../lib\":728,\"../../plots/cartesian/axes\":776,\"./constants\":674,\"./helpers\":683}],674:[function(t,e,r){\"use strict\";e.exports={segmentRE:/[MLHVQCTSZ][^MLHVQCTSZ]*/g,paramRE:/[^\\s,]+/g,paramIsX:{M:{0:!0,drawn:0},L:{0:!0,drawn:0},H:{0:!0,drawn:0},V:{},Q:{0:!0,2:!0,drawn:2},C:{0:!0,2:!0,4:!0,drawn:4},T:{0:!0,drawn:0},S:{0:!0,2:!0,drawn:2},Z:{}},paramIsY:{M:{1:!0,drawn:1},L:{1:!0,drawn:1},H:{},V:{0:!0,drawn:0},Q:{1:!0,3:!0,drawn:3},C:{1:!0,3:!0,5:!0,drawn:5},T:{1:!0,drawn:1},S:{1:!0,3:!0,drawn:5},Z:{}},numParams:{M:2,L:2,H:1,V:1,Q:4,C:6,T:2,S:4,Z:0}}},{}],675:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),i=t(\"../../plots/array_container_defaults\"),o=t(\"./attributes\"),s=t(\"./helpers\");function l(t,e,r){function i(r,a){return n.coerce(t,e,o,r,a)}if(i(\"visible\")){var l=i(\"path\"),c=i(\"type\",l?\"path\":\"rect\");\"path\"!==e.type&&delete e.path,i(\"editable\"),i(\"layer\"),i(\"opacity\"),i(\"fillcolor\"),i(\"fillrule\"),i(\"line.width\")&&(i(\"line.color\"),i(\"line.dash\"));for(var u=i(\"xsizemode\"),h=i(\"ysizemode\"),f=[\"x\",\"y\"],p=0;p<2;p++){var d,g,m,v=f[p],y=v+\"anchor\",x=\"x\"===v?u:h,b={_fullLayout:r},_=a.coerceRef(t,e,b,v,\"\",\"paper\");if(\"paper\"!==_?((d=a.getFromId(b,_))._shapeIndices.push(e._index),m=s.rangeToShapePosition(d),g=s.shapePositionToRange(d)):g=m=n.identity,\"path\"!==c){var w=v+\"0\",T=v+\"1\",k=t[w],A=t[T];t[w]=g(t[w],!0),t[T]=g(t[T],!0),\"pixel\"===x?(i(w,0),i(T,10)):(a.coercePosition(e,b,i,_,w,.25),a.coercePosition(e,b,i,_,T,.75)),e[w]=m(e[w]),e[T]=m(e[T]),t[w]=k,t[T]=A}if(\"pixel\"===x){var M=t[y];t[y]=g(t[y],!0),a.coercePosition(e,b,i,_,y,.25),e[y]=m(e[y]),t[y]=M}}\"path\"===c?i(\"path\"):n.noneOrAll(t,e,[\"x0\",\"x1\",\"y0\",\"y1\"])}}e.exports=function(t,e){i(t,e,{name:\"shapes\",handleItemDefaults:l})}},{\"../../lib\":728,\"../../plots/array_container_defaults\":772,\"../../plots/cartesian/axes\":776,\"./attributes\":672,\"./helpers\":683}],676:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),a=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),o=t(\"./draw_newshape/helpers\").readPaths,s=t(\"./draw_newshape/display_outlines\"),l=t(\"../../plots/cartesian/handle_outline\").clearOutlineControllers,c=t(\"../color\"),u=t(\"../drawing\"),h=t(\"../../plot_api/plot_template\").arrayEditor,f=t(\"../dragelement\"),p=t(\"../../lib/setcursor\"),d=t(\"./constants\"),g=t(\"./helpers\");function m(t){var e=t._fullLayout;for(var r in e._shapeUpperLayer.selectAll(\"path\").remove(),e._shapeLowerLayer.selectAll(\"path\").remove(),e._plots){var n=e._plots[r].shapelayer;n&&n.selectAll(\"path\").remove()}for(var a=0;a<e.shapes.length;a++)e.shapes[a].visible&&x(t,a)}function v(t){return!!t._fullLayout._drawing}function y(t){return!t._context.edits.shapePosition}function x(t,e){t._fullLayout._paperdiv.selectAll('.shapelayer [data-index=\"'+e+'\"]').remove();var r=g.makeOptionsAndPlotinfo(t,e),l=r.options,x=r.plotinfo;if(l._input&&!1!==l.visible)if(\"below\"!==l.layer)k(t._fullLayout._shapeUpperLayer);else if(\"paper\"===l.xref||\"paper\"===l.yref)k(t._fullLayout._shapeLowerLayer);else{if(x._hadPlotinfo)k((x.mainplotinfo||x).shapelayer);else k(t._fullLayout._shapeLowerLayer)}function k(r){var k=_(t,l),A={\"data-index\":e,\"fill-rule\":l.fillrule,d:k},M=l.opacity,S=l.fillcolor,E=l.line.width?l.line.color:\"rgba(0,0,0,0)\",C=l.line.width,L=l.line.dash;C||!0!==l.editable||(C=5,L=\"solid\");var P=\"Z\"!==k[k.length-1],I=y(t)&&l.editable&&t._fullLayout._activeShapeIndex===e;I&&(S=P?\"rgba(0,0,0,0)\":t._fullLayout.activeshape.fillcolor,M=t._fullLayout.activeshape.opacity);var z,O=r.append(\"path\").attr(A).style(\"opacity\",M).call(c.stroke,E).call(c.fill,S).call(u.dashLine,L,C);if(b(O,t,l),(I||t._context.edits.shapePosition)&&(z=h(t.layout,\"shapes\",l)),I){O.style({cursor:\"move\"});var D={element:O.node(),plotinfo:x,gd:t,editHelpers:z,isActiveShape:!0},R=o(k,t);s(R,O,D)}else t._context.edits.shapePosition?function(t,e,r,o,s,l){var c,h,m,y,x,T,k,A,M,S,E,C,L,P,I,z,O=\"pixel\"===r.xsizemode,D=\"pixel\"===r.ysizemode,R=\"line\"===r.type,F=\"path\"===r.type,B=l.modifyItem,N=i.getFromId(t,r.xref),j=i.getFromId(t,r.yref),V=g.getDataToPixel(t,N),U=g.getDataToPixel(t,j,!0),q=g.getPixelToData(t,N),H=g.getPixelToData(t,j,!0),G=R?function(){var t=Math.max(r.line.width,10),n=s.append(\"g\").attr(\"data-index\",o);n.append(\"path\").attr(\"d\",e.attr(\"d\")).style({cursor:\"move\",\"stroke-width\":t,\"stroke-opacity\":\"0\"});var a={\"fill-opacity\":\"0\"},i=Math.max(t/2,10);return n.append(\"circle\").attr({\"data-line-point\":\"start-point\",cx:O?V(r.xanchor)+r.x0:V(r.x0),cy:D?U(r.yanchor)-r.y0:U(r.y0),r:i}).style(a).classed(\"cursor-grab\",!0),n.append(\"circle\").attr({\"data-line-point\":\"end-point\",cx:O?V(r.xanchor)+r.x1:V(r.x1),cy:D?U(r.yanchor)-r.y1:U(r.y1),r:i}).style(a).classed(\"cursor-grab\",!0),n}():e,Y={element:G.node(),gd:t,prepFn:function(n){if(v(t))return;O&&(x=V(r.xanchor));D&&(T=U(r.yanchor));\"path\"===r.type?I=r.path:(c=O?r.x0:V(r.x0),h=D?r.y0:U(r.y0),m=O?r.x1:V(r.x1),y=D?r.y1:U(r.y1));c<m?(M=c,L=\"x0\",S=m,P=\"x1\"):(M=m,L=\"x1\",S=c,P=\"x0\");!D&&h<y||D&&h>y?(k=h,E=\"y0\",A=y,C=\"y1\"):(k=y,E=\"y1\",A=h,C=\"y0\");W(n),J(s,r),function(t,e,r){var n=e.xref,a=e.yref,o=i.getFromId(r,n),s=i.getFromId(r,a),l=\"\";\"paper\"===n||o.autorange||(l+=n);\"paper\"===a||s.autorange||(l+=a);u.setClipUrl(t,l?\"clip\"+r._fullLayout._uid+l:null,r)}(e,r,t),Y.moveFn=\"move\"===z?Z:X,Y.altKey=n.altKey},doneFn:function(){if(v(t))return;p(e),K(s),b(e,t,r),n.call(\"_guiRelayout\",t,l.getUpdateObj())},clickFn:function(){if(v(t))return;K(s)}};function W(r){if(v(t))z=null;else if(R)z=\"path\"===r.target.tagName?\"move\":\"start-point\"===r.target.attributes[\"data-line-point\"].value?\"resize-over-start-point\":\"resize-over-end-point\";else{var n=Y.element.getBoundingClientRect(),a=n.right-n.left,i=n.bottom-n.top,o=r.clientX-n.left,s=r.clientY-n.top,l=!F&&a>10&&i>10&&!r.shiftKey?f.getCursor(o/a,1-s/i):\"move\";p(e,l),z=l.split(\"-\")[0]}}function Z(n,a){if(\"path\"===r.type){var i=function(t){return t},o=i,l=i;O?B(\"xanchor\",r.xanchor=q(x+n)):(o=function(t){return q(V(t)+n)},N&&\"date\"===N.type&&(o=g.encodeDate(o))),D?B(\"yanchor\",r.yanchor=H(T+a)):(l=function(t){return H(U(t)+a)},j&&\"date\"===j.type&&(l=g.encodeDate(l))),B(\"path\",r.path=w(I,o,l))}else O?B(\"xanchor\",r.xanchor=q(x+n)):(B(\"x0\",r.x0=q(c+n)),B(\"x1\",r.x1=q(m+n))),D?B(\"yanchor\",r.yanchor=H(T+a)):(B(\"y0\",r.y0=H(h+a)),B(\"y1\",r.y1=H(y+a)));e.attr(\"d\",_(t,r)),J(s,r)}function X(n,a){if(F){var i=function(t){return t},o=i,l=i;O?B(\"xanchor\",r.xanchor=q(x+n)):(o=function(t){return q(V(t)+n)},N&&\"date\"===N.type&&(o=g.encodeDate(o))),D?B(\"yanchor\",r.yanchor=H(T+a)):(l=function(t){return H(U(t)+a)},j&&\"date\"===j.type&&(l=g.encodeDate(l))),B(\"path\",r.path=w(I,o,l))}else if(R){if(\"resize-over-start-point\"===z){var u=c+n,f=D?h-a:h+a;B(\"x0\",r.x0=O?u:q(u)),B(\"y0\",r.y0=D?f:H(f))}else if(\"resize-over-end-point\"===z){var p=m+n,d=D?y-a:y+a;B(\"x1\",r.x1=O?p:q(p)),B(\"y1\",r.y1=D?d:H(d))}}else{var v=function(t){return-1!==z.indexOf(t)},b=v(\"n\"),G=v(\"s\"),Y=v(\"w\"),W=v(\"e\"),Z=b?k+a:k,X=G?A+a:A,K=Y?M+n:M,Q=W?S+n:S;D&&(b&&(Z=k-a),G&&(X=A-a)),(!D&&X-Z>10||D&&Z-X>10)&&(B(E,r[E]=D?Z:H(Z)),B(C,r[C]=D?X:H(X))),Q-K>10&&(B(L,r[L]=O?K:q(K)),B(P,r[P]=O?Q:q(Q)))}e.attr(\"d\",_(t,r)),J(s,r)}function J(t,e){(O||D)&&function(){var r=\"path\"!==e.type,n=t.selectAll(\".visual-cue\").data([0]);n.enter().append(\"path\").attr({fill:\"#fff\",\"fill-rule\":\"evenodd\",stroke:\"#000\",\"stroke-width\":1}).classed(\"visual-cue\",!0);var i=V(O?e.xanchor:a.midRange(r?[e.x0,e.x1]:g.extractPathCoords(e.path,d.paramIsX))),o=U(D?e.yanchor:a.midRange(r?[e.y0,e.y1]:g.extractPathCoords(e.path,d.paramIsY)));if(i=g.roundPositionForSharpStrokeRendering(i,1),o=g.roundPositionForSharpStrokeRendering(o,1),O&&D){var s=\"M\"+(i-1-1)+\",\"+(o-1-1)+\"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z\";n.attr(\"d\",s)}else if(O){var l=\"M\"+(i-1-1)+\",\"+(o-9-1)+\"v18 h2 v-18 Z\";n.attr(\"d\",l)}else{var c=\"M\"+(i-9-1)+\",\"+(o-1-1)+\"h18 v2 h-18 Z\";n.attr(\"d\",c)}}()}function K(t){t.selectAll(\".visual-cue\").remove()}f.init(Y),G.node().onmousemove=W}(t,O,l,e,r,z):!0===l.editable&&O.style(\"pointer-events\",P||c.opacity(S)*M<=.5?\"stroke\":\"all\");O.node().addEventListener(\"click\",(function(){return function(t,e){if(!y(t))return;var r=+e.node().getAttribute(\"data-index\");if(r>=0){if(r===t._fullLayout._activeShapeIndex)return void T(t);t._fullLayout._activeShapeIndex=r,t._fullLayout._deactivateShape=T,m(t)}}(t,O)}))}}function b(t,e,r){var n=(r.xref+r.yref).replace(/paper/g,\"\");u.setClipUrl(t,n?\"clip\"+e._fullLayout._uid+n:null,e)}function _(t,e){var r,n,o,s,l,c,u,h,f=e.type,p=i.getFromId(t,e.xref),m=i.getFromId(t,e.yref),v=t._fullLayout._size;if(p?(r=g.shapePositionToRange(p),n=function(t){return p._offset+p.r2p(r(t,!0))}):n=function(t){return v.l+v.w*t},m?(o=g.shapePositionToRange(m),s=function(t){return m._offset+m.r2p(o(t,!0))}):s=function(t){return v.t+v.h*(1-t)},\"path\"===f)return p&&\"date\"===p.type&&(n=g.decodeDate(n)),m&&\"date\"===m.type&&(s=g.decodeDate(s)),function(t,e,r){var n=t.path,i=t.xsizemode,o=t.ysizemode,s=t.xanchor,l=t.yanchor;return n.replace(d.segmentRE,(function(t){var n=0,c=t.charAt(0),u=d.paramIsX[c],h=d.paramIsY[c],f=d.numParams[c],p=t.substr(1).replace(d.paramRE,(function(t){return u[n]?t=\"pixel\"===i?e(s)+Number(t):e(t):h[n]&&(t=\"pixel\"===o?r(l)-Number(t):r(t)),++n>f&&(t=\"X\"),t}));return n>f&&(p=p.replace(/[\\s,]*X.*/,\"\"),a.log(\"Ignoring extra params in segment \"+t)),c+p}))}(e,n,s);if(\"pixel\"===e.xsizemode){var y=n(e.xanchor);l=y+e.x0,c=y+e.x1}else l=n(e.x0),c=n(e.x1);if(\"pixel\"===e.ysizemode){var x=s(e.yanchor);u=x-e.y0,h=x-e.y1}else u=s(e.y0),h=s(e.y1);if(\"line\"===f)return\"M\"+l+\",\"+u+\"L\"+c+\",\"+h;if(\"rect\"===f)return\"M\"+l+\",\"+u+\"H\"+c+\"V\"+h+\"H\"+l+\"Z\";var b=(l+c)/2,_=(u+h)/2,w=Math.abs(b-l),T=Math.abs(_-u),k=\"A\"+w+\",\"+T,A=b+w+\",\"+_;return\"M\"+A+k+\" 0 1,1 \"+(b+\",\"+(_-T))+k+\" 0 0,1 \"+A+\"Z\"}function w(t,e,r){return t.replace(d.segmentRE,(function(t){var n=0,a=t.charAt(0),i=d.paramIsX[a],o=d.paramIsY[a],s=d.numParams[a];return a+t.substr(1).replace(d.paramRE,(function(t){return n>=s||(i[n]?t=e(t):o[n]&&(t=r(t)),n++),t}))}))}function T(t){y(t)&&(t._fullLayout._activeShapeIndex>=0&&(l(t),delete t._fullLayout._activeShapeIndex,m(t)))}e.exports={draw:m,drawOne:x,eraseActiveShape:function(t){if(!y(t))return;l(t);var e=t._fullLayout._activeShapeIndex,r=(t.layout||{}).shapes||[];if(e<r.length){for(var a=[],i=0;i<r.length;i++)i!==e&&a.push(r[i]);delete t._fullLayout._activeShapeIndex,n.call(\"_guiRelayout\",t,{shapes:a})}}}},{\"../../lib\":728,\"../../lib/setcursor\":748,\"../../plot_api/plot_template\":766,\"../../plots/cartesian/axes\":776,\"../../plots/cartesian/handle_outline\":786,\"../../registry\":859,\"../color\":595,\"../dragelement\":614,\"../drawing\":617,\"./constants\":674,\"./draw_newshape/display_outlines\":680,\"./draw_newshape/helpers\":681,\"./helpers\":683}],677:[function(t,e,r){\"use strict\";var n=t(\"../../drawing/attributes\").dash,a=t(\"../../../lib/extend\").extendFlat;e.exports={newshape:{line:{color:{valType:\"color\",editType:\"none\"},width:{valType:\"number\",min:0,dflt:4,editType:\"none\"},dash:a({},n,{dflt:\"solid\",editType:\"none\"}),editType:\"none\"},fillcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"none\"},fillrule:{valType:\"enumerated\",values:[\"evenodd\",\"nonzero\"],dflt:\"evenodd\",editType:\"none\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"none\"},layer:{valType:\"enumerated\",values:[\"below\",\"above\"],dflt:\"above\",editType:\"none\"},drawdirection:{valType:\"enumerated\",values:[\"ortho\",\"horizontal\",\"vertical\",\"diagonal\"],dflt:\"diagonal\",editType:\"none\"},editType:\"none\"},activeshape:{fillcolor:{valType:\"color\",dflt:\"rgb(255,0,255)\",editType:\"none\"},opacity:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"none\"},editType:\"none\"}}},{\"../../../lib/extend\":719,\"../../drawing/attributes\":616}],678:[function(t,e,r){\"use strict\";e.exports={CIRCLE_SIDES:32,i000:0,i090:8,i180:16,i270:24,cos45:Math.cos(Math.PI/4),sin45:Math.sin(Math.PI/4),SQRT2:Math.sqrt(2)}},{}],679:[function(t,e,r){\"use strict\";var n=t(\"../../color\");e.exports=function(t,e,r){if(r(\"newshape.drawdirection\"),r(\"newshape.layer\"),r(\"newshape.fillcolor\"),r(\"newshape.fillrule\"),r(\"newshape.opacity\"),r(\"newshape.line.width\")){var a=(t||{}).plot_bgcolor||\"#FFF\";r(\"newshape.line.color\",n.contrast(a)),r(\"newshape.line.dash\")}r(\"activeshape.fillcolor\"),r(\"activeshape.opacity\")}},{\"../../color\":595}],680:[function(t,e,r){\"use strict\";var n=t(\"../../dragelement\"),a=t(\"../../dragelement/helpers\").drawMode,i=t(\"../../../registry\"),o=t(\"./constants\"),s=o.i000,l=o.i090,c=o.i180,u=o.i270,h=t(\"../../../plots/cartesian/handle_outline\").clearOutlineControllers,f=t(\"./helpers\"),p=f.pointsShapeRectangle,d=f.pointsShapeEllipse,g=f.writePaths,m=t(\"./newshapes\");e.exports=function t(e,r,o,f){f||(f=0);var v=o.gd;function y(){t(e,r,o,f++),d(e[0])&&x({redrawing:!0})}function x(t){o.isActiveShape=!1;var e=m(r,o);Object.keys(e).length&&i.call((t||{}).redrawing?\"relayout\":\"_guiRelayout\",v,e)}var b,_,w,T,k,A=o.isActiveShape,M=v._fullLayout._zoomlayer,S=o.dragmode;(a(S)?v._fullLayout._drawing=!0:v._fullLayout._activeShapeIndex>=0&&h(v),r.attr(\"d\",g(e)),A&&!f)&&(k=function(t,e){for(var r=0;r<e.length;r++){var n=e[r];t[r]=[];for(var a=0;a<n.length;a++){t[r][a]=[];for(var i=0;i<n[a].length;i++)t[r][a][i]=n[a][i]}}return t}([],e),function(t){b=[];for(var r=0;r<e.length;r++){var a=e[r],i=!p(a)&&d(a);b[r]=[];for(var o=0;o<a.length;o++)if(\"Z\"!==a[o][0]&&(!i||o===s||o===l||o===c||o===u)){var h=a[o][1],f=a[o][2],g=t.append(\"circle\").classed(\"cursor-grab\",!0).attr(\"data-i\",r).attr(\"data-j\",o).attr(\"cx\",h).attr(\"cy\",f).attr(\"r\",4).style({\"mix-blend-mode\":\"luminosity\",fill:\"black\",stroke:\"white\",\"stroke-width\":1});b[r][o]={element:g.node(),gd:v,prepFn:E,doneFn:L,clickFn:P},n.init(b[r][o])}}}(M.append(\"g\").attr(\"class\",\"outline-controllers\")),function(){if(_=[],!e.length)return;_[0]={element:r[0][0],gd:v,prepFn:z,doneFn:O},n.init(_[0])}());function E(t){w=+t.srcElement.getAttribute(\"data-i\"),T=+t.srcElement.getAttribute(\"data-j\"),b[w][T].moveFn=C}function C(t,r){if(e.length){var n=k[w][T][1],a=k[w][T][2],i=e[w],o=i.length;if(p(i)){for(var s=0;s<o;s++)if(s!==T){var l=i[s];l[1]===i[T][1]&&(l[1]=n+t),l[2]===i[T][2]&&(l[2]=a+r)}if(i[T][1]=n+t,i[T][2]=a+r,!p(i))for(var c=0;c<o;c++)for(var u=0;u<i[c].length;u++)i[c][u]=k[w][c][u]}else i[T][1]=n+t,i[T][2]=a+r;y()}}function L(){x()}function P(t,r){if(2===t){w=+r.srcElement.getAttribute(\"data-i\"),T=+r.srcElement.getAttribute(\"data-j\");var n=e[w];p(n)||d(n)||function(){if(e.length&&e[w]&&e[w].length){for(var t=[],r=0;r<e[w].length;r++)r!==T&&t.push(e[w][r]);t.length>1&&(2!==t.length||\"Z\"!==t[1][0])&&(0===T&&(t[0][0]=\"M\"),e[w]=t,y(),x())}}()}}function I(t,r){!function(t,r){if(e.length)for(var n=0;n<e.length;n++)for(var a=0;a<e[n].length;a++)for(var i=0;i+2<e[n][a].length;i+=2)e[n][a][i+1]=k[n][a][i+1]+t,e[n][a][i+2]=k[n][a][i+2]+r}(t,r),y()}function z(t){(w=+t.srcElement.getAttribute(\"data-i\"))||(w=0),_[w].moveFn=I}function O(){x()}}},{\"../../../plots/cartesian/handle_outline\":786,\"../../../registry\":859,\"../../dragelement\":614,\"../../dragelement/helpers\":613,\"./constants\":678,\"./helpers\":681,\"./newshapes\":682}],681:[function(t,e,r){\"use strict\";var n=t(\"parse-svg-path\"),a=t(\"./constants\"),i=a.CIRCLE_SIDES,o=a.SQRT2,s=t(\"../../../plots/cartesian/helpers\"),l=s.p2r,c=s.r2p,u=[0,3,4,5,6,1,2],h=[0,3,4,1,2];function f(t,e){return Math.abs(t-e)<=1e-6}function p(t,e){var r=e[1]-t[1],n=e[2]-t[2];return Math.sqrt(r*r+n*n)}r.writePaths=function(t){var e=t.length;if(!e)return\"M0,0Z\";for(var r=\"\",n=0;n<e;n++)for(var a=t[n].length,i=0;i<a;i++){var o=t[n][i][0];if(\"Z\"===o)r+=\"Z\";else for(var s=t[n][i].length,l=0;l<s;l++){var c=l;\"Q\"===o||\"S\"===o?c=h[l]:\"C\"===o&&(c=u[l]),r+=t[n][i][c],l>0&&l<s-1&&(r+=\",\")}}return r},r.readPaths=function(t,e,r,a){var o,s,u,h=n(t),f=[],p=-1,d=0,g=0,m=function(){s=d,u=g};m();for(var v=0;v<h.length;v++){var y,x,b,_,w=[],T=h[v][0],k=T;switch(T){case\"M\":p++,f[p]=[],d=+h[v][1],g=+h[v][2],w.push([k,d,g]),m();break;case\"Q\":case\"S\":y=+h[v][1],b=+h[v][2],d=+h[v][3],g=+h[v][4],w.push([k,d,g,y,b]);break;case\"C\":y=+h[v][1],b=+h[v][2],x=+h[v][3],_=+h[v][4],d=+h[v][5],g=+h[v][6],w.push([k,d,g,y,b,x,_]);break;case\"T\":case\"L\":d=+h[v][1],g=+h[v][2],w.push([k,d,g]);break;case\"H\":k=\"L\",d=+h[v][1],w.push([k,d,g]);break;case\"V\":k=\"L\",g=+h[v][1],w.push([k,d,g]);break;case\"A\":k=\"L\";var A=+h[v][1],M=+h[v][2];+h[v][4]||(A=-A,M=-M);var S=d-A,E=g;for(o=1;o<=i/2;o++){var C=2*Math.PI*o/i;w.push([k,S+A*Math.cos(C),E+M*Math.sin(C)])}break;case\"Z\":d===s&&g===u||(d=s,g=u,w.push([k,d,g]))}for(var L=(r||{}).domain,P=e._fullLayout._size,I=r&&\"pixel\"===r.xsizemode,z=r&&\"pixel\"===r.ysizemode,O=!1===a,D=0;D<w.length;D++){for(o=0;o+2<7;o+=2){var R=w[D][o+1],F=w[D][o+2];void 0!==R&&void 0!==F&&(d=R,g=F,r&&(r.xaxis&&r.xaxis.p2r?(O&&(R-=r.xaxis._offset),R=I?c(r.xaxis,r.xanchor)+R:l(r.xaxis,R)):(O&&(R-=P.l),L?R=L.x[0]+R/P.w:R/=P.w),r.yaxis&&r.yaxis.p2r?(O&&(F-=r.yaxis._offset),F=z?c(r.yaxis,r.yanchor)-F:l(r.yaxis,F)):(O&&(F-=P.t),F=L?L.y[1]-F/P.h:1-F/P.h)),w[D][o+1]=R,w[D][o+2]=F)}f[p].push(w[D].slice())}}return f},r.pointsShapeRectangle=function(t){if(5!==t.length)return!1;for(var e=1;e<3;e++){if(!f(t[0][e]-t[1][e],t[3][e]-t[2][e]))return!1;if(!f(t[0][e]-t[3][e],t[1][e]-t[2][e]))return!1}return!(!f(t[0][1],t[1][1])&&!f(t[0][1],t[3][1]))&&!!(p(t[0],t[1])*p(t[0],t[3]))},r.pointsShapeEllipse=function(t){var e=t.length;if(e!==i+1)return!1;e=i;for(var r=0;r<e;r++){var n=(2*e-r)%e,a=(e/2+n)%e,o=(e/2+r)%e;if(!f(p(t[r],t[o]),p(t[n],t[a])))return!1}return!0},r.handleEllipse=function(t,e,n){if(!t)return[e,n];var a=r.ellipseOver({x0:e[0],y0:e[1],x1:n[0],y1:n[1]}),s=(a.x1+a.x0)/2,l=(a.y1+a.y0)/2,c=(a.x1-a.x0)/2,u=(a.y1-a.y0)/2;c||(c=u/=o),u||(u=c/=o);for(var h=[],f=0;f<i;f++){var p=2*f*Math.PI/i;h.push([s+c*Math.cos(p),l+u*Math.sin(p)])}return h},r.ellipseOver=function(t){var e=t.x0,r=t.y0,n=t.x1,a=t.y1,i=n-e,s=a-r,l=((e-=i)+n)/2,c=((r-=s)+a)/2;return{x0:l-(i*=o),y0:c-(s*=o),x1:l+i,y1:c+s}}},{\"../../../plots/cartesian/helpers\":787,\"./constants\":678,\"parse-svg-path\":458}],682:[function(t,e,r){\"use strict\";var n=t(\"../../dragelement/helpers\"),a=n.drawMode,i=n.openMode,o=t(\"./constants\"),s=o.i000,l=o.i090,c=o.i180,u=o.i270,h=o.cos45,f=o.sin45,p=t(\"../../../plots/cartesian/helpers\"),d=p.p2r,g=p.r2p,m=t(\"../../../plots/cartesian/handle_outline\").clearSelect,v=t(\"./helpers\"),y=v.readPaths,x=v.writePaths,b=v.ellipseOver;e.exports=function(t,e){if(t.length){var r=t[0][0];if(r){var n=r.getAttribute(\"d\"),o=e.gd,p=o._fullLayout.newshape,v=e.plotinfo,_=v.xaxis,w=v.yaxis,T=!!v.domain||!v.xaxis,k=!!v.domain||!v.yaxis,A=e.isActiveShape,M=e.dragmode,S=(o.layout||{}).shapes||[];if(!a(M)&&void 0!==A){var E=o._fullLayout._activeShapeIndex;if(E<S.length)switch(o._fullLayout.shapes[E].type){case\"rect\":M=\"drawrect\";break;case\"circle\":M=\"drawcircle\";break;case\"line\":M=\"drawline\";break;case\"path\":var C=S[E].path||\"\";M=\"Z\"===C[C.length-1]?\"drawclosedpath\":\"drawopenpath\"}}var L,P=i(M),I=y(n,o,v,A),z={editable:!0,xref:T?\"paper\":_._id,yref:k?\"paper\":w._id,layer:p.layer,opacity:p.opacity,line:{color:p.line.color,width:p.line.width,dash:p.line.dash}};if(P||(z.fillcolor=p.fillcolor,z.fillrule=p.fillrule),1===I.length&&(L=I[0]),L&&\"drawrect\"===M)z.type=\"rect\",z.x0=L[0][1],z.y0=L[0][2],z.x1=L[2][1],z.y1=L[2][2];else if(L&&\"drawline\"===M)z.type=\"line\",z.x0=L[0][1],z.y0=L[0][2],z.x1=L[1][1],z.y1=L[1][2];else if(L&&\"drawcircle\"===M){z.type=\"circle\";var O=L[s][1],D=L[l][1],R=L[c][1],F=L[u][1],B=L[s][2],N=L[l][2],j=L[c][2],V=L[u][2],U=v.xaxis&&(\"date\"===v.xaxis.type||\"log\"===v.xaxis.type),q=v.yaxis&&(\"date\"===v.yaxis.type||\"log\"===v.yaxis.type);U&&(O=g(v.xaxis,O),D=g(v.xaxis,D),R=g(v.xaxis,R),F=g(v.xaxis,F)),q&&(B=g(v.yaxis,B),N=g(v.yaxis,N),j=g(v.yaxis,j),V=g(v.yaxis,V));var H=(D+F)/2,G=(B+j)/2,Y=b({x0:H,y0:G,x1:H+(F-D+R-O)/2*h,y1:G+(V-N+j-B)/2*f});U&&(Y.x0=d(v.xaxis,Y.x0),Y.x1=d(v.xaxis,Y.x1)),q&&(Y.y0=d(v.yaxis,Y.y0),Y.y1=d(v.yaxis,Y.y1)),z.x0=Y.x0,z.y0=Y.y0,z.x1=Y.x1,z.y1=Y.y1}else z.type=\"path\",_&&w&&function(t,e,r){var n=\"date\"===e.type,a=\"date\"===r.type;if(!n&&!a)return t;for(var i=0;i<t.length;i++)for(var o=0;o<t[i].length;o++)for(var s=0;s+2<t[i][o].length;s+=2)n&&(t[i][o][s+1]=t[i][o][s+1].replace(\" \",\"_\")),a&&(t[i][o][s+2]=t[i][o][s+2].replace(\" \",\"_\"))}(I,_,w),z.path=x(I),L=null;m(o);for(var W=e.editHelpers,Z=(W||{}).modifyItem,X=[],J=0;J<S.length;J++){var K=o._fullLayout.shapes[J];if(X[J]=K._input,void 0!==A&&J===o._fullLayout._activeShapeIndex){var Q=z;switch(K.type){case\"line\":case\"rect\":case\"circle\":Z(\"x0\",Q.x0),Z(\"x1\",Q.x1),Z(\"y0\",Q.y0),Z(\"y1\",Q.y1);break;case\"path\":Z(\"path\",Q.path)}}}return void 0===A?(X.push(z),X):W?W.getUpdateObj():{}}}}},{\"../../../plots/cartesian/handle_outline\":786,\"../../../plots/cartesian/helpers\":787,\"../../dragelement/helpers\":613,\"./constants\":678,\"./helpers\":681}],683:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),a=t(\"../../lib\");r.rangeToShapePosition=function(t){return\"log\"===t.type?t.r2d:function(t){return t}},r.shapePositionToRange=function(t){return\"log\"===t.type?t.d2r:function(t){return t}},r.decodeDate=function(t){return function(e){return e.replace&&(e=e.replace(\"_\",\" \")),t(e)}},r.encodeDate=function(t){return function(e){return t(e).replace(\" \",\"_\")}},r.extractPathCoords=function(t,e){var r=[];return t.match(n.segmentRE).forEach((function(t){var i=e[t.charAt(0)].drawn;if(void 0!==i){var o=t.substr(1).match(n.paramRE);!o||o.length<i||r.push(a.cleanNumber(o[i]))}})),r},r.getDataToPixel=function(t,e,n){var a,i=t._fullLayout._size;if(e){var o=r.shapePositionToRange(e);a=function(t){return e._offset+e.r2p(o(t,!0))},\"date\"===e.type&&(a=r.decodeDate(a))}else a=n?function(t){return i.t+i.h*(1-t)}:function(t){return i.l+i.w*t};return a},r.getPixelToData=function(t,e,n){var a,i=t._fullLayout._size;if(e){var o=r.rangeToShapePosition(e);a=function(t){return o(e.p2r(t-e._offset))}}else a=n?function(t){return 1-(t-i.t)/i.h}:function(t){return(t-i.l)/i.w};return a},r.roundPositionForSharpStrokeRendering=function(t,e){var r=1===Math.round(e%2),n=Math.round(t);return r?n+.5:n},r.makeOptionsAndPlotinfo=function(t,e){var r=t._fullLayout.shapes[e]||{},n=t._fullLayout._plots[r.xref+r.yref];return!!n?n._hadPlotinfo=!0:(n={},r.xref&&\"paper\"!==r.xref&&(n.xaxis=t._fullLayout[r.xref+\"axis\"]),r.yref&&\"paper\"!==r.yref&&(n.yaxis=t._fullLayout[r.yref+\"axis\"])),n.xsizemode=r.xsizemode,n.ysizemode=r.ysizemode,n.xanchor=r.xanchor,n.yanchor=r.yanchor,{options:r,plotinfo:n}}},{\"../../lib\":728,\"./constants\":674}],684:[function(t,e,r){\"use strict\";var n=t(\"./draw\");e.exports={moduleType:\"component\",name:\"shapes\",layoutAttributes:t(\"./attributes\"),supplyLayoutDefaults:t(\"./defaults\"),supplyDrawNewShapeDefaults:t(\"./draw_newshape/defaults\"),includeBasePlot:t(\"../../plots/cartesian/include_components\")(\"shapes\"),calcAutorange:t(\"./calc_autorange\"),draw:n.draw,drawOne:n.drawOne}},{\"../../plots/cartesian/include_components\":788,\"./attributes\":672,\"./calc_autorange\":673,\"./defaults\":675,\"./draw\":676,\"./draw_newshape/defaults\":679}],685:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),a=t(\"../../plots/pad_attributes\"),i=t(\"../../lib/extend\").extendDeepAll,o=t(\"../../plot_api/edit_types\").overrideAll,s=t(\"../../plots/animation_attributes\"),l=t(\"../../plot_api/plot_template\").templatedArray,c=t(\"./constants\"),u=l(\"step\",{visible:{valType:\"boolean\",dflt:!0},method:{valType:\"enumerated\",values:[\"restyle\",\"relayout\",\"animate\",\"update\",\"skip\"],dflt:\"restyle\"},args:{valType:\"info_array\",freeLength:!0,items:[{valType:\"any\"},{valType:\"any\"},{valType:\"any\"}]},label:{valType:\"string\"},value:{valType:\"string\"},execute:{valType:\"boolean\",dflt:!0}});e.exports=o(l(\"slider\",{visible:{valType:\"boolean\",dflt:!0},active:{valType:\"number\",min:0,dflt:0},steps:u,lenmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"fraction\"},len:{valType:\"number\",min:0,dflt:1},x:{valType:\"number\",min:-2,max:3,dflt:0},pad:i(a({editType:\"arraydraw\"}),{},{t:{dflt:20}}),xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\"},y:{valType:\"number\",min:-2,max:3,dflt:0},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"top\"},transition:{duration:{valType:\"number\",min:0,dflt:150},easing:{valType:\"enumerated\",values:s.transition.easing.values,dflt:\"cubic-in-out\"}},currentvalue:{visible:{valType:\"boolean\",dflt:!0},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"left\"},offset:{valType:\"number\",dflt:10},prefix:{valType:\"string\"},suffix:{valType:\"string\"},font:n({})},font:n({}),activebgcolor:{valType:\"color\",dflt:c.gripBgActiveColor},bgcolor:{valType:\"color\",dflt:c.railBgColor},bordercolor:{valType:\"color\",dflt:c.railBorderColor},borderwidth:{valType:\"number\",min:0,dflt:c.railBorderWidth},ticklen:{valType:\"number\",min:0,dflt:c.tickLength},tickcolor:{valType:\"color\",dflt:c.tickColor},tickwidth:{valType:\"number\",min:0,dflt:1},minorticklen:{valType:\"number\",min:0,dflt:c.minorTickLength}}),\"arraydraw\",\"from-root\")},{\"../../lib/extend\":719,\"../../plot_api/edit_types\":759,\"../../plot_api/plot_template\":766,\"../../plots/animation_attributes\":771,\"../../plots/font_attributes\":804,\"../../plots/pad_attributes\":838,\"./constants\":686}],686:[function(t,e,r){\"use strict\";e.exports={name:\"sliders\",containerClassName:\"slider-container\",groupClassName:\"slider-group\",inputAreaClass:\"slider-input-area\",railRectClass:\"slider-rail-rect\",railTouchRectClass:\"slider-rail-touch-rect\",gripRectClass:\"slider-grip-rect\",tickRectClass:\"slider-tick-rect\",inputProxyClass:\"slider-input-proxy\",labelsClass:\"slider-labels\",labelGroupClass:\"slider-label-group\",labelClass:\"slider-label\",currentValueClass:\"slider-current-value\",railHeight:5,menuIndexAttrName:\"slider-active-index\",autoMarginIdRoot:\"slider-\",minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:\"#bec8d9\",railBgColor:\"#f8fafc\",railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:\"#bec8d9\",gripBgColor:\"#f6f8fa\",gripBgActiveColor:\"#dbdde0\",labelPadding:8,labelOffset:0,tickWidth:1,tickColor:\"#333\",tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:\"#333\",minorTickLength:4,currentValuePadding:8,currentValueInset:0}},{}],687:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../plots/array_container_defaults\"),i=t(\"./attributes\"),o=t(\"./constants\").name,s=i.steps;function l(t,e,r){function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=a(t,e,{name:\"steps\",handleItemDefaults:c}),l=0,u=0;u<s.length;u++)s[u].visible&&l++;if(l<2?e.visible=!1:o(\"visible\")){e._stepCount=l;var h=e._visibleSteps=n.filterVisible(s);(s[o(\"active\")]||{}).visible||(e.active=h[0]._index),o(\"x\"),o(\"y\"),n.noneOrAll(t,e,[\"x\",\"y\"]),o(\"xanchor\"),o(\"yanchor\"),o(\"len\"),o(\"lenmode\"),o(\"pad.t\"),o(\"pad.r\"),o(\"pad.b\"),o(\"pad.l\"),n.coerceFont(o,\"font\",r.font),o(\"currentvalue.visible\")&&(o(\"currentvalue.xanchor\"),o(\"currentvalue.prefix\"),o(\"currentvalue.suffix\"),o(\"currentvalue.offset\"),n.coerceFont(o,\"currentvalue.font\",e.font)),o(\"transition.duration\"),o(\"transition.easing\"),o(\"bgcolor\"),o(\"activebgcolor\"),o(\"bordercolor\"),o(\"borderwidth\"),o(\"ticklen\"),o(\"tickwidth\"),o(\"tickcolor\"),o(\"minorticklen\")}}function c(t,e){function r(r,a){return n.coerce(t,e,s,r,a)}if(\"skip\"===t.method||Array.isArray(t.args)?r(\"visible\"):e.visible=!1){r(\"method\"),r(\"args\");var a=r(\"label\",\"step-\"+e._index);r(\"value\",a),r(\"execute\")}}e.exports=function(t,e){a(t,e,{name:o,handleItemDefaults:l})}},{\"../../lib\":728,\"../../plots/array_container_defaults\":772,\"./attributes\":685,\"./constants\":686}],688:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../plots/plots\"),i=t(\"../color\"),o=t(\"../drawing\"),s=t(\"../../lib\"),l=t(\"../../lib/svg_text_utils\"),c=t(\"../../plot_api/plot_template\").arrayEditor,u=t(\"./constants\"),h=t(\"../../constants/alignment\"),f=h.LINE_SPACING,p=h.FROM_TL,d=h.FROM_BR;function g(t){return u.autoMarginIdRoot+t._index}function m(t){return t._index}function v(t,e){var r=o.tester.selectAll(\"g.\"+u.labelGroupClass).data(e._visibleSteps);r.enter().append(\"g\").classed(u.labelGroupClass,!0);var i=0,c=0;r.each((function(t){var r=b(n.select(this),{step:t},e).node();if(r){var a=o.bBox(r);c=Math.max(c,a.height),i=Math.max(i,a.width)}})),r.remove();var h=e._dims={};h.inputAreaWidth=Math.max(u.railWidth,u.gripHeight);var f=t._fullLayout._size;h.lx=f.l+f.w*e.x,h.ly=f.t+f.h*(1-e.y),\"fraction\"===e.lenmode?h.outerLength=Math.round(f.w*e.len):h.outerLength=e.len,h.inputAreaStart=0,h.inputAreaLength=Math.round(h.outerLength-e.pad.l-e.pad.r);var m=(h.inputAreaLength-2*u.stepInset)/(e._stepCount-1),v=i+u.labelPadding;if(h.labelStride=Math.max(1,Math.ceil(v/m)),h.labelHeight=c,h.currentValueMaxWidth=0,h.currentValueHeight=0,h.currentValueTotalHeight=0,h.currentValueMaxLines=1,e.currentvalue.visible){var x=o.tester.append(\"g\");r.each((function(t){var r=y(x,e,t.label),n=r.node()&&o.bBox(r.node())||{width:0,height:0},a=l.lineCount(r);h.currentValueMaxWidth=Math.max(h.currentValueMaxWidth,Math.ceil(n.width)),h.currentValueHeight=Math.max(h.currentValueHeight,Math.ceil(n.height)),h.currentValueMaxLines=Math.max(h.currentValueMaxLines,a)})),h.currentValueTotalHeight=h.currentValueHeight+e.currentvalue.offset,x.remove()}h.height=h.currentValueTotalHeight+u.tickOffset+e.ticklen+u.labelOffset+h.labelHeight+e.pad.t+e.pad.b;var _=\"left\";s.isRightAnchor(e)&&(h.lx-=h.outerLength,_=\"right\"),s.isCenterAnchor(e)&&(h.lx-=h.outerLength/2,_=\"center\");var w=\"top\";s.isBottomAnchor(e)&&(h.ly-=h.height,w=\"bottom\"),s.isMiddleAnchor(e)&&(h.ly-=h.height/2,w=\"middle\"),h.outerLength=Math.ceil(h.outerLength),h.height=Math.ceil(h.height),h.lx=Math.round(h.lx),h.ly=Math.round(h.ly);var T={y:e.y,b:h.height*d[w],t:h.height*p[w]};\"fraction\"===e.lenmode?(T.l=0,T.xl=e.x-e.len*p[_],T.r=0,T.xr=e.x+e.len*d[_]):(T.x=e.x,T.l=h.outerLength*p[_],T.r=h.outerLength*d[_]),a.autoMargin(t,g(e),T)}function y(t,e,r){if(e.currentvalue.visible){var n,a,i=e._dims;switch(e.currentvalue.xanchor){case\"right\":n=i.inputAreaLength-u.currentValueInset-i.currentValueMaxWidth,a=\"left\";break;case\"center\":n=.5*i.inputAreaLength,a=\"middle\";break;default:n=u.currentValueInset,a=\"left\"}var c=s.ensureSingle(t,\"text\",u.labelClass,(function(t){t.classed(\"user-select-none\",!0).attr({\"text-anchor\":a,\"data-notex\":1})})),h=e.currentvalue.prefix?e.currentvalue.prefix:\"\";if(\"string\"==typeof r)h+=r;else{var p=e.steps[e.active].label,d=e._gd._fullLayout._meta;d&&(p=s.templateString(p,d)),h+=p}e.currentvalue.suffix&&(h+=e.currentvalue.suffix),c.call(o.font,e.currentvalue.font).text(h).call(l.convertToTspans,e._gd);var g=l.lineCount(c),m=(i.currentValueMaxLines+1-g)*e.currentvalue.font.size*f;return l.positionText(c,n,m),c}}function x(t,e,r){s.ensureSingle(t,\"rect\",u.gripRectClass,(function(n){n.call(k,e,t,r).style(\"pointer-events\",\"all\")})).attr({width:u.gripWidth,height:u.gripHeight,rx:u.gripRadius,ry:u.gripRadius}).call(i.stroke,r.bordercolor).call(i.fill,r.bgcolor).style(\"stroke-width\",r.borderwidth+\"px\")}function b(t,e,r){var n=s.ensureSingle(t,\"text\",u.labelClass,(function(t){t.classed(\"user-select-none\",!0).attr({\"text-anchor\":\"middle\",\"data-notex\":1})})),a=e.step.label,i=r._gd._fullLayout._meta;return i&&(a=s.templateString(a,i)),n.call(o.font,r.font).text(a).call(l.convertToTspans,r._gd),n}function _(t,e){var r=s.ensureSingle(t,\"g\",u.labelsClass),a=e._dims,i=r.selectAll(\"g.\"+u.labelGroupClass).data(a.labelSteps);i.enter().append(\"g\").classed(u.labelGroupClass,!0),i.exit().remove(),i.each((function(t){var r=n.select(this);r.call(b,t,e),o.setTranslate(r,S(e,t.fraction),u.tickOffset+e.ticklen+e.font.size*f+u.labelOffset+a.currentValueTotalHeight)}))}function w(t,e,r,n,a){var i=Math.round(n*(r._stepCount-1)),o=r._visibleSteps[i]._index;o!==r.active&&T(t,e,r,o,!0,a)}function T(t,e,r,n,i,o){var s=r.active;r.active=n,c(t.layout,u.name,r).applyUpdate(\"active\",n);var l=r.steps[r.active];e.call(M,r,o),e.call(y,r),t.emit(\"plotly_sliderchange\",{slider:r,step:r.steps[r.active],interaction:i,previousActive:s}),l&&l.method&&i&&(e._nextMethod?(e._nextMethod.step=l,e._nextMethod.doCallback=i,e._nextMethod.doTransition=o):(e._nextMethod={step:l,doCallback:i,doTransition:o},e._nextMethodRaf=window.requestAnimationFrame((function(){var r=e._nextMethod.step;r.method&&(r.execute&&a.executeAPICommand(t,r.method,r.args),e._nextMethod=null,e._nextMethodRaf=null)}))))}function k(t,e,r){var a=r.node(),o=n.select(e);function s(){return r.data()[0]}t.on(\"mousedown\",(function(){var t=s();e.emit(\"plotly_sliderstart\",{slider:t});var l=r.select(\".\"+u.gripRectClass);n.event.stopPropagation(),n.event.preventDefault(),l.call(i.fill,t.activebgcolor);var c=E(t,n.mouse(a)[0]);w(e,r,t,c,!0),t._dragging=!0,o.on(\"mousemove\",(function(){var t=s(),i=E(t,n.mouse(a)[0]);w(e,r,t,i,!1)})),o.on(\"mouseup\",(function(){var t=s();t._dragging=!1,l.call(i.fill,t.bgcolor),o.on(\"mouseup\",null),o.on(\"mousemove\",null),e.emit(\"plotly_sliderend\",{slider:t,step:t.steps[t.active]})}))}))}function A(t,e){var r=t.selectAll(\"rect.\"+u.tickRectClass).data(e._visibleSteps),a=e._dims;r.enter().append(\"rect\").classed(u.tickRectClass,!0),r.exit().remove(),r.attr({width:e.tickwidth+\"px\",\"shape-rendering\":\"crispEdges\"}),r.each((function(t,r){var s=r%a.labelStride==0,l=n.select(this);l.attr({height:s?e.ticklen:e.minorticklen}).call(i.fill,e.tickcolor),o.setTranslate(l,S(e,r/(e._stepCount-1))-.5*e.tickwidth,(s?u.tickOffset:u.minorTickOffset)+a.currentValueTotalHeight)}))}function M(t,e,r){for(var n=t.select(\"rect.\"+u.gripRectClass),a=0,i=0;i<e._stepCount;i++)if(e._visibleSteps[i]._index===e.active){a=i;break}var o=S(e,a/(e._stepCount-1));if(!e._invokingCommand){var s=n;r&&e.transition.duration>0&&(s=s.transition().duration(e.transition.duration).ease(e.transition.easing)),s.attr(\"transform\",\"translate(\"+(o-.5*u.gripWidth)+\",\"+e._dims.currentValueTotalHeight+\")\")}}function S(t,e){var r=t._dims;return r.inputAreaStart+u.stepInset+(r.inputAreaLength-2*u.stepInset)*Math.min(1,Math.max(0,e))}function E(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-u.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*u.stepInset-2*r.inputAreaStart)))}function C(t,e,r){var n=r._dims,a=s.ensureSingle(t,\"rect\",u.railTouchRectClass,(function(n){n.call(k,e,t,r).style(\"pointer-events\",\"all\")}));a.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,u.tickOffset+r.ticklen+n.labelHeight)}).call(i.fill,r.bgcolor).attr(\"opacity\",0),o.setTranslate(a,0,n.currentValueTotalHeight)}function L(t,e){var r=e._dims,n=r.inputAreaLength-2*u.railInset,a=s.ensureSingle(t,\"rect\",u.railRectClass);a.attr({width:n,height:u.railWidth,rx:u.railRadius,ry:u.railRadius,\"shape-rendering\":\"crispEdges\"}).call(i.stroke,e.bordercolor).call(i.fill,e.bgcolor).style(\"stroke-width\",e.borderwidth+\"px\"),o.setTranslate(a,u.railInset,.5*(r.inputAreaWidth-u.railWidth)+r.currentValueTotalHeight)}e.exports=function(t){var e=t._fullLayout,r=function(t,e){for(var r=t[u.name],n=[],a=0;a<r.length;a++){var i=r[a];i.visible&&(i._gd=e,n.push(i))}return n}(e,t),i=e._infolayer.selectAll(\"g.\"+u.containerClassName).data(r.length>0?[0]:[]);function s(e){e._commandObserver&&(e._commandObserver.remove(),delete e._commandObserver),a.autoMargin(t,g(e))}if(i.enter().append(\"g\").classed(u.containerClassName,!0).style(\"cursor\",\"ew-resize\"),i.exit().each((function(){n.select(this).selectAll(\"g.\"+u.groupClassName).each(s)})).remove(),0!==r.length){var l=i.selectAll(\"g.\"+u.groupClassName).data(r,m);l.enter().append(\"g\").classed(u.groupClassName,!0),l.exit().each(s).remove();for(var c=0;c<r.length;c++){var h=r[c];v(t,h)}l.each((function(e){var r=n.select(this);!function(t){var e=t._dims;e.labelSteps=[];for(var r=t._stepCount,n=0;n<r;n+=e.labelStride)e.labelSteps.push({fraction:n/(r-1),step:t._visibleSteps[n]})}(e),a.manageCommandObserver(t,e,e._visibleSteps,(function(e){var n=r.data()[0];n.active!==e.index&&(n._dragging||T(t,r,n,e.index,!1,!0))})),function(t,e,r){(r.steps[r.active]||{}).visible||(r.active=r._visibleSteps[0]._index);e.call(y,r).call(L,r).call(_,r).call(A,r).call(C,t,r).call(x,t,r);var n=r._dims;o.setTranslate(e,n.lx+r.pad.l,n.ly+r.pad.t),e.call(M,r,!1),e.call(y,r)}(t,n.select(this),e)}))}}},{\"../../constants/alignment\":697,\"../../lib\":728,\"../../lib/svg_text_utils\":752,\"../../plot_api/plot_template\":766,\"../../plots/plots\":839,\"../color\":595,\"../drawing\":617,\"./constants\":686,d3:164}],689:[function(t,e,r){\"use strict\";var n=t(\"./constants\");e.exports={moduleType:\"component\",name:n.name,layoutAttributes:t(\"./attributes\"),supplyLayoutDefaults:t(\"./defaults\"),draw:t(\"./draw\")}},{\"./attributes\":685,\"./constants\":686,\"./defaults\":687,\"./draw\":688}],690:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"fast-isnumeric\"),i=t(\"../../plots/plots\"),o=t(\"../../registry\"),s=t(\"../../lib\"),l=t(\"../drawing\"),c=t(\"../color\"),u=t(\"../../lib/svg_text_utils\"),h=t(\"../../constants/interactions\"),f=t(\"../../constants/alignment\").OPPOSITE_SIDE,p=/ [XY][0-9]* /;e.exports={draw:function(t,e,r){var d,g=r.propContainer,m=r.propName,v=r.placeholder,y=r.traceIndex,x=r.avoid||{},b=r.attributes,_=r.transform,w=r.containerGroup,T=t._fullLayout,k=1,A=!1,M=g.title,S=(M&&M.text?M.text:\"\").trim(),E=M&&M.font?M.font:{},C=E.family,L=E.size,P=E.color;\"title.text\"===m?d=\"titleText\":-1!==m.indexOf(\"axis\")?d=\"axisTitleText\":m.indexOf(!0)&&(d=\"colorbarTitleText\");var I=t._context.edits[d];\"\"===S?k=0:S.replace(p,\" % \")===v.replace(p,\" % \")&&(k=.2,A=!0,I||(S=\"\")),r._meta?S=s.templateString(S,r._meta):T._meta&&(S=s.templateString(S,T._meta));var z=S||I;w||(w=s.ensureSingle(T._infolayer,\"g\",\"g-\"+e));var O=w.selectAll(\"text\").data(z?[0]:[]);if(O.enter().append(\"text\"),O.text(S).attr(\"class\",e),O.exit().remove(),!z)return w;function D(t){s.syncOrAsync([R,F],t)}function R(e){var r;return _?(r=\"\",_.rotate&&(r+=\"rotate(\"+[_.rotate,b.x,b.y]+\")\"),_.offset&&(r+=\"translate(0, \"+_.offset+\")\")):r=null,e.attr(\"transform\",r),e.style({\"font-family\":C,\"font-size\":n.round(L,2)+\"px\",fill:c.rgb(P),opacity:k*c.opacity(P),\"font-weight\":i.fontWeight}).attr(b).call(u.convertToTspans,t),i.previousPromises(t)}function F(t){var e=n.select(t.node().parentNode);if(x&&x.selection&&x.side&&S){e.attr(\"transform\",null);var r=f[x.side],i=\"left\"===x.side||\"top\"===x.side?-1:1,o=a(x.pad)?x.pad:2,c=l.bBox(e.node()),u={left:0,top:0,right:T.width,bottom:T.height},h=x.maxShift||i*(u[x.side]-c[x.side]),p=0;if(h<0)p=h;else{var d=x.offsetLeft||0,g=x.offsetTop||0;c.left-=d,c.right-=d,c.top-=g,c.bottom-=g,x.selection.each((function(){var t=l.bBox(this);s.bBoxIntersect(c,t,o)&&(p=Math.max(p,i*(t[x.side]-c[r])+o))})),p=Math.min(h,p)}if(p>0||h<0){var m={left:[-p,0],right:[p,0],top:[0,-p],bottom:[0,p]}[x.side];e.attr(\"transform\",\"translate(\"+m+\")\")}}}return O.call(D),I&&(S?O.on(\".opacity\",null):(k=0,A=!0,O.text(v).on(\"mouseover.opacity\",(function(){n.select(this).transition().duration(h.SHOW_PLACEHOLDER).style(\"opacity\",1)})).on(\"mouseout.opacity\",(function(){n.select(this).transition().duration(h.HIDE_PLACEHOLDER).style(\"opacity\",0)}))),O.call(u.makeEditable,{gd:t}).on(\"edit\",(function(e){void 0!==y?o.call(\"_guiRestyle\",t,m,e,y):o.call(\"_guiRelayout\",t,m,e)})).on(\"cancel\",(function(){this.text(this.attr(\"data-unformatted\")).call(D)})).on(\"input\",(function(t){this.text(t||\" \").call(u.positionText,b.x,b.y)}))),O.classed(\"js-placeholder\",A),w}}},{\"../../constants/alignment\":697,\"../../constants/interactions\":703,\"../../lib\":728,\"../../lib/svg_text_utils\":752,\"../../plots/plots\":839,\"../../registry\":859,\"../color\":595,\"../drawing\":617,d3:164,\"fast-isnumeric\":236}],691:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),a=t(\"../color/attributes\"),i=t(\"../../lib/extend\").extendFlat,o=t(\"../../plot_api/edit_types\").overrideAll,s=t(\"../../plots/pad_attributes\"),l=t(\"../../plot_api/plot_template\").templatedArray,c=l(\"button\",{visible:{valType:\"boolean\"},method:{valType:\"enumerated\",values:[\"restyle\",\"relayout\",\"animate\",\"update\",\"skip\"],dflt:\"restyle\"},args:{valType:\"info_array\",freeLength:!0,items:[{valType:\"any\"},{valType:\"any\"},{valType:\"any\"}]},args2:{valType:\"info_array\",freeLength:!0,items:[{valType:\"any\"},{valType:\"any\"},{valType:\"any\"}]},label:{valType:\"string\",dflt:\"\"},execute:{valType:\"boolean\",dflt:!0}});e.exports=o(l(\"updatemenu\",{_arrayAttrRegexps:[/^updatemenus\\[(0|[1-9][0-9]+)\\]\\.buttons/],visible:{valType:\"boolean\"},type:{valType:\"enumerated\",values:[\"dropdown\",\"buttons\"],dflt:\"dropdown\"},direction:{valType:\"enumerated\",values:[\"left\",\"right\",\"up\",\"down\"],dflt:\"down\"},active:{valType:\"integer\",min:-1,dflt:0},showactive:{valType:\"boolean\",dflt:!0},buttons:c,x:{valType:\"number\",min:-2,max:3,dflt:-.05},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"right\"},y:{valType:\"number\",min:-2,max:3,dflt:1},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"top\"},pad:i(s({editType:\"arraydraw\"}),{}),font:n({}),bgcolor:{valType:\"color\"},bordercolor:{valType:\"color\",dflt:a.borderLine},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"arraydraw\"}}),\"arraydraw\",\"from-root\")},{\"../../lib/extend\":719,\"../../plot_api/edit_types\":759,\"../../plot_api/plot_template\":766,\"../../plots/font_attributes\":804,\"../../plots/pad_attributes\":838,\"../color/attributes\":594}],692:[function(t,e,r){\"use strict\";e.exports={name:\"updatemenus\",containerClassName:\"updatemenu-container\",headerGroupClassName:\"updatemenu-header-group\",headerClassName:\"updatemenu-header\",headerArrowClassName:\"updatemenu-header-arrow\",dropdownButtonGroupClassName:\"updatemenu-dropdown-button-group\",dropdownButtonClassName:\"updatemenu-dropdown-button\",buttonClassName:\"updatemenu-button\",itemRectClassName:\"updatemenu-item-rect\",itemTextClassName:\"updatemenu-item-text\",menuIndexAttrName:\"updatemenu-active-index\",autoMarginIdRoot:\"updatemenu-\",blankHeaderOpts:{label:\"  \"},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:\"#F4FAFF\",hoverColor:\"#F4FAFF\",arrowSymbol:{left:\"\\u25c4\",right:\"\\u25ba\",up:\"\\u25b2\",down:\"\\u25bc\"}}},{}],693:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../plots/array_container_defaults\"),i=t(\"./attributes\"),o=t(\"./constants\").name,s=i.buttons;function l(t,e,r){function o(r,a){return n.coerce(t,e,i,r,a)}o(\"visible\",a(t,e,{name:\"buttons\",handleItemDefaults:c}).length>0)&&(o(\"active\"),o(\"direction\"),o(\"type\"),o(\"showactive\"),o(\"x\"),o(\"y\"),n.noneOrAll(t,e,[\"x\",\"y\"]),o(\"xanchor\"),o(\"yanchor\"),o(\"pad.t\"),o(\"pad.r\"),o(\"pad.b\"),o(\"pad.l\"),n.coerceFont(o,\"font\",r.font),o(\"bgcolor\",r.paper_bgcolor),o(\"bordercolor\"),o(\"borderwidth\"))}function c(t,e){function r(r,a){return n.coerce(t,e,s,r,a)}r(\"visible\",\"skip\"===t.method||Array.isArray(t.args))&&(r(\"method\"),r(\"args\"),r(\"args2\"),r(\"label\"),r(\"execute\"))}e.exports=function(t,e){a(t,e,{name:o,handleItemDefaults:l})}},{\"../../lib\":728,\"../../plots/array_container_defaults\":772,\"./attributes\":691,\"./constants\":692}],694:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../plots/plots\"),i=t(\"../color\"),o=t(\"../drawing\"),s=t(\"../../lib\"),l=t(\"../../lib/svg_text_utils\"),c=t(\"../../plot_api/plot_template\").arrayEditor,u=t(\"../../constants/alignment\").LINE_SPACING,h=t(\"./constants\"),f=t(\"./scrollbox\");function p(t){return t._index}function d(t,e){return+t.attr(h.menuIndexAttrName)===e._index}function g(t,e,r,n,a,i,o,s){e.active=o,c(t.layout,h.name,e).applyUpdate(\"active\",o),\"buttons\"===e.type?v(t,n,null,null,e):\"dropdown\"===e.type&&(a.attr(h.menuIndexAttrName,\"-1\"),m(t,n,a,i,e),s||v(t,n,a,i,e))}function m(t,e,r,n,a){var i=s.ensureSingle(e,\"g\",h.headerClassName,(function(t){t.style(\"pointer-events\",\"all\")})),l=a._dims,c=a.active,u=a.buttons[c]||h.blankHeaderOpts,f={y:a.pad.t,yPad:0,x:a.pad.l,xPad:0,index:0},p={width:l.headerWidth,height:l.headerHeight};i.call(y,a,u,t).call(M,a,f,p),s.ensureSingle(e,\"text\",h.headerArrowClassName,(function(t){t.classed(\"user-select-none\",!0).attr(\"text-anchor\",\"end\").call(o.font,a.font).text(h.arrowSymbol[a.direction])})).attr({x:l.headerWidth-h.arrowOffsetX+a.pad.l,y:l.headerHeight/2+h.textOffsetY+a.pad.t}),i.on(\"click\",(function(){r.call(S,String(d(r,a)?-1:a._index)),v(t,e,r,n,a)})),i.on(\"mouseover\",(function(){i.call(w)})),i.on(\"mouseout\",(function(){i.call(T,a)})),o.setTranslate(e,l.lx,l.ly)}function v(t,e,r,i,o){r||(r=e).attr(\"pointer-events\",\"all\");var l=function(t){return-1==+t.attr(h.menuIndexAttrName)}(r)&&\"buttons\"!==o.type?[]:o.buttons,c=\"dropdown\"===o.type?h.dropdownButtonClassName:h.buttonClassName,u=r.selectAll(\"g.\"+c).data(s.filterVisible(l)),f=u.enter().append(\"g\").classed(c,!0),p=u.exit();\"dropdown\"===o.type?(f.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\"),p.transition().attr(\"opacity\",\"0\").remove()):p.remove();var d=0,m=0,v=o._dims,x=-1!==[\"up\",\"down\"].indexOf(o.direction);\"dropdown\"===o.type&&(x?m=v.headerHeight+h.gapButtonHeader:d=v.headerWidth+h.gapButtonHeader),\"dropdown\"===o.type&&\"up\"===o.direction&&(m=-h.gapButtonHeader+h.gapButton-v.openHeight),\"dropdown\"===o.type&&\"left\"===o.direction&&(d=-h.gapButtonHeader+h.gapButton-v.openWidth);var b={x:v.lx+d+o.pad.l,y:v.ly+m+o.pad.t,yPad:h.gapButton,xPad:h.gapButton,index:0},k={l:b.x+o.borderwidth,t:b.y+o.borderwidth};u.each((function(s,l){var c=n.select(this);c.call(y,o,s,t).call(M,o,b),c.on(\"click\",(function(){n.event.defaultPrevented||(s.execute&&(s.args2&&o.active===l?(g(t,o,0,e,r,i,-1),a.executeAPICommand(t,s.method,s.args2)):(g(t,o,0,e,r,i,l),a.executeAPICommand(t,s.method,s.args))),t.emit(\"plotly_buttonclicked\",{menu:o,button:s,active:o.active}))})),c.on(\"mouseover\",(function(){c.call(w)})),c.on(\"mouseout\",(function(){c.call(T,o),u.call(_,o)}))})),u.call(_,o),x?(k.w=Math.max(v.openWidth,v.headerWidth),k.h=b.y-k.t):(k.w=b.x-k.l,k.h=Math.max(v.openHeight,v.headerHeight)),k.direction=o.direction,i&&(u.size()?function(t,e,r,n,a,i){var o,s,l,c=a.direction,u=\"up\"===c||\"down\"===c,f=a._dims,p=a.active;if(u)for(s=0,l=0;l<p;l++)s+=f.heights[l]+h.gapButton;else for(o=0,l=0;l<p;l++)o+=f.widths[l]+h.gapButton;n.enable(i,o,s),n.hbar&&n.hbar.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\");n.vbar&&n.vbar.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\")}(0,0,0,i,o,k):function(t){var e=!!t.hbar,r=!!t.vbar;e&&t.hbar.transition().attr(\"opacity\",\"0\").each(\"end\",(function(){e=!1,r||t.disable()}));r&&t.vbar.transition().attr(\"opacity\",\"0\").each(\"end\",(function(){r=!1,e||t.disable()}))}(i))}function y(t,e,r,n){t.call(x,e).call(b,e,r,n)}function x(t,e){s.ensureSingle(t,\"rect\",h.itemRectClassName,(function(t){t.attr({rx:h.rx,ry:h.ry,\"shape-rendering\":\"crispEdges\"})})).call(i.stroke,e.bordercolor).call(i.fill,e.bgcolor).style(\"stroke-width\",e.borderwidth+\"px\")}function b(t,e,r,n){var a=s.ensureSingle(t,\"text\",h.itemTextClassName,(function(t){t.classed(\"user-select-none\",!0).attr({\"text-anchor\":\"start\",\"data-notex\":1})})),i=r.label,c=n._fullLayout._meta;c&&(i=s.templateString(i,c)),a.call(o.font,e.font).text(i).call(l.convertToTspans,n)}function _(t,e){var r=e.active;t.each((function(t,a){var o=n.select(this);a===r&&e.showactive&&o.select(\"rect.\"+h.itemRectClassName).call(i.fill,h.activeColor)}))}function w(t){t.select(\"rect.\"+h.itemRectClassName).call(i.fill,h.hoverColor)}function T(t,e){t.select(\"rect.\"+h.itemRectClassName).call(i.fill,e.bgcolor)}function k(t,e){var r=e._dims={width1:0,height1:0,heights:[],widths:[],totalWidth:0,totalHeight:0,openWidth:0,openHeight:0,lx:0,ly:0},i=o.tester.selectAll(\"g.\"+h.dropdownButtonClassName).data(s.filterVisible(e.buttons));i.enter().append(\"g\").classed(h.dropdownButtonClassName,!0);var c=-1!==[\"up\",\"down\"].indexOf(e.direction);i.each((function(a,i){var s=n.select(this);s.call(y,e,a,t);var f=s.select(\".\"+h.itemTextClassName),p=f.node()&&o.bBox(f.node()).width,d=Math.max(p+h.textPadX,h.minWidth),g=e.font.size*u,m=l.lineCount(f),v=Math.max(g*m,h.minHeight)+h.textOffsetY;v=Math.ceil(v),d=Math.ceil(d),r.widths[i]=d,r.heights[i]=v,r.height1=Math.max(r.height1,v),r.width1=Math.max(r.width1,d),c?(r.totalWidth=Math.max(r.totalWidth,d),r.openWidth=r.totalWidth,r.totalHeight+=v+h.gapButton,r.openHeight+=v+h.gapButton):(r.totalWidth+=d+h.gapButton,r.openWidth+=d+h.gapButton,r.totalHeight=Math.max(r.totalHeight,v),r.openHeight=r.totalHeight)})),c?r.totalHeight-=h.gapButton:r.totalWidth-=h.gapButton,r.headerWidth=r.width1+h.arrowPadX,r.headerHeight=r.height1,\"dropdown\"===e.type&&(c?(r.width1+=h.arrowPadX,r.totalHeight=r.height1):r.totalWidth=r.width1,r.totalWidth+=h.arrowPadX),i.remove();var f=r.totalWidth+e.pad.l+e.pad.r,p=r.totalHeight+e.pad.t+e.pad.b,d=t._fullLayout._size;r.lx=d.l+d.w*e.x,r.ly=d.t+d.h*(1-e.y);var g=\"left\";s.isRightAnchor(e)&&(r.lx-=f,g=\"right\"),s.isCenterAnchor(e)&&(r.lx-=f/2,g=\"center\");var m=\"top\";s.isBottomAnchor(e)&&(r.ly-=p,m=\"bottom\"),s.isMiddleAnchor(e)&&(r.ly-=p/2,m=\"middle\"),r.totalWidth=Math.ceil(r.totalWidth),r.totalHeight=Math.ceil(r.totalHeight),r.lx=Math.round(r.lx),r.ly=Math.round(r.ly),a.autoMargin(t,A(e),{x:e.x,y:e.y,l:f*({right:1,center:.5}[g]||0),r:f*({left:1,center:.5}[g]||0),b:p*({top:1,middle:.5}[m]||0),t:p*({bottom:1,middle:.5}[m]||0)})}function A(t){return h.autoMarginIdRoot+t._index}function M(t,e,r,n){n=n||{};var a=t.select(\".\"+h.itemRectClassName),i=t.select(\".\"+h.itemTextClassName),s=e.borderwidth,c=r.index,f=e._dims;o.setTranslate(t,s+r.x,s+r.y);var p=-1!==[\"up\",\"down\"].indexOf(e.direction),d=n.height||(p?f.heights[c]:f.height1);a.attr({x:0,y:0,width:n.width||(p?f.width1:f.widths[c]),height:d});var g=e.font.size*u,m=(l.lineCount(i)-1)*g/2;l.positionText(i,h.textOffsetX,d/2-m+h.textOffsetY),p?r.y+=f.heights[c]+r.yPad:r.x+=f.widths[c]+r.xPad,r.index++}function S(t,e){t.attr(h.menuIndexAttrName,e||\"-1\").selectAll(\"g.\"+h.dropdownButtonClassName).remove()}e.exports=function(t){var e=t._fullLayout,r=s.filterVisible(e[h.name]);function i(e){a.autoMargin(t,A(e))}var o=e._menulayer.selectAll(\"g.\"+h.containerClassName).data(r.length>0?[0]:[]);if(o.enter().append(\"g\").classed(h.containerClassName,!0).style(\"cursor\",\"pointer\"),o.exit().each((function(){n.select(this).selectAll(\"g.\"+h.headerGroupClassName).each(i)})).remove(),0!==r.length){var l=o.selectAll(\"g.\"+h.headerGroupClassName).data(r,p);l.enter().append(\"g\").classed(h.headerGroupClassName,!0);for(var c=s.ensureSingle(o,\"g\",h.dropdownButtonGroupClassName,(function(t){t.style(\"pointer-events\",\"all\")})),u=0;u<r.length;u++){var y=r[u];k(t,y)}var x=\"updatemenus\"+e._uid,b=new f(t,c,x);l.enter().size()&&(c.node().parentNode.appendChild(c.node()),c.call(S)),l.exit().each((function(t){c.call(S),i(t)})).remove(),l.each((function(e){var r=n.select(this),i=\"dropdown\"===e.type?c:null;a.manageCommandObserver(t,e,e.buttons,(function(n){g(t,e,e.buttons[n.index],r,i,b,n.index,!0)})),\"dropdown\"===e.type?(m(t,r,c,b,e),d(c,e)&&v(t,r,c,b,e)):v(t,r,null,null,e)}))}}},{\"../../constants/alignment\":697,\"../../lib\":728,\"../../lib/svg_text_utils\":752,\"../../plot_api/plot_template\":766,\"../../plots/plots\":839,\"../color\":595,\"../drawing\":617,\"./constants\":692,\"./scrollbox\":696,d3:164}],695:[function(t,e,r){arguments[4][689][0].apply(r,arguments)},{\"./attributes\":691,\"./constants\":692,\"./defaults\":693,\"./draw\":694,dup:689}],696:[function(t,e,r){\"use strict\";e.exports=s;var n=t(\"d3\"),a=t(\"../color\"),i=t(\"../drawing\"),o=t(\"../../lib\");function s(t,e,r){this.gd=t,this.container=e,this.id=r,this.position=null,this.translateX=null,this.translateY=null,this.hbar=null,this.vbar=null,this.bg=this.container.selectAll(\"rect.scrollbox-bg\").data([0]),this.bg.exit().on(\".drag\",null).on(\"wheel\",null).remove(),this.bg.enter().append(\"rect\").classed(\"scrollbox-bg\",!0).style(\"pointer-events\",\"all\").attr({opacity:0,x:0,y:0,width:0,height:0})}s.barWidth=2,s.barLength=20,s.barRadius=2,s.barPad=1,s.barColor=\"#808BA4\",s.prototype.enable=function(t,e,r){var o=this.gd._fullLayout,l=o.width,c=o.height;this.position=t;var u,h,f,p,d=this.position.l,g=this.position.w,m=this.position.t,v=this.position.h,y=this.position.direction,x=\"down\"===y,b=\"left\"===y,_=\"up\"===y,w=g,T=v;x||b||\"right\"===y||_||(this.position.direction=\"down\",x=!0),x||_?(h=(u=d)+w,x?(f=m,T=(p=Math.min(f+T,c))-f):T=(p=m+T)-(f=Math.max(p-T,0))):(p=(f=m)+T,b?w=(h=d+w)-(u=Math.max(h-w,0)):(u=d,w=(h=Math.min(u+w,l))-u)),this._box={l:u,t:f,w:w,h:T};var k=g>w,A=s.barLength+2*s.barPad,M=s.barWidth+2*s.barPad,S=d,E=m+v;E+M>c&&(E=c-M);var C=this.container.selectAll(\"rect.scrollbar-horizontal\").data(k?[0]:[]);C.exit().on(\".drag\",null).remove(),C.enter().append(\"rect\").classed(\"scrollbar-horizontal\",!0).call(a.fill,s.barColor),k?(this.hbar=C.attr({rx:s.barRadius,ry:s.barRadius,x:S,y:E,width:A,height:M}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var L=v>T,P=s.barWidth+2*s.barPad,I=s.barLength+2*s.barPad,z=d+g,O=m;z+P>l&&(z=l-P);var D=this.container.selectAll(\"rect.scrollbar-vertical\").data(L?[0]:[]);D.exit().on(\".drag\",null).remove(),D.enter().append(\"rect\").classed(\"scrollbar-vertical\",!0).call(a.fill,s.barColor),L?(this.vbar=D.attr({rx:s.barRadius,ry:s.barRadius,x:z,y:O,width:P,height:I}),this._vbarYMin=O+I/2,this._vbarTranslateMax=T-I):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,F=u-.5,B=L?h+P+.5:h+.5,N=f-.5,j=k?p+M+.5:p+.5,V=o._topdefs.selectAll(\"#\"+R).data(k||L?[0]:[]);if(V.exit().remove(),V.enter().append(\"clipPath\").attr(\"id\",R).append(\"rect\"),k||L?(this._clipRect=V.select(\"rect\").attr({x:Math.floor(F),y:Math.floor(N),width:Math.ceil(B)-Math.floor(F),height:Math.ceil(j)-Math.floor(N)}),this.container.call(i.setClipUrl,R,this.gd),this.bg.attr({x:d,y:m,width:g,height:v})):(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(i.setClipUrl,null),delete this._clipRect),k||L){var U=n.behavior.drag().on(\"dragstart\",(function(){n.event.sourceEvent.preventDefault()})).on(\"drag\",this._onBoxDrag.bind(this));this.container.on(\"wheel\",null).on(\"wheel\",this._onBoxWheel.bind(this)).on(\".drag\",null).call(U);var q=n.behavior.drag().on(\"dragstart\",(function(){n.event.sourceEvent.preventDefault(),n.event.sourceEvent.stopPropagation()})).on(\"drag\",this._onBarDrag.bind(this));k&&this.hbar.on(\".drag\",null).call(q),L&&this.vbar.on(\".drag\",null).call(q)}this.setTranslate(e,r)},s.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(i.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(\".drag\",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(\".drag\",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},s.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t-=n.event.dx),this.vbar&&(e-=n.event.dy),this.setTranslate(t,e)},s.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t+=n.event.deltaY),this.vbar&&(e+=n.event.deltaY),this.setTranslate(t,e)},s.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,a=r+this._hbarTranslateMax;t=(o.constrain(n.event.x,r,a)-r)/(a-r)*(this.position.w-this._box.w)}if(this.vbar){var i=e+this._vbarYMin,s=i+this._vbarTranslateMax;e=(o.constrain(n.event.y,i,s)-i)/(s-i)*(this.position.h-this._box.h)}this.setTranslate(t,e)},s.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=o.constrain(t||0,0,r),e=o.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(i.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-e),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+e-.5)}),this.hbar){var a=t/r;this.hbar.call(i.setTranslate,t+a*this._hbarTranslateMax,e)}if(this.vbar){var s=e/n;this.vbar.call(i.setTranslate,t,e+s*this._vbarTranslateMax)}}},{\"../../lib\":728,\"../color\":595,\"../drawing\":617,d3:164}],697:[function(t,e,r){\"use strict\";e.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:\"right\",right:\"left\",top:\"bottom\",bottom:\"top\"}}},{}],698:[function(t,e,r){\"use strict\";e.exports={INCREASING:{COLOR:\"#3D9970\",SYMBOL:\"\\u25b2\"},DECREASING:{COLOR:\"#FF4136\",SYMBOL:\"\\u25bc\"}}},{}],699:[function(t,e,r){\"use strict\";e.exports={FORMAT_LINK:\"https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format\",DATE_FORMAT_LINK:\"https://github.com/d3/d3-3.x-api-reference/blob/master/Time-Formatting.md#format\"}},{}],700:[function(t,e,r){\"use strict\";e.exports={COMPARISON_OPS:[\"=\",\"!=\",\"<\",\">=\",\">\",\"<=\"],COMPARISON_OPS2:[\"=\",\"<\",\">=\",\">\",\"<=\"],INTERVAL_OPS:[\"[]\",\"()\",\"[)\",\"(]\",\"][\",\")(\",\"](\",\")[\"],SET_OPS:[\"{}\",\"}{\"],CONSTRAINT_REDUCTION:{\"=\":\"=\",\"<\":\"<\",\"<=\":\"<\",\">\":\">\",\">=\":\">\",\"[]\":\"[]\",\"()\":\"[]\",\"[)\":\"[]\",\"(]\":\"[]\",\"][\":\"][\",\")(\":\"][\",\"](\":\"][\",\")[\":\"][\"}}},{}],701:[function(t,e,r){\"use strict\";e.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}},{}],702:[function(t,e,r){\"use strict\";e.exports={circle:\"\\u25cf\",\"circle-open\":\"\\u25cb\",square:\"\\u25a0\",\"square-open\":\"\\u25a1\",diamond:\"\\u25c6\",\"diamond-open\":\"\\u25c7\",cross:\"+\",x:\"\\u274c\"}},{}],703:[function(t,e,r){\"use strict\";e.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}},{}],704:[function(t,e,r){\"use strict\";e.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE/1e4,ONEAVGYEAR:315576e5,ONEAVGMONTH:26298e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5,ALMOST_EQUAL:.999999,LOG_CLIP:10,MINUS_SIGN:\"\\u2212\"}},{}],705:[function(t,e,r){\"use strict\";r.xmlns=\"http://www.w3.org/2000/xmlns/\",r.svg=\"http://www.w3.org/2000/svg\",r.xlink=\"http://www.w3.org/1999/xlink\",r.svgAttrs={xmlns:r.svg,\"xmlns:xlink\":r.xlink}},{}],706:[function(t,e,r){\"use strict\";r.version=t(\"./version\").version,t(\"es6-promise\").polyfill(),t(\"../build/plotcss\"),t(\"./fonts/mathjax_config\")();for(var n=t(\"./registry\"),a=r.register=n.register,i=t(\"./plot_api\"),o=Object.keys(i),s=0;s<o.length;s++){var l=o[s];\"_\"!==l.charAt(0)&&(r[l]=i[l]),a({moduleType:\"apiMethod\",name:l,fn:i[l]})}a(t(\"./traces/scatter\")),a([t(\"./components/legend\"),t(\"./components/fx\"),t(\"./components/annotations\"),t(\"./components/annotations3d\"),t(\"./components/shapes\"),t(\"./components/images\"),t(\"./components/updatemenus\"),t(\"./components/sliders\"),t(\"./components/rangeslider\"),t(\"./components/rangeselector\"),t(\"./components/grid\"),t(\"./components/errorbars\"),t(\"./components/colorscale\"),t(\"./components/colorbar\")]),a([t(\"./locale-en\"),t(\"./locale-en-us\")]),window.PlotlyLocales&&Array.isArray(window.PlotlyLocales)&&(a(window.PlotlyLocales),delete window.PlotlyLocales),r.Icons=t(\"./fonts/ploticon\"),r.Plots=t(\"./plots/plots\"),r.Fx=t(\"./components/fx\"),r.Snapshot=t(\"./snapshot\"),r.PlotSchema=t(\"./plot_api/plot_schema\"),r.Queue=t(\"./lib/queue\"),r.d3=t(\"d3\")},{\"../build/plotcss\":1,\"./components/annotations\":586,\"./components/annotations3d\":591,\"./components/colorbar\":601,\"./components/colorscale\":607,\"./components/errorbars\":623,\"./components/fx\":635,\"./components/grid\":639,\"./components/images\":644,\"./components/legend\":652,\"./components/rangeselector\":663,\"./components/rangeslider\":670,\"./components/shapes\":684,\"./components/sliders\":689,\"./components/updatemenus\":695,\"./fonts/mathjax_config\":707,\"./fonts/ploticon\":708,\"./lib/queue\":743,\"./locale-en\":757,\"./locale-en-us\":756,\"./plot_api\":761,\"./plot_api/plot_schema\":765,\"./plots/plots\":839,\"./registry\":859,\"./snapshot\":864,\"./traces/scatter\":1146,\"./version\":1316,d3:164,\"es6-promise\":219}],707:[function(t,e,r){\"use strict\";e.exports=function(){\"undefined\"!=typeof MathJax&&(\"local\"!==(window.PlotlyConfig||{}).MathJaxConfig&&(MathJax.Hub.Config({messageStyle:\"none\",skipStartupTypeset:!0,displayAlign:\"left\",tex2jax:{inlineMath:[[\"$\",\"$\"],[\"\\\\(\",\"\\\\)\"]]}}),MathJax.Hub.Configured()))}},{}],708:[function(t,e,r){\"use strict\";e.exports={undo:{width:857.1,height:1e3,path:\"m857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z\",transform:\"matrix(1 0 0 -1 0 850)\"},home:{width:928.6,height:1e3,path:\"m786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z\",transform:\"matrix(1 0 0 -1 0 850)\"},\"camera-retro\":{width:1e3,height:1e3,path:\"m518 386q0 8-5 13t-13 5q-37 0-63-27t-26-63q0-8 5-13t13-5 12 5 5 13q0 23 16 38t38 16q8 0 13 5t5 13z m125-73q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m-572-320h858v71h-858v-71z m643 320q0 89-62 152t-152 62-151-62-63-152 63-151 151-63 152 63 62 151z m-571 358h214v72h-214v-72z m-72-107h858v143h-462l-36-71h-360v-72z m929 143v-714q0-30-21-51t-50-21h-858q-29 0-50 21t-21 51v714q0 30 21 51t50 21h858q29 0 50-21t21-51z\",transform:\"matrix(1 0 0 -1 0 850)\"},zoombox:{width:1e3,height:1e3,path:\"m1000-25l-250 251c40 63 63 138 63 218 0 224-182 406-407 406-224 0-406-182-406-406s183-406 407-406c80 0 155 22 218 62l250-250 125 125z m-812 250l0 438 437 0 0-438-437 0z m62 375l313 0 0-312-313 0 0 312z\",transform:\"matrix(1 0 0 -1 0 850)\"},pan:{width:1e3,height:1e3,path:\"m1000 350l-187 188 0-125-250 0 0 250 125 0-188 187-187-187 125 0 0-250-250 0 0 125-188-188 186-187 0 125 252 0 0-250-125 0 187-188 188 188-125 0 0 250 250 0 0-126 187 188z\",transform:\"matrix(1 0 0 -1 0 850)\"},zoom_plus:{width:875,height:1e3,path:\"m1 787l0-875 875 0 0 875-875 0z m687-500l-187 0 0-187-125 0 0 187-188 0 0 125 188 0 0 187 125 0 0-187 187 0 0-125z\",transform:\"matrix(1 0 0 -1 0 850)\"},zoom_minus:{width:875,height:1e3,path:\"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z\",transform:\"matrix(1 0 0 -1 0 850)\"},autoscale:{width:1e3,height:1e3,path:\"m250 850l-187 0-63 0 0-62 0-188 63 0 0 188 187 0 0 62z m688 0l-188 0 0-62 188 0 0-188 62 0 0 188 0 62-62 0z m-875-938l0 188-63 0 0-188 0-62 63 0 187 0 0 62-187 0z m875 188l0-188-188 0 0-62 188 0 62 0 0 62 0 188-62 0z m-125 188l-1 0-93-94-156 156 156 156 92-93 2 0 0 250-250 0 0-2 93-92-156-156-156 156 94 92 0 2-250 0 0-250 0 0 93 93 157-156-157-156-93 94 0 0 0-250 250 0 0 0-94 93 156 157 156-157-93-93 0 0 250 0 0 250z\",transform:\"matrix(1 0 0 -1 0 850)\"},tooltip_basic:{width:1500,height:1e3,path:\"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z\",transform:\"matrix(1 0 0 -1 0 850)\"},tooltip_compare:{width:1125,height:1e3,path:\"m187 786l0 2-187-188 188-187 0 0 937 0 0 373-938 0z m0-499l0 1-187-188 188-188 0 0 937 0 0 376-938-1z\",transform:\"matrix(1 0 0 -1 0 850)\"},plotlylogo:{width:1542,height:1e3,path:\"m0-10h182v-140h-182v140z m228 146h183v-286h-183v286z m225 714h182v-1000h-182v1000z m225-285h182v-715h-182v715z m225 142h183v-857h-183v857z m231-428h182v-429h-182v429z m225-291h183v-138h-183v138z\",transform:\"matrix(1 0 0 -1 0 850)\"},\"z-axis\":{width:1e3,height:1e3,path:\"m833 5l-17 108v41l-130-65 130-66c0 0 0 38 0 39 0-1 36-14 39-25 4-15-6-22-16-30-15-12-39-16-56-20-90-22-187-23-279-23-261 0-341 34-353 59 3 60 228 110 228 110-140-8-351-35-351-116 0-120 293-142 474-142 155 0 477 22 477 142 0 50-74 79-163 96z m-374 94c-58-5-99-21-99-40 0-24 65-43 144-43 79 0 143 19 143 43 0 19-42 34-98 40v216h87l-132 135-133-135h88v-216z m167 515h-136v1c16 16 31 34 46 52l84 109v54h-230v-71h124v-1c-16-17-28-32-44-51l-89-114v-51h245v72z\",transform:\"matrix(1 0 0 -1 0 850)\"},\"3d_rotate\":{width:1e3,height:1e3,path:\"m922 660c-5 4-9 7-14 11-359 263-580-31-580-31l-102 28 58-400c0 1 1 1 2 2 118 108 351 249 351 249s-62 27-100 42c88 83 222 183 347 122 16-8 30-17 44-27-2 1-4 2-6 4z m36-329c0 0 64 229-88 296-62 27-124 14-175-11 157-78 225-208 249-266 8-19 11-31 11-31 2 5 6 15 11 32-5-13-8-20-8-20z m-775-239c70-31 117-50 198-32-121 80-199 346-199 346l-96-15-58-12c0 0 55-226 155-287z m603 133l-317-139c0 0 4-4 19-14 7-5 24-15 24-15s-177-147-389 4c235-287 536-112 536-112l31-22 100 299-4-1z m-298-153c6-4 14-9 24-15 0 0-17 10-24 15z\",transform:\"matrix(1 0 0 -1 0 850)\"},camera:{width:1e3,height:1e3,path:\"m500 450c-83 0-150-67-150-150 0-83 67-150 150-150 83 0 150 67 150 150 0 83-67 150-150 150z m400 150h-120c-16 0-34 13-39 29l-31 93c-6 15-23 28-40 28h-340c-16 0-34-13-39-28l-31-94c-6-15-23-28-40-28h-120c-55 0-100-45-100-100v-450c0-55 45-100 100-100h800c55 0 100 45 100 100v450c0 55-45 100-100 100z m-400-550c-138 0-250 112-250 250 0 138 112 250 250 250 138 0 250-112 250-250 0-138-112-250-250-250z m365 380c-19 0-35 16-35 35 0 19 16 35 35 35 19 0 35-16 35-35 0-19-16-35-35-35z\",transform:\"matrix(1 0 0 -1 0 850)\"},movie:{width:1e3,height:1e3,path:\"m938 413l-188-125c0 37-17 71-44 94 64 38 107 107 107 187 0 121-98 219-219 219-121 0-219-98-219-219 0-61 25-117 66-156h-115c30 33 49 76 49 125 0 103-84 187-187 187s-188-84-188-187c0-57 26-107 65-141-38-22-65-62-65-109v-250c0-70 56-126 125-126h500c69 0 125 56 125 126l188-126c34 0 62 28 62 63v375c0 35-28 63-62 63z m-750 0c-69 0-125 56-125 125s56 125 125 125 125-56 125-125-56-125-125-125z m406-1c-87 0-157 70-157 157 0 86 70 156 157 156s156-70 156-156-70-157-156-157z\",transform:\"matrix(1 0 0 -1 0 850)\"},question:{width:857.1,height:1e3,path:\"m500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z\",transform:\"matrix(1 0 0 -1 0 850)\"},disk:{width:857.1,height:1e3,path:\"m214-7h429v214h-429v-214z m500 0h72v500q0 8-6 21t-11 20l-157 156q-5 6-19 12t-22 5v-232q0-22-15-38t-38-16h-322q-22 0-37 16t-16 38v232h-72v-714h72v232q0 22 16 38t37 16h465q22 0 38-16t15-38v-232z m-214 518v178q0 8-5 13t-13 5h-107q-7 0-13-5t-5-13v-178q0-8 5-13t13-5h107q7 0 13 5t5 13z m357-18v-518q0-22-15-38t-38-16h-750q-23 0-38 16t-16 38v750q0 22 16 38t38 16h517q23 0 50-12t42-26l156-157q16-15 27-42t11-49z\",transform:\"matrix(1 0 0 -1 0 850)\"},drawopenpath:{width:70,height:70,path:\"M33.21,85.65a7.31,7.31,0,0,1-2.59-.48c-8.16-3.11-9.27-19.8-9.88-41.3-.1-3.58-.19-6.68-.35-9-.15-2.1-.67-3.48-1.43-3.79-2.13-.88-7.91,2.32-12,5.86L3,32.38c1.87-1.64,11.55-9.66,18.27-6.9,2.13.87,4.75,3.14,5.17,9,.17,2.43.26,5.59.36,9.25a224.17,224.17,0,0,0,1.5,23.4c1.54,10.76,4,12.22,4.48,12.4.84.32,2.79-.46,5.76-3.59L43,80.07C41.53,81.57,37.68,85.64,33.21,85.65ZM74.81,69a11.34,11.34,0,0,0,6.09-6.72L87.26,44.5,74.72,32,56.9,38.35c-2.37.86-5.57,3.42-6.61,6L38.65,72.14l8.42,8.43ZM55,46.27a7.91,7.91,0,0,1,3.64-3.17l14.8-5.3,8,8L76.11,60.6l-.06.19a6.37,6.37,0,0,1-3,3.43L48.25,74.59,44.62,71Zm16.57,7.82A6.9,6.9,0,1,0,64.64,61,6.91,6.91,0,0,0,71.54,54.09Zm-4.05,0a2.85,2.85,0,1,1-2.85-2.85A2.86,2.86,0,0,1,67.49,54.09Zm-4.13,5.22L60.5,56.45,44.26,72.7l2.86,2.86ZM97.83,35.67,84.14,22l-8.57,8.57L89.26,44.24Zm-13.69-8,8,8-2.85,2.85-8-8Z\",transform:\"matrix(1 0 0 1 -15 -15)\"},drawclosedpath:{width:90,height:90,path:\"M88.41,21.12a26.56,26.56,0,0,0-36.18,0l-2.07,2-2.07-2a26.57,26.57,0,0,0-36.18,0,23.74,23.74,0,0,0,0,34.8L48,90.12a3.22,3.22,0,0,0,4.42,0l36-34.21a23.73,23.73,0,0,0,0-34.79ZM84,51.24,50.16,83.35,16.35,51.25a17.28,17.28,0,0,1,0-25.47,20,20,0,0,1,27.3,0l4.29,4.07a3.23,3.23,0,0,0,4.44,0l4.29-4.07a20,20,0,0,1,27.3,0,17.27,17.27,0,0,1,0,25.46ZM66.76,47.68h-33v6.91h33ZM53.35,35H46.44V68h6.91Z\",transform:\"matrix(1 0 0 1 -5 -5)\"},lasso:{width:1031,height:1e3,path:\"m1018 538c-36 207-290 336-568 286-277-48-473-256-436-463 10-57 36-108 76-151-13-66 11-137 68-183 34-28 75-41 114-42l-55-70 0 0c-2-1-3-2-4-3-10-14-8-34 5-45 14-11 34-8 45 4 1 1 2 3 2 5l0 0 113 140c16 11 31 24 45 40 4 3 6 7 8 11 48-3 100 0 151 9 278 48 473 255 436 462z m-624-379c-80 14-149 48-197 96 42 42 109 47 156 9 33-26 47-66 41-105z m-187-74c-19 16-33 37-39 60 50-32 109-55 174-68-42-25-95-24-135 8z m360 75c-34-7-69-9-102-8 8 62-16 128-68 170-73 59-175 54-244-5-9 20-16 40-20 61-28 159 121 317 333 354s407-60 434-217c28-159-121-318-333-355z\",transform:\"matrix(1 0 0 -1 0 850)\"},selectbox:{width:1e3,height:1e3,path:\"m0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z\",transform:\"matrix(1 0 0 -1 0 850)\"},drawline:{width:70,height:70,path:\"M60.64,62.3a11.29,11.29,0,0,0,6.09-6.72l6.35-17.72L60.54,25.31l-17.82,6.4c-2.36.86-5.57,3.41-6.6,6L24.48,65.5l8.42,8.42ZM40.79,39.63a7.89,7.89,0,0,1,3.65-3.17l14.79-5.31,8,8L61.94,54l-.06.19a6.44,6.44,0,0,1-3,3.43L34.07,68l-3.62-3.63Zm16.57,7.81a6.9,6.9,0,1,0-6.89,6.9A6.9,6.9,0,0,0,57.36,47.44Zm-4,0a2.86,2.86,0,1,1-2.85-2.85A2.86,2.86,0,0,1,53.32,47.44Zm-4.13,5.22L46.33,49.8,30.08,66.05l2.86,2.86ZM83.65,29,70,15.34,61.4,23.9,75.09,37.59ZM70,21.06l8,8-2.84,2.85-8-8ZM87,80.49H10.67V87H87Z\",transform:\"matrix(1 0 0 1 -15 -15)\"},drawrect:{width:80,height:80,path:\"M78,22V79H21V22H78m9-9H12V88H87V13ZM68,46.22H31V54H68ZM53,32H45.22V69H53Z\",transform:\"matrix(1 0 0 1 -10 -10)\"},drawcircle:{width:80,height:80,path:\"M50,84.72C26.84,84.72,8,69.28,8,50.3S26.84,15.87,50,15.87,92,31.31,92,50.3,73.16,84.72,50,84.72Zm0-60.59c-18.6,0-33.74,11.74-33.74,26.17S31.4,76.46,50,76.46,83.74,64.72,83.74,50.3,68.6,24.13,50,24.13Zm17.15,22h-34v7.11h34Zm-13.8-13H46.24v34h7.11Z\",transform:\"matrix(1 0 0 1 -10 -10)\"},eraseshape:{width:80,height:80,path:\"M82.77,78H31.85L6,49.57,31.85,21.14H82.77a8.72,8.72,0,0,1,8.65,8.77V69.24A8.72,8.72,0,0,1,82.77,78ZM35.46,69.84H82.77a.57.57,0,0,0,.49-.6V29.91a.57.57,0,0,0-.49-.61H35.46L17,49.57Zm32.68-34.7-24,24,5,5,24-24Zm-19,.53-5,5,24,24,5-5Z\",transform:\"matrix(1 0 0 1 -10 -10)\"},spikeline:{width:1e3,height:1e3,path:\"M512 409c0-57-46-104-103-104-57 0-104 47-104 104 0 57 47 103 104 103 57 0 103-46 103-103z m-327-39l92 0 0 92-92 0z m-185 0l92 0 0 92-92 0z m370-186l92 0 0 93-92 0z m0-184l92 0 0 92-92 0z\",transform:\"matrix(1.5 0 0 -1.5 0 850)\"},pencil:{width:1792,height:1792,path:\"M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z\",transform:\"matrix(1 0 0 1 0 1)\"},newplotlylogo:{name:\"newplotlylogo\",svg:\"<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 132'><defs><style>.cls-1 {fill: #3f4f75;} .cls-2 {fill: #80cfbe;} .cls-3 {fill: #fff;}</style></defs><title>plotly-logomark</title><g id='symbol'><rect class='cls-1' width='132' height='132' rx='6' ry='6'/><circle class='cls-2' cx='78' cy='54' r='6'/><circle class='cls-2' cx='102' cy='30' r='6'/><circle class='cls-2' cx='78' cy='30' r='6'/><circle class='cls-2' cx='54' cy='30' r='6'/><circle class='cls-2' cx='30' cy='30' r='6'/><circle class='cls-2' cx='30' cy='54' r='6'/><path class='cls-3' d='M30,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,30,72Z'/><path class='cls-3' d='M78,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,78,72Z'/><path class='cls-3' d='M54,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,54,48Z'/><path class='cls-3' d='M102,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,102,48Z'/></g></svg>\"}}},{}],709:[function(t,e,r){\"use strict\";r.isLeftAnchor=function(t){return\"left\"===t.xanchor||\"auto\"===t.xanchor&&t.x<=1/3},r.isCenterAnchor=function(t){return\"center\"===t.xanchor||\"auto\"===t.xanchor&&t.x>1/3&&t.x<2/3},r.isRightAnchor=function(t){return\"right\"===t.xanchor||\"auto\"===t.xanchor&&t.x>=2/3},r.isTopAnchor=function(t){return\"top\"===t.yanchor||\"auto\"===t.yanchor&&t.y>=2/3},r.isMiddleAnchor=function(t){return\"middle\"===t.yanchor||\"auto\"===t.yanchor&&t.y>1/3&&t.y<2/3},r.isBottomAnchor=function(t){return\"bottom\"===t.yanchor||\"auto\"===t.yanchor&&t.y<=1/3}},{}],710:[function(t,e,r){\"use strict\";var n=t(\"./mod\"),a=n.mod,i=n.modHalf,o=Math.PI,s=2*o;function l(t){return Math.abs(t[1]-t[0])>s-1e-14}function c(t,e){return i(e-t,s)}function u(t,e){if(l(e))return!0;var r,n;e[0]<e[1]?(r=e[0],n=e[1]):(r=e[1],n=e[0]),(r=a(r,s))>(n=a(n,s))&&(n+=s);var i=a(t,s),o=i+s;return i>=r&&i<=n||o>=r&&o<=n}function h(t,e,r,n,a,i,c){a=a||0,i=i||0;var u,h,f,p,d,g=l([r,n]);function m(t,e){return[t*Math.cos(e)+a,i-t*Math.sin(e)]}g?(u=0,h=o,f=s):r<n?(u=r,f=n):(u=n,f=r),t<e?(p=t,d=e):(p=e,d=t);var v,y=Math.abs(f-u)<=o?0:1;function x(t,e,r){return\"A\"+[t,t]+\" \"+[0,y,r]+\" \"+m(t,e)}return g?v=null===p?\"M\"+m(d,u)+x(d,h,0)+x(d,f,0)+\"Z\":\"M\"+m(p,u)+x(p,h,0)+x(p,f,0)+\"ZM\"+m(d,u)+x(d,h,1)+x(d,f,1)+\"Z\":null===p?(v=\"M\"+m(d,u)+x(d,f,0),c&&(v+=\"L0,0Z\")):v=\"M\"+m(p,u)+\"L\"+m(d,u)+x(d,f,0)+\"L\"+m(p,f)+x(p,u,1)+\"Z\",v}e.exports={deg2rad:function(t){return t/180*o},rad2deg:function(t){return t/o*180},angleDelta:c,angleDist:function(t,e){return Math.abs(c(t,e))},isFullCircle:l,isAngleInsideSector:u,isPtInsideSector:function(t,e,r,n){return!!u(e,n)&&(r[0]<r[1]?(a=r[0],i=r[1]):(a=r[1],i=r[0]),t>=a&&t<=i);var a,i},pathArc:function(t,e,r,n,a){return h(null,t,e,r,n,a,0)},pathSector:function(t,e,r,n,a){return h(null,t,e,r,n,a,1)},pathAnnulus:function(t,e,r,n,a,i){return h(t,e,r,n,a,i,1)}}},{\"./mod\":735}],711:[function(t,e,r){\"use strict\";var n=Array.isArray,a=\"undefined\"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer:{isView:function(){return!1}},i=\"undefined\"==typeof DataView?function(){}:DataView;function o(t){return a.isView(t)&&!(t instanceof i)}function s(t){return n(t)||o(t)}function l(t,e,r){if(s(t)){if(s(t[0])){for(var n=r,a=0;a<t.length;a++)n=e(n,t[a].length);return n}return t.length}return 0}r.isTypedArray=o,r.isArrayOrTypedArray=s,r.isArray1D=function(t){return!s(t[0])},r.ensureArray=function(t,e){return n(t)||(t=[]),t.length=e,t},r.concat=function(){var t,e,r,a,i,o,s,l,c=[],u=!0,h=0;for(r=0;r<arguments.length;r++)(o=(a=arguments[r]).length)&&(e?c.push(a):(e=a,i=o),n(a)?t=!1:(u=!1,h?t!==a.constructor&&(t=!1):t=a.constructor),h+=o);if(!h)return[];if(!c.length)return e;if(u)return e.concat.apply(e,c);if(t){for((s=new t(h)).set(e),r=0;r<c.length;r++)a=c[r],s.set(a,i),i+=a.length;return s}for(s=new Array(h),l=0;l<e.length;l++)s[l]=e[l];for(r=0;r<c.length;r++){for(a=c[r],l=0;l<a.length;l++)s[i+l]=a[l];i+=l}return s},r.maxRowLength=function(t){return l(t,Math.max,0)},r.minRowLength=function(t){return l(t,Math.min,1/0)}},{}],712:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"../constants/numerical\").BADNUM,i=/^['\"%,$#\\s']+|[, ]|['\"%,$#\\s']+$/g;e.exports=function(t){return\"string\"==typeof t&&(t=t.replace(i,\"\")),n(t)?Number(t):a}},{\"../constants/numerical\":704,\"fast-isnumeric\":236}],713:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t._fullLayout;e._glcanvas&&e._glcanvas.size()&&e._glcanvas.each((function(t){t.regl&&t.regl.clear({color:!0,depth:!0})}))}},{}],714:[function(t,e,r){\"use strict\";e.exports=function(t){t._responsiveChartHandler&&(window.removeEventListener(\"resize\",t._responsiveChartHandler),delete t._responsiveChartHandler)}},{}],715:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"tinycolor2\"),i=t(\"../plots/attributes\"),o=t(\"../components/colorscale/scales\"),s=t(\"../constants/interactions\").DESELECTDIM,l=t(\"./nested_property\"),c=t(\"./regex\").counter,u=t(\"./mod\").modHalf,h=t(\"./array\").isArrayOrTypedArray;function f(t,e,n,a,i,o){var s=(o||{}).shouldValidate,c=l(n,a).get();void 0===i&&(i=c.dflt);var u=!1,f=l(t,a),d=l(e,a),g=f.get(),m=e._template;if(void 0===g&&m&&(u=void 0!==(g=l(m,a).get()),m=0),c.arrayOk&&h(g))return d.set(g),{inp:g,val:g,src:!0};var v=r.valObjectMeta[c.valType].coerceFunction;v(g,d,i,c);var y=d.get();return u=void 0!==y&&s&&p(g,c),m&&y===i&&!p(g,c)&&(v(g=l(m,a).get(),d,i,c),u=void 0!==(y=d.get())&&s&&p(g,c)),{inp:g,val:y,src:u}}function p(t,e){var n=r.valObjectMeta[e.valType];if(e.arrayOk&&h(t))return!0;if(n.validateFunction)return n.validateFunction(t,e);var a={},i=a,o={set:function(t){i=t}};return n.coerceFunction(t,o,a,e),i!==a}r.valObjectMeta={data_array:{coerceFunction:function(t,e,r){h(t)?e.set(t):void 0!==r&&e.set(r)}},enumerated:{coerceFunction:function(t,e,r,n){n.coerceNumber&&(t=+t),-1===n.values.indexOf(t)?e.set(r):e.set(t)},validateFunction:function(t,e){e.coerceNumber&&(t=+t);for(var r=e.values,n=0;n<r.length;n++){var a=String(r[n]);if(\"/\"===a.charAt(0)&&\"/\"===a.charAt(a.length-1)){if(new RegExp(a.substr(1,a.length-2)).test(t))return!0}else if(t===r[n])return!0}return!1}},boolean:{coerceFunction:function(t,e,r){!0===t||!1===t?e.set(t):e.set(r)}},number:{coerceFunction:function(t,e,r,a){!n(t)||void 0!==a.min&&t<a.min||void 0!==a.max&&t>a.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,a){t%1||!n(t)||void 0!==a.min&&t<a.min||void 0!==a.max&&t>a.max?e.set(r):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if(\"string\"!=typeof t){var a=\"number\"==typeof t;!0!==n.strict&&a?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){a(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every((function(t){return a(t).isValid()}))?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(o.get(t,r))}},angle:{coerceFunction:function(t,e,r){\"auto\"===t?e.set(\"auto\"):n(t)?e.set(u(+t,360)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r,n){var a=n.regex||c(r);\"string\"==typeof t&&a.test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||\"string\"==typeof t&&!!c(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if(\"string\"==typeof t)if(-1===(n.extras||[]).indexOf(t)){for(var a=t.split(\"+\"),i=0;i<a.length;){var o=a[i];-1===n.flags.indexOf(o)||a.indexOf(o)<i?a.splice(i,1):i++}a.length?e.set(a.join(\"+\")):e.set(r)}else e.set(t);else e.set(r)}},any:{coerceFunction:function(t,e,r){void 0===t?e.set(r):e.set(t)}},info_array:{coerceFunction:function(t,e,n,a){function i(t,e,n){var a,i={set:function(t){a=t}};return void 0===n&&(n=e.dflt),r.valObjectMeta[e.valType].coerceFunction(t,i,n,e),a}var o=2===a.dimensions||\"1-2\"===a.dimensions&&Array.isArray(t)&&Array.isArray(t[0]);if(Array.isArray(t)){var s,l,c,u,h,f,p=a.items,d=[],g=Array.isArray(p),m=g&&o&&Array.isArray(p[0]),v=o&&g&&!m,y=g&&!v?p.length:t.length;if(n=Array.isArray(n)?n:[],o)for(s=0;s<y;s++)for(d[s]=[],c=Array.isArray(t[s])?t[s]:[],h=v?p.length:g?p[s].length:c.length,l=0;l<h;l++)u=v?p[l]:g?p[s][l]:p,void 0!==(f=i(c[l],u,(n[s]||[])[l]))&&(d[s][l]=f);else for(s=0;s<y;s++)void 0!==(f=i(t[s],g?p[s]:p,n[s]))&&(d[s]=f);e.set(d)}else e.set(n)},validateFunction:function(t,e){if(!Array.isArray(t))return!1;var r=e.items,n=Array.isArray(r),a=2===e.dimensions;if(!e.freeLength&&t.length!==r.length)return!1;for(var i=0;i<t.length;i++)if(a){if(!Array.isArray(t[i])||!e.freeLength&&t[i].length!==r[i].length)return!1;for(var o=0;o<t[i].length;o++)if(!p(t[i][o],n?r[i][o]:r))return!1}else if(!p(t[i],n?r[i]:r))return!1;return!0}}},r.coerce=function(t,e,r,n,a){return f(t,e,r,n,a).val},r.coerce2=function(t,e,r,n,a){var i=f(t,e,r,n,a,{shouldValidate:!0});return!(!i.src||void 0===i.inp)&&i.val},r.coerceFont=function(t,e,r){var n={};return r=r||{},n.family=t(e+\".family\",r.family),n.size=t(e+\".size\",r.size),n.color=t(e+\".color\",r.color),n},r.coerceHoverinfo=function(t,e,n){var a,o=e._module.attributes,s=o.hoverinfo?o:i,l=s.hoverinfo;if(1===n._dataLength){var c=\"all\"===l.dflt?l.flags.slice():l.dflt.split(\"+\");c.splice(c.indexOf(\"name\"),1),a=c.join(\"+\")}return r.coerce(t,e,s,\"hoverinfo\",a)},r.coerceSelectionMarkerOpacity=function(t,e){if(t.marker){var r,n,a=t.marker.opacity;if(void 0!==a)h(a)||t.selected||t.unselected||(r=a,n=s*a),e(\"selected.marker.opacity\",r),e(\"unselected.marker.opacity\",n)}},r.validate=p},{\"../components/colorscale/scales\":610,\"../constants/interactions\":703,\"../plots/attributes\":773,\"./array\":711,\"./mod\":735,\"./nested_property\":736,\"./regex\":744,\"fast-isnumeric\":236,tinycolor2:528}],716:[function(t,e,r){\"use strict\";var n,a,i=t(\"d3\"),o=t(\"fast-isnumeric\"),s=t(\"./loggers\"),l=t(\"./mod\").mod,c=t(\"../constants/numerical\"),u=c.BADNUM,h=c.ONEDAY,f=c.ONEHOUR,p=c.ONEMIN,d=c.ONESEC,g=c.EPOCHJD,m=t(\"../registry\"),v=i.time.format.utc,y=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)(-(\\d?\\d)(-(\\d?\\d)([ Tt]([01]?\\d|2[0-3])(:([0-5]\\d)(:([0-5]\\d(\\.\\d+)?))?(Z|z|[+\\-]\\d\\d:?\\d\\d)?)?)?)?)?\\s*$/m,x=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)(-(\\d?\\di?)(-(\\d?\\d)([ Tt]([01]?\\d|2[0-3])(:([0-5]\\d)(:([0-5]\\d(\\.\\d+)?))?(Z|z|[+\\-]\\d\\d:?\\d\\d)?)?)?)?)?\\s*$/m,b=(new Date).getFullYear()-70;function _(t){return t&&m.componentsRegistry.calendars&&\"string\"==typeof t&&\"gregorian\"!==t}function w(t,e){return String(t+Math.pow(10,e)).substr(1)}r.dateTick0=function(t,e){return _(t)?e?m.getComponentMethod(\"calendars\",\"CANONICAL_SUNDAY\")[t]:m.getComponentMethod(\"calendars\",\"CANONICAL_TICK\")[t]:e?\"2000-01-02\":\"2000-01-01\"},r.dfltRange=function(t){return _(t)?m.getComponentMethod(\"calendars\",\"DFLTRANGE\")[t]:[\"2000-01-01\",\"2001-01-01\"]},r.isJSDate=function(t){return\"object\"==typeof t&&null!==t&&\"function\"==typeof t.getTime},r.dateTime2ms=function(t,e){if(r.isJSDate(t)){var i=t.getTimezoneOffset()*p,o=(t.getUTCMinutes()-t.getMinutes())*p+(t.getUTCSeconds()-t.getSeconds())*d+(t.getUTCMilliseconds()-t.getMilliseconds());if(o){var s=3*p;i=i-s/2+l(o-i+s/2,s)}return(t=Number(t)-i)>=n&&t<=a?t:u}if(\"string\"!=typeof t&&\"number\"!=typeof t)return u;t=String(t);var c=_(e),v=t.charAt(0);!c||\"G\"!==v&&\"g\"!==v||(t=t.substr(1),e=\"\");var w=c&&\"chinese\"===e.substr(0,7),T=t.match(w?x:y);if(!T)return u;var k=T[1],A=T[3]||\"1\",M=Number(T[5]||1),S=Number(T[7]||0),E=Number(T[9]||0),C=Number(T[11]||0);if(c){if(2===k.length)return u;var L;k=Number(k);try{var P=m.getComponentMethod(\"calendars\",\"getCal\")(e);if(w){var I=\"i\"===A.charAt(A.length-1);A=parseInt(A,10),L=P.newDate(k,P.toMonthIndex(k,A,I),M)}else L=P.newDate(k,Number(A),M)}catch(t){return u}return L?(L.toJD()-g)*h+S*f+E*p+C*d:u}k=2===k.length?(Number(k)+2e3-b)%100+b:Number(k),A-=1;var z=new Date(Date.UTC(2e3,A,M,S,E));return z.setUTCFullYear(k),z.getUTCMonth()!==A||z.getUTCDate()!==M?u:z.getTime()+C*d},n=r.MIN_MS=r.dateTime2ms(\"-9999\"),a=r.MAX_MS=r.dateTime2ms(\"9999-12-31 23:59:59.9999\"),r.isDateTime=function(t,e){return r.dateTime2ms(t,e)!==u};var T=90*h,k=3*f,A=5*p;function M(t,e,r,n,a){if((e||r||n||a)&&(t+=\" \"+w(e,2)+\":\"+w(r,2),(n||a)&&(t+=\":\"+w(n,2),a))){for(var i=4;a%10==0;)i-=1,a/=10;t+=\".\"+w(a,i)}return t}r.ms2DateTime=function(t,e,r){if(\"number\"!=typeof t||!(t>=n&&t<=a))return u;e||(e=0);var i,o,s,c,y,x,b=Math.floor(10*l(t+.05,1)),w=Math.round(t-b/10);if(_(r)){var S=Math.floor(w/h)+g,E=Math.floor(l(t,h));try{i=m.getComponentMethod(\"calendars\",\"getCal\")(r).fromJD(S).formatDate(\"yyyy-mm-dd\")}catch(t){i=v(\"G%Y-%m-%d\")(new Date(w))}if(\"-\"===i.charAt(0))for(;i.length<11;)i=\"-0\"+i.substr(1);else for(;i.length<10;)i=\"0\"+i;o=e<T?Math.floor(E/f):0,s=e<T?Math.floor(E%f/p):0,c=e<k?Math.floor(E%p/d):0,y=e<A?E%d*10+b:0}else x=new Date(w),i=v(\"%Y-%m-%d\")(x),o=e<T?x.getUTCHours():0,s=e<T?x.getUTCMinutes():0,c=e<k?x.getUTCSeconds():0,y=e<A?10*x.getUTCMilliseconds()+b:0;return M(i,o,s,c,y)},r.ms2DateTimeLocal=function(t){if(!(t>=n+h&&t<=a-h))return u;var e=Math.floor(10*l(t+.05,1)),r=new Date(Math.round(t-e/10));return M(i.time.format(\"%Y-%m-%d\")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},r.cleanDate=function(t,e,n){if(t===u)return e;if(r.isJSDate(t)||\"number\"==typeof t&&isFinite(t)){if(_(n))return s.error(\"JS Dates and milliseconds are incompatible with world calendars\",t),e;if(!(t=r.ms2DateTimeLocal(+t))&&void 0!==e)return e}else if(!r.isDateTime(t,n))return s.error(\"unrecognized date\",t),e;return t};var S=/%\\d?f/g;function E(t,e,r,n){t=t.replace(S,(function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,\"\")||\"0\"}));var a=new Date(Math.floor(e+.05));if(_(n))try{t=m.getComponentMethod(\"calendars\",\"worldCalFmt\")(t,e,n)}catch(t){return\"Invalid\"}return r(t)(a)}var C=[59,59.9,59.99,59.999,59.9999];r.formatDate=function(t,e,r,n,a,i){if(a=_(a)&&a,!e)if(\"y\"===r)e=i.year;else if(\"m\"===r)e=i.month;else{if(\"d\"!==r)return function(t,e){var r=l(t+.05,h),n=w(Math.floor(r/f),2)+\":\"+w(l(Math.floor(r/p),60),2);if(\"M\"!==e){o(e)||(e=0);var a=(100+Math.min(l(t/d,60),C[e])).toFixed(e).substr(1);e>0&&(a=a.replace(/0+$/,\"\").replace(/[\\.]$/,\"\")),n+=\":\"+a}return n}(t,r)+\"\\n\"+E(i.dayMonthYear,t,n,a);e=i.dayMonth+\"\\n\"+i.year}return E(e,t,n,a)};var L=3*h;r.incrementMonth=function(t,e,r){r=_(r)&&r;var n=l(t,h);if(t=Math.round(t-n),r)try{var a=Math.round(t/h)+g,i=m.getComponentMethod(\"calendars\",\"getCal\")(r),o=i.fromJD(a);return e%12?i.add(o,e,\"m\"):i.add(o,e/12,\"y\"),(o.toJD()-g)*h+n}catch(e){s.error(\"invalid ms \"+t+\" in calendar \"+r)}var c=new Date(t+L);return c.setUTCMonth(c.getUTCMonth()+e)+n-L},r.findExactDates=function(t,e){for(var r,n,a=0,i=0,s=0,l=0,c=_(e)&&m.getComponentMethod(\"calendars\",\"getCal\")(e),u=0;u<t.length;u++)if(n=t[u],o(n)){if(!(n%h))if(c)try{1===(r=c.fromJD(n/h+g)).day()?1===r.month()?a++:i++:s++}catch(t){}else 1===(r=new Date(n)).getUTCDate()?0===r.getUTCMonth()?a++:i++:s++}else l++;s+=i+=a;var f=t.length-l;return{exactYears:a/f,exactMonths:i/f,exactDays:s/f}}},{\"../constants/numerical\":704,\"../registry\":859,\"./loggers\":732,\"./mod\":735,d3:164,\"fast-isnumeric\":236}],717:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"./loggers\");function i(t){var e=t&&t.parentNode;e&&e.removeChild(t)}function o(t,e,r){var n=\"plotly.js-style-\"+t,i=document.getElementById(n);i||((i=document.createElement(\"style\")).setAttribute(\"id\",n),i.appendChild(document.createTextNode(\"\")),document.head.appendChild(i));var o=i.sheet;o.insertRule?o.insertRule(e+\"{\"+r+\"}\",0):o.addRule?o.addRule(e,r,0):a.warn(\"addStyleRule failed\")}e.exports={getGraphDiv:function(t){var e;if(\"string\"==typeof t){if(null===(e=document.getElementById(t)))throw new Error(\"No DOM element with id '\"+t+\"' exists on the page.\");return e}if(null==t)throw new Error(\"DOM element provided is null or undefined\");return t},isPlotDiv:function(t){var e=n.select(t);return e.node()instanceof HTMLElement&&e.size()&&e.classed(\"js-plotly-plot\")},removeElement:i,addStyleRule:function(t,e){o(\"global\",t,e)},addRelatedStyleRule:o,deleteRelatedStyleRule:function(t){var e=\"plotly.js-style-\"+t,r=document.getElementById(e);r&&i(r)}}},{\"./loggers\":732,d3:164}],718:[function(t,e,r){\"use strict\";var n=t(\"events\").EventEmitter,a={init:function(t){if(t._ev instanceof n)return t;var e=new n,r=new n;return t._ev=e,t._internalEv=r,t.on=e.on.bind(e),t.once=e.once.bind(e),t.removeListener=e.removeListener.bind(e),t.removeAllListeners=e.removeAllListeners.bind(e),t._internalOn=r.on.bind(r),t._internalOnce=r.once.bind(r),t._removeInternalListener=r.removeListener.bind(r),t._removeAllInternalListeners=r.removeAllListeners.bind(r),t.emit=function(n,a){\"undefined\"!=typeof jQuery&&jQuery(t).trigger(n,a),e.emit(n,a),r.emit(n,a)},t},triggerHandler:function(t,e,r){var n,a;\"undefined\"!=typeof jQuery&&(n=jQuery(t).triggerHandler(e,r));var i=t._ev;if(!i)return n;var o,s=i._events[e];if(!s)return n;function l(t){return t.listener?(i.removeListener(e,t.listener),t.fired?void 0:(t.fired=!0,t.listener.apply(i,[r]))):t.apply(i,[r])}for(s=Array.isArray(s)?s:[s],o=0;o<s.length-1;o++)l(s[o]);return a=l(s[o]),void 0!==n?n:a},purge:function(t){return delete t._ev,delete t.on,delete t.once,delete t.removeListener,delete t.removeAllListeners,delete t.emit,delete t._ev,delete t._internalEv,delete t._internalOn,delete t._internalOnce,delete t._removeInternalListener,delete t._removeAllInternalListeners,t}};e.exports=a},{events:107}],719:[function(t,e,r){\"use strict\";var n=t(\"./is_plain_object.js\"),a=Array.isArray;function i(t,e,r,o){var s,l,c,u,h,f,p=t[0],d=t.length;if(2===d&&a(p)&&a(t[1])&&0===p.length){if(function(t,e){var r,n;for(r=0;r<t.length;r++){if(null!==(n=t[r])&&\"object\"==typeof n)return!1;void 0!==n&&(e[r]=n)}return!0}(t[1],p))return p;p.splice(0,p.length)}for(var g=1;g<d;g++)for(l in s=t[g])c=p[l],u=s[l],o&&a(u)?p[l]=u:e&&u&&(n(u)||(h=a(u)))?(h?(h=!1,f=c&&a(c)?c:[]):f=c&&n(c)?c:{},p[l]=i([f,u],e,r,o)):(\"undefined\"!=typeof u||r)&&(p[l]=u);return p}r.extendFlat=function(){return i(arguments,!1,!1,!1)},r.extendDeep=function(){return i(arguments,!0,!1,!1)},r.extendDeepAll=function(){return i(arguments,!0,!0,!1)},r.extendDeepNoArrays=function(){return i(arguments,!0,!1,!0)}},{\"./is_plain_object.js\":729}],720:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e={},r=[],n=0,a=0;a<t.length;a++){var i=t[a];1!==e[i]&&(e[i]=1,r[n++]=i)}return r}},{}],721:[function(t,e,r){\"use strict\";function n(t){return!0===t.visible}function a(t){var e=t[0].trace;return!0===e.visible&&0!==e._length}e.exports=function(t){for(var e,r=(e=t,Array.isArray(e)&&Array.isArray(e[0])&&e[0][0]&&e[0][0].trace?a:n),i=[],o=0;o<t.length;o++){var s=t[o];r(s)&&i.push(s)}return i}},{}],722:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"country-regex\"),i=t(\"@turf/area\"),o=t(\"@turf/centroid\"),s=t(\"@turf/bbox\"),l=t(\"./identity\"),c=t(\"./loggers\"),u=t(\"./is_plain_object\"),h=t(\"./nested_property\"),f=t(\"./polygon\"),p=Object.keys(a),d={\"ISO-3\":l,\"USA-states\":l,\"country names\":function(t){for(var e=0;e<p.length;e++){var r=p[e];if(new RegExp(a[r]).test(t.trim().toLowerCase()))return r}return c.log(\"Unrecognized country name: \"+t+\".\"),!1}};function g(t){var e=t.geojson,r=window.PlotlyGeoAssets||{},n=\"string\"==typeof e?r[e]:e;return u(n)?n:(c.error(\"Oops ... something went wrong when fetching \"+e),!1)}e.exports={locationToFeature:function(t,e,r){if(!e||\"string\"!=typeof e)return!1;var n,a,i,o=d[t](e);if(o){if(\"USA-states\"===t)for(n=[],i=0;i<r.length;i++)(a=r[i]).properties&&a.properties.gu&&\"USA\"===a.properties.gu&&n.push(a);else n=r;for(i=0;i<n.length;i++)if((a=n[i]).id===o)return a;c.log([\"Location with id\",o,\"does not have a matching topojson feature at this resolution.\"].join(\" \"))}return!1},feature2polygons:function(t){var e,r,n,a,i=t.geometry,o=i.coordinates,s=t.id,l=[];function c(t){for(var e=0;e<t.length-1;e++)if(t[e][0]>0&&t[e+1][0]<0)return e;return null}switch(e=\"RUS\"===s||\"FJI\"===s?function(t){var e;if(null===c(t))e=t;else for(e=new Array(t.length),a=0;a<t.length;a++)e[a]=[t[a][0]<0?t[a][0]+360:t[a][0],t[a][1]];l.push(f.tester(e))}:\"ATA\"===s?function(t){var e=c(t);if(null===e)return l.push(f.tester(t));var r=new Array(t.length+1),n=0;for(a=0;a<t.length;a++)a>e?r[n++]=[t[a][0]+360,t[a][1]]:a===e?(r[n++]=t[a],r[n++]=[t[a][0],-90]):r[n++]=t[a];var i=f.tester(r);i.pts.pop(),l.push(i)}:function(t){l.push(f.tester(t))},i.type){case\"MultiPolygon\":for(r=0;r<o.length;r++)for(n=0;n<o[r].length;n++)e(o[r][n]);break;case\"Polygon\":for(r=0;r<o.length;r++)e(o[r])}return l},getTraceGeojson:g,extractTraceFeature:function(t){var e=t[0].trace,r=g(e);if(!r)return!1;var n,a={},s=[];for(n=0;n<e._length;n++){var l=t[n];(l.loc||0===l.loc)&&(a[l.loc]=l)}function u(t){var r=h(t,e.featureidkey||\"id\").get(),n=a[r];if(n){var l=t.geometry;if(\"Polygon\"===l.type||\"MultiPolygon\"===l.type){var u={type:\"Feature\",id:r,geometry:l,properties:{}};u.properties.ct=function(t){var e,r=t.geometry;if(\"MultiPolygon\"===r.type)for(var n=r.coordinates,a=0,s=0;s<n.length;s++){var l={type:\"Polygon\",coordinates:n[s]},c=i.default(l);c>a&&(a=c,e=l)}else e=r;return o.default(e).geometry.coordinates}(u),n.fIn=t,n.fOut=u,s.push(u)}else c.log([\"Location\",n.loc,\"does not have a valid GeoJSON geometry.\",\"Traces with locationmode *geojson-id* only support\",\"*Polygon* and *MultiPolygon* geometries.\"].join(\" \"))}delete a[r]}switch(r.type){case\"FeatureCollection\":var f=r.features;for(n=0;n<f.length;n++)u(f[n]);break;case\"Feature\":u(r);break;default:return c.warn([\"Invalid GeoJSON type\",(r.type||\"none\")+\".\",\"Traces with locationmode *geojson-id* only support\",\"*FeatureCollection* and *Feature* types.\"].join(\" \")),!1}for(var p in a)c.log([\"Location *\"+p+\"*\",\"does not have a matching feature with id-key\",\"*\"+e.featureidkey+\"*.\"].join(\" \"));return s},fetchTraceGeoData:function(t){var e=window.PlotlyGeoAssets||{},r=[];function a(t){return new Promise((function(r,a){n.json(t,(function(n,i){if(n){delete e[t];var o=404===n.status?'GeoJSON at URL \"'+t+'\" does not exist.':\"Unexpected error while fetching from \"+t;return a(new Error(o))}return e[t]=i,r(i)}))}))}function i(t){return new Promise((function(r,n){var a=0,i=setInterval((function(){return e[t]&&\"pending\"!==e[t]?(clearInterval(i),r(e[t])):a>100?(clearInterval(i),n(\"Unexpected error while fetching from \"+t)):void a++}),50)}))}for(var o=0;o<t.length;o++){var s=t[o][0].trace.geojson;\"string\"==typeof s&&(e[s]?\"pending\"===e[s]&&r.push(i(s)):(e[s]=\"pending\",r.push(a(s))))}return r},computeBbox:function(t){return s.default(t)}}},{\"./identity\":727,\"./is_plain_object\":729,\"./loggers\":732,\"./nested_property\":736,\"./polygon\":740,\"@turf/area\":57,\"@turf/bbox\":58,\"@turf/centroid\":59,\"country-regex\":136,d3:164}],723:[function(t,e,r){\"use strict\";var n=t(\"../constants/numerical\").BADNUM;r.calcTraceToLineCoords=function(t){for(var e=t[0].trace.connectgaps,r=[],a=[],i=0;i<t.length;i++){var o=t[i].lonlat;o[0]!==n?a.push(o):!e&&a.length>0&&(r.push(a),a=[])}return a.length>0&&r.push(a),r},r.makeLine=function(t){return 1===t.length?{type:\"LineString\",coordinates:t[0]}:{type:\"MultiLineString\",coordinates:t}},r.makePolygon=function(t){if(1===t.length)return{type:\"Polygon\",coordinates:t};for(var e=new Array(t.length),r=0;r<t.length;r++)e[r]=[t[r]];return{type:\"MultiPolygon\",coordinates:e}},r.makeBlank=function(){return{type:\"Point\",coordinates:[]}}},{\"../constants/numerical\":704}],724:[function(t,e,r){\"use strict\";var n,a,i,o=t(\"./mod\").mod;function s(t,e,r,n,a,i,o,s){var l=r-t,c=a-t,u=o-a,h=n-e,f=i-e,p=s-i,d=l*p-u*h;if(0===d)return null;var g=(c*p-u*f)/d,m=(c*h-l*f)/d;return m<0||m>1||g<0||g>1?null:{x:t+l*g,y:e+h*g}}function l(t,e,r,n,a){var i=n*t+a*e;if(i<0)return n*n+a*a;if(i>r){var o=n-t,s=a-e;return o*o+s*s}var l=n*e-a*t;return l*l/r}r.segmentsIntersect=s,r.segmentDistance=function(t,e,r,n,a,i,o,c){if(s(t,e,r,n,a,i,o,c))return 0;var u=r-t,h=n-e,f=o-a,p=c-i,d=u*u+h*h,g=f*f+p*p,m=Math.min(l(u,h,d,a-t,i-e),l(u,h,d,o-t,c-e),l(f,p,g,t-a,e-i),l(f,p,g,r-a,n-i));return Math.sqrt(m)},r.getTextLocation=function(t,e,r,s){if(t===a&&s===i||(n={},a=t,i=s),n[r])return n[r];var l=t.getPointAtLength(o(r-s/2,e)),c=t.getPointAtLength(o(r+s/2,e)),u=Math.atan((c.y-l.y)/(c.x-l.x)),h=t.getPointAtLength(o(r,e)),f={x:(4*h.x+l.x+c.x)/6,y:(4*h.y+l.y+c.y)/6,theta:u};return n[r]=f,f},r.clearLocationCache=function(){a=null},r.getVisibleSegment=function(t,e,r){var n,a,i=e.left,o=e.right,s=e.top,l=e.bottom,c=0,u=t.getTotalLength(),h=u;function f(e){var r=t.getPointAtLength(e);0===e?n=r:e===u&&(a=r);var c=r.x<i?i-r.x:r.x>o?r.x-o:0,h=r.y<s?s-r.y:r.y>l?r.y-l:0;return Math.sqrt(c*c+h*h)}for(var p=f(c);p;){if((c+=p+r)>h)return;p=f(c)}for(p=f(h);p;){if(c>(h-=p+r))return;p=f(h)}return{min:c,max:h,len:h-c,total:u,isClosed:0===c&&h===u&&Math.abs(n.x-a.x)<.1&&Math.abs(n.y-a.y)<.1}},r.findPointOnPath=function(t,e,r,n){for(var a,i,o,s=(n=n||{}).pathLength||t.getTotalLength(),l=n.tolerance||.001,c=n.iterationLimit||30,u=t.getPointAtLength(0)[r]>t.getPointAtLength(s)[r]?-1:1,h=0,f=0,p=s;h<c;){if(a=(f+p)/2,o=(i=t.getPointAtLength(a))[r]-e,Math.abs(o)<l)return i;u*o>0?p=a:f=a,h++}return i}},{\"./mod\":735}],725:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"tinycolor2\"),i=t(\"color-normalize\"),o=t(\"../components/colorscale\"),s=t(\"../components/color/attributes\").defaultLine,l=t(\"./array\").isArrayOrTypedArray,c=i(s);function u(t,e){var r=t;return r[3]*=e,r}function h(t){if(n(t))return c;var e=i(t);return e.length?e:c}function f(t){return n(t)?t:1}e.exports={formatColor:function(t,e,r){var n,a,s,p,d,g=t.color,m=l(g),v=l(e),y=o.extractOpts(t),x=[];if(n=void 0!==y.colorscale?o.makeColorScaleFuncFromTrace(t):h,a=m?function(t,e){return void 0===t[e]?c:i(n(t[e]))}:h,s=v?function(t,e){return void 0===t[e]?1:f(t[e])}:f,m||v)for(var b=0;b<r;b++)p=a(g,b),d=s(e,b),x[b]=u(p,d);else x=u(i(g),e);return x},parseColorScale:function(t,e){void 0===e&&(e=1);var r=o.extractOpts(t);return(r.reversescale?o.flipScale(r.colorscale):r.colorscale).map((function(t){var r=t[0],n=a(t[1]).toRgb();return{index:r,rgb:[n.r,n.g,n.b,e]}}))}}},{\"../components/color/attributes\":594,\"../components/colorscale\":607,\"./array\":711,\"color-normalize\":122,\"fast-isnumeric\":236,tinycolor2:528}],726:[function(t,e,r){\"use strict\";var n=t(\"./identity\");function a(t){return[t]}e.exports={keyFun:function(t){return t.key},repeat:a,descend:n,wrap:a,unwrap:function(t){return t[0]}}},{\"./identity\":727}],727:[function(t,e,r){\"use strict\";e.exports=function(t){return t}},{}],728:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"fast-isnumeric\"),i=t(\"../constants/numerical\"),o=i.FP_SAFE,s=i.BADNUM,l=e.exports={};l.nestedProperty=t(\"./nested_property\"),l.keyedContainer=t(\"./keyed_container\"),l.relativeAttr=t(\"./relative_attr\"),l.isPlainObject=t(\"./is_plain_object\"),l.toLogRange=t(\"./to_log_range\"),l.relinkPrivateKeys=t(\"./relink_private\");var c=t(\"./array\");l.isTypedArray=c.isTypedArray,l.isArrayOrTypedArray=c.isArrayOrTypedArray,l.isArray1D=c.isArray1D,l.ensureArray=c.ensureArray,l.concat=c.concat,l.maxRowLength=c.maxRowLength,l.minRowLength=c.minRowLength;var u=t(\"./mod\");l.mod=u.mod,l.modHalf=u.modHalf;var h=t(\"./coerce\");l.valObjectMeta=h.valObjectMeta,l.coerce=h.coerce,l.coerce2=h.coerce2,l.coerceFont=h.coerceFont,l.coerceHoverinfo=h.coerceHoverinfo,l.coerceSelectionMarkerOpacity=h.coerceSelectionMarkerOpacity,l.validate=h.validate;var f=t(\"./dates\");l.dateTime2ms=f.dateTime2ms,l.isDateTime=f.isDateTime,l.ms2DateTime=f.ms2DateTime,l.ms2DateTimeLocal=f.ms2DateTimeLocal,l.cleanDate=f.cleanDate,l.isJSDate=f.isJSDate,l.formatDate=f.formatDate,l.incrementMonth=f.incrementMonth,l.dateTick0=f.dateTick0,l.dfltRange=f.dfltRange,l.findExactDates=f.findExactDates,l.MIN_MS=f.MIN_MS,l.MAX_MS=f.MAX_MS;var p=t(\"./search\");l.findBin=p.findBin,l.sorterAsc=p.sorterAsc,l.sorterDes=p.sorterDes,l.distinctVals=p.distinctVals,l.roundUp=p.roundUp,l.sort=p.sort,l.findIndexOfMin=p.findIndexOfMin;var d=t(\"./stats\");l.aggNums=d.aggNums,l.len=d.len,l.mean=d.mean,l.median=d.median,l.midRange=d.midRange,l.variance=d.variance,l.stdev=d.stdev,l.interp=d.interp;var g=t(\"./matrix\");l.init2dArray=g.init2dArray,l.transposeRagged=g.transposeRagged,l.dot=g.dot,l.translationMatrix=g.translationMatrix,l.rotationMatrix=g.rotationMatrix,l.rotationXYMatrix=g.rotationXYMatrix,l.apply2DTransform=g.apply2DTransform,l.apply2DTransform2=g.apply2DTransform2;var m=t(\"./angles\");l.deg2rad=m.deg2rad,l.rad2deg=m.rad2deg,l.angleDelta=m.angleDelta,l.angleDist=m.angleDist,l.isFullCircle=m.isFullCircle,l.isAngleInsideSector=m.isAngleInsideSector,l.isPtInsideSector=m.isPtInsideSector,l.pathArc=m.pathArc,l.pathSector=m.pathSector,l.pathAnnulus=m.pathAnnulus;var v=t(\"./anchor_utils\");l.isLeftAnchor=v.isLeftAnchor,l.isCenterAnchor=v.isCenterAnchor,l.isRightAnchor=v.isRightAnchor,l.isTopAnchor=v.isTopAnchor,l.isMiddleAnchor=v.isMiddleAnchor,l.isBottomAnchor=v.isBottomAnchor;var y=t(\"./geometry2d\");l.segmentsIntersect=y.segmentsIntersect,l.segmentDistance=y.segmentDistance,l.getTextLocation=y.getTextLocation,l.clearLocationCache=y.clearLocationCache,l.getVisibleSegment=y.getVisibleSegment,l.findPointOnPath=y.findPointOnPath;var x=t(\"./extend\");l.extendFlat=x.extendFlat,l.extendDeep=x.extendDeep,l.extendDeepAll=x.extendDeepAll,l.extendDeepNoArrays=x.extendDeepNoArrays;var b=t(\"./loggers\");l.log=b.log,l.warn=b.warn,l.error=b.error;var _=t(\"./regex\");l.counterRegex=_.counter;var w=t(\"./throttle\");l.throttle=w.throttle,l.throttleDone=w.done,l.clearThrottle=w.clear;var T=t(\"./dom\");function k(t){var e={};for(var r in t)for(var n=t[r],a=0;a<n.length;a++)e[n[a]]=+r;return e}l.getGraphDiv=T.getGraphDiv,l.isPlotDiv=T.isPlotDiv,l.removeElement=T.removeElement,l.addStyleRule=T.addStyleRule,l.addRelatedStyleRule=T.addRelatedStyleRule,l.deleteRelatedStyleRule=T.deleteRelatedStyleRule,l.clearResponsive=t(\"./clear_responsive\"),l.makeTraceGroups=t(\"./make_trace_groups\"),l._=t(\"./localize\"),l.notifier=t(\"./notifier\"),l.filterUnique=t(\"./filter_unique\"),l.filterVisible=t(\"./filter_visible\"),l.pushUnique=t(\"./push_unique\"),l.cleanNumber=t(\"./clean_number\"),l.ensureNumber=function(t){return a(t)?(t=Number(t))<-o||t>o?s:a(t)?Number(t):s:s},l.isIndex=function(t,e){return!(void 0!==e&&t>=e)&&(a(t)&&t>=0&&t%1==0)},l.noop=t(\"./noop\"),l.identity=t(\"./identity\"),l.repeat=function(t,e){for(var r=new Array(e),n=0;n<e;n++)r[n]=t;return r},l.swapAttrs=function(t,e,r,n){r||(r=\"x\"),n||(n=\"y\");for(var a=0;a<e.length;a++){var i=e[a],o=l.nestedProperty(t,i.replace(\"?\",r)),s=l.nestedProperty(t,i.replace(\"?\",n)),c=o.get();o.set(s.get()),s.set(c)}},l.raiseToTop=function(t){t.parentNode.appendChild(t)},l.cancelTransition=function(t){return t.transition().duration(0)},l.constrain=function(t,e,r){return e>r?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},l.bBoxIntersect=function(t,e,r){return r=r||0,t.left<=e.right+r&&e.left<=t.right+r&&t.top<=e.bottom+r&&e.top<=t.bottom+r},l.simpleMap=function(t,e,r,n,a){for(var i=t.length,o=new Array(i),s=0;s<i;s++)o[s]=e(t[s],r,n,a);return o},l.randstr=function t(e,r,n,a){if(n||(n=16),void 0===r&&(r=24),r<=0)return\"0\";var i,o,s=Math.log(Math.pow(2,r))/Math.log(n),c=\"\";for(i=2;s===1/0;i*=2)s=Math.log(Math.pow(2,r/i))/Math.log(n)*i;var u=s-Math.floor(s);for(i=0;i<Math.floor(s);i++)c=Math.floor(Math.random()*n).toString(n)+c;u&&(o=Math.pow(n,u),c=Math.floor(Math.random()*o).toString(n)+c);var h=parseInt(c,n);return e&&e[c]||h!==1/0&&h>=Math.pow(2,r)?a>10?(l.warn(\"randstr failed uniqueness\"),c):t(e,r,n,(a||0)+1):c},l.OptionControl=function(t,e){t||(t={}),e||(e=\"opt\");var r={optionList:[],_newoption:function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)}};return r[\"_\"+e]=t,r},l.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,a,i,o=t.length,s=2*o,l=2*e-1,c=new Array(l),u=new Array(o);for(r=0;r<l;r++)c[r]=(1-Math.cos(Math.PI*(r+1)/e))/(2*e);for(r=0;r<o;r++){for(i=0,n=0;n<l;n++)(a=r+n+1-e)<-o?a-=s*Math.round(a/s):a>=s&&(a-=s*Math.floor(a/s)),a<0?a=-1-a:a>=o&&(a=s-1-a),i+=t[a]*c[n];u[r]=i}return u},l.syncOrAsync=function(t,e,r){var n;function a(){return l.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(a).then(void 0,l.promiseError);return r&&r(e)},l.stripTrailingSlash=function(t){return\"/\"===t.substr(-1)?t.substr(0,t.length-1):t},l.noneOrAll=function(t,e,r){if(t){var n,a=!1,i=!0;for(n=0;n<r.length;n++)null!=t[r[n]]?a=!0:i=!1;if(a&&!i)for(n=0;n<r.length;n++)t[r[n]]=e[r[n]]}},l.mergeArray=function(t,e,r,n){var a=\"function\"==typeof n;if(l.isArrayOrTypedArray(t))for(var i=Math.min(t.length,e.length),o=0;o<i;o++){var s=t[o];e[o][r]=a?n(s):s}},l.mergeArrayCastPositive=function(t,e,r){return l.mergeArray(t,e,r,(function(t){var e=+t;return isFinite(e)&&e>0?e:0}))},l.fillArray=function(t,e,r,n){if(n=n||l.identity,l.isArrayOrTypedArray(t))for(var a=0;a<e.length;a++)e[a][r]=n(t[a])},l.castOption=function(t,e,r,n){n=n||l.identity;var a=l.nestedProperty(t,r).get();return l.isArrayOrTypedArray(a)?Array.isArray(e)&&l.isArrayOrTypedArray(a[e[0]])?n(a[e[0]][e[1]]):n(a[e]):a},l.extractOption=function(t,e,r,n){if(r in t)return t[r];var a=l.nestedProperty(e,n).get();return Array.isArray(a)?void 0:a},l.tagSelected=function(t,e,r){var n,a,i=e.selectedpoints,o=e._indexToPoints;o&&(n=k(o));for(var s=0;s<i.length;s++){var c=i[s];if(l.isIndex(c)||l.isArrayOrTypedArray(c)&&l.isIndex(c[0])&&l.isIndex(c[1])){var u=n?n[c]:c,h=r?r[u]:u;void 0!==(a=h)&&a<t.length&&(t[h].selected=1)}}},l.selIndices2selPoints=function(t){var e=t.selectedpoints,r=t._indexToPoints;if(r){for(var n=k(r),a=[],i=0;i<e.length;i++){var o=e[i];if(l.isIndex(o)){var s=n[o];l.isIndex(s)&&a.push(s)}}return a}return e},l.getTargetArray=function(t,e){var r=e.target;if(\"string\"==typeof r&&r){var n=l.nestedProperty(t,r).get();return!!Array.isArray(n)&&n}return!!Array.isArray(r)&&r},l.minExtend=function(t,e){var r={};\"object\"!=typeof e&&(e={});var n,a,i,o=Object.keys(t);for(n=0;n<o.length;n++)i=t[a=o[n]],\"_\"!==a.charAt(0)&&\"function\"!=typeof i&&(\"module\"===a?r[a]=i:Array.isArray(i)?r[a]=\"colorscale\"===a?i.slice():i.slice(0,3):l.isTypedArray(i)?r[a]=i.subarray(0,3):r[a]=i&&\"object\"==typeof i?l.minExtend(t[a],e[a]):i);for(o=Object.keys(e),n=0;n<o.length;n++)\"object\"==typeof(i=e[a=o[n]])&&a in r&&\"object\"==typeof r[a]||(r[a]=i);return r},l.titleCase=function(t){return t.charAt(0).toUpperCase()+t.substr(1)},l.containsAny=function(t,e){for(var r=0;r<e.length;r++)if(-1!==t.indexOf(e[r]))return!0;return!1},l.isIE=function(){return\"undefined\"!=typeof window.navigator.msSaveBlob};var A=/MSIE [1-9]\\./;l.isIE9orBelow=function(){return l.isIE()&&A.test(window.navigator.userAgent)};var M=/Version\\/[\\d\\.]+.*Safari/;l.isSafari=function(){return M.test(window.navigator.userAgent)},l.isD3Selection=function(t){return t&&\"function\"==typeof t.classed},l.ensureSingle=function(t,e,r,n){var a=t.select(e+(r?\".\"+r:\"\"));if(a.size())return a;var i=t.append(e);return r&&i.classed(r,!0),n&&i.call(n),i},l.ensureSingleById=function(t,e,r,n){var a=t.select(e+\"#\"+r);if(a.size())return a;var i=t.append(e).attr(\"id\",r);return n&&i.call(n),i},l.objectFromPath=function(t,e){for(var r,n=t.split(\".\"),a=r={},i=0;i<n.length;i++){var o=n[i],s=null,l=n[i].match(/(.*)\\[([0-9]+)\\]/);l?(o=l[1],s=l[2],r=r[o]=[],i===n.length-1?r[s]=e:r[s]={},r=r[s]):(i===n.length-1?r[o]=e:r[o]={},r=r[o])}return a};var S=/^([^\\[\\.]+)\\.(.+)?/,E=/^([^\\.]+)\\[([0-9]+)\\](\\.)?(.+)?/;l.expandObjectPaths=function(t){var e,r,n,a,i,o,s;if(\"object\"==typeof t&&!Array.isArray(t))for(r in t)t.hasOwnProperty(r)&&((e=r.match(S))?(a=t[r],n=e[1],delete t[r],t[n]=l.extendDeepNoArrays(t[n]||{},l.objectFromPath(r,l.expandObjectPaths(a))[n])):(e=r.match(E))?(a=t[r],n=e[1],i=parseInt(e[2]),delete t[r],t[n]=t[n]||[],\".\"===e[3]?(s=e[4],o=t[n][i]=t[n][i]||{},l.extendDeepNoArrays(o,l.objectFromPath(s,l.expandObjectPaths(a)))):t[n][i]=l.expandObjectPaths(a)):t[r]=l.expandObjectPaths(t[r]));return t},l.numSeparate=function(t,e,r){if(r||(r=!1),\"string\"!=typeof e||0===e.length)throw new Error(\"Separator string required for formatting!\");\"number\"==typeof t&&(t=String(t));var n=/(\\d+)(\\d{3})/,a=e.charAt(0),i=e.charAt(1),o=t.split(\".\"),s=o[0],l=o.length>1?a+o[1]:\"\";if(i&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,\"$1\"+i+\"$2\");return s+l},l.TEMPLATE_STRING_REGEX=/%{([^\\s%{}:]*)([:|\\|][^}]*)?}/g;var C=/^\\w*$/;l.templateString=function(t,e){var r={};return t.replace(l.TEMPLATE_STRING_REGEX,(function(t,n){var a;return C.test(n)?a=e[n]:(r[n]=r[n]||l.nestedProperty(e,n).get,a=r[n]()),l.isValidTextValue(a)?a:\"\"}))};var L={max:10,count:0,name:\"hovertemplate\"};l.hovertemplateString=function(){return z.apply(L,arguments)};var P={max:10,count:0,name:\"texttemplate\"};l.texttemplateString=function(){return z.apply(P,arguments)};var I=/^[:|\\|]/;function z(t,e,r){var a=this,i=arguments;e||(e={});var o={};return t.replace(l.TEMPLATE_STRING_REGEX,(function(t,s,c){var u,h,f,p;for(f=3;f<i.length;f++)if(u=i[f]){if(u.hasOwnProperty(s)){h=u[s];break}if(C.test(s)||(h=o[s]||l.nestedProperty(u,s).get())&&(o[s]=h),void 0!==h)break}if(void 0===h&&a)return a.count<a.max&&(l.warn(\"Variable '\"+s+\"' in \"+a.name+\" could not be found!\"),h=t),a.count===a.max&&l.warn(\"Too many \"+a.name+\" warnings - additional warnings will be suppressed\"),a.count++,t;if(c){if(\":\"===c[0]&&(h=(p=r?r.numberFormat:n.format)(c.replace(I,\"\"))(h)),\"|\"===c[0]){p=r?r.timeFormat.utc:n.time.format.utc;var d=l.dateTime2ms(h);h=l.formatDate(d,c.replace(I,\"\"),!1,p)}}else e.hasOwnProperty(s+\"Label\")&&(h=e[s+\"Label\"]);return h}))}l.subplotSort=function(t,e){for(var r=Math.min(t.length,e.length)+1,n=0,a=0,i=0;i<r;i++){var o=t.charCodeAt(i)||0,s=e.charCodeAt(i)||0,l=o>=48&&o<=57,c=s>=48&&s<=57;if(l&&(n=10*n+o-48),c&&(a=10*a+s-48),!l||!c){if(n!==a)return n-a;if(o!==s)return o-s}}return a-n};var O=2e9;l.seedPseudoRandom=function(){O=2e9},l.pseudoRandom=function(){var t=O;return O=(69069*O+1)%4294967296,Math.abs(O-t)<429496729?l.pseudoRandom():O/4294967296},l.fillText=function(t,e,r){var n=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},a=l.extractOption(t,e,\"htx\",\"hovertext\");if(l.isValidTextValue(a))return n(a);var i=l.extractOption(t,e,\"tx\",\"text\");return l.isValidTextValue(i)?n(i):void 0},l.isValidTextValue=function(t){return t||0===t},l.formatPercent=function(t,e){e=e||0;for(var r=(Math.round(100*t*Math.pow(10,e))*Math.pow(.1,e)).toFixed(e)+\"%\",n=0;n<e;n++)-1!==r.indexOf(\".\")&&(r=(r=r.replace(\"0%\",\"%\")).replace(\".%\",\"%\"));return r},l.isHidden=function(t){var e=window.getComputedStyle(t).display;return!e||\"none\"===e},l.getTextTransform=function(t){var e=t.noCenter,r=t.textX,n=t.textY,a=t.targetX,i=t.targetY,o=t.anchorX||0,s=t.anchorY||0,l=t.rotate,c=t.scale;return c?c>1&&(c=1):c=0,\"translate(\"+(a-c*(r+o))+\",\"+(i-c*(n+s))+\")\"+(c<1?\"scale(\"+c+\")\":\"\")+(l?\"rotate(\"+l+(e?\"\":\" \"+r+\" \"+n)+\")\":\"\")},l.ensureUniformFontSize=function(t,e){var r=l.extendFlat({},e);return r.size=Math.max(e.size,t._fullLayout.uniformtext.minsize||0),r}},{\"../constants/numerical\":704,\"./anchor_utils\":709,\"./angles\":710,\"./array\":711,\"./clean_number\":712,\"./clear_responsive\":714,\"./coerce\":715,\"./dates\":716,\"./dom\":717,\"./extend\":719,\"./filter_unique\":720,\"./filter_visible\":721,\"./geometry2d\":724,\"./identity\":727,\"./is_plain_object\":729,\"./keyed_container\":730,\"./localize\":731,\"./loggers\":732,\"./make_trace_groups\":733,\"./matrix\":734,\"./mod\":735,\"./nested_property\":736,\"./noop\":737,\"./notifier\":738,\"./push_unique\":742,\"./regex\":744,\"./relative_attr\":745,\"./relink_private\":746,\"./search\":747,\"./stats\":750,\"./throttle\":753,\"./to_log_range\":754,d3:164,\"fast-isnumeric\":236}],729:[function(t,e,r){\"use strict\";e.exports=function(t){return window&&window.process&&window.process.versions?\"[object Object]\"===Object.prototype.toString.call(t):\"[object Object]\"===Object.prototype.toString.call(t)&&Object.getPrototypeOf(t)===Object.prototype}},{}],730:[function(t,e,r){\"use strict\";var n=t(\"./nested_property\"),a=/^\\w*$/;e.exports=function(t,e,r,i){var o,s,l;r=r||\"name\",i=i||\"value\";var c={};e&&e.length?(l=n(t,e),s=l.get()):s=t,e=e||\"\";var u={};if(s)for(o=0;o<s.length;o++)u[s[o][r]]=o;var h=a.test(i),f={set:function(t,e){var a=null===e?4:0;if(!s){if(!l||4===a)return;s=[],l.set(s)}var o=u[t];if(void 0===o){if(4===a)return;a|=3,o=s.length,u[t]=o}else e!==(h?s[o][i]:n(s[o],i).get())&&(a|=2);var p=s[o]=s[o]||{};return p[r]=t,h?p[i]=e:n(p,i).set(e),null!==e&&(a&=-5),c[o]=c[o]|a,f},get:function(t){if(s){var e=u[t];return void 0===e?void 0:h?s[e][i]:n(s[e],i).get()}},rename:function(t,e){var n=u[t];return void 0===n||(c[n]=1|c[n],u[e]=n,delete u[t],s[n][r]=e),f},remove:function(t){var e=u[t];if(void 0===e)return f;var a=s[e];if(Object.keys(a).length>2)return c[e]=2|c[e],f.set(t,null);if(h){for(o=e;o<s.length;o++)c[o]=3|c[o];for(o=e;o<s.length;o++)u[s[o][r]]--;s.splice(e,1),delete u[t]}else n(a,i).set(null),c[e]=6|c[e];return f},constructUpdate:function(){for(var t,a,o={},l=Object.keys(c),u=0;u<l.length;u++)a=l[u],t=e+\"[\"+a+\"]\",s[a]?(1&c[a]&&(o[t+\".\"+r]=s[a][r]),2&c[a]&&(o[t+\".\"+i]=h?4&c[a]?null:s[a][i]:4&c[a]?null:n(s[a],i).get())):o[t]=null;return o}};return f}},{\"./nested_property\":736}],731:[function(t,e,r){\"use strict\";var n=t(\"../registry\");e.exports=function(t,e){for(var r=t._context.locale,a=0;a<2;a++){for(var i=t._context.locales,o=0;o<2;o++){var s=(i[r]||{}).dictionary;if(s){var l=s[e];if(l)return l}i=n.localeRegistry}var c=r.split(\"-\")[0];if(c===r)break;r=c}return e}},{\"../registry\":859}],732:[function(t,e,r){\"use strict\";var n=t(\"../plot_api/plot_config\").dfltConfig,a=t(\"./notifier\"),i=e.exports={};function o(t,e){if(t&&t.apply)try{return void t.apply(console,e)}catch(t){}for(var r=0;r<e.length;r++)try{t(e[r])}catch(t){console.log(e[r])}}i.log=function(){var t;if(n.logging>1){var e=[\"LOG:\"];for(t=0;t<arguments.length;t++)e.push(arguments[t]);o(console.trace||console.log,e)}if(n.notifyOnLogging>1){var r=[];for(t=0;t<arguments.length;t++)r.push(arguments[t]);a(r.join(\"<br>\"),\"long\")}},i.warn=function(){var t;if(n.logging>0){var e=[\"WARN:\"];for(t=0;t<arguments.length;t++)e.push(arguments[t]);o(console.trace||console.log,e)}if(n.notifyOnLogging>0){var r=[];for(t=0;t<arguments.length;t++)r.push(arguments[t]);a(r.join(\"<br>\"),\"stick\")}},i.error=function(){var t;if(n.logging>0){var e=[\"ERROR:\"];for(t=0;t<arguments.length;t++)e.push(arguments[t]);o(console.error,e)}if(n.notifyOnLogging>0){var r=[];for(t=0;t<arguments.length;t++)r.push(arguments[t]);a(r.join(\"<br>\"),\"stick\")}}},{\"../plot_api/plot_config\":764,\"./notifier\":738}],733:[function(t,e,r){\"use strict\";var n=t(\"d3\");e.exports=function(t,e,r){var a=t.selectAll(\"g.\"+r.replace(/\\s/g,\".\")).data(e,(function(t){return t[0].trace.uid}));a.exit().remove(),a.enter().append(\"g\").attr(\"class\",r),a.order();var i=t.classed(\"rangeplot\")?\"nodeRangePlot3\":\"node3\";return a.each((function(t){t[0][i]=n.select(this)})),a}},{d3:164}],734:[function(t,e,r){\"use strict\";r.init2dArray=function(t,e){for(var r=new Array(t),n=0;n<t;n++)r[n]=new Array(e);return r},r.transposeRagged=function(t){var e,r,n=0,a=t.length;for(e=0;e<a;e++)n=Math.max(n,t[e].length);var i=new Array(n);for(e=0;e<n;e++)for(i[e]=new Array(a),r=0;r<a;r++)i[e][r]=t[r][e];return i},r.dot=function(t,e){if(!t.length||!e.length||t.length!==e.length)return null;var n,a,i=t.length;if(t[0].length)for(n=new Array(i),a=0;a<i;a++)n[a]=r.dot(t[a],e);else if(e[0].length){var o=r.transposeRagged(e);for(n=new Array(o.length),a=0;a<o.length;a++)n[a]=r.dot(t,o[a])}else for(n=0,a=0;a<i;a++)n+=t[a]*e[a];return n},r.translationMatrix=function(t,e){return[[1,0,t],[0,1,e],[0,0,1]]},r.rotationMatrix=function(t){var e=t*Math.PI/180;return[[Math.cos(e),-Math.sin(e),0],[Math.sin(e),Math.cos(e),0],[0,0,1]]},r.rotationXYMatrix=function(t,e,n){return r.dot(r.dot(r.translationMatrix(e,n),r.rotationMatrix(t)),r.translationMatrix(-e,-n))},r.apply2DTransform=function(t){return function(){var e=arguments;3===e.length&&(e=e[0]);var n=1===arguments.length?e[0]:[e[0],e[1]];return r.dot(t,[n[0],n[1],1]).slice(0,2)}},r.apply2DTransform2=function(t){var e=r.apply2DTransform(t);return function(t){return e(t.slice(0,2)).concat(e(t.slice(2,4)))}}},{}],735:[function(t,e,r){\"use strict\";e.exports={mod:function(t,e){var r=t%e;return r<0?r+e:r},modHalf:function(t,e){return Math.abs(t)>e/2?t-Math.round(t/e)*e:t}}},{}],736:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"./array\").isArrayOrTypedArray;function i(t,e){return function(){var r,n,o,s,l,c=t;for(s=0;s<e.length-1;s++){if(-1===(r=e[s])){for(n=!0,o=[],l=0;l<c.length;l++)o[l]=i(c[l],e.slice(s+1))(),o[l]!==o[0]&&(n=!1);return n?o[0]:o}if(\"number\"==typeof r&&!a(c))return;if(\"object\"!=typeof(c=c[r])||null===c)return}if(\"object\"==typeof c&&null!==c&&null!==(o=c[e[s]]))return o}}e.exports=function(t,e){if(n(e))e=String(e);else if(\"string\"!=typeof e||\"[-1]\"===e.substr(e.length-4))throw\"bad property string\";for(var r,a,o,s=0,c=e.split(\".\");s<c.length;){if(r=String(c[s]).match(/^([^\\[\\]]*)((\\[\\-?[0-9]*\\])+)$/)){if(r[1])c[s]=r[1];else{if(0!==s)throw\"bad property string\";c.splice(0,1)}for(a=r[2].substr(1,r[2].length-2).split(\"][\"),o=0;o<a.length;o++)s++,c.splice(s,0,Number(a[o]))}s++}return\"object\"!=typeof t?function(t,e,r){return{set:function(){throw\"bad container\"},get:function(){},astr:e,parts:r,obj:t}}(t,e,c):{set:l(t,c,e),get:i(t,c),astr:e,parts:c,obj:t}};var o=/(^|\\.)args\\[/;function s(t,e){return void 0===t||null===t&&!e.match(o)}function l(t,e,r){return function(n){var i,o,l=t,f=\"\",p=[[t,f]],d=s(n,r);for(o=0;o<e.length-1;o++){if(\"number\"==typeof(i=e[o])&&!a(l))throw\"array index but container is not an array\";if(-1===i){if(d=!u(l,e.slice(o+1),n,r))break;return}if(!h(l,i,e[o+1],d))break;if(\"object\"!=typeof(l=l[i])||null===l)throw\"container is not an object\";f=c(f,i),p.push([l,f])}if(d){if(o===e.length-1&&(delete l[e[o]],Array.isArray(l)&&+e[o]==l.length-1))for(;l.length&&void 0===l[l.length-1];)l.pop()}else l[e[o]]=n}}function c(t,e){var r=e;return n(e)?r=\"[\"+e+\"]\":t&&(r=\".\"+e),t+r}function u(t,e,r,n){var i,o=a(r),c=!0,u=r,f=n.replace(\"-1\",0),p=!o&&s(r,f),d=e[0];for(i=0;i<t.length;i++)f=n.replace(\"-1\",i),o&&(p=s(u=r[i%r.length],f)),p&&(c=!1),h(t,i,d,p)&&l(t[i],e,n.replace(\"-1\",i))(u);return c}function h(t,e,r,n){if(void 0===t[e]){if(n)return!1;t[e]=\"number\"==typeof r?[]:{}}return!0}},{\"./array\":711,\"fast-isnumeric\":236}],737:[function(t,e,r){\"use strict\";e.exports=function(){}},{}],738:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"fast-isnumeric\"),i=[];e.exports=function(t,e){if(-1===i.indexOf(t)){i.push(t);var r=1e3;a(e)?r=e:\"long\"===e&&(r=3e3);var o=n.select(\"body\").selectAll(\".plotly-notifier\").data([0]);o.enter().append(\"div\").classed(\"plotly-notifier\",!0),o.selectAll(\".notifier-note\").data(i).enter().append(\"div\").classed(\"notifier-note\",!0).style(\"opacity\",0).each((function(t){var a=n.select(this);a.append(\"button\").classed(\"notifier-close\",!0).html(\"&times;\").on(\"click\",(function(){a.transition().call(s)}));for(var i=a.append(\"p\"),o=t.split(/<br\\s*\\/?>/g),l=0;l<o.length;l++)l&&i.append(\"br\"),i.append(\"span\").text(o[l]);\"stick\"===e?a.transition().duration(350).style(\"opacity\",1):a.transition().duration(700).style(\"opacity\",1).transition().delay(r).call(s)}))}function s(t){t.duration(700).style(\"opacity\",0).each(\"end\",(function(t){var e=i.indexOf(t);-1!==e&&i.splice(e,1),n.select(this).remove()}))}}},{d3:164,\"fast-isnumeric\":236}],739:[function(t,e,r){\"use strict\";var n=t(\"./setcursor\"),a=\"data-savedcursor\";e.exports=function(t,e){var r=t.attr(a);if(e){if(!r){for(var i=(t.attr(\"class\")||\"\").split(\" \"),o=0;o<i.length;o++){var s=i[o];0===s.indexOf(\"cursor-\")&&t.attr(a,s.substr(7)).classed(s,!1)}t.attr(a)||t.attr(a,\"!!\")}n(t,e)}else r&&(t.attr(a,null),\"!!\"===r?n(t):n(t,r))}},{\"./setcursor\":748}],740:[function(t,e,r){\"use strict\";var n=t(\"./matrix\").dot,a=t(\"../constants/numerical\").BADNUM,i=e.exports={};i.tester=function(t){var e,r=t.slice(),n=r[0][0],i=n,o=r[0][1],s=o;for(r.push(r[0]),e=1;e<r.length;e++)n=Math.min(n,r[e][0]),i=Math.max(i,r[e][0]),o=Math.min(o,r[e][1]),s=Math.max(s,r[e][1]);var l,c=!1;5===r.length&&(r[0][0]===r[1][0]?r[2][0]===r[3][0]&&r[0][1]===r[3][1]&&r[1][1]===r[2][1]&&(c=!0,l=function(t){return t[0]===r[0][0]}):r[0][1]===r[1][1]&&r[2][1]===r[3][1]&&r[0][0]===r[3][0]&&r[1][0]===r[2][0]&&(c=!0,l=function(t){return t[1]===r[0][1]}));var u=!0,h=r[0];for(e=1;e<r.length;e++)if(h[0]!==r[e][0]||h[1]!==r[e][1]){u=!1;break}return{xmin:n,xmax:i,ymin:o,ymax:s,pts:r,contains:c?function(t,e){var r=t[0],c=t[1];return!(r===a||r<n||r>i||c===a||c<o||c>s)&&(!e||!l(t))}:function(t,e){var l=t[0],c=t[1];if(l===a||l<n||l>i||c===a||c<o||c>s)return!1;var u,h,f,p,d,g=r.length,m=r[0][0],v=r[0][1],y=0;for(u=1;u<g;u++)if(h=m,f=v,m=r[u][0],v=r[u][1],!(l<(p=Math.min(h,m))||l>Math.max(h,m)||c>Math.max(f,v)))if(c<Math.min(f,v))l!==p&&y++;else{if(c===(d=m===h?c:f+(l-h)*(v-f)/(m-h)))return 1!==u||!e;c<=d&&l!==p&&y++}return y%2==1},isRect:c,degenerate:u}},i.isSegmentBent=function(t,e,r,a){var i,o,s,l=t[e],c=[t[r][0]-l[0],t[r][1]-l[1]],u=n(c,c),h=Math.sqrt(u),f=[-c[1]/h,c[0]/h];for(i=e+1;i<r;i++)if(o=[t[i][0]-l[0],t[i][1]-l[1]],(s=n(o,c))<0||s>u||Math.abs(n(o,f))>a)return!0;return!1},i.filter=function(t,e){var r=[t[0]],n=0,a=0;function o(o){t.push(o);var s=r.length,l=n;r.splice(a+1);for(var c=l+1;c<t.length;c++)(c===t.length-1||i.isSegmentBent(t,l,c+1,e))&&(r.push(t[c]),r.length<s-2&&(n=c,a=r.length-1),l=c)}t.length>1&&o(t.pop());return{addPt:o,raw:t,filtered:r}}},{\"../constants/numerical\":704,\"./matrix\":734}],741:[function(t,e,r){(function(r){\"use strict\";var n=t(\"./show_no_webgl_msg\"),a=t(\"regl\");e.exports=function(t,e){var i=t._fullLayout,o=!0;return i._glcanvas.each((function(n){if(!n.regl&&(!n.pick||i._has(\"parcoords\"))){try{n.regl=a({canvas:this,attributes:{antialias:!n.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||r.devicePixelRatio,extensions:e||[]})}catch(t){o=!1}n.regl||(o=!1),o&&this.addEventListener(\"webglcontextlost\",(function(e){t&&t.emit&&t.emit(\"plotly_webglcontextlost\",{event:e,layer:n.key})}),!1)}})),o||n({container:i._glcontainer.node()}),o}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"./show_no_webgl_msg\":749,regl:492}],742:[function(t,e,r){\"use strict\";e.exports=function(t,e){if(e instanceof RegExp){for(var r=e.toString(),n=0;n<t.length;n++)if(t[n]instanceof RegExp&&t[n].toString()===r)return t;t.push(e)}else!e&&0!==e||-1!==t.indexOf(e)||t.push(e);return t}},{}],743:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),a=t(\"../plot_api/plot_config\").dfltConfig;var i={add:function(t,e,r,n,i){var o,s;t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},s=t.undoQueue.index,t.autoplay?t.undoQueue.inSequence||(t.autoplay=!1):(!t.undoQueue.sequence||t.undoQueue.beginSequence?(o={undo:{calls:[],args:[]},redo:{calls:[],args:[]}},t.undoQueue.queue.splice(s,t.undoQueue.queue.length-s,o),t.undoQueue.index+=1):o=t.undoQueue.queue[s-1],t.undoQueue.beginSequence=!1,o&&(o.undo.calls.unshift(e),o.undo.args.unshift(r),o.redo.calls.push(n),o.redo.args.push(i)),t.undoQueue.queue.length>a.queueLength&&(t.undoQueue.queue.shift(),t.undoQueue.index--))},startSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},stopSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},undo:function(t){var e,r;if(t.framework&&t.framework.isPolar)t.framework.undo();else if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r<e.undo.calls.length;r++)i.plotDo(t,e.undo.calls[r],e.undo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1}},redo:function(t){var e,r;if(t.framework&&t.framework.isPolar)t.framework.redo();else if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index>=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r<e.redo.calls.length;r++)i.plotDo(t,e.redo.calls[r],e.redo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1,t.undoQueue.index++}}};i.plotDo=function(t,e,r){t.autoplay=!0,r=function(t,e){for(var r,a=[],i=0;i<e.length;i++)r=e[i],a[i]=r===t?r:\"object\"==typeof r?Array.isArray(r)?n.extendDeep([],r):n.extendDeepAll({},r):r;return a}(t,r),e.apply(null,r)},e.exports=i},{\"../lib\":728,\"../plot_api/plot_config\":764}],744:[function(t,e,r){\"use strict\";r.counter=function(t,e,r,n){var a=(e||\"\")+(r?\"\":\"$\"),i=!1===n?\"\":\"^\";return\"xy\"===t?new RegExp(i+\"x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?\"+a):new RegExp(i+t+\"([2-9]|[1-9][0-9]+)?\"+a)}},{}],745:[function(t,e,r){\"use strict\";var n=/^(.*)(\\.[^\\.\\[\\]]+|\\[\\d\\])$/,a=/^[^\\.\\[\\]]+$/;e.exports=function(t,e){for(;e;){var r=t.match(n);if(r)t=r[1];else{if(!t.match(a))throw new Error(\"bad relativeAttr call:\"+[t,e]);t=\"\"}if(\"^\"!==e.charAt(0))break;e=e.slice(1)}return t&&\"[\"!==e.charAt(0)?t+\".\"+e:t+e}},{}],746:[function(t,e,r){\"use strict\";var n=t(\"./array\").isArrayOrTypedArray,a=t(\"./is_plain_object\");e.exports=function t(e,r){for(var i in r){var o=r[i],s=e[i];if(s!==o)if(\"_\"===i.charAt(0)||\"function\"==typeof o){if(i in e)continue;e[i]=o}else if(n(o)&&n(s)&&a(o[0])){if(\"customdata\"===i||\"ids\"===i)continue;for(var l=Math.min(o.length,s.length),c=0;c<l;c++)s[c]!==o[c]&&a(o[c])&&a(s[c])&&t(s[c],o[c])}else a(o)&&a(s)&&(t(s,o),Object.keys(s).length||delete e[i])}}},{\"./array\":711,\"./is_plain_object\":729}],747:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"./loggers\"),i=t(\"./identity\"),o=t(\"../constants/numerical\").BADNUM;function s(t,e){return t<e}function l(t,e){return t<=e}function c(t,e){return t>e}function u(t,e){return t>=e}r.findBin=function(t,e,r){if(n(e.start))return r?Math.ceil((t-e.start)/e.size-1e-9)-1:Math.floor((t-e.start)/e.size+1e-9);var i,o,h=0,f=e.length,p=0,d=f>1?(e[f-1]-e[0])/(f-1):1;for(o=d>=0?r?s:l:r?u:c,t+=1e-9*d*(r?-1:1)*(d>=0?1:-1);h<f&&p++<100;)o(e[i=Math.floor((h+f)/2)],t)?h=i+1:f=i;return p>90&&a.log(\"Long binary search...\"),h-1},r.sorterAsc=function(t,e){return t-e},r.sorterDes=function(t,e){return e-t},r.distinctVals=function(t){var e,n=t.slice();for(n.sort(r.sorterAsc),e=n.length-1;e>-1&&n[e]===o;e--);for(var a,i=n[e]-n[0]||1,s=i/(e||1)/1e4,l=[],c=0;c<=e;c++){var u=n[c],h=u-a;void 0===a?(l.push(u),a=u):h>s&&(i=Math.min(i,h),l.push(u),a=u)}return{vals:l,minDiff:i}},r.roundUp=function(t,e,r){for(var n,a=0,i=e.length-1,o=0,s=r?0:1,l=r?1:0,c=r?Math.ceil:Math.floor;a<i&&o++<100;)e[n=c((a+i)/2)]<=t?a=n+s:i=n-l;return e[a]},r.sort=function(t,e){for(var r=0,n=0,a=1;a<t.length;a++){var i=e(t[a],t[a-1]);if(i<0?r=1:i>0&&(n=1),r&&n)return t.sort(e)}return n?t:t.reverse()},r.findIndexOfMin=function(t,e){e=e||i;for(var r,n=1/0,a=0;a<t.length;a++){var o=e(t[a]);o<n&&(n=o,r=a)}return r}},{\"../constants/numerical\":704,\"./identity\":727,\"./loggers\":732,\"fast-isnumeric\":236}],748:[function(t,e,r){\"use strict\";e.exports=function(t,e){(t.attr(\"class\")||\"\").split(\" \").forEach((function(e){0===e.indexOf(\"cursor-\")&&t.classed(e,!1)})),e&&t.classed(\"cursor-\"+e,!0)}},{}],749:[function(t,e,r){\"use strict\";var n=t(\"../components/color\"),a=function(){};e.exports=function(t){for(var e in t)\"function\"==typeof t[e]&&(t[e]=a);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var r=document.createElement(\"div\");r.className=\"no-webgl\",r.style.cursor=\"pointer\",r.style.fontSize=\"24px\",r.style.color=n.defaults[0],r.style.position=\"absolute\",r.style.left=r.style.top=\"0px\",r.style.width=r.style.height=\"100%\",r.style[\"background-color\"]=n.lightLine,r.style[\"z-index\"]=30;var i=document.createElement(\"p\");return i.textContent=\"WebGL is not supported by your browser - visit https://get.webgl.org for more info\",i.style.position=\"relative\",i.style.top=\"50%\",i.style.left=\"50%\",i.style.height=\"30%\",i.style.width=\"50%\",i.style.margin=\"-15% 0 0 -25%\",r.appendChild(i),t.container.appendChild(r),t.container.style.background=\"#FFFFFF\",t.container.onclick=function(){window.open(\"https://get.webgl.org\")},!1}},{\"../components/color\":595}],750:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"./array\").isArrayOrTypedArray;r.aggNums=function(t,e,i,o){var s,l;if((!o||o>i.length)&&(o=i.length),n(e)||(e=!1),a(i[0])){for(l=new Array(o),s=0;s<o;s++)l[s]=r.aggNums(t,e,i[s]);i=l}for(s=0;s<o;s++)n(e)?n(i[s])&&(e=t(+e,+i[s])):e=i[s];return e},r.len=function(t){return r.aggNums((function(t){return t+1}),0,t)},r.mean=function(t,e){return e||(e=r.len(t)),r.aggNums((function(t,e){return t+e}),0,t)/e},r.midRange=function(t){if(void 0!==t&&0!==t.length)return(r.aggNums(Math.max,null,t)+r.aggNums(Math.min,null,t))/2},r.variance=function(t,e,a){return e||(e=r.len(t)),n(a)||(a=r.mean(t,e)),r.aggNums((function(t,e){return t+Math.pow(e-a,2)}),0,t)/e},r.stdev=function(t,e,n){return Math.sqrt(r.variance(t,e,n))},r.median=function(t){var e=t.slice().sort();return r.interp(e,.5)},r.interp=function(t,e){if(!n(e))throw\"n should be a finite number\";if((e=e*t.length-.5)<0)return t[0];if(e>t.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},{\"./array\":711,\"fast-isnumeric\":236}],751:[function(t,e,r){\"use strict\";var n=t(\"color-normalize\");e.exports=function(t){return t?n(t):[0,0,0,1]}},{\"color-normalize\":122}],752:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../lib\"),i=t(\"../constants/xmlns_namespaces\"),o=t(\"../constants/alignment\").LINE_SPACING;function s(t,e){return t.node().getBoundingClientRect()[e]}var l=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;r.convertToTspans=function(t,e,A){var M=t.text(),E=!t.attr(\"data-notex\")&&\"undefined\"!=typeof MathJax&&M.match(l),C=n.select(t.node().parentNode);if(!C.empty()){var L=t.attr(\"class\")?t.attr(\"class\").split(\" \")[0]:\"text\";return L+=\"-math\",C.selectAll(\"svg.\"+L).remove(),C.selectAll(\"g.\"+L+\"-group\").remove(),t.style(\"display\",null).attr({\"data-unformatted\":M,\"data-math\":\"N\"}),E?(e&&e._promises||[]).push(new Promise((function(e){t.style(\"display\",\"none\");var r=parseInt(t.node().style.fontSize,10),i={fontSize:r};!function(t,e,r){var i,o,s,l;MathJax.Hub.Queue((function(){return o=a.extendDeepAll({},MathJax.Hub.config),s=MathJax.Hub.processSectionDelay,void 0!==MathJax.Hub.processSectionDelay&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:\"none\",tex2jax:{inlineMath:[[\"$\",\"$\"],[\"\\\\(\",\"\\\\)\"]]},displayAlign:\"left\"})}),(function(){if(\"SVG\"!==(i=MathJax.Hub.config.menuSettings.renderer))return MathJax.Hub.setRenderer(\"SVG\")}),(function(){var r=\"math-output-\"+a.randstr({},64);return l=n.select(\"body\").append(\"div\").attr({id:r}).style({visibility:\"hidden\",position:\"absolute\"}).style({\"font-size\":e.fontSize+\"px\"}).text(t.replace(c,\"\\\\lt \").replace(u,\"\\\\gt \")),MathJax.Hub.Typeset(l.node())}),(function(){var e=n.select(\"body\").select(\"#MathJax_SVG_glyphs\");if(l.select(\".MathJax_SVG\").empty()||!l.select(\"svg\").node())a.log(\"There was an error in the tex syntax.\",t),r();else{var o=l.select(\"svg\").node().getBoundingClientRect();r(l.select(\".MathJax_SVG\"),e,o)}if(l.remove(),\"SVG\"!==i)return MathJax.Hub.setRenderer(i)}),(function(){return void 0!==s&&(MathJax.Hub.processSectionDelay=s),MathJax.Hub.Config(o)}))}(E[2],i,(function(n,a,i){C.selectAll(\"svg.\"+L).remove(),C.selectAll(\"g.\"+L+\"-group\").remove();var o=n&&n.select(\"svg\");if(!o||!o.node())return P(),void e();var l=C.append(\"g\").classed(L+\"-group\",!0).attr({\"pointer-events\":\"none\",\"data-unformatted\":M,\"data-math\":\"Y\"});l.node().appendChild(o.node()),a&&a.node()&&o.node().insertBefore(a.node().cloneNode(!0),o.node().firstChild),o.attr({class:L,height:i.height,preserveAspectRatio:\"xMinYMin meet\"}).style({overflow:\"visible\",\"pointer-events\":\"none\"});var c=t.node().style.fill||\"black\",u=o.select(\"g\");u.attr({fill:c,stroke:c});var h=s(u,\"width\"),f=s(u,\"height\"),p=+t.attr(\"x\")-h*{start:0,middle:.5,end:1}[t.attr(\"text-anchor\")||\"start\"],d=-(r||s(t,\"height\"))/4;\"y\"===L[0]?(l.attr({transform:\"rotate(\"+[-90,+t.attr(\"x\"),+t.attr(\"y\")]+\") translate(\"+[-h/2,d-f/2]+\")\"}),o.attr({x:+t.attr(\"x\"),y:+t.attr(\"y\")})):\"l\"===L[0]?o.attr({x:t.attr(\"x\"),y:d-f/2}):\"a\"===L[0]&&0!==L.indexOf(\"atitle\")?o.attr({x:0,y:d}):o.attr({x:p,y:+t.attr(\"y\")+d-f/2}),A&&A.call(t,l),e(l)}))}))):P(),t}function P(){C.empty()||(L=t.attr(\"class\")+\"-math\",C.select(\"svg.\"+L).remove()),t.text(\"\").style(\"white-space\",\"pre\"),function(t,e){e=e.replace(g,\" \");var r,s=!1,l=[],c=-1;function u(){c++;var e=document.createElementNS(i.svg,\"tspan\");n.select(e).attr({class:\"line\",dy:c*o+\"em\"}),t.appendChild(e),r=e;var a=l;if(l=[{node:e}],a.length>1)for(var s=1;s<a.length;s++)A(a[s])}function A(t){var e,a=t.type,o={};if(\"a\"===a){e=\"a\";var s=t.target,c=t.href,u=t.popup;c&&(o={\"xlink:xlink:show\":\"_blank\"===s||\"_\"!==s.charAt(0)?\"new\":\"replace\",target:s,\"xlink:xlink:href\":c},u&&(o.onclick='window.open(this.href.baseVal,this.target.baseVal,\"'+u+'\");return false;'))}else e=\"tspan\";t.style&&(o.style=t.style);var h=document.createElementNS(i.svg,e);if(\"sup\"===a||\"sub\"===a){M(r,\"\\u200b\"),r.appendChild(h);var d=document.createElementNS(i.svg,\"tspan\");M(d,\"\\u200b\"),n.select(d).attr(\"dy\",p[a]),o.dy=f[a],r.appendChild(h),r.appendChild(d)}else r.appendChild(h);n.select(h).attr(o),r=t.node=h,l.push(t)}function M(t,e){t.appendChild(document.createTextNode(e))}function E(t){if(1!==l.length){var n=l.pop();t!==n.type&&a.log(\"Start tag <\"+n.type+\"> doesnt match end tag <\"+t+\">. Pretending it did match.\",e),r=l[l.length-1].node}else a.log(\"Ignoring unexpected end tag </\"+t+\">.\",e)}y.test(e)?u():(r=t,l=[{node:t}]);for(var C=e.split(m),L=0;L<C.length;L++){var P=C[L],I=P.match(v),z=I&&I[2].toLowerCase(),O=h[z];if(\"br\"===z)u();else if(void 0===O)M(r,S(P));else if(I[1])E(z);else{var D=I[4],R={type:z},F=T(D,x);if(F?(F=F.replace(k,\"$1 fill:\"),O&&(F+=\";\"+O)):O&&(F=O),F&&(R.style=F),\"a\"===z){s=!0;var B=T(D,b);if(B){var N=document.createElement(\"a\");N.href=B,-1!==d.indexOf(N.protocol)&&(R.href=encodeURI(decodeURI(B)),R.target=T(D,_)||\"_blank\",R.popup=T(D,w))}}A(R)}}return s}(t.node(),M)&&t.style(\"pointer-events\",\"all\"),r.positionText(t),A&&A.call(t)}};var c=/(<|&lt;|&#60;)/g,u=/(>|&gt;|&#62;)/g;var h={sup:\"font-size:70%\",sub:\"font-size:70%\",b:\"font-weight:bold\",i:\"font-style:italic\",a:\"cursor:pointer\",span:\"\",em:\"font-style:italic;font-weight:bold\"},f={sub:\"0.3em\",sup:\"-0.6em\"},p={sub:\"-0.21em\",sup:\"0.42em\"},d=[\"http:\",\"https:\",\"mailto:\",\"\",void 0,\":\"],g=r.NEWLINES=/(\\r\\n?|\\n)/g,m=/(<[^<>]*>)/,v=/<(\\/?)([^ >]*)(\\s+(.*))?>/i,y=/<br(\\s+.*)?>/i;r.BR_TAG_ALL=/<br(\\s+.*)?>/gi;var x=/(^|[\\s\"'])style\\s*=\\s*(\"([^\"]*);?\"|'([^']*);?')/i,b=/(^|[\\s\"'])href\\s*=\\s*(\"([^\"]*)\"|'([^']*)')/i,_=/(^|[\\s\"'])target\\s*=\\s*(\"([^\"\\s]*)\"|'([^'\\s]*)')/i,w=/(^|[\\s\"'])popup\\s*=\\s*(\"([\\w=,]*)\"|'([\\w=,]*)')/i;function T(t,e){if(!t)return null;var r=t.match(e),n=r&&(r[3]||r[4]);return n&&S(n)}var k=/(^|;)\\s*color:/;r.plainText=function(t,e){for(var r=void 0!==(e=e||{}).len&&-1!==e.len?e.len:1/0,n=void 0!==e.allowedTags?e.allowedTags:[\"br\"],a=\"...\".length,i=t.split(m),o=[],s=\"\",l=0,c=0;c<i.length;c++){var u=i[c],h=u.match(v),f=h&&h[2].toLowerCase();if(f)-1!==n.indexOf(f)&&(o.push(u),s=f);else{var p=u.length;if(l+p<r)o.push(u),l+=p;else if(l<r){var d=r-l;s&&(\"br\"!==s||d<=a||p<=a)&&o.pop(),r>a?o.push(u.substr(0,d-a)+\"...\"):o.push(u.substr(0,d));break}s=\"\"}}return o.join(\"\")};var A={mu:\"\\u03bc\",amp:\"&\",lt:\"<\",gt:\">\",nbsp:\"\\xa0\",times:\"\\xd7\",plusmn:\"\\xb1\",deg:\"\\xb0\"},M=/&(#\\d+|#x[\\da-fA-F]+|[a-z]+);/g;function S(t){return t.replace(M,(function(t,e){return(\"#\"===e.charAt(0)?function(t){if(t>1114111)return;var e=String.fromCodePoint;if(e)return e(t);var r=String.fromCharCode;return t<=65535?r(t):r(55232+(t>>10),t%1024+56320)}(\"x\"===e.charAt(1)?parseInt(e.substr(2),16):parseInt(e.substr(1),10)):A[e])||t}))}function E(t,e,r){var n,a,i,o=r.horizontalAlign,s=r.verticalAlign||\"top\",l=t.node().getBoundingClientRect(),c=e.node().getBoundingClientRect();return a=\"bottom\"===s?function(){return l.bottom-n.height}:\"middle\"===s?function(){return l.top+(l.height-n.height)/2}:function(){return l.top},i=\"right\"===o?function(){return l.right-n.width}:\"center\"===o?function(){return l.left+(l.width-n.width)/2}:function(){return l.left},function(){return n=this.node().getBoundingClientRect(),this.style({top:a()-c.top+\"px\",left:i()-c.left+\"px\",\"z-index\":1e3}),this}}r.convertEntities=S,r.sanitizeHTML=function(t){t=t.replace(g,\" \");for(var e=document.createElement(\"p\"),r=e,a=[],i=t.split(m),o=0;o<i.length;o++){var s=i[o],l=s.match(v),c=l&&l[2].toLowerCase();if(c in h)if(l[1])a.length&&(r=a.pop());else{var u=l[4],f=T(u,x),p=f?{style:f}:{};if(\"a\"===c){var y=T(u,b);if(y){var w=document.createElement(\"a\");if(w.href=y,-1!==d.indexOf(w.protocol)){p.href=encodeURI(decodeURI(y));var k=T(u,_);k&&(p.target=k)}}}var A=document.createElement(c);r.appendChild(A),n.select(A).attr(p),r=A,a.push(A)}else r.appendChild(document.createTextNode(S(s)))}return e.innerHTML},r.lineCount=function(t){return t.selectAll(\"tspan.line\").size()||1},r.positionText=function(t,e,r){return t.each((function(){var t=n.select(this);function a(e,r){return void 0===r?null===(r=t.attr(e))&&(t.attr(e,0),r=0):t.attr(e,r),r}var i=a(\"x\",e),o=a(\"y\",r);\"text\"===this.nodeName&&t.selectAll(\"tspan.line\").attr({x:i,y:o})}))},r.makeEditable=function(t,e){var r=e.gd,a=e.delegate,i=n.dispatch(\"edit\",\"input\",\"cancel\"),o=a||t;if(t.style({\"pointer-events\":a?\"none\":\"all\"}),1!==t.size())throw new Error(\"boo\");function s(){!function(){var a=n.select(r).select(\".svg-container\"),o=a.append(\"div\"),s=t.node().style,c=parseFloat(s.fontSize||12),u=e.text;void 0===u&&(u=t.attr(\"data-unformatted\"));o.classed(\"plugin-editable editable\",!0).style({position:\"absolute\",\"font-family\":s.fontFamily||\"Arial\",\"font-size\":c,color:e.fill||s.fill||\"black\",opacity:1,\"background-color\":e.background||\"transparent\",outline:\"#ffffff33 1px solid\",margin:[-c/8+1,0,0,-1].join(\"px \")+\"px\",padding:\"0\",\"box-sizing\":\"border-box\"}).attr({contenteditable:!0}).text(u).call(E(t,a,e)).on(\"blur\",(function(){r._editing=!1,t.text(this.textContent).style({opacity:1});var e,a=n.select(this).attr(\"class\");(e=a?\".\"+a.split(\" \")[0]+\"-math-group\":\"[class*=-math-group]\")&&n.select(t.node().parentNode).select(e).style({opacity:0});var o=this.textContent;n.select(this).transition().duration(0).remove(),n.select(document).on(\"mouseup\",null),i.edit.call(t,o)})).on(\"focus\",(function(){var t=this;r._editing=!0,n.select(document).on(\"mouseup\",(function(){if(n.event.target===t)return!1;document.activeElement===o.node()&&o.node().blur()}))})).on(\"keyup\",(function(){27===n.event.which?(r._editing=!1,t.style({opacity:1}),n.select(this).style({opacity:0}).on(\"blur\",(function(){return!1})).transition().remove(),i.cancel.call(t,this.textContent)):(i.input.call(t,this.textContent),n.select(this).call(E(t,a,e)))})).on(\"keydown\",(function(){13===n.event.which&&this.blur()})).call(l)}(),t.style({opacity:0});var a,s=o.attr(\"class\");(a=s?\".\"+s.split(\" \")[0]+\"-math-group\":\"[class*=-math-group]\")&&n.select(t.node().parentNode).select(a).style({opacity:0})}function l(t){var e=t.node(),r=document.createRange();r.selectNodeContents(e);var n=window.getSelection();n.removeAllRanges(),n.addRange(r),e.focus()}return e.immediate?s():o.on(\"click\",s),n.rebind(t,i,\"on\")}},{\"../constants/alignment\":697,\"../constants/xmlns_namespaces\":705,\"../lib\":728,d3:164}],753:[function(t,e,r){\"use strict\";var n={};function a(t){t&&null!==t.timer&&(clearTimeout(t.timer),t.timer=null)}r.throttle=function(t,e,r){var i=n[t],o=Date.now();if(!i){for(var s in n)n[s].ts<o-6e4&&delete n[s];i=n[t]={ts:0,timer:null}}function l(){r(),i.ts=Date.now(),i.onDone&&(i.onDone(),i.onDone=null)}a(i),o>i.ts+e?l():i.timer=setTimeout((function(){l(),i.timer=null}),e)},r.done=function(t){var e=n[t];return e&&e.timer?new Promise((function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}})):Promise.resolve()},r.clear=function(t){if(t)a(n[t]),delete n[t];else for(var e in n)r.clear(e)}},{}],754:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\");e.exports=function(t,e){if(t>0)return Math.log(t)/Math.LN10;var r=Math.log(Math.min(e[0],e[1]))/Math.LN10;return n(r)||(r=Math.log(Math.max(e[0],e[1]))/Math.LN10-6),r}},{\"fast-isnumeric\":236}],755:[function(t,e,r){\"use strict\";var n=e.exports={},a=t(\"../plots/geo/constants\").locationmodeToLayer,i=t(\"topojson-client\").feature;n.getTopojsonName=function(t){return[t.scope.replace(/ /g,\"-\"),\"_\",t.resolution.toString(),\"m\"].join(\"\")},n.getTopojsonPath=function(t,e){return t+e+\".json\"},n.getTopojsonFeatures=function(t,e){var r=a[t.locationmode],n=e.objects[r];return i(e,n).features}},{\"../plots/geo/constants\":806,\"topojson-client\":531}],756:[function(t,e,r){\"use strict\";e.exports={moduleType:\"locale\",name:\"en-US\",dictionary:{\"Click to enter Colorscale title\":\"Click to enter Colorscale title\"},format:{date:\"%m/%d/%Y\"}}},{}],757:[function(t,e,r){\"use strict\";e.exports={moduleType:\"locale\",name:\"en\",dictionary:{\"Click to enter Colorscale title\":\"Click to enter Colourscale title\"},format:{days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],periods:[\"AM\",\"PM\"],dateTime:\"%a %b %e %X %Y\",date:\"%d/%m/%Y\",time:\"%H:%M:%S\",decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"],year:\"%Y\",month:\"%b %Y\",dayMonth:\"%b %-d\",dayMonthYear:\"%b %-d, %Y\"}}},{}],758:[function(t,e,r){\"use strict\";var n=t(\"../registry\");e.exports=function(t){for(var e,r,a=n.layoutArrayContainers,i=n.layoutArrayRegexes,o=t.split(\"[\")[0],s=0;s<i.length;s++)if((r=t.match(i[s]))&&0===r.index){e=r[0];break}if(e||(e=a[a.indexOf(o)]),!e)return!1;var l=t.substr(e.length);return l?!!(r=l.match(/^\\[(0|[1-9][0-9]*)\\](\\.(.+))?$/))&&{array:e,index:Number(r[1]),property:r[3]||\"\"}:{array:e,index:\"\",property:\"\"}}},{\"../registry\":859}],759:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),a=n.extendFlat,i=n.isPlainObject,o={valType:\"flaglist\",extras:[\"none\"],flags:[\"calc\",\"clearAxisTypes\",\"plot\",\"style\",\"markerSize\",\"colorbars\"]},s={valType:\"flaglist\",extras:[\"none\"],flags:[\"calc\",\"plot\",\"legend\",\"ticks\",\"axrange\",\"layoutstyle\",\"modebar\",\"camera\",\"arraydraw\",\"colorbars\"]},l=o.flags.slice().concat([\"fullReplot\"]),c=s.flags.slice().concat(\"layoutReplot\");function u(t){for(var e={},r=0;r<t.length;r++)e[t[r]]=!1;return e}function h(t,e,r){var n=a({},t);for(var o in n){var s=n[o];i(s)&&(n[o]=f(s,e,r,o))}return\"from-root\"===r&&(n.editType=e),n}function f(t,e,r,n){if(t.valType){var i=a({},t);if(i.editType=e,Array.isArray(t.items)){i.items=new Array(t.items.length);for(var o=0;o<t.items.length;o++)i.items[o]=f(t.items[o],e,\"from-root\")}return i}return h(t,e,\"_\"===n.charAt(0)?\"nested\":\"from-root\")}e.exports={traces:o,layout:s,traceFlags:function(){return u(l)},layoutFlags:function(){return u(c)},update:function(t,e){var r=e.editType;if(r&&\"none\"!==r)for(var n=r.split(\"+\"),a=0;a<n.length;a++)t[n[a]]=!0},overrideAll:h}},{\"../lib\":728}],760:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"gl-mat4/fromQuat\"),i=t(\"../registry\"),o=t(\"../lib\"),s=t(\"../plots/plots\"),l=t(\"../plots/cartesian/axis_ids\"),c=t(\"../components/color\"),u=l.cleanId,h=l.getFromTrace,f=i.traceIs;function p(t,e){var r=t[e],n=e.charAt(0);r&&\"paper\"!==r&&(t[e]=u(r,n))}function d(t){function e(e,r){var n=t[e],a=t.title&&t.title[r];n&&!a&&(t.title||(t.title={}),t.title[r]=t[e],delete t[e])}t&&(\"string\"!=typeof t.title&&\"number\"!=typeof t.title||(t.title={text:t.title}),e(\"titlefont\",\"font\"),e(\"titleposition\",\"position\"),e(\"titleside\",\"side\"),e(\"titleoffset\",\"offset\"))}function g(t){if(!o.isPlainObject(t))return!1;var e=t.name;return delete t.name,delete t.showlegend,(\"string\"==typeof e||\"number\"==typeof e)&&String(e)}function m(t,e,r,n){if(r&&!n)return t;if(n&&!r)return e;if(!t.trim())return e;if(!e.trim())return t;var a,i=Math.min(t.length,e.length);for(a=0;a<i&&t.charAt(a)===e.charAt(a);a++);return t.substr(0,a).trim()}function v(t){var e=\"middle\",r=\"center\";return\"string\"==typeof t&&(-1!==t.indexOf(\"top\")?e=\"top\":-1!==t.indexOf(\"bottom\")&&(e=\"bottom\"),-1!==t.indexOf(\"left\")?r=\"left\":-1!==t.indexOf(\"right\")&&(r=\"right\")),e+\" \"+r}function y(t,e){return e in t&&\"object\"==typeof t[e]&&0===Object.keys(t[e]).length}r.clearPromiseQueue=function(t){Array.isArray(t._promises)&&t._promises.length>0&&o.log(\"Clearing previous rejected promises from queue.\"),t._promises=[]},r.cleanLayout=function(t){var e,n;t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var i=(s.subplotsRegistry.cartesian||{}).attrRegex,l=(s.subplotsRegistry.polar||{}).attrRegex,h=(s.subplotsRegistry.ternary||{}).attrRegex,f=(s.subplotsRegistry.gl3d||{}).attrRegex,g=Object.keys(t);for(e=0;e<g.length;e++){var m=g[e];if(i&&i.test(m)){var v=t[m];v.anchor&&\"free\"!==v.anchor&&(v.anchor=u(v.anchor)),v.overlaying&&(v.overlaying=u(v.overlaying)),v.type||(v.isdate?v.type=\"date\":v.islog?v.type=\"log\":!1===v.isdate&&!1===v.islog&&(v.type=\"linear\")),\"withzero\"!==v.autorange&&\"tozero\"!==v.autorange||(v.autorange=!0,v.rangemode=\"tozero\"),delete v.islog,delete v.isdate,delete v.categories,y(v,\"domain\")&&delete v.domain,void 0!==v.autotick&&(void 0===v.tickmode&&(v.tickmode=v.autotick?\"auto\":\"linear\"),delete v.autotick),d(v)}else if(l&&l.test(m)){d(t[m].radialaxis)}else if(h&&h.test(m)){var x=t[m];d(x.aaxis),d(x.baxis),d(x.caxis)}else if(f&&f.test(m)){var b=t[m],_=b.cameraposition;if(Array.isArray(_)&&4===_[0].length){var w=_[0],T=_[1],k=_[2],A=a([],w),M=[];for(n=0;n<3;++n)M[n]=T[n]+k*A[2+4*n];b.camera={eye:{x:M[0],y:M[1],z:M[2]},center:{x:T[0],y:T[1],z:T[2]},up:{x:0,y:0,z:1}},delete b.cameraposition}d(b.xaxis),d(b.yaxis),d(b.zaxis)}}var S=Array.isArray(t.annotations)?t.annotations.length:0;for(e=0;e<S;e++){var E=t.annotations[e];o.isPlainObject(E)&&(E.ref&&(\"paper\"===E.ref?(E.xref=\"paper\",E.yref=\"paper\"):\"data\"===E.ref&&(E.xref=\"x\",E.yref=\"y\"),delete E.ref),p(E,\"xref\"),p(E,\"yref\"))}var C=Array.isArray(t.shapes)?t.shapes.length:0;for(e=0;e<C;e++){var L=t.shapes[e];o.isPlainObject(L)&&(p(L,\"xref\"),p(L,\"yref\"))}var P=t.legend;return P&&(P.x>3?(P.x=1.02,P.xanchor=\"left\"):P.x<-2&&(P.x=-.02,P.xanchor=\"right\"),P.y>3?(P.y=1.02,P.yanchor=\"bottom\"):P.y<-2&&(P.y=-.02,P.yanchor=\"top\")),d(t),\"rotate\"===t.dragmode&&(t.dragmode=\"orbit\"),c.clean(t),t.template&&t.template.layout&&r.cleanLayout(t.template.layout),t},r.cleanData=function(t){for(var e=0;e<t.length;e++){var n,a=t[e];if(\"histogramy\"===a.type&&\"xbins\"in a&&!(\"ybins\"in a)&&(a.ybins=a.xbins,delete a.xbins),a.error_y&&\"opacity\"in a.error_y){var l=c.defaults,h=a.error_y.color||(f(a,\"bar\")?c.defaultLine:l[e%l.length]);a.error_y.color=c.addOpacity(c.rgb(h),c.opacity(h)*a.error_y.opacity),delete a.error_y.opacity}if(\"bardir\"in a&&(\"h\"!==a.bardir||!f(a,\"bar\")&&\"histogram\"!==a.type.substr(0,9)||(a.orientation=\"h\",r.swapXYData(a)),delete a.bardir),\"histogramy\"===a.type&&r.swapXYData(a),\"histogramx\"!==a.type&&\"histogramy\"!==a.type||(a.type=\"histogram\"),\"scl\"in a&&!(\"colorscale\"in a)&&(a.colorscale=a.scl,delete a.scl),\"reversescl\"in a&&!(\"reversescale\"in a)&&(a.reversescale=a.reversescl,delete a.reversescl),a.xaxis&&(a.xaxis=u(a.xaxis,\"x\")),a.yaxis&&(a.yaxis=u(a.yaxis,\"y\")),f(a,\"gl3d\")&&a.scene&&(a.scene=s.subplotsRegistry.gl3d.cleanId(a.scene)),!f(a,\"pie-like\")&&!f(a,\"bar-like\"))if(Array.isArray(a.textposition))for(n=0;n<a.textposition.length;n++)a.textposition[n]=v(a.textposition[n]);else a.textposition&&(a.textposition=v(a.textposition));var p=i.getModule(a);if(p&&p.colorbar){var x=p.colorbar.container,b=x?a[x]:a;b&&b.colorscale&&(\"YIGnBu\"===b.colorscale&&(b.colorscale=\"YlGnBu\"),\"YIOrRd\"===b.colorscale&&(b.colorscale=\"YlOrRd\"))}if(\"surface\"===a.type&&o.isPlainObject(a.contours)){var _=[\"x\",\"y\",\"z\"];for(n=0;n<_.length;n++){var w=a.contours[_[n]];o.isPlainObject(w)&&(w.highlightColor&&(w.highlightcolor=w.highlightColor,delete w.highlightColor),w.highlightWidth&&(w.highlightwidth=w.highlightWidth,delete w.highlightWidth))}}if(\"candlestick\"===a.type||\"ohlc\"===a.type){var T=!1!==(a.increasing||{}).showlegend,k=!1!==(a.decreasing||{}).showlegend,A=g(a.increasing),M=g(a.decreasing);if(!1!==A&&!1!==M){var S=m(A,M,T,k);S&&(a.name=S)}else!A&&!M||a.name||(a.name=A||M)}if(Array.isArray(a.transforms)){var E=a.transforms;for(n=0;n<E.length;n++){var C=E[n];if(o.isPlainObject(C))switch(C.type){case\"filter\":C.filtersrc&&(C.target=C.filtersrc,delete C.filtersrc),C.calendar&&(C.valuecalendar||(C.valuecalendar=C.calendar),delete C.calendar);break;case\"groupby\":if(C.styles=C.styles||C.style,C.styles&&!Array.isArray(C.styles)){var L=C.styles,P=Object.keys(L);C.styles=[];for(var I=0;I<P.length;I++)C.styles.push({target:P[I],value:L[P[I]]})}}}}y(a,\"line\")&&delete a.line,\"marker\"in a&&(y(a.marker,\"line\")&&delete a.marker.line,y(a,\"marker\")&&delete a.marker),c.clean(a),a.autobinx&&(delete a.autobinx,delete a.xbins),a.autobiny&&(delete a.autobiny,delete a.ybins),d(a),a.colorbar&&d(a.colorbar),a.marker&&a.marker.colorbar&&d(a.marker.colorbar),a.line&&a.line.colorbar&&d(a.line.colorbar),a.aaxis&&d(a.aaxis),a.baxis&&d(a.baxis)}},r.swapXYData=function(t){var e;if(o.swapAttrs(t,[\"?\",\"?0\",\"d?\",\"?bins\",\"nbins?\",\"autobin?\",\"?src\",\"error_?\"]),Array.isArray(t.z)&&Array.isArray(t.z[0])&&(t.transpose?delete t.transpose:t.transpose=!0),t.error_x&&t.error_y){var r=t.error_y,n=\"copy_ystyle\"in r?r.copy_ystyle:!(r.color||r.thickness||r.width);o.swapAttrs(t,[\"error_?.copy_ystyle\"]),n&&o.swapAttrs(t,[\"error_?.color\",\"error_?.thickness\",\"error_?.width\"])}if(\"string\"==typeof t.hoverinfo){var a=t.hoverinfo.split(\"+\");for(e=0;e<a.length;e++)\"x\"===a[e]?a[e]=\"y\":\"y\"===a[e]&&(a[e]=\"x\");t.hoverinfo=a.join(\"+\")}},r.coerceTraceIndices=function(t,e){if(n(e))return[e];if(!Array.isArray(e)||!e.length)return t.data.map((function(t,e){return e}));if(Array.isArray(e)){for(var r=[],a=0;a<e.length;a++)o.isIndex(e[a],t.data.length)?r.push(e[a]):o.warn(\"trace index (\",e[a],\") is not a number or is out of bounds\");return r}return e},r.manageArrayContainers=function(t,e,r){var a=t.obj,i=t.parts,s=i.length,l=i[s-1],c=n(l);if(c&&null===e){var u=i.slice(0,s-1).join(\".\");o.nestedProperty(a,u).get().splice(l,1)}else c&&void 0===t.get()?(void 0===t.get()&&(r[t.astr]=null),t.set(e)):t.set(e)};var x=/(\\.[^\\[\\]\\.]+|\\[[^\\[\\]\\.]+\\])$/;function b(t){var e=t.search(x);if(e>0)return t.substr(0,e)}r.hasParent=function(t,e){for(var r=b(e);r;){if(r in t)return!0;r=b(r)}return!1};var _=[\"x\",\"y\",\"z\"];r.clearAxisTypes=function(t,e,r){for(var n=0;n<e.length;n++)for(var a=t._fullData[n],i=0;i<3;i++){var s=h(t,a,_[i]);if(s&&\"log\"!==s.type){var l=s._name,c=s._id.substr(1);if(\"scene\"===c.substr(0,5)){if(void 0!==r[c])continue;l=c+\".\"+l}var u=l+\".type\";void 0===r[l]&&void 0===r[u]&&o.nestedProperty(t.layout,u).set(null)}}}},{\"../components/color\":595,\"../lib\":728,\"../plots/cartesian/axis_ids\":779,\"../plots/plots\":839,\"../registry\":859,\"fast-isnumeric\":236,\"gl-mat4/fromQuat\":270}],761:[function(t,e,r){\"use strict\";var n=t(\"./plot_api\");r.plot=n.plot,r.newPlot=n.newPlot,r.restyle=n.restyle,r.relayout=n.relayout,r.redraw=n.redraw,r.update=n.update,r._guiRestyle=n._guiRestyle,r._guiRelayout=n._guiRelayout,r._guiUpdate=n._guiUpdate,r._storeDirectGUIEdit=n._storeDirectGUIEdit,r.react=n.react,r.extendTraces=n.extendTraces,r.prependTraces=n.prependTraces,r.addTraces=n.addTraces,r.deleteTraces=n.deleteTraces,r.moveTraces=n.moveTraces,r.purge=n.purge,r.addFrames=n.addFrames,r.deleteFrames=n.deleteFrames,r.animate=n.animate,r.setPlotConfig=n.setPlotConfig,r.toImage=t(\"./to_image\"),r.validate=t(\"./validate\"),r.downloadImage=t(\"../snapshot/download\");var a=t(\"./template_api\");r.makeTemplate=a.makeTemplate,r.validateTemplate=a.validateTemplate},{\"../snapshot/download\":861,\"./plot_api\":763,\"./template_api\":768,\"./to_image\":769,\"./validate\":770}],762:[function(t,e,r){\"use strict\";var n=t(\"../lib/is_plain_object\"),a=t(\"../lib/noop\"),i=t(\"../lib/loggers\"),o=t(\"../lib/search\").sorterAsc,s=t(\"../registry\");r.containerArrayMatch=t(\"./container_array_match\");var l=r.isAddVal=function(t){return\"add\"===t||n(t)},c=r.isRemoveVal=function(t){return null===t||\"remove\"===t};r.applyContainerArrayChanges=function(t,e,r,n,u){var h=e.astr,f=s.getComponentMethod(h,\"supplyLayoutDefaults\"),p=s.getComponentMethod(h,\"draw\"),d=s.getComponentMethod(h,\"drawOne\"),g=n.replot||n.recalc||f===a||p===a,m=t.layout,v=t._fullLayout;if(r[\"\"]){Object.keys(r).length>1&&i.warn(\"Full array edits are incompatible with other edits\",h);var y=r[\"\"][\"\"];if(c(y))e.set(null);else{if(!Array.isArray(y))return i.warn(\"Unrecognized full array edit value\",h,y),!0;e.set(y)}return!g&&(f(m,v),p(t),!0)}var x,b,_,w,T,k,A,M,S=Object.keys(r).map(Number).sort(o),E=e.get(),C=E||[],L=u(v,h).get(),P=[],I=-1,z=C.length;for(x=0;x<S.length;x++)if(w=r[_=S[x]],T=Object.keys(w),k=w[\"\"],A=l(k),_<0||_>C.length-(A?0:1))i.warn(\"index out of range\",h,_);else if(void 0!==k)T.length>1&&i.warn(\"Insertion & removal are incompatible with edits to the same index.\",h,_),c(k)?P.push(_):A?(\"add\"===k&&(k={}),C.splice(_,0,k),L&&L.splice(_,0,{})):i.warn(\"Unrecognized full object edit value\",h,_,k),-1===I&&(I=_);else for(b=0;b<T.length;b++)M=h+\"[\"+_+\"].\",u(C[_],T[b],M).set(w[T[b]]);for(x=P.length-1;x>=0;x--)C.splice(P[x],1),L&&L.splice(P[x],1);if(C.length?E||e.set(C):e.set(null),g)return!1;if(f(m,v),d!==a){var O;if(-1===I)O=S;else{for(z=Math.max(C.length,z),O=[],x=0;x<S.length&&!((_=S[x])>=I);x++)O.push(_);for(x=I;x<z;x++)O.push(x)}for(x=0;x<O.length;x++)d(t,O[x])}else p(t);return!0}},{\"../lib/is_plain_object\":729,\"../lib/loggers\":732,\"../lib/noop\":737,\"../lib/search\":747,\"../registry\":859,\"./container_array_match\":758}],763:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"fast-isnumeric\"),i=t(\"has-hover\"),o=t(\"../lib\"),s=o.nestedProperty,l=t(\"../lib/events\"),c=t(\"../lib/queue\"),u=t(\"../registry\"),h=t(\"./plot_schema\"),f=t(\"../plots/plots\"),p=t(\"../plots/polar/legacy\"),d=t(\"../plots/cartesian/axes\"),g=t(\"../components/drawing\"),m=t(\"../components/color\"),v=t(\"../plots/cartesian/graph_interact\").initInteractions,y=t(\"../constants/xmlns_namespaces\"),x=t(\"../lib/svg_text_utils\"),b=t(\"../plots/cartesian/select\").clearSelect,_=t(\"./plot_config\").dfltConfig,w=t(\"./manage_arrays\"),T=t(\"./helpers\"),k=t(\"./subroutines\"),A=t(\"./edit_types\"),M=t(\"../plots/cartesian/constants\").AX_NAME_PATTERN,S=0;function E(t){var e=t._fullLayout;e._redrawFromAutoMarginCount?e._redrawFromAutoMarginCount--:t.emit(\"plotly_afterplot\")}function C(t,e){try{t._fullLayout._paper.style(\"background\",e)}catch(t){o.error(t)}}function L(t,e){C(t,m.combine(e,\"white\"))}function P(t,e){if(!t._context){t._context=o.extendDeep({},_);var r=n.select(\"base\");t._context._baseUrl=r.size()&&r.attr(\"href\")?window.location.href.split(\"#\")[0]:\"\"}var a,s,l,c=t._context;if(e){for(s=Object.keys(e),a=0;a<s.length;a++)\"editable\"!==(l=s[a])&&\"edits\"!==l&&l in c&&(\"setBackground\"===l&&\"opaque\"===e[l]?c[l]=L:c[l]=e[l]);e.plot3dPixelRatio&&!c.plotGlPixelRatio&&(c.plotGlPixelRatio=c.plot3dPixelRatio);var u=e.editable;if(void 0!==u)for(c.editable=u,s=Object.keys(c.edits),a=0;a<s.length;a++)c.edits[s[a]]=u;if(e.edits)for(s=Object.keys(e.edits),a=0;a<s.length;a++)(l=s[a])in c.edits&&(c.edits[l]=e.edits[l]);c._exportedPlot=e._exportedPlot}c.staticPlot&&(c.editable=!1,c.edits={},c.autosizable=!1,c.scrollZoom=!1,c.doubleClick=!1,c.showTips=!1,c.showLink=!1,c.displayModeBar=!1),\"hover\"!==c.displayModeBar||i||(c.displayModeBar=!0),\"transparent\"!==c.setBackground&&\"function\"==typeof c.setBackground||(c.setBackground=C),c._hasZeroHeight=c._hasZeroHeight||0===t.clientHeight,c._hasZeroWidth=c._hasZeroWidth||0===t.clientWidth;var h=c.scrollZoom,f=c._scrollZoom={};if(!0===h)f.cartesian=1,f.gl3d=1,f.geo=1,f.mapbox=1;else if(\"string\"==typeof h){var p=h.split(\"+\");for(a=0;a<p.length;a++)f[p[a]]=1}else!1!==h&&(f.gl3d=1,f.geo=1,f.mapbox=1)}function I(t,e){var r,n,a=e+1,i=[];for(r=0;r<t.length;r++)(n=t[r])<0?i.push(a+n):i.push(n);return i}function z(t,e,r){var n,a;for(n=0;n<e.length;n++){if((a=e[n])!==parseInt(a,10))throw new Error(\"all values in \"+r+\" must be integers\");if(a>=t.data.length||a<-t.data.length)throw new Error(r+\" must be valid indices for gd.data.\");if(e.indexOf(a,n+1)>-1||a>=0&&e.indexOf(-t.data.length+a)>-1||a<0&&e.indexOf(t.data.length+a)>-1)throw new Error(\"each index in \"+r+\" must be unique.\")}}function O(t,e,r){if(!Array.isArray(t.data))throw new Error(\"gd.data must be an array.\");if(\"undefined\"==typeof e)throw new Error(\"currentIndices is a required argument.\");if(Array.isArray(e)||(e=[e]),z(t,e,\"currentIndices\"),\"undefined\"==typeof r||Array.isArray(r)||(r=[r]),\"undefined\"!=typeof r&&z(t,r,\"newIndices\"),\"undefined\"!=typeof r&&e.length!==r.length)throw new Error(\"current and new indices must be of equal length.\")}function D(t,e,r,n,i){!function(t,e,r,n){var a=o.isPlainObject(n);if(!Array.isArray(t.data))throw new Error(\"gd.data must be an array\");if(!o.isPlainObject(e))throw new Error(\"update must be a key:value object\");if(\"undefined\"==typeof r)throw new Error(\"indices must be an integer or array of integers\");for(var i in z(t,r,\"indices\"),e){if(!Array.isArray(e[i])||e[i].length!==r.length)throw new Error(\"attribute \"+i+\" must be an array of length equal to indices array length\");if(a&&(!(i in n)||!Array.isArray(n[i])||n[i].length!==e[i].length))throw new Error(\"when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object\")}}(t,e,r,n);for(var l=function(t,e,r,n){var i,l,c,u,h,f=o.isPlainObject(n),p=[];for(var d in Array.isArray(r)||(r=[r]),r=I(r,t.data.length-1),e)for(var g=0;g<r.length;g++){if(i=t.data[r[g]],l=(c=s(i,d)).get(),u=e[d][g],!o.isArrayOrTypedArray(u))throw new Error(\"attribute: \"+d+\" index: \"+g+\" must be an array\");if(!o.isArrayOrTypedArray(l))throw new Error(\"cannot extend missing or non-array attribute: \"+d);if(l.constructor!==u.constructor)throw new Error(\"cannot extend array with an array of a different type: \"+d);h=f?n[d][g]:n,a(h)||(h=-1),p.push({prop:c,target:l,insert:u,maxp:Math.floor(h)})}return p}(t,e,r,n),c={},u={},h=0;h<l.length;h++){var f=l[h].prop,p=l[h].maxp,d=i(l[h].target,l[h].insert,p);f.set(d[0]),Array.isArray(c[f.astr])||(c[f.astr]=[]),c[f.astr].push(d[1]),Array.isArray(u[f.astr])||(u[f.astr]=[]),u[f.astr].push(l[h].target.length)}return{update:c,maxPoints:u}}function R(t,e){var r=new t.constructor(t.length+e.length);return r.set(t),r.set(e,t.length),r}function F(t,e,n,a){t=o.getGraphDiv(t),T.clearPromiseQueue(t);var i={};if(\"string\"==typeof e)i[e]=n;else{if(!o.isPlainObject(e))return o.warn(\"Restyle fail.\",e,n,a),Promise.reject();i=o.extendFlat({},e),void 0===a&&(a=n)}Object.keys(i).length&&(t.changed=!0);var s=T.coerceTraceIndices(t,a),l=V(t,i,s),u=l.flags;u.calc&&(t.calcdata=void 0),u.clearAxisTypes&&T.clearAxisTypes(t,s,{});var h=[];u.fullReplot?h.push(r.plot):(h.push(f.previousPromises),f.supplyDefaults(t),u.markerSize&&(f.doCalcdata(t),G(h)),u.style&&h.push(k.doTraceStyle),u.colorbars&&h.push(k.doColorBars),h.push(E)),h.push(f.rehover,f.redrag),c.add(t,F,[t,l.undoit,l.traces],F,[t,l.redoit,l.traces]);var p=o.syncOrAsync(h,t);return p&&p.then||(p=Promise.resolve()),p.then((function(){return t.emit(\"plotly_restyle\",l.eventData),t}))}function B(t){return void 0===t?null:t}function N(t,e){return e?function(e,r,n){var a=s(e,r),i=a.set;return a.set=function(e){j((n||\"\")+r,a.get(),e,t),i(e)},a}:s}function j(t,e,r,n){if(Array.isArray(e)||Array.isArray(r))for(var a=Array.isArray(e)?e:[],i=Array.isArray(r)?r:[],s=Math.max(a.length,i.length),l=0;l<s;l++)j(t+\"[\"+l+\"]\",a[l],i[l],n);else if(o.isPlainObject(e)||o.isPlainObject(r)){var c=o.isPlainObject(e)?e:{},u=o.isPlainObject(r)?r:{},h=o.extendFlat({},c,u);for(var f in h)j(t+\".\"+f,c[f],u[f],n)}else void 0===n[t]&&(n[t]=B(e))}function V(t,e,r){var n,a=t._fullLayout,i=t._fullData,l=t.data,c=a._guiEditing,p=N(a._preGUI,c),g=o.extendDeepAll({},e);U(e);var m,v=A.traceFlags(),y={},x={};function b(){return r.map((function(){}))}function _(t){var e=d.id2name(t);-1===m.indexOf(e)&&m.push(e)}function w(t){return\"LAYOUT\"+t+\".autorange\"}function k(t){return\"LAYOUT\"+t+\".range\"}function M(t){for(var e=t;e<i.length;e++)if(i[e]._input===l[t])return i[e]}function S(n,i,o){if(Array.isArray(n))n.forEach((function(t){S(t,i,o)}));else if(!(n in e)&&!T.hasParent(e,n)){var s;if(\"LAYOUT\"===n.substr(0,6))s=p(t.layout,n.replace(\"LAYOUT\",\"\"));else{var u=r[o];s=N(a._tracePreGUI[M(u)._fullInput.uid],c)(l[u],n)}n in x||(x[n]=b()),void 0===x[n][o]&&(x[n][o]=B(s.get())),void 0!==i&&s.set(i)}}function E(t){return function(e){return i[e][t]}}function C(t){return function(e,n){return!1===e?i[r[n]][t]:null}}for(var L in e){if(T.hasParent(e,L))throw new Error(\"cannot set \"+L+\" and a parent attribute simultaneously\");var P,I,z,O,D,R,F=e[L];if(\"autobinx\"!==L&&\"autobiny\"!==L||(L=L.charAt(L.length-1)+\"bins\",F=Array.isArray(F)?F.map(C(L)):!1===F?r.map(E(L)):null),y[L]=F,\"LAYOUT\"!==L.substr(0,6)){for(x[L]=b(),n=0;n<r.length;n++){if(P=l[r[n]],I=M(r[n]),O=(z=N(a._tracePreGUI[I._fullInput.uid],c)(P,L)).get(),void 0!==(D=Array.isArray(F)?F[n%F.length]:F)){var j=z.parts[z.parts.length-1],V=L.substr(0,L.length-j.length-1),q=V?V+\".\":\"\",H=V?s(I,V).get():I;if((R=h.getTraceValObject(I,z.parts))&&R.impliedEdits&&null!==D)for(var G in R.impliedEdits)S(o.relativeAttr(L,G),R.impliedEdits[G],n);else if(\"thicknessmode\"!==j&&\"lenmode\"!==j||O===D||\"fraction\"!==D&&\"pixels\"!==D||!H){if(\"type\"===L&&(\"pie\"===D!=(\"pie\"===O)||\"funnelarea\"===D!=(\"funnelarea\"===O))){var Y=\"x\",W=\"y\";\"bar\"!==D&&\"bar\"!==O||\"h\"!==P.orientation||(Y=\"y\",W=\"x\"),o.swapAttrs(P,[\"?\",\"?src\"],\"labels\",Y),o.swapAttrs(P,[\"d?\",\"?0\"],\"label\",Y),o.swapAttrs(P,[\"?\",\"?src\"],\"values\",W),\"pie\"===O||\"funnelarea\"===O?(s(P,\"marker.color\").set(s(P,\"marker.colors\").get()),a._pielayer.selectAll(\"g.trace\").remove()):u.traceIs(P,\"cartesian\")&&s(P,\"marker.colors\").set(s(P,\"marker.color\").get())}}else{var Z=a._size,X=H.orient,J=\"top\"===X||\"bottom\"===X;if(\"thicknessmode\"===j){var K=J?Z.h:Z.w;S(q+\"thickness\",H.thickness*(\"fraction\"===D?1/K:K),n)}else{var Q=J?Z.w:Z.h;S(q+\"len\",H.len*(\"fraction\"===D?1/Q:Q),n)}}x[L][n]=B(O);if(-1!==[\"swapxy\",\"swapxyaxes\",\"orientation\",\"orientationaxes\"].indexOf(L)){if(\"orientation\"===L){z.set(D);var $=P.x&&!P.y?\"h\":\"v\";if((z.get()||$)===I.orientation)continue}else\"orientationaxes\"===L&&(P.orientation={v:\"h\",h:\"v\"}[I.orientation]);T.swapXYData(P),v.calc=v.clearAxisTypes=!0}else-1!==f.dataArrayContainers.indexOf(z.parts[0])?(T.manageArrayContainers(z,D,x),v.calc=!0):(R?R.arrayOk&&!u.traceIs(I,\"regl\")&&(o.isArrayOrTypedArray(D)||o.isArrayOrTypedArray(O))?v.calc=!0:A.update(v,R):v.calc=!0,z.set(D))}}if(-1!==[\"swapxyaxes\",\"orientationaxes\"].indexOf(L)&&d.swap(t,r),\"orientationaxes\"===L){var tt=s(t.layout,\"hovermode\");\"x\"===tt.get()?tt.set(\"y\"):\"y\"===tt.get()?tt.set(\"x\"):\"x unified\"===tt.get()?tt.set(\"y unified\"):\"y unified\"===tt.get()&&tt.set(\"x unified\")}if(-1!==[\"orientation\",\"type\"].indexOf(L)){for(m=[],n=0;n<r.length;n++){var et=l[r[n]];u.traceIs(et,\"cartesian\")&&(_(et.xaxis||\"x\"),_(et.yaxis||\"y\"))}S(m.map(w),!0,0),S(m.map(k),[0,1],0)}}else z=p(t.layout,L.replace(\"LAYOUT\",\"\")),x[L]=[B(z.get())],z.set(Array.isArray(F)?F[0]:F),v.calc=!0}return(v.calc||v.plot)&&(v.fullReplot=!0),{flags:v,undoit:x,redoit:y,traces:r,eventData:o.extendDeepNoArrays([],[g,r])}}function U(t){var e,r,n,a=o.counterRegex(\"axis\",\".title\",!1,!1),i=/colorbar\\.title$/,s=Object.keys(t);for(e=0;e<s.length;e++)r=s[e],n=t[r],\"title\"!==r&&!a.test(r)&&!i.test(r)||\"string\"!=typeof n&&\"number\"!=typeof n?r.indexOf(\"titlefont\")>-1?l(r,r.replace(\"titlefont\",\"title.font\")):r.indexOf(\"titleposition\")>-1?l(r,r.replace(\"titleposition\",\"title.position\")):r.indexOf(\"titleside\")>-1?l(r,r.replace(\"titleside\",\"title.side\")):r.indexOf(\"titleoffset\")>-1&&l(r,r.replace(\"titleoffset\",\"title.offset\")):l(r,r.replace(\"title\",\"title.text\"));function l(e,r){t[r]=t[e],delete t[e]}}function q(t,e,r){if(t=o.getGraphDiv(t),T.clearPromiseQueue(t),t.framework&&t.framework.isPolar)return Promise.resolve(t);var n={};if(\"string\"==typeof e)n[e]=r;else{if(!o.isPlainObject(e))return o.warn(\"Relayout fail.\",e,r),Promise.reject();n=o.extendFlat({},e)}Object.keys(n).length&&(t.changed=!0);var a=X(t,n),i=a.flags;i.calc&&(t.calcdata=void 0);var s=[f.previousPromises];i.layoutReplot?s.push(k.layoutReplot):Object.keys(n).length&&(H(t,i,a)||f.supplyDefaults(t),i.legend&&s.push(k.doLegend),i.layoutstyle&&s.push(k.layoutStyles),i.axrange&&G(s,a.rangesAltered),i.ticks&&s.push(k.doTicksRelayout),i.modebar&&s.push(k.doModeBar),i.camera&&s.push(k.doCamera),i.colorbars&&s.push(k.doColorBars),s.push(E)),s.push(f.rehover,f.redrag),c.add(t,q,[t,a.undoit],q,[t,a.redoit]);var l=o.syncOrAsync(s,t);return l&&l.then||(l=Promise.resolve(t)),l.then((function(){return t.emit(\"plotly_relayout\",a.eventData),t}))}function H(t,e,r){var n=t._fullLayout;if(!e.axrange)return!1;for(var a in e)if(\"axrange\"!==a&&e[a])return!1;for(var i in r.rangesAltered){var o=d.id2name(i),s=t.layout[o],l=n[o];if(l.autorange=s.autorange,l.range=s.range.slice(),l.cleanRange(),l._matchGroup)for(var c in l._matchGroup)if(c!==i){var u=n[d.id2name(c)];u.autorange=l.autorange,u.range=l.range.slice(),u._input.range=l.range.slice()}}return!0}function G(t,e){var r=e?function(t){var r=[],n=!0;for(var a in e){var i=d.getFromId(t,a);if(r.push(a),i._matchGroup)for(var o in i._matchGroup)e[o]||r.push(o);i.automargin&&(n=!1)}return d.draw(t,r,{skipTitle:n})}:function(t){return d.draw(t,\"redraw\")};t.push(b,k.doAutoRangeAndConstraints,r,k.drawData,k.finalDraw)}var Y=/^[xyz]axis[0-9]*\\.range(\\[[0|1]\\])?$/,W=/^[xyz]axis[0-9]*\\.autorange$/,Z=/^[xyz]axis[0-9]*\\.domain(\\[[0|1]\\])?$/;function X(t,e){var r,n,a,i=t.layout,l=t._fullLayout,c=l._guiEditing,f=N(l._preGUI,c),p=Object.keys(e),g=d.list(t),m=o.extendDeepAll({},e),v={};for(U(e),p=Object.keys(e),n=0;n<p.length;n++)if(0===p[n].indexOf(\"allaxes\")){for(a=0;a<g.length;a++){var y=g[a]._id.substr(1),x=-1!==y.indexOf(\"scene\")?y+\".\":\"\",b=p[n].replace(\"allaxes\",x+g[a]._name);e[b]||(e[b]=e[p[n]])}delete e[p[n]]}var _=A.layoutFlags(),k={},S={};function E(t,r){if(Array.isArray(t))t.forEach((function(t){E(t,r)}));else if(!(t in e)&&!T.hasParent(e,t)){var n=f(i,t);t in S||(S[t]=B(n.get())),void 0!==r&&n.set(r)}}var C,L={};function P(t){var e=d.name2id(t.split(\".\")[0]);return L[e]=1,e}for(var I in e){if(T.hasParent(e,I))throw new Error(\"cannot set \"+I+\" and a parent attribute simultaneously\");for(var z=f(i,I),O=e[I],D=z.parts.length-1;D>0&&\"string\"!=typeof z.parts[D];)D--;var R=z.parts[D],F=z.parts[D-1]+\".\"+R,j=z.parts.slice(0,D).join(\".\"),V=s(t.layout,j).get(),q=s(l,j).get(),H=z.get();if(void 0!==O){k[I]=O,S[I]=\"reverse\"===R?O:B(H);var G=h.getLayoutValObject(l,z.parts);if(G&&G.impliedEdits&&null!==O)for(var X in G.impliedEdits)E(o.relativeAttr(I,X),G.impliedEdits[X]);if(-1!==[\"width\",\"height\"].indexOf(I))if(O){E(\"autosize\",null);var K=\"height\"===I?\"width\":\"height\";E(K,l[K])}else l[I]=t._initialAutoSize[I];else if(\"autosize\"===I)E(\"width\",O?null:l.width),E(\"height\",O?null:l.height);else if(F.match(Y))P(F),s(l,j+\"._inputRange\").set(null);else if(F.match(W)){P(F),s(l,j+\"._inputRange\").set(null);var Q=s(l,j).get();Q._inputDomain&&(Q._input.domain=Q._inputDomain.slice())}else F.match(Z)&&s(l,j+\"._inputDomain\").set(null);if(\"type\"===R){var $=V,tt=\"linear\"===q.type&&\"log\"===O,et=\"log\"===q.type&&\"linear\"===O;if(tt||et){if($&&$.range)if(q.autorange)tt&&($.range=$.range[1]>$.range[0]?[1,2]:[2,1]);else{var rt=$.range[0],nt=$.range[1];tt?(rt<=0&&nt<=0&&E(j+\".autorange\",!0),rt<=0?rt=nt/1e6:nt<=0&&(nt=rt/1e6),E(j+\".range[0]\",Math.log(rt)/Math.LN10),E(j+\".range[1]\",Math.log(nt)/Math.LN10)):(E(j+\".range[0]\",Math.pow(10,rt)),E(j+\".range[1]\",Math.pow(10,nt)))}else E(j+\".autorange\",!0);Array.isArray(l._subplots.polar)&&l._subplots.polar.length&&l[z.parts[0]]&&\"radialaxis\"===z.parts[1]&&delete l[z.parts[0]]._subplot.viewInitial[\"radialaxis.range\"],u.getComponentMethod(\"annotations\",\"convertCoords\")(t,q,O,E),u.getComponentMethod(\"images\",\"convertCoords\")(t,q,O,E)}else E(j+\".autorange\",!0),E(j+\".range\",null);s(l,j+\"._inputRange\").set(null)}else if(R.match(M)){var at=s(l,I).get(),it=(O||{}).type;it&&\"-\"!==it||(it=\"linear\"),u.getComponentMethod(\"annotations\",\"convertCoords\")(t,at,it,E),u.getComponentMethod(\"images\",\"convertCoords\")(t,at,it,E)}var ot=w.containerArrayMatch(I);if(ot){r=ot.array,n=ot.index;var st=ot.property,lt=G||{editType:\"calc\"};\"\"!==n&&\"\"===st&&(w.isAddVal(O)?S[I]=null:w.isRemoveVal(O)?S[I]=(s(i,r).get()||[])[n]:o.warn(\"unrecognized full object value\",e)),A.update(_,lt),v[r]||(v[r]={});var ct=v[r][n];ct||(ct=v[r][n]={}),ct[st]=O,delete e[I]}else\"reverse\"===R?(V.range?V.range.reverse():(E(j+\".autorange\",!0),V.range=[1,0]),q.autorange?_.calc=!0:_.plot=!0):(l._has(\"scatter-like\")&&l._has(\"regl\")&&\"dragmode\"===I&&(\"lasso\"===O||\"select\"===O)&&\"lasso\"!==H&&\"select\"!==H||l._has(\"gl2d\")?_.plot=!0:G?A.update(_,G):_.calc=!0,z.set(O))}}for(r in v){w.applyContainerArrayChanges(t,f(i,r),v[r],_,f)||(_.plot=!0)}var ut=l._axisConstraintGroups||[];for(C in L)for(n=0;n<ut.length;n++){var ht=ut[n];if(ht[C])for(var ft in _.calc=!0,ht)L[ft]||(d.getFromId(t,ft)._constraintShrinkable=!0)}return(J(t)||e.height||e.width)&&(_.plot=!0),(_.plot||_.calc)&&(_.layoutReplot=!0),{flags:_,rangesAltered:L,undoit:S,redoit:k,eventData:m}}function J(t){var e=t._fullLayout,r=e.width,n=e.height;return t.layout.autosize&&f.plotAutoSize(t,t.layout,e),e.width!==r||e.height!==n}function K(t,e,n,a){if(t=o.getGraphDiv(t),T.clearPromiseQueue(t),t.framework&&t.framework.isPolar)return Promise.resolve(t);o.isPlainObject(e)||(e={}),o.isPlainObject(n)||(n={}),Object.keys(e).length&&(t.changed=!0),Object.keys(n).length&&(t.changed=!0);var i=T.coerceTraceIndices(t,a),s=V(t,o.extendFlat({},e),i),l=s.flags,u=X(t,o.extendFlat({},n)),h=u.flags;(l.calc||h.calc)&&(t.calcdata=void 0),l.clearAxisTypes&&T.clearAxisTypes(t,i,n);var p=[];h.layoutReplot?p.push(k.layoutReplot):l.fullReplot?p.push(r.plot):(p.push(f.previousPromises),H(t,h,u)||f.supplyDefaults(t),l.style&&p.push(k.doTraceStyle),(l.colorbars||h.colorbars)&&p.push(k.doColorBars),h.legend&&p.push(k.doLegend),h.layoutstyle&&p.push(k.layoutStyles),h.axrange&&G(p,u.rangesAltered),h.ticks&&p.push(k.doTicksRelayout),h.modebar&&p.push(k.doModeBar),h.camera&&p.push(k.doCamera),p.push(E)),p.push(f.rehover,f.redrag),c.add(t,K,[t,s.undoit,u.undoit,s.traces],K,[t,s.redoit,u.redoit,s.traces]);var d=o.syncOrAsync(p,t);return d&&d.then||(d=Promise.resolve(t)),d.then((function(){return t.emit(\"plotly_update\",{data:s.eventData,layout:u.eventData}),t}))}function Q(t){return function(e){e._fullLayout._guiEditing=!0;var r=t.apply(null,arguments);return e._fullLayout._guiEditing=!1,r}}var $=[{pattern:/^hiddenlabels/,attr:\"legend.uirevision\"},{pattern:/^((x|y)axis\\d*)\\.((auto)?range|title\\.text)/},{pattern:/axis\\d*\\.showspikes$/,attr:\"modebar.uirevision\"},{pattern:/(hover|drag)mode$/,attr:\"modebar.uirevision\"},{pattern:/^(scene\\d*)\\.camera/},{pattern:/^(geo\\d*)\\.(projection|center|fitbounds)/},{pattern:/^(ternary\\d*\\.[abc]axis)\\.(min|title\\.text)$/},{pattern:/^(polar\\d*\\.radialaxis)\\.((auto)?range|angle|title\\.text)/},{pattern:/^(polar\\d*\\.angularaxis)\\.rotation/},{pattern:/^(mapbox\\d*)\\.(center|zoom|bearing|pitch)/},{pattern:/^legend\\.(x|y)$/,attr:\"editrevision\"},{pattern:/^(shapes|annotations)/,attr:\"editrevision\"},{pattern:/^title\\.text$/,attr:\"editrevision\"}],tt=[{pattern:/^selectedpoints$/,attr:\"selectionrevision\"},{pattern:/(^|value\\.)visible$/,attr:\"legend.uirevision\"},{pattern:/^dimensions\\[\\d+\\]\\.constraintrange/},{pattern:/^node\\.(x|y|groups)/},{pattern:/^level$/},{pattern:/(^|value\\.)name$/},{pattern:/colorbar\\.title\\.text$/},{pattern:/colorbar\\.(x|y)$/,attr:\"editrevision\"}];function et(t,e){for(var r=0;r<e.length;r++){var n=e[r],a=t.match(n.pattern);if(a)return{head:a[1],attr:n.attr}}}function rt(t,e){var r=s(e,t).get();if(void 0!==r)return r;var n=t.split(\".\");for(n.pop();n.length>1;)if(n.pop(),void 0!==(r=s(e,n.join(\".\")+\".uirevision\").get()))return r;return e.uirevision}function nt(t,e){for(var r=0;r<e.length;r++)if(e[r]._fullInput.uid===t)return r;return-1}function at(t,e,r){for(var n=0;n<e.length;n++)if(e[n].uid===t)return n;return!e[r]||e[r].uid?-1:r}function it(t,e){var r=o.isPlainObject(t),n=Array.isArray(t);return r||n?(r&&o.isPlainObject(e)||n&&Array.isArray(e))&&JSON.stringify(t)===JSON.stringify(e):t===e}function ot(t,e,r,n){var a,i,l,c=n.getValObject,u=n.flags,h=n.immutable,f=n.inArray,p=n.arrayIndex;function d(){var t=a.editType;f&&-1!==t.indexOf(\"arraydraw\")?o.pushUnique(u.arrays[f],p):(A.update(u,a),\"none\"!==t&&u.nChanges++,n.transition&&a.anim&&u.nChangesAnim++,(Y.test(l)||W.test(l))&&(u.rangesAltered[r[0]]=1),Z.test(l)&&s(e,\"_inputDomain\").set(null),\"datarevision\"===i&&(u.newDataRevision=1))}function g(t){return\"data_array\"===t.valType||t.arrayOk}for(i in t){if(u.calc&&!n.transition)return;var m=t[i],v=e[i],y=r.concat(i);if(l=y.join(\".\"),\"_\"!==i.charAt(0)&&\"function\"!=typeof m&&m!==v){if((\"tick0\"===i||\"dtick\"===i)&&\"geo\"!==r[0]){var x=e.tickmode;if(\"auto\"===x||\"array\"===x||!x)continue}if((\"range\"!==i||!e.autorange)&&(\"zmin\"!==i&&\"zmax\"!==i||\"contourcarpet\"!==e.type)&&(a=c(y))&&(!a._compareAsJSON||JSON.stringify(m)!==JSON.stringify(v))){var b,_=a.valType,w=g(a),T=Array.isArray(m),k=Array.isArray(v);if(T&&k){var M=\"_input_\"+i,S=t[M],E=e[M];if(Array.isArray(S)&&S===E)continue}if(void 0===v)w&&T?u.calc=!0:d();else if(a._isLinkedToArray){var C=[],L=!1;f||(u.arrays[i]=C);var P=Math.min(m.length,v.length),I=Math.max(m.length,v.length);if(P!==I){if(\"arraydraw\"!==a.editType){d();continue}L=!0}for(b=0;b<P;b++)ot(m[b],v[b],y.concat(b),o.extendFlat({inArray:i,arrayIndex:b},n));if(L)for(b=P;b<I;b++)C.push(b)}else!_&&o.isPlainObject(m)?ot(m,v,y,n):w?T&&k?(h&&(u.calc=!0),(h||n.newDataRevision)&&d()):T!==k?u.calc=!0:d():T&&k&&m.length===v.length&&String(m)===String(v)||d()}}}for(i in e)if(!(i in t)&&\"_\"!==i.charAt(0)&&\"function\"!=typeof e[i]){if(g(a=c(r.concat(i)))&&Array.isArray(e[i]))return void(u.calc=!0);d()}}function st(t){var e=n.select(t),r=t._fullLayout;if(r._container=e.selectAll(\".plot-container\").data([0]),r._container.enter().insert(\"div\",\":first-child\").classed(\"plot-container\",!0).classed(\"plotly\",!0),r._paperdiv=r._container.selectAll(\".svg-container\").data([0]),r._paperdiv.enter().append(\"div\").classed(\"svg-container\",!0).style(\"position\",\"relative\"),r._glcontainer=r._paperdiv.selectAll(\".gl-container\").data([{}]),r._glcontainer.enter().append(\"div\").classed(\"gl-container\",!0),r._paperdiv.selectAll(\".main-svg\").remove(),r._paperdiv.select(\".modebar-container\").remove(),r._paper=r._paperdiv.insert(\"svg\",\":first-child\").classed(\"main-svg\",!0),r._toppaper=r._paperdiv.append(\"svg\").classed(\"main-svg\",!0),r._modebardiv=r._paperdiv.append(\"div\"),r._hoverpaper=r._paperdiv.append(\"svg\").classed(\"main-svg\",!0),!r._uid){var a={};n.selectAll(\"defs\").each((function(){this.id&&(a[this.id.split(\"-\")[1]]=1)})),r._uid=o.randstr(a)}r._paperdiv.selectAll(\".main-svg\").attr(y.svgAttrs),r._defs=r._paper.append(\"defs\").attr(\"id\",\"defs-\"+r._uid),r._clips=r._defs.append(\"g\").classed(\"clips\",!0),r._topdefs=r._toppaper.append(\"defs\").attr(\"id\",\"topdefs-\"+r._uid),r._topclips=r._topdefs.append(\"g\").classed(\"clips\",!0),r._bgLayer=r._paper.append(\"g\").classed(\"bglayer\",!0),r._draggers=r._paper.append(\"g\").classed(\"draglayer\",!0);var i=r._paper.append(\"g\").classed(\"layer-below\",!0);r._imageLowerLayer=i.append(\"g\").classed(\"imagelayer\",!0),r._shapeLowerLayer=i.append(\"g\").classed(\"shapelayer\",!0),r._cartesianlayer=r._paper.append(\"g\").classed(\"cartesianlayer\",!0),r._polarlayer=r._paper.append(\"g\").classed(\"polarlayer\",!0),r._ternarylayer=r._paper.append(\"g\").classed(\"ternarylayer\",!0),r._geolayer=r._paper.append(\"g\").classed(\"geolayer\",!0),r._funnelarealayer=r._paper.append(\"g\").classed(\"funnelarealayer\",!0),r._pielayer=r._paper.append(\"g\").classed(\"pielayer\",!0),r._treemaplayer=r._paper.append(\"g\").classed(\"treemaplayer\",!0),r._sunburstlayer=r._paper.append(\"g\").classed(\"sunburstlayer\",!0),r._indicatorlayer=r._toppaper.append(\"g\").classed(\"indicatorlayer\",!0),r._glimages=r._paper.append(\"g\").classed(\"glimages\",!0);var s=r._toppaper.append(\"g\").classed(\"layer-above\",!0);r._imageUpperLayer=s.append(\"g\").classed(\"imagelayer\",!0),r._shapeUpperLayer=s.append(\"g\").classed(\"shapelayer\",!0),r._infolayer=r._toppaper.append(\"g\").classed(\"infolayer\",!0),r._menulayer=r._toppaper.append(\"g\").classed(\"menulayer\",!0),r._zoomlayer=r._toppaper.append(\"g\").classed(\"zoomlayer\",!0),r._hoverlayer=r._hoverpaper.append(\"g\").classed(\"hoverlayer\",!0),r._modebardiv.classed(\"modebar-container\",!0).style(\"position\",\"absolute\").style(\"top\",\"0px\").style(\"right\",\"0px\"),t.emit(\"plotly_framework\")}r.animate=function(t,e,r){if(t=o.getGraphDiv(t),!o.isPlotDiv(t))throw new Error(\"This element is not a Plotly plot: \"+t+\". It's likely that you've failed to create a plot before animating it. For more details, see https://plotly.com/javascript/animations/\");var n=t._transitionData;n._frameQueue||(n._frameQueue=[]);var a=(r=f.supplyAnimationDefaults(r)).transition,i=r.frame;function s(t){return Array.isArray(a)?t>=a.length?a[0]:a[t]:a}function l(t){return Array.isArray(i)?t>=i.length?i[0]:i[t]:i}function c(t,e){var r=0;return function(){if(t&&++r===e)return t()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise((function(i,u){function h(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var e=n._currentFrame=n._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,n._lastFrameAt=Date.now(),n._timeToNext=e.frameOpts.duration,f.transition(t,e.frame.data,e.frame.layout,T.coerceTraceIndices(t,e.frame.traces),e.frameOpts,e.transitionOpts).then((function(){e.onComplete&&e.onComplete()})),t.emit(\"plotly_animatingframe\",{name:r,frame:e.frame,animation:{frame:e.frameOpts,transition:e.transitionOpts}})}else t.emit(\"plotly_animated\"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}function p(){t.emit(\"plotly_animating\"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var e=function(){n._animationRaf=window.requestAnimationFrame(e),Date.now()-n._lastFrameAt>n._timeToNext&&h()};e()}var d,g,m=0;function v(t){return Array.isArray(a)?m>=a.length?t.transitionOpts=a[m]:t.transitionOpts=a[0]:t.transitionOpts=a,m++,t}var y=[],x=null==e,b=Array.isArray(e);if(!x&&!b&&o.isPlainObject(e))y.push({type:\"object\",data:v(o.extendFlat({},e))});else if(x||-1!==[\"string\",\"number\"].indexOf(typeof e))for(d=0;d<n._frames.length;d++)(g=n._frames[d])&&(x||String(g.group)===String(e))&&y.push({type:\"byname\",name:String(g.name),data:v({name:g.name})});else if(b)for(d=0;d<e.length;d++){var _=e[d];-1!==[\"number\",\"string\"].indexOf(typeof _)?(_=String(_),y.push({type:\"byname\",name:_,data:v({name:_})})):o.isPlainObject(_)&&y.push({type:\"object\",data:v(o.extendFlat({},_))})}for(d=0;d<y.length;d++)if(\"byname\"===(g=y[d]).type&&!n._frameHash[g.data.name])return o.warn('animate failure: frame not found: \"'+g.data.name+'\"'),void u();-1!==[\"next\",\"immediate\"].indexOf(r.mode)&&function(){if(0!==n._frameQueue.length){for(;n._frameQueue.length;){var e=n._frameQueue.pop();e.onInterrupt&&e.onInterrupt()}t.emit(\"plotly_animationinterrupted\",[])}}(),\"reverse\"===r.direction&&y.reverse();var w=t._fullLayout._currentFrame;if(w&&r.fromcurrent){var k=-1;for(d=0;d<y.length;d++)if(\"byname\"===(g=y[d]).type&&g.name===w){k=d;break}if(k>0&&k<y.length-1){var A=[];for(d=0;d<y.length;d++)g=y[d],(\"byname\"!==y[d].type||d>k)&&A.push(g);y=A}}y.length>0?function(e){if(0!==e.length){for(var a=0;a<e.length;a++){var o;o=\"byname\"===e[a].type?f.computeFrame(t,e[a].name):e[a].data;var h=l(a),d=s(a);d.duration=Math.min(d.duration,h.duration);var g={frame:o,name:e[a].name,frameOpts:h,transitionOpts:d};a===e.length-1&&(g.onComplete=c(i,2),g.onInterrupt=u),n._frameQueue.push(g)}\"immediate\"===r.mode&&(n._lastFrameAt=-1/0),n._animationRaf||p()}}(y):(t.emit(\"plotly_animated\"),i())}))},r.addFrames=function(t,e,r){if(t=o.getGraphDiv(t),null==e)return Promise.resolve();if(!o.isPlotDiv(t))throw new Error(\"This element is not a Plotly plot: \"+t+\". It's likely that you've failed to create a plot before adding frames. For more details, see https://plotly.com/javascript/animations/\");var n,a,i,s,l=t._transitionData._frames,u=t._transitionData._frameHash;if(!Array.isArray(e))throw new Error(\"addFrames failure: frameList must be an Array of frame definitions\"+e);var h=l.length+2*e.length,p=[],d={};for(n=e.length-1;n>=0;n--)if(o.isPlainObject(e[n])){var g=e[n].name,m=(u[g]||d[g]||{}).name,v=e[n].name,y=u[m]||d[m];m&&v&&\"number\"==typeof v&&y&&S<5&&(S++,o.warn('addFrames: overwriting frame \"'+(u[m]||d[m]).name+'\" with a frame whose name of type \"number\" also equates to \"'+m+'\". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===S&&o.warn(\"addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.\")),d[g]={name:g},p.push({frame:f.supplyFrameDefaults(e[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:h+n})}p.sort((function(t,e){return t.index>e.index?-1:t.index<e.index?1:0}));var x=[],b=[],_=l.length;for(n=p.length-1;n>=0;n--){if(\"number\"==typeof(a=p[n].frame).name&&o.warn(\"Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings\"),!a.name)for(;u[a.name=\"frame \"+t._transitionData._counter++];);if(u[a.name]){for(i=0;i<l.length&&(l[i]||{}).name!==a.name;i++);x.push({type:\"replace\",index:i,value:a}),b.unshift({type:\"replace\",index:i,value:l[i]})}else s=Math.max(0,Math.min(p[n].index,_)),x.push({type:\"insert\",index:s,value:a}),b.unshift({type:\"delete\",index:s}),_++}var w=f.modifyFrames,T=f.modifyFrames,k=[t,b],A=[t,x];return c&&c.add(t,w,k,T,A),f.modifyFrames(t,x)},r.deleteFrames=function(t,e){if(t=o.getGraphDiv(t),!o.isPlotDiv(t))throw new Error(\"This element is not a Plotly plot: \"+t);var r,n,a=t._transitionData._frames,i=[],s=[];if(!e)for(e=[],r=0;r<a.length;r++)e.push(r);for((e=e.slice()).sort(),r=e.length-1;r>=0;r--)n=e[r],i.push({type:\"delete\",index:n}),s.unshift({type:\"insert\",index:n,value:a[n]});var l=f.modifyFrames,u=f.modifyFrames,h=[t,s],p=[t,i];return c&&c.add(t,l,h,u,p),f.modifyFrames(t,i)},r.addTraces=function t(e,n,a){e=o.getGraphDiv(e);var i,s,l=[],u=r.deleteTraces,h=t,f=[e,l],p=[e,n];for(function(t,e,r){var n,a;if(!Array.isArray(t.data))throw new Error(\"gd.data must be an array.\");if(\"undefined\"==typeof e)throw new Error(\"traces must be defined.\");for(Array.isArray(e)||(e=[e]),n=0;n<e.length;n++)if(\"object\"!=typeof(a=e[n])||Array.isArray(a)||null===a)throw new Error(\"all values in traces array must be non-array objects\");if(\"undefined\"==typeof r||Array.isArray(r)||(r=[r]),\"undefined\"!=typeof r&&r.length!==e.length)throw new Error(\"if indices is specified, traces.length must equal indices.length\")}(e,n,a),Array.isArray(n)||(n=[n]),n=n.map((function(t){return o.extendFlat({},t)})),T.cleanData(n),i=0;i<n.length;i++)e.data.push(n[i]);for(i=0;i<n.length;i++)l.push(-n.length+i);if(\"undefined\"==typeof a)return s=r.redraw(e),c.add(e,u,f,h,p),s;Array.isArray(a)||(a=[a]);try{O(e,l,a)}catch(t){throw e.data.splice(e.data.length-n.length,n.length),t}return c.startSequence(e),c.add(e,u,f,h,p),s=r.moveTraces(e,l,a),c.stopSequence(e),s},r.deleteTraces=function t(e,n){e=o.getGraphDiv(e);var a,i,s=[],l=r.addTraces,u=t,h=[e,s,n],f=[e,n];if(\"undefined\"==typeof n)throw new Error(\"indices must be an integer or array of integers.\");for(Array.isArray(n)||(n=[n]),z(e,n,\"indices\"),(n=I(n,e.data.length-1)).sort(o.sorterDes),a=0;a<n.length;a+=1)i=e.data.splice(n[a],1)[0],s.push(i);var p=r.redraw(e);return c.add(e,l,h,u,f),p},r.extendTraces=function t(e,n,a,i){function s(t,e,r){var n,a;if(o.isTypedArray(t))if(r<0){var i=new t.constructor(0),s=R(t,e);r<0?(n=s,a=i):(n=i,a=s)}else if(n=new t.constructor(r),a=new t.constructor(t.length+e.length-r),r===e.length)n.set(e),a.set(t);else if(r<e.length){var l=e.length-r;n.set(e.subarray(l)),a.set(t),a.set(e.subarray(0,l),t.length)}else{var c=r-e.length,u=t.length-c;n.set(t.subarray(u)),n.set(e,c),a.set(t.subarray(0,u))}else n=t.concat(e),a=r>=0&&r<n.length?n.splice(0,n.length-r):[];return[n,a]}var l=D(e=o.getGraphDiv(e),n,a,i,s),u=r.redraw(e),h=[e,l.update,a,l.maxPoints];return c.add(e,r.prependTraces,h,t,arguments),u},r.moveTraces=function t(e,n,a){var i,s=[],l=[],u=t,h=t,f=[e=o.getGraphDiv(e),a,n],p=[e,n,a];if(O(e,n,a),n=Array.isArray(n)?n:[n],\"undefined\"==typeof a)for(a=[],i=0;i<n.length;i++)a.push(-n.length+i);for(a=Array.isArray(a)?a:[a],n=I(n,e.data.length-1),a=I(a,e.data.length-1),i=0;i<e.data.length;i++)-1===n.indexOf(i)&&s.push(e.data[i]);for(i=0;i<n.length;i++)l.push({newIndex:a[i],trace:e.data[n[i]]});for(l.sort((function(t,e){return t.newIndex-e.newIndex})),i=0;i<l.length;i+=1)s.splice(l[i].newIndex,0,l[i].trace);e.data=s;var d=r.redraw(e);return c.add(e,u,f,h,p),d},r.prependTraces=function t(e,n,a,i){function s(t,e,r){var n,a;if(o.isTypedArray(t))if(r<=0){var i=new t.constructor(0),s=R(e,t);r<0?(n=s,a=i):(n=i,a=s)}else if(n=new t.constructor(r),a=new t.constructor(t.length+e.length-r),r===e.length)n.set(e),a.set(t);else if(r<e.length){var l=e.length-r;n.set(e.subarray(0,l)),a.set(e.subarray(l)),a.set(t,l)}else{var c=r-e.length;n.set(e),n.set(t.subarray(0,c),e.length),a.set(t.subarray(c))}else n=e.concat(t),a=r>=0&&r<n.length?n.splice(r,n.length):[];return[n,a]}var l=D(e=o.getGraphDiv(e),n,a,i,s),u=r.redraw(e),h=[e,l.update,a,l.maxPoints];return c.add(e,r.extendTraces,h,t,arguments),u},r.newPlot=function(t,e,n,a){return t=o.getGraphDiv(t),f.cleanPlot([],{},t._fullData||[],t._fullLayout||{}),f.purge(t),r.plot(t,e,n,a)},r.plot=function(t,e,a,i){var s;if(t=o.getGraphDiv(t),l.init(t),o.isPlainObject(e)){var c=e;e=c.data,a=c.layout,i=c.config,s=c.frames}if(!1===l.triggerHandler(t,\"plotly_beforeplot\",[e,a,i]))return Promise.reject();e||a||o.isPlotDiv(t)||o.warn(\"Calling Plotly.plot as if redrawing but this container doesn't yet have a plot.\",t),P(t,i),a||(a={}),n.select(t).classed(\"js-plotly-plot\",!0),g.makeTester(),Array.isArray(t._promises)||(t._promises=[]);var h=0===(t.data||[]).length&&Array.isArray(e);Array.isArray(e)&&(T.cleanData(e),h?t.data=e:t.data.push.apply(t.data,e),t.empty=!1),t.layout&&!h||(t.layout=T.cleanLayout(a)),f.supplyDefaults(t);var m=t._fullLayout,y=m._has(\"cartesian\");if(!m._has(\"polar\")&&e&&e[0]&&e[0].r)return o.log(\"Legacy polar charts are deprecated!\"),function(t,e,r){var a=n.select(t).selectAll(\".plot-container\").data([0]);a.enter().insert(\"div\",\":first-child\").classed(\"plot-container plotly\",!0);var i=a.selectAll(\".svg-container\").data([0]);i.enter().append(\"div\").classed(\"svg-container\",!0).style(\"position\",\"relative\"),i.html(\"\"),e&&(t.data=e);r&&(t.layout=r);p.manager.fillLayout(t),i.style({width:t._fullLayout.width+\"px\",height:t._fullLayout.height+\"px\"}),t.framework=p.manager.framework(t),t.framework({data:t.data,layout:t.layout},i.node()),t.framework.setUndoPoint();var s=t.framework.svg(),l=1,c=t._fullLayout.title?t._fullLayout.title.text:\"\";\"\"!==c&&c||(l=0);var u=function(){this.call(x.convertToTspans,t)},h=s.select(\".title-group text\").call(u);if(t._context.edits.titleText){var d=o._(t,\"Click to enter Plot title\");c&&c!==d||(l=.2,h.attr({\"data-unformatted\":d}).text(d).style({opacity:l}).on(\"mouseover.opacity\",(function(){n.select(this).transition().duration(100).style(\"opacity\",1)})).on(\"mouseout.opacity\",(function(){n.select(this).transition().duration(1e3).style(\"opacity\",0)})));var g=function(){this.call(x.makeEditable,{gd:t}).on(\"edit\",(function(e){t.framework({layout:{title:{text:e}}}),this.text(e).call(u),this.call(g)})).on(\"cancel\",(function(){var t=this.attr(\"data-unformatted\");this.text(t).call(u)}))};h.call(g)}return t._context.setBackground(t,t._fullLayout.paper_bgcolor),f.addLinks(t),Promise.resolve()}(t,e,a);m._replotting=!0,(h||m._shouldCreateBgLayer)&&(st(t),m._shouldCreateBgLayer&&delete m._shouldCreateBgLayer),t.framework!==st&&(t.framework=st,st(t)),g.initGradients(t),h&&d.saveShowSpikeInitial(t);var b=!t.calcdata||t.calcdata.length!==(t._fullData||[]).length;b&&f.doCalcdata(t);for(var _=0;_<t.calcdata.length;_++)t.calcdata[_][0].trace=t._fullData[_];t._context.responsive?t._responsiveChartHandler||(t._responsiveChartHandler=function(){o.isHidden(t)||f.resize(t)},window.addEventListener(\"resize\",t._responsiveChartHandler)):o.clearResponsive(t);var w=o.extendFlat({},m._size),A=0;function M(){if(f.clearAutoMarginIds(t),k.drawMarginPushers(t),d.allowAutoMargin(t),m._has(\"pie\"))for(var e=t._fullData,r=0;r<e.length;r++){var n=e[r];\"pie\"===n.type&&n.automargin&&f.allowAutoMargin(t,\"pie.\"+n.uid+\".automargin\")}return f.doAutoMargin(t),f.previousPromises(t)}function S(){t._transitioning||(k.doAutoRangeAndConstraints(t),h&&d.saveRangeInitial(t),u.getComponentMethod(\"rangeslider\",\"calcAutorange\")(t))}var C=[f.previousPromises,function(){if(s)return r.addFrames(t,s)},function e(){for(var r=m._basePlotModules,n=0;n<r.length;n++)r[n].drawFramework&&r[n].drawFramework(t);if(!m._glcanvas&&m._has(\"gl\")&&(m._glcanvas=m._glcontainer.selectAll(\".gl-canvas\").data([{key:\"contextLayer\",context:!0,pick:!1},{key:\"focusLayer\",context:!1,pick:!1},{key:\"pickLayer\",context:!1,pick:!0}],(function(t){return t.key})),m._glcanvas.enter().append(\"canvas\").attr(\"class\",(function(t){return\"gl-canvas gl-canvas-\"+t.key.replace(\"Layer\",\"\")})).style({position:\"absolute\",top:0,left:0,overflow:\"visible\",\"pointer-events\":\"none\"})),m._glcanvas){m._glcanvas.attr(\"width\",m.width).attr(\"height\",m.height);var a=m._glcanvas.data()[0].regl;if(a&&(Math.floor(m.width)!==a._gl.drawingBufferWidth||Math.floor(m.height)!==a._gl.drawingBufferHeight)){var i=\"WebGL context buffer and canvas dimensions do not match due to browser/WebGL bug.\";if(!A)return o.log(i+\" Clearing graph and plotting again.\"),f.cleanPlot([],{},t._fullData,m),f.supplyDefaults(t),m=t._fullLayout,f.doCalcdata(t),A++,e();o.error(i)}}return\"h\"===m.modebar.orientation?m._modebardiv.style(\"height\",null).style(\"width\",\"100%\"):m._modebardiv.style(\"width\",null).style(\"height\",m.height+\"px\"),f.previousPromises(t)},M,function(){if(f.didMarginChange(w,m._size))return o.syncOrAsync([M,k.layoutStyles],t)}];y&&C.push((function(){if(b)return o.syncOrAsync([u.getComponentMethod(\"shapes\",\"calcAutorange\"),u.getComponentMethod(\"annotations\",\"calcAutorange\"),S],t);S()})),C.push(k.layoutStyles),y&&C.push((function(){return d.draw(t,h?\"\":\"redraw\")})),C.push(k.drawData,k.finalDraw,v,f.addLinks,f.rehover,f.redrag,f.doAutoMargin,f.previousPromises);var L=o.syncOrAsync(C,t);return L&&L.then||(L=Promise.resolve()),L.then((function(){return E(t),t}))},r.purge=function(t){var e=(t=o.getGraphDiv(t))._fullLayout||{},r=t._fullData||[];return f.cleanPlot([],{},r,e),f.purge(t),l.purge(t),e._container&&e._container.remove(),delete t._context,t},r.react=function(t,e,n,a){var i,l;t=o.getGraphDiv(t),T.clearPromiseQueue(t);var c=t._fullData,p=t._fullLayout;if(o.isPlotDiv(t)&&c&&p){if(o.isPlainObject(e)){var d=e;e=d.data,n=d.layout,a=d.config,i=d.frames}var g=!1;if(a){var m=o.extendDeep({},t._context);t._context=void 0,P(t,a),g=function t(e,r){var n;for(n in e)if(\"_\"!==n.charAt(0)){var a=e[n],i=r[n];if(a!==i)if(o.isPlainObject(a)&&o.isPlainObject(i)){if(t(a,i))return!0}else{if(!Array.isArray(a)||!Array.isArray(i))return!0;if(a.length!==i.length)return!0;for(var s=0;s<a.length;s++)if(a[s]!==i[s]){if(!o.isPlainObject(a[s])||!o.isPlainObject(i[s]))return!0;if(t(a[s],i[s]))return!0}}}}(m,t._context)}t.data=e||[],T.cleanData(t.data),t.layout=n||{},T.cleanLayout(t.layout),function(t,e,r,n){var a,i,l,c,u,h,f,p,d=n._preGUI,g=[],m={};for(a in d){if(u=et(a,$)){if(i=u.attr||u.head+\".uirevision\",(c=(l=s(n,i).get())&&rt(i,e))&&c===l&&(null===(h=d[a])&&(h=void 0),it(p=(f=s(e,a)).get(),h))){void 0===p&&\"autorange\"===a.substr(a.length-9)&&g.push(a.substr(0,a.length-10)),f.set(B(s(n,a).get()));continue}}else o.warn(\"unrecognized GUI edit: \"+a);delete d[a],\"range[\"===a.substr(a.length-8,6)&&(m[a.substr(0,a.length-9)]=1)}for(var v=0;v<g.length;v++){var y=g[v];if(m[y]){var x=s(e,y).get();x&&delete x.autorange}}var b=n._tracePreGUI;for(var _ in b){var w,T=b[_],k=null;for(a in T){if(!k){var A=nt(_,r);if(A<0){delete b[_];break}var M=at(_,t,(w=r[A]._fullInput).index);if(M<0){delete b[_];break}k=t[M]}if(u=et(a,tt)){if(u.attr?c=(l=s(n,u.attr).get())&&rt(u.attr,e):(l=w.uirevision,void 0===(c=k.uirevision)&&(c=e.uirevision)),c&&c===l&&(null===(h=T[a])&&(h=void 0),it(p=(f=s(k,a)).get(),h))){f.set(B(s(w,a).get()));continue}}else o.warn(\"unrecognized GUI edit: \"+a+\" in trace uid \"+_);delete T[a]}}}(t.data,t.layout,c,p);for(var v=Object.getOwnPropertyNames(p),y=0;y<v.length;y++){var x=v[y],b=x.substring(0,5);if(\"xaxis\"===b||\"yaxis\"===b){var _=p[x]._emptyCategories;_&&_()}}f.supplyDefaults(t,{skipUpdateCalc:!0});var w=t._fullData,M=t._fullLayout,S=void 0===M.datarevision,C=M.transition,L=function(t,e,r,n,a){var i=A.layoutFlags();function o(t){return h.getLayoutValObject(r,t)}i.arrays={},i.rangesAltered={},i.nChanges=0,i.nChangesAnim=0,ot(e,r,[],{getValObject:o,flags:i,immutable:n,transition:a,gd:t}),(i.plot||i.calc)&&(i.layoutReplot=!0);a&&i.nChanges&&i.nChangesAnim&&(i.anim=i.nChanges===i.nChangesAnim?\"all\":\"some\");return i}(t,p,M,S,C),I=L.newDataRevision,z=function(t,e,r,n,a,i){var o=e.length===r.length;if(!a&&!o)return{fullReplot:!0,calc:!0};var s,l,c=A.traceFlags();c.arrays={},c.nChanges=0,c.nChangesAnim=0;var u={getValObject:function(t){var e=h.getTraceValObject(l,t);return!l._module.animatable&&e.anim&&(e.anim=!1),e},flags:c,immutable:n,transition:a,newDataRevision:i,gd:t},p={};for(s=0;s<e.length;s++)if(r[s]){if(l=r[s]._fullInput,f.hasMakesDataTransform(l)&&(l=r[s]),p[l.uid])continue;p[l.uid]=1,ot(e[s]._fullInput,l,[],u)}(c.calc||c.plot)&&(c.fullReplot=!0);a&&c.nChanges&&c.nChangesAnim&&(c.anim=c.nChanges===c.nChangesAnim&&o?\"all\":\"some\");return c}(t,c,w,S,C,I);J(t)&&(L.layoutReplot=!0),z.calc||L.calc?t.calcdata=void 0:f.supplyDefaultsUpdateCalc(t.calcdata,w);var O=[];if(i&&(t._transitionData={},f.createTransitionData(t),O.push((function(){return r.addFrames(t,i)}))),M.transition&&!g&&(z.anim||L.anim))f.doCalcdata(t),k.doAutoRangeAndConstraints(t),O.push((function(){return f.transitionFromReact(t,z,L,p)}));else if(z.fullReplot||L.layoutReplot||g)t._fullLayout._skipDefaults=!0,O.push(r.plot);else{for(var D in L.arrays){var R=L.arrays[D];if(R.length){var F=u.getComponentMethod(D,\"drawOne\");if(F!==o.noop)for(var N=0;N<R.length;N++)F(t,R[N]);else{var j=u.getComponentMethod(D,\"draw\");if(j===o.noop)throw new Error(\"cannot draw components: \"+D);j(t)}}}O.push(f.previousPromises),z.style&&O.push(k.doTraceStyle),(z.colorbars||L.colorbars)&&O.push(k.doColorBars),L.legend&&O.push(k.doLegend),L.layoutstyle&&O.push(k.layoutStyles),L.axrange&&G(O),L.ticks&&O.push(k.doTicksRelayout),L.modebar&&O.push(k.doModeBar),L.camera&&O.push(k.doCamera),O.push(E)}O.push(f.rehover,f.redrag),(l=o.syncOrAsync(O,t))&&l.then||(l=Promise.resolve(t))}else l=r.newPlot(t,e,n,a);return l.then((function(){return t.emit(\"plotly_react\",{data:e,layout:n}),t}))},r.redraw=function(t){if(t=o.getGraphDiv(t),!o.isPlotDiv(t))throw new Error(\"This element is not a Plotly plot: \"+t);return T.cleanData(t.data),T.cleanLayout(t.layout),t.calcdata=void 0,r.plot(t).then((function(){return t.emit(\"plotly_redraw\"),t}))},r.relayout=q,r.restyle=F,r.setPlotConfig=function(t){return o.extendFlat(_,t)},r.update=K,r._guiRelayout=Q(q),r._guiRestyle=Q(F),r._guiUpdate=Q(K),r._storeDirectGUIEdit=function(t,e,r){for(var n in r){j(n,s(t,n).get(),r[n],e)}}},{\"../components/color\":595,\"../components/drawing\":617,\"../constants/xmlns_namespaces\":705,\"../lib\":728,\"../lib/events\":718,\"../lib/queue\":743,\"../lib/svg_text_utils\":752,\"../plots/cartesian/axes\":776,\"../plots/cartesian/constants\":782,\"../plots/cartesian/graph_interact\":785,\"../plots/cartesian/select\":795,\"../plots/plots\":839,\"../plots/polar/legacy\":847,\"../registry\":859,\"./edit_types\":759,\"./helpers\":760,\"./manage_arrays\":762,\"./plot_config\":764,\"./plot_schema\":765,\"./subroutines\":767,d3:164,\"fast-isnumeric\":236,\"has-hover\":409}],764:[function(t,e,r){\"use strict\";var n={staticPlot:{valType:\"boolean\",dflt:!1},plotlyServerURL:{valType:\"string\",dflt:\"\"},editable:{valType:\"boolean\",dflt:!1},edits:{annotationPosition:{valType:\"boolean\",dflt:!1},annotationTail:{valType:\"boolean\",dflt:!1},annotationText:{valType:\"boolean\",dflt:!1},axisTitleText:{valType:\"boolean\",dflt:!1},colorbarPosition:{valType:\"boolean\",dflt:!1},colorbarTitleText:{valType:\"boolean\",dflt:!1},legendPosition:{valType:\"boolean\",dflt:!1},legendText:{valType:\"boolean\",dflt:!1},shapePosition:{valType:\"boolean\",dflt:!1},titleText:{valType:\"boolean\",dflt:!1}},autosizable:{valType:\"boolean\",dflt:!1},responsive:{valType:\"boolean\",dflt:!1},fillFrame:{valType:\"boolean\",dflt:!1},frameMargins:{valType:\"number\",dflt:0,min:0,max:.5},scrollZoom:{valType:\"flaglist\",flags:[\"cartesian\",\"gl3d\",\"geo\",\"mapbox\"],extras:[!0,!1],dflt:\"gl3d+geo+mapbox\"},doubleClick:{valType:\"enumerated\",values:[!1,\"reset\",\"autosize\",\"reset+autosize\"],dflt:\"reset+autosize\"},doubleClickDelay:{valType:\"number\",dflt:300,min:0},showAxisDragHandles:{valType:\"boolean\",dflt:!0},showAxisRangeEntryBoxes:{valType:\"boolean\",dflt:!0},showTips:{valType:\"boolean\",dflt:!0},showLink:{valType:\"boolean\",dflt:!1},linkText:{valType:\"string\",dflt:\"Edit chart\",noBlank:!0},sendData:{valType:\"boolean\",dflt:!0},showSources:{valType:\"any\",dflt:!1},displayModeBar:{valType:\"enumerated\",values:[\"hover\",!0,!1],dflt:\"hover\"},showSendToCloud:{valType:\"boolean\",dflt:!1},showEditInChartStudio:{valType:\"boolean\",dflt:!1},modeBarButtonsToRemove:{valType:\"any\",dflt:[]},modeBarButtonsToAdd:{valType:\"any\",dflt:[]},modeBarButtons:{valType:\"any\",dflt:!1},toImageButtonOptions:{valType:\"any\",dflt:{}},displaylogo:{valType:\"boolean\",dflt:!0},watermark:{valType:\"boolean\",dflt:!1},plotGlPixelRatio:{valType:\"number\",dflt:2,min:1,max:4},setBackground:{valType:\"any\",dflt:\"transparent\"},topojsonURL:{valType:\"string\",noBlank:!0,dflt:\"https://cdn.plot.ly/\"},mapboxAccessToken:{valType:\"string\",dflt:null},logging:{valType:\"integer\",min:0,max:2,dflt:1},notifyOnLogging:{valType:\"integer\",min:0,max:2,dflt:0},queueLength:{valType:\"integer\",min:0,dflt:0},globalTransforms:{valType:\"any\",dflt:[]},locale:{valType:\"string\",dflt:\"en-US\"},locales:{valType:\"any\",dflt:{}}},a={};!function t(e,r){for(var n in e){var a=e[n];a.valType?r[n]=a.dflt:(r[n]||(r[n]={}),t(a,r[n]))}}(n,a),e.exports={configAttributes:n,dfltConfig:a}},{}],765:[function(t,e,r){\"use strict\";var n=t(\"../registry\"),a=t(\"../lib\"),i=t(\"../plots/attributes\"),o=t(\"../plots/layout_attributes\"),s=t(\"../plots/frame_attributes\"),l=t(\"../plots/animation_attributes\"),c=t(\"./plot_config\").configAttributes,u=t(\"../plots/polar/legacy/area_attributes\"),h=t(\"../plots/polar/legacy/axis_attributes\"),f=t(\"./edit_types\"),p=a.extendFlat,d=a.extendDeepAll,g=a.isPlainObject,m=a.isArrayOrTypedArray,v=a.nestedProperty,y=a.valObjectMeta,x=[\"_isSubplotObj\",\"_isLinkedToArray\",\"_arrayAttrRegexps\",\"_deprecated\"];function b(t,e,r){if(!t)return!1;if(t._isLinkedToArray)if(_(e[r]))r++;else if(r<e.length)return!1;for(;r<e.length;r++){var n=t[e[r]];if(!g(n))break;if(t=n,r===e.length-1)break;if(t._isLinkedToArray){if(!_(e[++r]))return!1}else if(\"info_array\"===t.valType){var a=e[++r];if(!_(a))return!1;var i=t.items;if(Array.isArray(i)){if(a>=i.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!_(o))return!1;t=i[a][o]}else t=i[a]}else t=i}}return t}function _(t){return t===Math.round(t)&&t>=0}function w(){var t,e,r={};for(t in d(r,o),n.subplotsRegistry){if((e=n.subplotsRegistry[t]).layoutAttributes)if(Array.isArray(e.attr))for(var a=0;a<e.attr.length;a++)A(r,e,e.attr[a]);else A(r,e,\"subplot\"===e.attr?e.name:e.attr)}for(t in r=function(t){return p(t,{radialaxis:h.radialaxis,angularaxis:h.angularaxis}),p(t,h.layout),t}(r),n.componentsRegistry){var i=(e=n.componentsRegistry[t]).schema;if(i&&(i.subplots||i.layout)){var s=i.subplots;if(s&&s.xaxis&&!s.yaxis)for(var l in s.xaxis)delete r.yaxis[l]}else\"colorscale\"===e.name?d(r,e.layoutAttributes):e.layoutAttributes&&M(r,e.layoutAttributes,e.name)}return{layoutAttributes:k(r)}}function T(){var t={frames:d({},s)};return k(t),t.frames}function k(t){return function(t){r.crawl(t,(function(t,e,n){r.isValObject(t)?\"data_array\"===t.valType?(t.role=\"data\",n[e+\"src\"]={valType:\"string\",editType:\"none\"}):!0===t.arrayOk&&(n[e+\"src\"]={valType:\"string\",editType:\"none\"}):g(t)&&(t.role=\"object\")}))}(t),function(t){r.crawl(t,(function(t,e,r){if(t){var n=t._isLinkedToArray;n&&(delete t._isLinkedToArray,r[e]={items:{}},r[e].items[n]=t,r[e].role=\"object\")}}))}(t),function(t){!function t(e){for(var r in e)if(g(e[r]))t(e[r]);else if(Array.isArray(e[r]))for(var n=0;n<e[r].length;n++)t(e[r][n]);else e[r]instanceof RegExp&&(e[r]=e[r].toString())}(t)}(t),t}function A(t,e,r){var n=v(t,r),a=d({},e.layoutAttributes);a._isSubplotObj=!0,n.set(a)}function M(t,e,r){var n=v(t,r);n.set(d(n.get()||{},e))}r.IS_SUBPLOT_OBJ=\"_isSubplotObj\",r.IS_LINKED_TO_ARRAY=\"_isLinkedToArray\",r.DEPRECATED=\"_deprecated\",r.UNDERSCORE_ATTRS=x,r.get=function(){var t={};n.allTypes.concat(\"area\").forEach((function(e){t[e]=function(t){var e,a;\"area\"===t?(e={attributes:u},a={}):(e=n.modules[t]._module,a=e.basePlotModule);var o={type:null},s=d({},i),l=d({},e.attributes);r.crawl(l,(function(t,e,r,n,a){v(s,a).set(void 0),void 0===t&&v(l,a).set(void 0)})),d(o,s),n.traceIs(t,\"noOpacity\")&&delete o.opacity;n.traceIs(t,\"showLegend\")||(delete o.showlegend,delete o.legendgroup);n.traceIs(t,\"noHover\")&&(delete o.hoverinfo,delete o.hoverlabel);e.selectPoints||delete o.selectedpoints;d(o,l),a.attributes&&d(o,a.attributes);o.type=t;var c={meta:e.meta||{},categories:e.categories||{},animatable:Boolean(e.animatable),type:t,attributes:k(o)};if(e.layoutAttributes){var h={};d(h,e.layoutAttributes),c.layoutAttributes=k(h)}e.animatable||r.crawl(c,(function(t){r.isValObject(t)&&\"anim\"in t&&delete t.anim}));return c}(e)}));var e={};return Object.keys(n.transformsRegistry).forEach((function(t){e[t]=function(t){var e=n.transformsRegistry[t],r=d({},e.attributes);return Object.keys(n.componentsRegistry).forEach((function(e){var a=n.componentsRegistry[e];a.schema&&a.schema.transforms&&a.schema.transforms[t]&&Object.keys(a.schema.transforms[t]).forEach((function(e){M(r,a.schema.transforms[t][e],e)}))})),{attributes:k(r)}}(t)})),{defs:{valObjects:y,metaKeys:x.concat([\"description\",\"role\",\"editType\",\"impliedEdits\"]),editType:{traces:f.traces,layout:f.layout},impliedEdits:{}},traces:t,layout:w(),transforms:e,frames:T(),animation:k(l),config:k(c)}},r.crawl=function(t,e,n,a){var i=n||0;a=a||\"\",Object.keys(t).forEach((function(n){var o=t[n];if(-1===x.indexOf(n)){var s=(a?a+\".\":\"\")+n;e(o,n,t,i,s),r.isValObject(o)||g(o)&&\"impliedEdits\"!==n&&r.crawl(o,e,i+1,s)}}))},r.isValObject=function(t){return t&&void 0!==t.valType},r.findArrayAttributes=function(t){var e,n,a=[],o=[],s=[];function l(t,r,i,l){o=o.slice(0,l).concat([r]),s=s.slice(0,l).concat([t&&t._isLinkedToArray]),t&&(\"data_array\"===t.valType||!0===t.arrayOk)&&!(\"colorbar\"===o[l-1]&&(\"ticktext\"===r||\"tickvals\"===r))&&function t(e,r,i){var l=e[o[r]],c=i+o[r];if(r===o.length-1)m(l)&&a.push(n+c);else if(s[r]){if(Array.isArray(l))for(var u=0;u<l.length;u++)g(l[u])&&t(l[u],r+1,c+\"[\"+u+\"].\")}else g(l)&&t(l,r+1,c+\".\")}(e,0,\"\")}e=t,n=\"\",r.crawl(i,l),t._module&&t._module.attributes&&r.crawl(t._module.attributes,l);var c=t.transforms;if(c)for(var u=0;u<c.length;u++){var h=c[u],f=h._module;f&&(n=\"transforms[\"+u+\"].\",e=h,r.crawl(f.attributes,l))}return a},r.getTraceValObject=function(t,e){var r,a,o=e[0],s=1;if(\"transforms\"===o){if(1===e.length)return i.transforms;var l=t.transforms;if(!Array.isArray(l)||!l.length)return!1;var c=e[1];if(!_(c)||c>=l.length)return!1;a=(r=(n.transformsRegistry[l[c].type]||{}).attributes)&&r[e[2]],s=3}else if(\"area\"===t.type)a=u[o];else{var h=t._module;if(h||(h=(n.modules[t.type||i.type.dflt]||{})._module),!h)return!1;if(!(a=(r=h.attributes)&&r[o])){var f=h.basePlotModule;f&&f.attributes&&(a=f.attributes[o])}a||(a=i[o])}return b(a,e,s)},r.getLayoutValObject=function(t,e){return b(function(t,e){var r,a,i,s,l=t._basePlotModules;if(l){var c;for(r=0;r<l.length;r++){if((i=l[r]).attrRegex&&i.attrRegex.test(e)){if(i.layoutAttrOverrides)return i.layoutAttrOverrides;!c&&i.layoutAttributes&&(c=i.layoutAttributes)}var u=i.baseLayoutAttrOverrides;if(u&&e in u)return u[e]}if(c)return c}var f=t._modules;if(f)for(r=0;r<f.length;r++)if((s=f[r].layoutAttributes)&&e in s)return s[e];for(a in n.componentsRegistry){if(\"colorscale\"===(i=n.componentsRegistry[a]).name&&0===e.indexOf(\"coloraxis\"))return i.layoutAttributes[e];if(!i.schema&&e===i.name)return i.layoutAttributes}if(e in o)return o[e];if(\"radialaxis\"===e||\"angularaxis\"===e)return h[e];return h.layout[e]||!1}(t,e[0]),e,1)}},{\"../lib\":728,\"../plots/animation_attributes\":771,\"../plots/attributes\":773,\"../plots/frame_attributes\":805,\"../plots/layout_attributes\":830,\"../plots/polar/legacy/area_attributes\":845,\"../plots/polar/legacy/axis_attributes\":846,\"../registry\":859,\"./edit_types\":759,\"./plot_config\":764}],766:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),a=t(\"../plots/attributes\"),i={name:{valType:\"string\",editType:\"none\"}};function o(t){return t&&\"string\"==typeof t}function s(t){var e=t.length-1;return\"s\"!==t.charAt(e)&&n.warn(\"bad argument to arrayDefaultKey: \"+t),t.substr(0,t.length-1)+\"defaults\"}i.templateitemname={valType:\"string\",editType:\"calc\"},r.templatedArray=function(t,e){return e._isLinkedToArray=t,e.name=i.name,e.templateitemname=i.templateitemname,e},r.traceTemplater=function(t){var e,r,i={};for(e in t)r=t[e],Array.isArray(r)&&r.length&&(i[e]=0);return{newTrace:function(o){var s={type:e=n.coerce(o,{},a,\"type\"),_template:null};if(e in i){r=t[e];var l=i[e]%r.length;i[e]++,s._template=r[l]}return s}}},r.newContainer=function(t,e,r){var a=t._template,i=a&&(a[e]||r&&a[r]);return n.isPlainObject(i)||(i=null),t[e]={_template:i}},r.arrayTemplater=function(t,e,r){var n=t._template,a=n&&n[s(e)],i=n&&n[e];Array.isArray(i)&&i.length||(i=[]);var l={};return{newItem:function(t){var e={name:t.name,_input:t},n=e.templateitemname=t.templateitemname;if(!o(n))return e._template=a,e;for(var s=0;s<i.length;s++){var c=i[s];if(c.name===n)return l[n]=1,e._template=c,e}return e[r]=t[r]||!1,e._template=!1,e},defaultItems:function(){for(var t=[],e=0;e<i.length;e++){var r=i[e],n=r.name;if(o(n)&&!l[n]){var a={_template:r,name:n,_input:{_templateitemname:n}};a.templateitemname=r.templateitemname,t.push(a),l[n]=1}}return t}}},r.arrayDefaultKey=s,r.arrayEditor=function(t,e,r){var a=(n.nestedProperty(t,e).get()||[]).length,i=r._index,o=i>=a&&(r._input||{})._templateitemname;o&&(i=a);var s,l=e+\"[\"+i+\"]\";function c(){s={},o&&(s[l]={},s[l].templateitemname=o)}function u(t,e){o?n.nestedProperty(s[l],t).set(e):s[l+\".\"+t]=e}function h(){var t=s;return c(),t}return c(),{modifyBase:function(t,e){s[t]=e},modifyItem:u,getUpdateObj:h,applyUpdate:function(e,r){e&&u(e,r);var a=h();for(var i in a)n.nestedProperty(t,i).set(a[i])}}}},{\"../lib\":728,\"../plots/attributes\":773}],767:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../registry\"),i=t(\"../plots/plots\"),o=t(\"../lib\"),s=t(\"../lib/clear_gl_canvases\"),l=t(\"../components/color\"),c=t(\"../components/drawing\"),u=t(\"../components/titles\"),h=t(\"../components/modebar\"),f=t(\"../plots/cartesian/axes\"),p=t(\"../constants/alignment\"),d=t(\"../plots/cartesian/constraints\"),g=d.enforce,m=d.clean,v=t(\"../plots/cartesian/autorange\").doAutoRange;function y(t,e,r){for(var n=0;n<r.length;n++){var a=r[n][0],i=r[n][1];if(!(a[0]>=t[1]||a[1]<=t[0])&&(i[0]<e[1]&&i[1]>e[0]))return!0}return!1}function x(t){var e,a,s,u,d,g,m=t._fullLayout,v=m._size,x=v.p,_=f.list(t,\"\",!0);if(m._paperdiv.style({width:t._context.responsive&&m.autosize&&!t._context._hasZeroWidth&&!t.layout.width?\"100%\":m.width+\"px\",height:t._context.responsive&&m.autosize&&!t._context._hasZeroHeight&&!t.layout.height?\"100%\":m.height+\"px\"}).selectAll(\".main-svg\").call(c.setSize,m.width,m.height),t._context.setBackground(t,m.paper_bgcolor),r.drawMainTitle(t),h.manage(t),!m._has(\"cartesian\"))return i.previousPromises(t);function T(t,e,r){var n=t._lw/2;return\"x\"===t._id.charAt(0)?e?\"top\"===r?e._offset-x-n:e._offset+e._length+x+n:v.t+v.h*(1-(t.position||0))+n%1:e?\"right\"===r?e._offset+e._length+x+n:e._offset-x-n:v.l+v.w*(t.position||0)+n%1}for(e=0;e<_.length;e++){var k=(u=_[e])._anchorAxis;u._linepositions={},u._lw=c.crispRound(t,u.linewidth,1),u._mainLinePosition=T(u,k,u.side),u._mainMirrorPosition=u.mirror&&k?T(u,k,p.OPPOSITE_SIDE[u.side]):null}var A=[],M=[],S=[],E=1===l.opacity(m.paper_bgcolor)&&1===l.opacity(m.plot_bgcolor)&&m.paper_bgcolor===m.plot_bgcolor;for(a in m._plots)if((s=m._plots[a]).mainplot)s.bg&&s.bg.remove(),s.bg=void 0;else{var C=s.xaxis.domain,L=s.yaxis.domain,P=s.plotgroup;if(y(C,L,S)){var I=P.node(),z=s.bg=o.ensureSingle(P,\"rect\",\"bg\");I.insertBefore(z.node(),I.childNodes[0]),M.push(a)}else P.select(\"rect.bg\").remove(),S.push([C,L]),E||(A.push(a),M.push(a))}var O,D,R,F,B,N,j,V,U,q,H,G,Y,W=m._bgLayer.selectAll(\".bg\").data(A);for(W.enter().append(\"rect\").classed(\"bg\",!0),W.exit().remove(),W.each((function(t){m._plots[t].bg=n.select(this)})),e=0;e<M.length;e++)s=m._plots[M[e]],d=s.xaxis,g=s.yaxis,s.bg&&s.bg.call(c.setRect,d._offset-x,g._offset-x,d._length+2*x,g._length+2*x).call(l.fill,m.plot_bgcolor).style(\"stroke-width\",0);if(!m._hasOnlyLargeSploms)for(a in m._plots){s=m._plots[a],d=s.xaxis,g=s.yaxis;var Z,X,J=s.clipId=\"clip\"+m._uid+a+\"plot\",K=o.ensureSingleById(m._clips,\"clipPath\",J,(function(t){t.classed(\"plotclip\",!0).append(\"rect\")}));s.clipRect=K.select(\"rect\").attr({width:d._length,height:g._length}),c.setTranslate(s.plot,d._offset,g._offset),s._hasClipOnAxisFalse?(Z=null,X=J):(Z=J,X=null),c.setClipUrl(s.plot,Z,t),s.layerClipId=X}function Q(t){return\"M\"+O+\",\"+t+\"H\"+D}function $(t){return\"M\"+d._offset+\",\"+t+\"h\"+d._length}function tt(t){return\"M\"+t+\",\"+V+\"V\"+j}function et(t){return\"M\"+t+\",\"+g._offset+\"v\"+g._length}function rt(t,e,r){if(!t.showline||a!==t._mainSubplot)return\"\";if(!t._anchorAxis)return r(t._mainLinePosition);var n=e(t._mainLinePosition);return t.mirror&&(n+=e(t._mainMirrorPosition)),n}for(a in m._plots){s=m._plots[a],d=s.xaxis,g=s.yaxis;var nt=\"M0,0\";b(d,a)&&(B=w(d,\"left\",g,_),O=d._offset-(B?x+B:0),N=w(d,\"right\",g,_),D=d._offset+d._length+(N?x+N:0),R=T(d,g,\"bottom\"),F=T(d,g,\"top\"),!(Y=!d._anchorAxis||a!==d._mainSubplot)||\"allticks\"!==d.mirror&&\"all\"!==d.mirror||(d._linepositions[a]=[R,F]),nt=rt(d,Q,$),Y&&d.showline&&(\"all\"===d.mirror||\"allticks\"===d.mirror)&&(nt+=Q(R)+Q(F)),s.xlines.style(\"stroke-width\",d._lw+\"px\").call(l.stroke,d.showline?d.linecolor:\"rgba(0,0,0,0)\")),s.xlines.attr(\"d\",nt);var at=\"M0,0\";b(g,a)&&(H=w(g,\"bottom\",d,_),j=g._offset+g._length+(H?x:0),G=w(g,\"top\",d,_),V=g._offset-(G?x:0),U=T(g,d,\"left\"),q=T(g,d,\"right\"),!(Y=!g._anchorAxis||a!==g._mainSubplot)||\"allticks\"!==g.mirror&&\"all\"!==g.mirror||(g._linepositions[a]=[U,q]),at=rt(g,tt,et),Y&&g.showline&&(\"all\"===g.mirror||\"allticks\"===g.mirror)&&(at+=tt(U)+tt(q)),s.ylines.style(\"stroke-width\",g._lw+\"px\").call(l.stroke,g.showline?g.linecolor:\"rgba(0,0,0,0)\")),s.ylines.attr(\"d\",at)}return f.makeClipPaths(t),i.previousPromises(t)}function b(t,e){return(t.ticks||t.showline)&&(e===t._mainSubplot||\"all\"===t.mirror||\"allticks\"===t.mirror)}function _(t,e,r){if(!r.showline||!r._lw)return!1;if(\"all\"===r.mirror||\"allticks\"===r.mirror)return!0;var n=r._anchorAxis;if(!n)return!1;var a=p.FROM_BL[e];return r.side===e?n.domain[a]===t.domain[a]:r.mirror&&n.domain[1-a]===t.domain[1-a]}function w(t,e,r,n){if(_(t,e,r))return r._lw;for(var a=0;a<n.length;a++){var i=n[a];if(i._mainAxis===r._mainAxis&&_(t,e,i))return i._lw}return 0}function T(t,e){var r=t.title,n=t._size,a=0;switch(\"start\"===e?a=r.pad.l:\"end\"===e&&(a=-r.pad.r),r.xref){case\"paper\":return n.l+n.w*r.x+a;case\"container\":default:return t.width*r.x+a}}function k(t,e){var r=t.title,n=t._size,a=0;if(\"0em\"!==e&&e?e===p.CAP_SHIFT+\"em\"&&(a=r.pad.t):a=-r.pad.b,\"auto\"===r.y)return n.t/2;switch(r.yref){case\"paper\":return n.t+n.h-n.h*r.y+a;case\"container\":default:return t.height-t.height*r.y+a}}r.layoutStyles=function(t){return o.syncOrAsync([i.doAutoMargin,x],t)},r.drawMainTitle=function(t){var e=t._fullLayout,r=function(t){var e=t.title,r=\"middle\";o.isRightAnchor(e)?r=\"end\":o.isLeftAnchor(e)&&(r=\"start\");return r}(e),n=function(t){var e=t.title,r=\"0em\";o.isTopAnchor(e)?r=p.CAP_SHIFT+\"em\":o.isMiddleAnchor(e)&&(r=p.MID_SHIFT+\"em\");return r}(e);u.draw(t,\"gtitle\",{propContainer:e,propName:\"title.text\",placeholder:e._dfltTitle.plot,attributes:{x:T(e,r),y:k(e,n),\"text-anchor\":r,dy:n}})},r.doTraceStyle=function(t){var e,n=t.calcdata,o=[];for(e=0;e<n.length;e++){var l=n[e],c=l[0]||{},u=c.trace||{},h=u._module||{},f=h.arraysToCalcdata;f&&f(l,u);var p=h.editStyle;p&&o.push({fn:p,cd0:c})}if(o.length){for(e=0;e<o.length;e++){var d=o[e];d.fn(t,d.cd0)}s(t),r.redrawReglTraces(t)}return i.style(t),a.getComponentMethod(\"legend\",\"draw\")(t),i.previousPromises(t)},r.doColorBars=function(t){return a.getComponentMethod(\"colorbar\",\"draw\")(t),i.previousPromises(t)},r.layoutReplot=function(t){var e=t.layout;return t.layout=void 0,a.call(\"plot\",t,\"\",e)},r.doLegend=function(t){return a.getComponentMethod(\"legend\",\"draw\")(t),i.previousPromises(t)},r.doTicksRelayout=function(t){return f.draw(t,\"redraw\"),t._fullLayout._hasOnlyLargeSploms&&(a.subplotsRegistry.splom.updateGrid(t),s(t),r.redrawReglTraces(t)),r.drawMainTitle(t),i.previousPromises(t)},r.doModeBar=function(t){var e=t._fullLayout;h.manage(t);for(var r=0;r<e._basePlotModules.length;r++){var n=e._basePlotModules[r].updateFx;n&&n(t)}return i.previousPromises(t)},r.doCamera=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=0;n<r.length;n++){var a=e[r[n]];a._scene.setViewport(a)}},r.drawData=function(t){var e=t._fullLayout;s(t);for(var n=e._basePlotModules,o=0;o<n.length;o++)n[o].plot(t);return r.redrawReglTraces(t),i.style(t),a.getComponentMethod(\"shapes\",\"draw\")(t),a.getComponentMethod(\"annotations\",\"draw\")(t),a.getComponentMethod(\"images\",\"draw\")(t),e._replotting=!1,i.previousPromises(t)},r.redrawReglTraces=function(t){var e=t._fullLayout;if(e._has(\"regl\")){var r,n,a=t._fullData,i=[],s=[];for(e._hasOnlyLargeSploms&&e._splomGrid.draw(),r=0;r<a.length;r++){var l=a[r];!0===l.visible&&0!==l._length&&(\"splom\"===l.type?e._splomScenes[l.uid].draw():\"scattergl\"===l.type?o.pushUnique(i,l.xaxis+l.yaxis):\"scatterpolargl\"===l.type&&o.pushUnique(s,l.subplot))}for(r=0;r<i.length;r++)(n=e._plots[i[r]])._scene&&n._scene.draw();for(r=0;r<s.length;r++)(n=e[s[r]]._subplot)._scene&&n._scene.draw()}},r.doAutoRangeAndConstraints=function(t){for(var e,r,n=t._fullLayout,a=f.list(t,\"\",!0),i=n._axisMatchGroups||[],s={},l=0;l<a.length;l++)e=a[l],m(t,e),v(t,e),s[e._id]=1;g(t);t:for(var c=0;c<i.length;c++){var u,h=i[c],p=null;for(u in h)if(s[(e=f.getFromId(t,u))._id]){if(!1===e.autorange)continue t;r=o.simpleMap(e.range,e.r2l),p?p[0]<p[1]?(p[0]=Math.min(p[0],r[0]),p[1]=Math.max(p[1],r[1])):(p[0]=Math.max(p[0],r[0]),p[1]=Math.min(p[1],r[1])):p=r}for(u in h)(e=f.getFromId(t,u)).range=o.simpleMap(p,e.l2r),e._input.range=e.range.slice(),e.setScale()}},r.finalDraw=function(t){a.getComponentMethod(\"rangeslider\",\"draw\")(t),a.getComponentMethod(\"rangeselector\",\"draw\")(t)},r.drawMarginPushers=function(t){a.getComponentMethod(\"legend\",\"draw\")(t),a.getComponentMethod(\"rangeselector\",\"draw\")(t),a.getComponentMethod(\"sliders\",\"draw\")(t),a.getComponentMethod(\"updatemenus\",\"draw\")(t),a.getComponentMethod(\"colorbar\",\"draw\")(t)}},{\"../components/color\":595,\"../components/drawing\":617,\"../components/modebar\":655,\"../components/titles\":690,\"../constants/alignment\":697,\"../lib\":728,\"../lib/clear_gl_canvases\":713,\"../plots/cartesian/autorange\":775,\"../plots/cartesian/axes\":776,\"../plots/cartesian/constraints\":783,\"../plots/plots\":839,\"../registry\":859,d3:164}],768:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),a=n.isPlainObject,i=t(\"./plot_schema\"),o=t(\"../plots/plots\"),s=t(\"../plots/attributes\"),l=t(\"./plot_template\"),c=t(\"./plot_config\").dfltConfig;function u(t,e){t=n.extendDeep({},t);var r,i,o=Object.keys(t).sort();function s(e,r,n){if(a(r)&&a(e))u(e,r);else if(Array.isArray(r)&&Array.isArray(e)){var o=l.arrayTemplater({_template:t},n);for(i=0;i<r.length;i++){var s=r[i],c=o.newItem(s)._template;c&&u(c,s)}var h=o.defaultItems();for(i=0;i<h.length;i++)r.push(h[i]._template);for(i=0;i<r.length;i++)delete r[i].templateitemname}}for(r=0;r<o.length;r++){var c=o[r],f=t[c];if(c in e?s(f,e[c],c):e[c]=f,h(c)===c)for(var p in e){var d=h(p);p===d||d!==c||p in t||s(f,e[p],c)}}}function h(t){return t.replace(/[0-9]+$/,\"\")}function f(t,e,r,i,o){var s=o&&r(o);for(var c in t){var u=t[c],p=g(t,c,i),d=g(t,c,o),m=r(d);if(!m){var v=h(c);v!==c&&(m=r(d=g(t,v,o)))}if((!s||s!==m)&&!(!m||m._noTemplating||\"data_array\"===m.valType||m.arrayOk&&Array.isArray(u)))if(!m.valType&&a(u))f(u,e,r,p,d);else if(m._isLinkedToArray&&Array.isArray(u))for(var y=!1,x=0,b={},_=0;_<u.length;_++){var w=u[_];if(a(w)){var T=w.name;if(T)b[T]||(f(w,e,r,g(u,x,p),g(u,x,d)),x++,b[T]=1);else if(!y){var k=g(t,l.arrayDefaultKey(c),i),A=g(u,x,p);f(w,e,r,A,g(u,x,d));var M=n.nestedProperty(e,A);n.nestedProperty(e,k).set(M.get()),M.set(null),y=!0}}}else{n.nestedProperty(e,p).set(u)}}}function p(t,e){return i.getLayoutValObject(t,n.nestedProperty({},e).parts)}function d(t,e){return i.getTraceValObject(t,n.nestedProperty({},e).parts)}function g(t,e,r){return r?Array.isArray(t)?r+\"[\"+e+\"]\":r+\".\"+e:e}function m(t){for(var e=0;e<t.length;e++)if(a(t[e]))return!0}function v(t){var e;switch(t.code){case\"data\":e=\"The template has no key data.\";break;case\"layout\":e=\"The template has no key layout.\";break;case\"missing\":e=t.path?\"There are no templates for item \"+t.path+\" with name \"+t.templateitemname:\"There are no templates for trace \"+t.index+\", of type \"+t.traceType+\".\";break;case\"unused\":e=t.path?\"The template item at \"+t.path+\" was not used in constructing the plot.\":t.dataCount?\"Some of the templates of type \"+t.traceType+\" were not used. The template has \"+t.templateCount+\" traces, the data only has \"+t.dataCount+\" of this type.\":\"The template has \"+t.templateCount+\" traces of type \"+t.traceType+\" but there are none in the data.\";break;case\"reused\":e=\"Some of the templates of type \"+t.traceType+\" were used more than once. The template has \"+t.templateCount+\" traces, the data has \"+t.dataCount+\" of this type.\"}return t.msg=e,t}r.makeTemplate=function(t){t=n.isPlainObject(t)?t:n.getGraphDiv(t),t=n.extendDeep({_context:c},{data:t.data,layout:t.layout}),o.supplyDefaults(t);var e=t.data||[],r=t.layout||{};r._basePlotModules=t._fullLayout._basePlotModules,r._modules=t._fullLayout._modules;var i={data:{},layout:{}};e.forEach((function(t){var e={};f(t,e,d.bind(null,t));var r=n.coerce(t,{},s,\"type\"),a=i.data[r];a||(a=i.data[r]=[]),a.push(e)})),f(r,i.layout,p.bind(null,r)),delete i.layout.template;var l=r.template;if(a(l)){var h,g,m,v,y,x,b=l.layout;a(b)&&u(b,i.layout);var _=l.data;if(a(_)){for(g in i.data)if(m=_[g],Array.isArray(m)){for(x=(y=i.data[g]).length,v=m.length,h=0;h<x;h++)u(m[h%v],y[h]);for(h=x;h<v;h++)y.push(n.extendDeep({},m[h]))}for(g in _)g in i.data||(i.data[g]=n.extendDeep([],_[g]))}}return i},r.validateTemplate=function(t,e){var r=n.extendDeep({},{_context:c,data:t.data,layout:t.layout}),i=r.layout||{};a(e)||(e=i.template||{});var s=e.layout,l=e.data,u=[];r.layout=i,r.layout.template=e,o.supplyDefaults(r);var f=r._fullLayout,p=r._fullData,d={};if(a(s)?(!function t(e,r){for(var n in e)if(\"_\"!==n.charAt(0)&&a(e[n])){var i,o=h(n),s=[];for(i=0;i<r.length;i++)s.push(g(e,n,r[i])),o!==n&&s.push(g(e,o,r[i]));for(i=0;i<s.length;i++)d[s[i]]=1;t(e[n],s)}}(f,[\"layout\"]),function t(e,r){for(var n in e)if(-1===n.indexOf(\"defaults\")&&a(e[n])){var i=g(e,n,r);d[i]?t(e[n],i):u.push({code:\"unused\",path:i})}}(s,\"layout\")):u.push({code:\"layout\"}),a(l)){for(var y,x={},b=0;b<p.length;b++){var _=p[b];x[y=_.type]=(x[y]||0)+1,_._fullInput._template||u.push({code:\"missing\",index:_._fullInput.index,traceType:y})}for(y in l){var w=l[y].length,T=x[y]||0;w>T?u.push({code:\"unused\",traceType:y,templateCount:w,dataCount:T}):T>w&&u.push({code:\"reused\",traceType:y,templateCount:w,dataCount:T})}}else u.push({code:\"data\"});if(function t(e,r){for(var n in e)if(\"_\"!==n.charAt(0)){var i=e[n],o=g(e,n,r);a(i)?(Array.isArray(e)&&!1===i._template&&i.templateitemname&&u.push({code:\"missing\",path:o,templateitemname:i.templateitemname}),t(i,o)):Array.isArray(i)&&m(i)&&t(i,o)}}({data:p,layout:f},\"\"),u.length)return u.map(v)}},{\"../lib\":728,\"../plots/attributes\":773,\"../plots/plots\":839,\"./plot_config\":764,\"./plot_schema\":765,\"./plot_template\":766}],769:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"./plot_api\"),i=t(\"../plots/plots\"),o=t(\"../lib\"),s=t(\"../snapshot/helpers\"),l=t(\"../snapshot/tosvg\"),c=t(\"../snapshot/svgtoimg\"),u=t(\"../version\").version,h={format:{valType:\"enumerated\",values:[\"png\",\"jpeg\",\"webp\",\"svg\",\"full-json\"],dflt:\"png\"},width:{valType:\"number\",min:1},height:{valType:\"number\",min:1},scale:{valType:\"number\",min:0,dflt:1},setBackground:{valType:\"any\",dflt:!1},imageDataOnly:{valType:\"boolean\",dflt:!1}};e.exports=function(t,e){var r,f,p,d;function g(t){return!(t in e)||o.validate(e[t],h[t])}if(e=e||{},o.isPlainObject(t)?(r=t.data||[],f=t.layout||{},p=t.config||{},d={}):(t=o.getGraphDiv(t),r=o.extendDeep([],t.data),f=o.extendDeep({},t.layout),p=t._context,d=t._fullLayout||{}),!g(\"width\")&&null!==e.width||!g(\"height\")&&null!==e.height)throw new Error(\"Height and width should be pixel values.\");if(!g(\"format\"))throw new Error(\"Image format is not jpeg, png, svg or webp.\");var m={};function v(t,r){return o.coerce(e,m,h,t,r)}var y=v(\"format\"),x=v(\"width\"),b=v(\"height\"),_=v(\"scale\"),w=v(\"setBackground\"),T=v(\"imageDataOnly\"),k=document.createElement(\"div\");k.style.position=\"absolute\",k.style.left=\"-5000px\",document.body.appendChild(k);var A=o.extendFlat({},f);x?A.width=x:null===e.width&&n(d.width)&&(A.width=d.width),b?A.height=b:null===e.height&&n(d.height)&&(A.height=d.height);var M=o.extendFlat({},p,{_exportedPlot:!0,staticPlot:!0,setBackground:w}),S=s.getRedrawFunc(k);function E(){return new Promise((function(t){setTimeout(t,s.getDelay(k._fullLayout))}))}function C(){return new Promise((function(t,e){var r=l(k,y,_),n=k._fullLayout.width,h=k._fullLayout.height;function f(){a.purge(k),document.body.removeChild(k)}if(\"full-json\"===y){var p=i.graphJson(k,!1,\"keepdata\",\"object\",!0,!0);return p.version=u,p=JSON.stringify(p),f(),t(T?p:s.encodeJSON(p))}if(f(),\"svg\"===y)return t(T?r:s.encodeSVG(r));var d=document.createElement(\"canvas\");d.id=o.randstr(),c({format:y,width:n,height:h,scale:_,canvas:d,svg:r,promise:!0}).then(t).catch(e)}))}return new Promise((function(t,e){a.plot(k,r,A,M).then(S).then(E).then(C).then((function(e){t(function(t){return T?t.replace(s.IMAGE_URL_PREFIX,\"\"):t}(e))})).catch((function(t){e(t)}))}))}},{\"../lib\":728,\"../plots/plots\":839,\"../snapshot/helpers\":863,\"../snapshot/svgtoimg\":865,\"../snapshot/tosvg\":867,\"../version\":1316,\"./plot_api\":763,\"fast-isnumeric\":236}],770:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),a=t(\"../plots/plots\"),i=t(\"./plot_schema\"),o=t(\"./plot_config\").dfltConfig,s=n.isPlainObject,l=Array.isArray,c=n.isArrayOrTypedArray;function u(t,e,r,a,i,o){o=o||[];for(var h=Object.keys(t),f=0;f<h.length;f++){var p=h[f];if(\"transforms\"!==p){var v=o.slice();v.push(p);var y=t[p],x=e[p],b=m(r,p),_=(b||{}).valType,w=\"info_array\"===_,T=\"colorscale\"===_,k=(b||{}).items;if(g(r,p))if(s(y)&&s(x)&&\"any\"!==_)u(y,x,b,a,i,v);else if(w&&l(y)){y.length>x.length&&a.push(d(\"unused\",i,v.concat(x.length)));var A,M,S,E,C,L=x.length,P=Array.isArray(k);if(P&&(L=Math.min(L,k.length)),2===b.dimensions)for(M=0;M<L;M++)if(l(y[M])){y[M].length>x[M].length&&a.push(d(\"unused\",i,v.concat(M,x[M].length)));var I=x[M].length;for(A=0;A<(P?Math.min(I,k[M].length):I);A++)S=P?k[M][A]:k,E=y[M][A],C=x[M][A],n.validate(E,S)?C!==E&&C!==+E&&a.push(d(\"dynamic\",i,v.concat(M,A),E,C)):a.push(d(\"value\",i,v.concat(M,A),E))}else a.push(d(\"array\",i,v.concat(M),y[M]));else for(M=0;M<L;M++)S=P?k[M]:k,E=y[M],C=x[M],n.validate(E,S)?C!==E&&C!==+E&&a.push(d(\"dynamic\",i,v.concat(M),E,C)):a.push(d(\"value\",i,v.concat(M),E))}else if(b.items&&!w&&l(y)){var z,O,D=k[Object.keys(k)[0]],R=[];for(z=0;z<x.length;z++){var F=x[z]._index||z;if((O=v.slice()).push(F),s(y[F])&&s(x[z])){R.push(F);var B=y[F],N=x[z];s(B)&&!1!==B.visible&&!1===N.visible?a.push(d(\"invisible\",i,O)):u(B,N,D,a,i,O)}}for(z=0;z<y.length;z++)(O=v.slice()).push(z),s(y[z])?-1===R.indexOf(z)&&a.push(d(\"unused\",i,O)):a.push(d(\"object\",i,O,y[z]))}else!s(y)&&s(x)?a.push(d(\"object\",i,v,y)):c(y)||!c(x)||w||T?p in e?n.validate(y,b)?\"enumerated\"===b.valType&&(b.coerceNumber&&y!==+x||y!==x)&&a.push(d(\"dynamic\",i,v,y,x)):a.push(d(\"value\",i,v,y)):a.push(d(\"unused\",i,v,y)):a.push(d(\"array\",i,v,y));else a.push(d(\"schema\",i,v))}}return a}function h(t,e){for(var r=t.layout.layoutAttributes,a=0;a<e.length;a++){var i=e[a],o=t.traces[i.type],s=o.layoutAttributes;s&&(i.subplot?n.extendFlat(r[o.attributes.subplot.dflt],s):n.extendFlat(r,s))}return r}e.exports=function(t,e){void 0===t&&(t=[]),void 0===e&&(e={});var r,c,f=i.get(),p=[],g={_context:n.extendFlat({},o)};l(t)?(g.data=n.extendDeep([],t),r=t):(g.data=[],r=[],p.push(d(\"array\",\"data\"))),s(e)?(g.layout=n.extendDeep({},e),c=e):(g.layout={},c={},arguments.length>1&&p.push(d(\"object\",\"layout\"))),a.supplyDefaults(g);for(var m=g._fullData,v=r.length,y=0;y<v;y++){var x=r[y],b=[\"data\",y];if(s(x)){var _=m[y],w=_.type,T=f.traces[w].attributes;T.type={valType:\"enumerated\",values:[w]},!1===_.visible&&!1!==x.visible&&p.push(d(\"invisible\",b)),u(x,_,T,p,b);var k=x.transforms,A=_.transforms;if(k){l(k)||p.push(d(\"array\",b,[\"transforms\"])),b.push(\"transforms\");for(var M=0;M<k.length;M++){var S=[\"transforms\",M],E=k[M].type;if(s(k[M])){var C=f.transforms[E]?f.transforms[E].attributes:{};C.type={valType:\"enumerated\",values:Object.keys(f.transforms)},u(k[M],A[M],C,p,b,S)}else p.push(d(\"object\",b,S))}}}else p.push(d(\"object\",b))}var L=g._fullLayout,P=h(f,m);return u(c,L,P,p,\"layout\"),0===p.length?void 0:p};var f={object:function(t,e){return(\"layout\"===t&&\"\"===e?\"The layout argument\":\"data\"===t[0]&&\"\"===e?\"Trace \"+t[1]+\" in the data argument\":p(t)+\"key \"+e)+\" must be linked to an object container\"},array:function(t,e){return(\"data\"===t?\"The data argument\":p(t)+\"key \"+e)+\" must be linked to an array container\"},schema:function(t,e){return p(t)+\"key \"+e+\" is not part of the schema\"},unused:function(t,e,r){var n=s(r)?\"container\":\"key\";return p(t)+n+\" \"+e+\" did not get coerced\"},dynamic:function(t,e,r,n){return[p(t)+\"key\",e,\"(set to '\"+r+\"')\",\"got reset to\",\"'\"+n+\"'\",\"during defaults.\"].join(\" \")},invisible:function(t,e){return(e?p(t)+\"item \"+e:\"Trace \"+t[1])+\" got defaulted to be not visible\"},value:function(t,e,r){return[p(t)+\"key \"+e,\"is set to an invalid value (\"+r+\")\"].join(\" \")}};function p(t){return l(t)?\"In data trace \"+t[1]+\", \":\"In \"+t+\", \"}function d(t,e,r,a,i){var o,s;r=r||\"\",l(e)?(o=e[0],s=e[1]):(o=e,s=null);var c=function(t){if(!l(t))return String(t);for(var e=\"\",r=0;r<t.length;r++){var n=t[r];\"number\"==typeof n?e=e.substr(0,e.length-1)+\"[\"+n+\"]\":e+=n,r<t.length-1&&(e+=\".\")}return e}(r),u=f[t](e,c,a,i);return n.log(u),{code:t,container:o,trace:s,path:r,astr:c,msg:u}}function g(t,e){var r=y(e),n=r.keyMinusId,a=r.id;return!!(n in t&&t[n]._isSubplotObj&&a)||e in t}function m(t,e){return e in t?t[e]:t[y(e).keyMinusId]}var v=n.counterRegex(\"([a-z]+)\");function y(t){var e=t.match(v);return{keyMinusId:e&&e[1],id:e&&e[2]}}},{\"../lib\":728,\"../plots/plots\":839,\"./plot_config\":764,\"./plot_schema\":765}],771:[function(t,e,r){\"use strict\";e.exports={mode:{valType:\"enumerated\",dflt:\"afterall\",values:[\"immediate\",\"next\",\"afterall\"]},direction:{valType:\"enumerated\",values:[\"forward\",\"reverse\"],dflt:\"forward\"},fromcurrent:{valType:\"boolean\",dflt:!1},frame:{duration:{valType:\"number\",min:0,dflt:500},redraw:{valType:\"boolean\",dflt:!0}},transition:{duration:{valType:\"number\",min:0,dflt:500,editType:\"none\"},easing:{valType:\"enumerated\",dflt:\"cubic-in-out\",values:[\"linear\",\"quad\",\"cubic\",\"sin\",\"exp\",\"circle\",\"elastic\",\"back\",\"bounce\",\"linear-in\",\"quad-in\",\"cubic-in\",\"sin-in\",\"exp-in\",\"circle-in\",\"elastic-in\",\"back-in\",\"bounce-in\",\"linear-out\",\"quad-out\",\"cubic-out\",\"sin-out\",\"exp-out\",\"circle-out\",\"elastic-out\",\"back-out\",\"bounce-out\",\"linear-in-out\",\"quad-in-out\",\"cubic-in-out\",\"sin-in-out\",\"exp-in-out\",\"circle-in-out\",\"elastic-in-out\",\"back-in-out\",\"bounce-in-out\"],editType:\"none\"},ordering:{valType:\"enumerated\",values:[\"layout first\",\"traces first\"],dflt:\"layout first\",editType:\"none\"}}}},{}],772:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),a=t(\"../plot_api/plot_template\");e.exports=function(t,e,r){var i,o,s=r.name,l=r.inclusionAttr||\"visible\",c=e[s],u=n.isArrayOrTypedArray(t[s])?t[s]:[],h=e[s]=[],f=a.arrayTemplater(e,s,l);for(i=0;i<u.length;i++){var p=u[i];n.isPlainObject(p)?o=f.newItem(p):(o=f.newItem({}))[l]=!1,o._index=i,!1!==o[l]&&r.handleItemDefaults(p,o,e,r),h.push(o)}var d=f.defaultItems();for(i=0;i<d.length;i++)(o=d[i])._index=h.length,r.handleItemDefaults({},o,e,r,{}),h.push(o);if(n.isArrayOrTypedArray(c)){var g=Math.min(c.length,h.length);for(i=0;i<g;i++)n.relinkPrivateKeys(h[i],c[i])}return h}},{\"../lib\":728,\"../plot_api/plot_template\":766}],773:[function(t,e,r){\"use strict\";var n=t(\"../components/fx/attributes\");e.exports={type:{valType:\"enumerated\",values:[],dflt:\"scatter\",editType:\"calc+clearAxisTypes\",_noTemplating:!0},visible:{valType:\"enumerated\",values:[!0,!1,\"legendonly\"],dflt:!0,editType:\"calc\"},showlegend:{valType:\"boolean\",dflt:!0,editType:\"style\"},legendgroup:{valType:\"string\",dflt:\"\",editType:\"style\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"style\"},name:{valType:\"string\",editType:\"style\"},uid:{valType:\"string\",editType:\"plot\",anim:!0},ids:{valType:\"data_array\",editType:\"calc\",anim:!0},customdata:{valType:\"data_array\",editType:\"calc\"},meta:{valType:\"any\",arrayOk:!0,editType:\"plot\"},selectedpoints:{valType:\"any\",editType:\"calc\"},hoverinfo:{valType:\"flaglist\",flags:[\"x\",\"y\",\"z\",\"text\",\"name\"],extras:[\"all\",\"none\",\"skip\"],arrayOk:!0,dflt:\"all\",editType:\"none\"},hoverlabel:n.hoverlabel,stream:{token:{valType:\"string\",noBlank:!0,strict:!0,editType:\"calc\"},maxpoints:{valType:\"number\",min:0,max:1e4,dflt:500,editType:\"calc\"},editType:\"calc\"},transforms:{_isLinkedToArray:\"transform\",editType:\"calc\"},uirevision:{valType:\"any\",editType:\"none\"}}},{\"../components/fx/attributes\":626}],774:[function(t,e,r){\"use strict\";e.exports={xaxis:{valType:\"subplotid\",dflt:\"x\",editType:\"calc+clearAxisTypes\"},yaxis:{valType:\"subplotid\",dflt:\"y\",editType:\"calc+clearAxisTypes\"}}},{}],775:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"../../lib\"),i=t(\"../../constants/numerical\").FP_SAFE,o=t(\"../../registry\");function s(t,e){var r,n,i=[],o=l(e),s=c(t,e),u=s.min,h=s.max;if(0===u.length||0===h.length)return a.simpleMap(e.range,e.r2l);var f=u[0].val,p=h[0].val;for(r=1;r<u.length&&f===p;r++)f=Math.min(f,u[r].val);for(r=1;r<h.length&&f===p;r++)p=Math.max(p,h[r].val);var d=!1;if(e.range){var g=a.simpleMap(e.range,e.r2l);d=g[1]<g[0]}\"reversed\"===e.autorange&&(d=!0,e.autorange=!0);var m,v,y,x,b,_,w=e.rangemode,T=\"tozero\"===w,k=\"nonnegative\"===w,A=e._length,M=A/10,S=function(t,r){var n=0;if(e.rangebreaks)for(var a=e.locateBreaks(t,r),i=0;i<a.length;i++){var o=a[i];n+=o.max-o.min}return n},E=0;for(r=0;r<u.length;r++)for(m=u[r],n=0;n<h.length;n++)(_=(v=h[n]).val-m.val-S(m.val,v.val))>0&&((b=A-o(m)-o(v))>M?_/b>E&&(y=m,x=v,E=_/b):_/A>E&&(y={val:m.val,pad:0},x={val:v.val,pad:0},E=_/A));if(f===p){var C=f-1,L=f+1;if(T)if(0===f)i=[0,1];else{var P=(f>0?h:u).reduce((function(t,e){return Math.max(t,o(e))}),0),I=f/(1-Math.min(.5,P/A));i=f>0?[0,I]:[I,0]}else i=k?[Math.max(0,C),Math.max(1,L)]:[C,L]}else T?(y.val>=0&&(y={val:0,pad:0}),x.val<=0&&(x={val:0,pad:0})):k&&(y.val-E*o(y)<0&&(y={val:0,pad:0}),x.val<=0&&(x={val:1,pad:0})),E=(x.val-y.val-S(m.val,v.val))/(A-o(y)-o(x)),i=[y.val-E*o(y),x.val+E*o(x)];return d&&i.reverse(),a.simpleMap(i,e.l2r||Number)}function l(t){var e=t._length/20;return\"domain\"===t.constrain&&t._inputDomain&&(e*=(t._inputDomain[1]-t._inputDomain[0])/(t.domain[1]-t.domain[0])),function(t){return t.pad+(t.extrapad?e:0)}}function c(t,e){var r,n,a,i=e._id,o=t._fullData,s=t._fullLayout,l=[],c=[];function f(t,e){for(r=0;r<e.length;r++){var o=t[e[r]],s=(o._extremes||{})[i];if(!0===o.visible&&s){for(n=0;n<s.min.length;n++)a=s.min[n],u(l,a.val,a.pad,{extrapad:a.extrapad});for(n=0;n<s.max.length;n++)a=s.max[n],h(c,a.val,a.pad,{extrapad:a.extrapad})}}}return f(o,e._traceIndices),f(s.annotations||[],e._annIndices||[]),f(s.shapes||[],e._shapeIndices||[]),{min:l,max:c}}function u(t,e,r,n){f(t,e,r,n,d)}function h(t,e,r,n){f(t,e,r,n,g)}function f(t,e,r,n,a){for(var i=n.tozero,o=n.extrapad,s=!0,l=0;l<t.length&&s;l++){var c=t[l];if(a(c.val,e)&&c.pad>=r&&(c.extrapad||!o)){s=!1;break}a(e,c.val)&&c.pad<=r&&(o||!c.extrapad)&&(t.splice(l,1),l--)}if(s){var u=i&&0===e;t.push({val:e,pad:u?0:r,extrapad:!u&&o})}}function p(t){return n(t)&&Math.abs(t)<i}function d(t,e){return t<=e}function g(t,e){return t>=e}e.exports={getAutoRange:s,makePadFn:l,doAutoRange:function(t,e){if(e.setScale(),e.autorange){e.range=s(t,e),e._r=e.range.slice(),e._rl=a.simpleMap(e._r,e.r2l);var r=e._input,n={};n[e._attr+\".range\"]=e.range,n[e._attr+\".autorange\"]=e.autorange,o.call(\"_storeDirectGUIEdit\",t.layout,t._fullLayout._preGUI,n),r.range=e.range.slice(),r.autorange=e.autorange}var i=e._anchorAxis;if(i&&i.rangeslider){var l=i.rangeslider[e._name];l&&\"auto\"===l.rangemode&&(l.range=s(t,e)),i._input.rangeslider[e._name]=a.extendFlat({},l)}},findExtremes:function(t,e,r){r||(r={});t._m||t.setScale();var a,o,s,l,c,f,d,g,m,v=[],y=[],x=e.length,b=r.padded||!1,_=r.tozero&&(\"linear\"===t.type||\"-\"===t.type),w=\"log\"===t.type,T=!1,k=r.vpadLinearized||!1;function A(t){if(Array.isArray(t))return T=!0,function(e){return Math.max(Number(t[e]||0),0)};var e=Math.max(Number(t||0),0);return function(){return e}}var M=A((t._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),S=A((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),E=A(r.vpadplus||r.vpad),C=A(r.vpadminus||r.vpad);if(!T){if(g=1/0,m=-1/0,w)for(a=0;a<x;a++)(o=e[a])<g&&o>0&&(g=o),o>m&&o<i&&(m=o);else for(a=0;a<x;a++)(o=e[a])<g&&o>-i&&(g=o),o>m&&o<i&&(m=o);e=[g,m],x=2}var L={tozero:_,extrapad:b};function P(r){s=e[r],n(s)&&(f=M(r),d=S(r),k?(l=t.c2l(s)-C(r),c=t.c2l(s)+E(r)):(g=s-C(r),m=s+E(r),w&&g<m/10&&(g=m/10),l=t.c2l(g),c=t.c2l(m)),_&&(l=Math.min(0,l),c=Math.max(0,c)),p(l)&&u(v,l,d,L),p(c)&&h(y,c,f,L))}var I=Math.min(6,x);for(a=0;a<I;a++)P(a);for(a=x-1;a>=I;a--)P(a);return{min:v,max:y,opts:r}},concatExtremes:c}},{\"../../constants/numerical\":704,\"../../lib\":728,\"../../registry\":859,\"fast-isnumeric\":236}],776:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"fast-isnumeric\"),i=t(\"../../plots/plots\"),o=t(\"../../registry\"),s=t(\"../../lib\"),l=t(\"../../lib/svg_text_utils\"),c=t(\"../../components/titles\"),u=t(\"../../components/color\"),h=t(\"../../components/drawing\"),f=t(\"./layout_attributes\"),p=t(\"./clean_ticks\"),d=t(\"../../constants/numerical\"),g=d.ONEAVGYEAR,m=d.ONEAVGMONTH,v=d.ONEDAY,y=d.ONEHOUR,x=d.ONEMIN,b=d.ONESEC,_=d.MINUS_SIGN,w=d.BADNUM,T=t(\"../../constants/alignment\"),k=T.MID_SHIFT,A=T.CAP_SHIFT,M=T.LINE_SPACING,S=T.OPPOSITE_SIDE,E=e.exports={};E.setConvert=t(\"./set_convert\");var C=t(\"./axis_autotype\"),L=t(\"./axis_ids\");E.id2name=L.id2name,E.name2id=L.name2id,E.cleanId=L.cleanId,E.list=L.list,E.listIds=L.listIds,E.getFromId=L.getFromId,E.getFromTrace=L.getFromTrace;var P=t(\"./autorange\");E.getAutoRange=P.getAutoRange,E.findExtremes=P.findExtremes;function I(t){var e=1e-4*(t[1]-t[0]);return[t[0]-e,t[1]+e]}E.coerceRef=function(t,e,r,n,a,i){var o=n.charAt(n.length-1),l=r._fullLayout._subplots[o+\"axis\"],c=n+\"ref\",u={};return a||(a=l[0]||i),i||(i=a),u[c]={valType:\"enumerated\",values:l.concat(i?[i]:[]),dflt:a},s.coerce(t,e,u,c)},E.coercePosition=function(t,e,r,n,a,i){var o,l;if(\"paper\"===n||\"pixel\"===n)o=s.ensureNumber,l=r(a,i);else{var c=E.getFromId(e,n);l=r(a,i=c.fraction2r(i)),o=c.cleanPos}t[a]=o(l)},E.cleanPosition=function(t,e,r){return(\"paper\"===r||\"pixel\"===r?s.ensureNumber:E.getFromId(e,r).cleanPos)(t)},E.redrawComponents=function(t,e){e=e||E.listIds(t);var r=t._fullLayout;function n(n,a,i,s){for(var l=o.getComponentMethod(n,a),c={},u=0;u<e.length;u++)for(var h=r[E.id2name(e[u])][i],f=0;f<h.length;f++){var p=h[f];if(!c[p]&&(l(t,p),c[p]=1,s))return}}n(\"annotations\",\"drawOne\",\"_annIndices\"),n(\"shapes\",\"drawOne\",\"_shapeIndices\"),n(\"images\",\"draw\",\"_imgIndices\",!0)};var z=E.getDataConversions=function(t,e,r,n){var a,i=\"x\"===r||\"y\"===r||\"z\"===r?r:n;if(Array.isArray(i)){if(a={type:C(n),_categories:[]},E.setConvert(a),\"category\"===a.type)for(var o=0;o<n.length;o++)a.d2c(n[o])}else a=E.getFromTrace(t,e,i);return a?{d2c:a.d2c,c2d:a.c2d}:\"ids\"===i?{d2c:D,c2d:D}:{d2c:O,c2d:O}};function O(t){return+t}function D(t){return String(t)}E.getDataToCoordFunc=function(t,e,r,n){return z(t,e,r,n).d2c},E.counterLetter=function(t){var e=t.charAt(0);return\"x\"===e?\"y\":\"y\"===e?\"x\":void 0},E.minDtick=function(t,e,r,n){-1===[\"log\",\"category\",\"multicategory\"].indexOf(t.type)&&n?void 0===t._minDtick?(t._minDtick=e,t._forceTick0=r):t._minDtick&&((t._minDtick/e+1e-6)%1<2e-6&&((r-t._forceTick0)/e%1+1.000001)%1<2e-6?(t._minDtick=e,t._forceTick0=r):((e/t._minDtick+1e-6)%1>2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1>2e-6)&&(t._minDtick=0)):t._minDtick=0},E.saveRangeInitial=function(t,e){for(var r=E.list(t,\"\",!0),n=!1,a=0;a<r.length;a++){var i=r[a],o=void 0===i._rangeInitial,s=o||!(i.range[0]===i._rangeInitial[0]&&i.range[1]===i._rangeInitial[1]);(o&&!1===i.autorange||e&&s)&&(i._rangeInitial=i.range.slice(),n=!0)}return n},E.saveShowSpikeInitial=function(t,e){for(var r=E.list(t,\"\",!0),n=!1,a=\"on\",i=0;i<r.length;i++){var o=r[i],s=void 0===o._showSpikeInitial,l=s||!(o.showspikes===o._showspikes);(s||e&&l)&&(o._showSpikeInitial=o.showspikes,n=!0),\"on\"!==a||o.showspikes||(a=\"off\")}return t._fullLayout._cartesianSpikesEnabled=a,n},E.autoBin=function(t,e,r,n,i,o){var l,c=s.aggNums(Math.min,null,t),u=s.aggNums(Math.max,null,t);if(\"category\"===e.type||\"multicategory\"===e.type)return{start:c-.5,end:u+.5,size:Math.max(1,Math.round(o)||1),_dataSpan:u-c};if(i||(i=e.calendar),l=\"log\"===e.type?{type:\"linear\",range:[c,u]}:{type:e.type,range:s.simpleMap([c,u],e.c2r,0,i),calendar:i},E.setConvert(l),o=o&&p.dtick(o,l.type))l.dtick=o,l.tick0=p.tick0(void 0,l.type,i);else{var h;if(r)h=(u-c)/r;else{var f=s.distinctVals(t),d=Math.pow(10,Math.floor(Math.log(f.minDiff)/Math.LN10)),g=d*s.roundUp(f.minDiff/d,[.9,1.9,4.9,9.9],!0);h=Math.max(g,2*s.stdev(t)/Math.pow(t.length,n?.25:.4)),a(h)||(h=1)}E.autoTicks(l,h)}var m,y=l.dtick,x=E.tickIncrement(E.tickFirst(l),y,\"reverse\",i);if(\"number\"==typeof y)m=(x=function(t,e,r,n,i){var o=0,s=0,l=0,c=0;function u(e){return(1+100*(e-t)/r.dtick)%100<2}for(var h=0;h<e.length;h++)e[h]%1==0?l++:a(e[h])||c++,u(e[h])&&o++,u(e[h]+r.dtick/2)&&s++;var f=e.length-c;if(l===f&&\"date\"!==r.type)r.dtick<1?t=n-.5*r.dtick:(t-=.5)+r.dtick<n&&(t+=r.dtick);else if(s<.1*f&&(o>.3*f||u(n)||u(i))){var p=r.dtick/2;t+=t+p<n?p:-p}return t}(x,t,l,c,u))+(1+Math.floor((u-x)/y))*y;else for(\"M\"===l.dtick.charAt(0)&&(x=function(t,e,r,n,a){var i=s.findExactDates(e,a);if(i.exactDays>.8){var o=Number(r.substr(1));i.exactYears>.8&&o%12==0?t=E.tickIncrement(t,\"M6\",\"reverse\")+1.5*v:i.exactMonths>.8?t=E.tickIncrement(t,\"M1\",\"reverse\")+15.5*v:t-=v/2;var l=E.tickIncrement(t,r);if(l<=n)return l}return t}(x,t,y,c,i)),m=x,0;m<=u;)m=E.tickIncrement(m,y,!1,i);return{start:e.c2r(x,0,i),end:e.c2r(m,0,i),size:y,_dataSpan:u-c}},E.prepTicks=function(t,e){var r=s.simpleMap(t.range,t.r2l,void 0,void 0,e);if(\"auto\"===t.tickmode||!t.dtick){var n,a=t.nticks;a||(\"category\"===t.type||\"multicategory\"===t.type?(n=t.tickfont?1.2*(t.tickfont.size||12):15,a=t._length/n):(n=\"y\"===t._id.charAt(0)?40:80,a=s.constrain(t._length/n,4,9)+1),\"radialaxis\"===t._name&&(a*=2)),\"array\"===t.tickmode&&(a*=100),t._roughDTick=(Math.abs(r[1]-r[0])-(t._lBreaks||0))/a,E.autoTicks(t,t._roughDTick),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}t.tick0||(t.tick0=\"date\"===t.type?\"2000-01-01\":0),\"date\"===t.type&&t.dtick<.1&&(t.dtick=.1),H(t)},E.calcTicks=function(t,e){E.prepTicks(t,e);var r=s.simpleMap(t.range,t.r2l,void 0,void 0,e);if(\"array\"===t.tickmode)return function(t){var e=t.tickvals,r=t.ticktext,n=new Array(e.length),a=I(s.simpleMap(t.range,t.r2l)),i=Math.min(a[0],a[1]),o=Math.max(a[0],a[1]),l=0;Array.isArray(r)||(r=[]);var c=\"category\"===t.type?t.d2l_noadd:t.d2l;\"log\"===t.type&&\"L\"!==String(t.dtick).charAt(0)&&(t.dtick=\"L\"+Math.pow(10,Math.floor(Math.min(t.range[0],t.range[1]))-1));for(var u=0;u<e.length;u++){var h=c(e[u]);h>i&&h<o&&(void 0===r[u]?n[l]=E.tickText(t,h):n[l]=G(t,h,String(r[u])),l++)}l<e.length&&n.splice(l,e.length-l);t.rangebreaks&&(n=n.filter((function(e){return t.maskBreaks(e.x)!==w})));return n}(t);t._tmin=E.tickFirst(t,e);var n=I(r),i=n[0],o=n[1],l=r[1]<r[0];if(t._tmin<i!==l)return[];\"category\"!==t.type&&\"multicategory\"!==t.type||(o=l?Math.max(-.5,o):Math.min(t._categories.length-.5,o));var c,u=\"log\"===t.type&&!(a(t.dtick)||\"L\"===t.dtick.charAt(0));if(function(){var e=null,r=Math.max(1e3,t._length||0);c=[];for(var n=t._tmin;(l?n>=o:n<=o)&&!(c.length>r||n===e);n=E.tickIncrement(n,t.dtick,l,t.calendar)){e=n;var a=!1;u&&n!==(0|n)&&(a=!0),c.push({minor:a,value:n})}}(),t.rangebreaks){var h=c.length;if(h){var f=0;\"auto\"===t.tickmode&&(f=(\"y\"===t._id.charAt(0)?2:6)*(t.tickfont?t.tickfont.size:12));for(var p,d=[],g=l?1:-1,m=l?h-1:0,v=l?0:h-1;g*v<=g*m;v+=g){var y=c[v];if(t.maskBreaks(y.value)!==w||(y.value=lt(y.value,t),!t._rl||t._rl[0]!==y.value&&t._rl[1]!==y.value)){var x=t.c2p(y.value);x===p?d[d.length-1].value<y.value&&(d[d.length-1]=y):(void 0===p||Math.abs(x-p)>f)&&(p=x,d.push(y))}}c=d.reverse()}}st(t)&&360===Math.abs(r[1]-r[0])&&c.pop(),t._tmax=(c[c.length-1]||{}).value,t._prevDateHead=\"\",t._inCalcTicks=!0;for(var b=new Array(c.length),_=0;_<c.length;_++){var T=c[_].minor,k=c[_].value;b[_]=E.tickText(t,k,!1,T)}return t._inCalcTicks=!1,b};var R=[2,5,10],F=[1,2,3,6,12],B=[1,2,5,10,15,30],N=[1,2,3,7,14],j=[-.046,0,.301,.477,.602,.699,.778,.845,.903,.954,1],V=[-.301,0,.301,.699,1],U=[15,30,45,90,180];function q(t,e,r){return e*s.roundUp(t/e,r)}function H(t){var e=t.dtick;if(t._tickexponent=0,a(e)||\"string\"==typeof e||(e=1),\"category\"!==t.type&&\"multicategory\"!==t.type||(t._tickround=null),\"date\"===t.type){var r=t.r2l(t.tick0),n=t.l2r(r).replace(/(^-|i)/g,\"\"),i=n.length;if(\"M\"===String(e).charAt(0))i>10||\"01-01\"!==n.substr(5)?t._tickround=\"d\":t._tickround=+e.substr(1)%12==0?\"y\":\"m\";else if(e>=v&&i<=10||e>=15*v)t._tickround=\"d\";else if(e>=x&&i<=16||e>=y)t._tickround=\"M\";else if(e>=b&&i<=19||e>=x)t._tickround=\"S\";else{var o=t.l2r(r+e).replace(/^-/,\"\").length;t._tickround=Math.max(i,o)-20,t._tickround<0&&(t._tickround=4)}}else if(a(e)||\"L\"===e.charAt(0)){var s=t.range.map(t.r2d||Number);a(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var l=Math.max(Math.abs(s[0]),Math.abs(s[1])),c=Math.floor(Math.log(l)/Math.LN10+.01);Math.abs(c)>3&&(W(t.exponentformat)&&!Z(c)?t._tickexponent=3*Math.round((c-1)/3):t._tickexponent=c)}else t._tickround=null}function G(t,e,r){var n=t.tickfont||{};return{x:e,dx:0,dy:0,text:r||\"\",fontSize:n.size,font:n.family,fontColor:n.color}}E.autoTicks=function(t,e){var r;function n(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}if(\"date\"===t.type){t.tick0=s.dateTick0(t.calendar);var i=2*e;i>g?(e/=g,r=n(10),t.dtick=\"M\"+12*q(e,r,R)):i>m?(e/=m,t.dtick=\"M\"+q(e,1,F)):i>v?(t.dtick=q(e,v,t._hasDayOfWeekBreaks?[1,2,7,14]:N),t.tick0=s.dateTick0(t.calendar,!0)):i>y?t.dtick=q(e,y,F):i>x?t.dtick=q(e,x,B):i>b?t.dtick=q(e,b,B):(r=n(10),t.dtick=q(e,r,R))}else if(\"log\"===t.type){t.tick0=0;var o=s.simpleMap(t.range,t.r2l);if(e>.7)t.dtick=Math.ceil(e);else if(Math.abs(o[1]-o[0])<1){var l=1.5*Math.abs((o[1]-o[0])/e);e=Math.abs(Math.pow(10,o[1])-Math.pow(10,o[0]))/l,r=n(10),t.dtick=\"L\"+q(e,r,R)}else t.dtick=e>.3?\"D2\":\"D1\"}else\"category\"===t.type||\"multicategory\"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):st(t)?(t.tick0=0,r=1,t.dtick=q(e,r,U)):(t.tick0=0,r=n(10),t.dtick=q(e,r,R));if(0===t.dtick&&(t.dtick=1),!a(t.dtick)&&\"string\"!=typeof t.dtick){var c=t.dtick;throw t.dtick=1,\"ax.dtick error: \"+String(c)}},E.tickIncrement=function(t,e,r,i){var o=r?-1:1;if(a(e))return t+o*e;var l=e.charAt(0),c=o*Number(e.substr(1));if(\"M\"===l)return s.incrementMonth(t,c,i);if(\"L\"===l)return Math.log(Math.pow(10,t)+c)/Math.LN10;if(\"D\"===l){var u=\"D2\"===e?V:j,h=t+.01*o,f=s.roundUp(s.mod(h,1),u,r);return Math.floor(h)+Math.log(n.round(Math.pow(10,f),1))/Math.LN10}throw\"unrecognized dtick \"+String(e)},E.tickFirst=function(t,e){var r=t.r2l||Number,i=s.simpleMap(t.range,r,void 0,void 0,e),o=i[1]<i[0],l=o?Math.floor:Math.ceil,c=I(i)[0],u=t.dtick,h=r(t.tick0);if(a(u)){var f=l((c-h)/u)*u+h;return\"category\"!==t.type&&\"multicategory\"!==t.type||(f=s.constrain(f,0,t._categories.length-1)),f}var p=u.charAt(0),d=Number(u.substr(1));if(\"M\"===p){for(var g,m,v,y=0,x=h;y<10;){if(((g=E.tickIncrement(x,u,o,t.calendar))-c)*(x-c)<=0)return o?Math.min(x,g):Math.max(x,g);m=(c-(x+g)/2)/(g-x),v=p+(Math.abs(Math.round(m))||1)*d,x=E.tickIncrement(x,v,m<0?!o:o,t.calendar),y++}return s.error(\"tickFirst did not converge\",t),x}if(\"L\"===p)return Math.log(l((Math.pow(10,c)-h)/d)*d+h)/Math.LN10;if(\"D\"===p){var b=\"D2\"===u?V:j,_=s.roundUp(s.mod(c,1),b,o);return Math.floor(c)+Math.log(n.round(Math.pow(10,_),1))/Math.LN10}throw\"unrecognized dtick \"+String(u)},E.tickText=function(t,e,r,n){var i,o=G(t,e),l=\"array\"===t.tickmode,c=r||l,u=t.type,h=\"category\"===u?t.d2l_noadd:t.d2l;if(l&&Array.isArray(t.ticktext)){var f=s.simpleMap(t.range,t.r2l),p=(Math.abs(f[1]-f[0])-(t._lBreaks||0))/1e4;for(i=0;i<t.ticktext.length&&!(Math.abs(e-h(t.tickvals[i]))<p);i++);if(i<t.ticktext.length)return o.text=String(t.ticktext[i]),o}function d(n){if(void 0===n)return!0;if(r)return\"none\"===n;var a={first:t._tmin,last:t._tmax}[n];return\"all\"!==n&&e!==a}var g=r?\"never\":\"none\"!==t.exponentformat&&d(t.showexponent)?\"hide\":\"\";if(\"date\"===u?function(t,e,r,n){var i=t._tickround,o=r&&t.hoverformat||E.getTickFormat(t);n&&(i=a(i)?4:{y:\"m\",m:\"d\",d:\"M\",M:\"S\",S:4}[i]);var l,c=s.formatDate(e.x,o,i,t._dateFormat,t.calendar,t._extraFormat),u=c.indexOf(\"\\n\");-1!==u&&(l=c.substr(u+1),c=c.substr(0,u));n&&(\"00:00:00\"===c||\"00:00\"===c?(c=l,l=\"\"):8===c.length&&(c=c.replace(/:00$/,\"\")));l&&(r?\"d\"===i?c+=\", \"+l:c=l+(c?\", \"+c:\"\"):t._inCalcTicks&&l===t._prevDateHead||(c+=\"<br>\"+l,t._prevDateHead=l));e.text=c}(t,o,r,c):\"log\"===u?function(t,e,r,n,i){var o=t.dtick,l=e.x,c=t.tickformat,u=\"string\"==typeof o&&o.charAt(0);\"never\"===i&&(i=\"\");n&&\"L\"!==u&&(o=\"L3\",u=\"L\");if(c||\"L\"===u)e.text=X(Math.pow(10,l),t,i,n);else if(a(o)||\"D\"===u&&s.mod(l+.01,1)<.1){var h=Math.round(l),f=Math.abs(h),p=t.exponentformat;\"power\"===p||W(p)&&Z(h)?(e.text=0===h?1:1===h?\"10\":\"10<sup>\"+(h>1?\"\":_)+f+\"</sup>\",e.fontSize*=1.25):(\"e\"===p||\"E\"===p)&&f>2?e.text=\"1\"+p+(h>0?\"+\":_)+f:(e.text=X(Math.pow(10,l),t,\"\",\"fakehover\"),\"D1\"===o&&\"y\"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if(\"D\"!==u)throw\"unrecognized dtick \"+String(o);e.text=String(Math.round(Math.pow(10,s.mod(l,1)))),e.fontSize*=.75}if(\"D1\"===t.dtick){var d=String(e.text).charAt(0);\"0\"!==d&&\"1\"!==d||(\"y\"===t._id.charAt(0)?e.dx-=e.fontSize/4:(e.dy+=e.fontSize/2,e.dx+=(t.range[1]>t.range[0]?1:-1)*e.fontSize*(l<0?.5:.25)))}}(t,o,0,c,g):\"category\"===u?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r=\"\");e.text=String(r)}(t,o):\"multicategory\"===u?function(t,e,r){var n=Math.round(e.x),a=t._categories[n]||[],i=void 0===a[1]?\"\":String(a[1]),o=void 0===a[0]?\"\":String(a[0]);r?e.text=o+\" - \"+i:(e.text=i,e.text2=o)}(t,o,r):st(t)?function(t,e,r,n,a){if(\"radians\"!==t.thetaunit||r)e.text=X(e.x,t,a,n);else{var i=e.x/180;if(0===i)e.text=\"0\";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){for(var r=1;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,a=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/a),Math.round(r/a)]}(i);if(o[1]>=100)e.text=X(s.deg2rad(e.x),t,a,n);else{var l=e.x<0;1===o[1]?1===o[0]?e.text=\"\\u03c0\":e.text=o[0]+\"\\u03c0\":e.text=[\"<sup>\",o[0],\"</sup>\",\"\\u2044\",\"<sub>\",o[1],\"</sub>\",\"\\u03c0\"].join(\"\"),l&&(e.text=_+e.text)}}}}(t,o,r,c,g):function(t,e,r,n,a){\"never\"===a?a=\"\":\"all\"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(a=\"hide\");e.text=X(e.x,t,a,n)}(t,o,0,c,g),n||(t.tickprefix&&!d(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!d(t.showticksuffix)&&(o.text+=t.ticksuffix)),\"boundaries\"===t.tickson||t.showdividers){var m=function(e){var r=t.l2p(e);return r>=0&&r<=t._length?e:null};o.xbnd=[m(o.x-.5),m(o.x+t.dtick-.5)]}return o},E.hoverLabelText=function(t,e,r){if(r!==w&&r!==e)return E.hoverLabelText(t,e)+\" - \"+E.hoverLabelText(t,r);var n=\"log\"===t.type&&e<=0,a=E.tickText(t,t.c2l(n?-e:e),\"hover\").text;return n?0===e?\"0\":_+a:a};var Y=[\"f\",\"p\",\"n\",\"\\u03bc\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\"];function W(t){return\"SI\"===t||\"B\"===t}function Z(t){return t>14||t<-15}function X(t,e,r,n){var i=t<0,o=e._tickround,l=r||e.exponentformat||\"B\",c=e._tickexponent,u=E.getTickFormat(e),h=e.separatethousands;if(n){var f={exponentformat:l,dtick:\"none\"===e.showexponent?e.dtick:a(t)&&Math.abs(t)||1,range:\"none\"===e.showexponent?e.range.map(e.r2d):[0,t||1]};H(f),o=(Number(f._tickround)||0)+4,c=f._tickexponent,e.hoverformat&&(u=e.hoverformat)}if(u)return e._numFormat(u)(t).replace(/-/g,_);var p,d=Math.pow(10,-o)/2;if(\"none\"===l&&(c=0),(t=Math.abs(t))<d)t=\"0\",i=!1;else{if(t+=d,c&&(t*=Math.pow(10,-c),o+=c),0===o)t=String(Math.floor(t));else if(o<0){t=(t=String(Math.round(t))).substr(0,t.length+o);for(var g=o;g<0;g++)t+=\"0\"}else{var m=(t=String(t)).indexOf(\".\")+1;m&&(t=t.substr(0,m+o).replace(/\\.?0+$/,\"\"))}t=s.numSeparate(t,e._separators,h)}c&&\"hide\"!==l&&(W(l)&&Z(c)&&(l=\"power\"),p=c<0?_+-c:\"power\"!==l?\"+\"+c:String(c),\"e\"===l||\"E\"===l?t+=l+p:\"power\"===l?t+=\"\\xd710<sup>\"+p+\"</sup>\":\"B\"===l&&9===c?t+=\"B\":W(l)&&(t+=Y[c/3+5]));return i?_+t:t}function J(t,e){for(var r=[],n={},a=0;a<e.length;a++){var i=e[a];n[i.text2]?n[i.text2].push(i.x):n[i.text2]=[i.x]}for(var o in n)r.push(G(t,s.interp(n[o],.5),o));return r}function K(t){return[t.text,t.x,t.axInfo,t.font,t.fontSize,t.fontColor].join(\"_\")}function Q(t){var e=t.title.font.size,r=(t.title.text.match(l.BR_TAG_ALL)||[]).length;return t.title.hasOwnProperty(\"standoff\")?r?e*(A+r*M):e*A:r?e*(r+1)*M:e}function $(t,e){var r=t.l2p(e);return r>1&&r<t._length-1}function tt(t){var e=n.select(t),r=e.select(\".text-math-group\");return r.empty()?e.select(\"text\"):r}function et(t){return t._id+\".automargin\"}function rt(t){return et(t)+\".mirror\"}function nt(t){return t._id+\".rangeslider\"}function at(t,e){for(var r=0;r<e.length;r++)-1===t.indexOf(e[r])&&t.push(e[r])}function it(t,e,r){var n,a,i=[],o=[],l=t.layout;for(n=0;n<e.length;n++)i.push(E.getFromId(t,e[n]));for(n=0;n<r.length;n++)o.push(E.getFromId(t,r[n]));var c=Object.keys(f),u=[\"anchor\",\"domain\",\"overlaying\",\"position\",\"side\",\"tickangle\",\"editType\"],h=[\"linear\",\"log\"];for(n=0;n<c.length;n++){var p=c[n],d=i[0][p],g=o[0][p],m=!0,v=!1,y=!1;if(\"_\"!==p.charAt(0)&&\"function\"!=typeof d&&-1===u.indexOf(p)){for(a=1;a<i.length&&m;a++){var x=i[a][p];\"type\"===p&&-1!==h.indexOf(d)&&-1!==h.indexOf(x)&&d!==x?v=!0:x!==d&&(m=!1)}for(a=1;a<o.length&&m;a++){var b=o[a][p];\"type\"===p&&-1!==h.indexOf(g)&&-1!==h.indexOf(b)&&g!==b?y=!0:o[a][p]!==g&&(m=!1)}m&&(v&&(l[i[0]._name].type=\"linear\"),y&&(l[o[0]._name].type=\"linear\"),ot(l,p,i,o,t._fullLayout._dfltTitle))}}for(n=0;n<t._fullLayout.annotations.length;n++){var _=t._fullLayout.annotations[n];-1!==e.indexOf(_.xref)&&-1!==r.indexOf(_.yref)&&s.swapAttrs(l.annotations[n],[\"?\"])}}function ot(t,e,r,n,a){var i,o=s.nestedProperty,l=o(t[r[0]._name],e).get(),c=o(t[n[0]._name],e).get();for(\"title\"===e&&(l&&l.text===a.x&&(l.text=a.y),c&&c.text===a.y&&(c.text=a.x)),i=0;i<r.length;i++)o(t,r[i]._name+\".\"+e).set(c);for(i=0;i<n.length;i++)o(t,n[i]._name+\".\"+e).set(l)}function st(t){return\"angularaxis\"===t._id}function lt(t,e){for(var r=e._rangebreaks.length,n=0;n<r;n++){var a=e._rangebreaks[n];if(t>=a.min&&t<a.max)return a.max}return t}E.getTickFormat=function(t){var e,r,n,a,i,o,s,l;function c(t){return\"string\"!=typeof t?t:Number(t.replace(\"M\",\"\"))*m}function u(t,e){var r=[\"L\",\"D\"];if(typeof t==typeof e){if(\"number\"==typeof t)return t-e;var n=r.indexOf(t.charAt(0)),a=r.indexOf(e.charAt(0));return n===a?Number(t.replace(/(L|D)/g,\"\"))-Number(e.replace(/(L|D)/g,\"\")):n-a}return\"number\"==typeof t?1:-1}function h(t,e){var r=null===e[0],n=null===e[1],a=u(t,e[0])>=0,i=u(t,e[1])<=0;return(r||a)&&(n||i)}if(t.tickformatstops&&t.tickformatstops.length>0)switch(t.type){case\"date\":case\"linear\":for(e=0;e<t.tickformatstops.length;e++)if((n=t.tickformatstops[e]).enabled&&(a=t.dtick,i=n.dtickrange,o=void 0,s=void 0,l=void 0,o=c||function(t){return t},s=i[0],l=i[1],(!s&&\"number\"!=typeof s||o(s)<=o(a))&&(!l&&\"number\"!=typeof l||o(l)>=o(a)))){r=n;break}break;case\"log\":for(e=0;e<t.tickformatstops.length;e++)if((n=t.tickformatstops[e]).enabled&&h(t.dtick,n.dtickrange)){r=n;break}}return r?r.value:t.tickformat},E.getSubplots=function(t,e){var r=t._fullLayout._subplots,n=r.cartesian.concat(r.gl2d||[]),a=e?E.findSubplotsWithAxis(n,e):n;return a.sort((function(t,e){var r=t.substr(1).split(\"y\"),n=e.substr(1).split(\"y\");return r[0]===n[0]?+r[1]-+n[1]:+r[0]-+n[0]})),a},E.findSubplotsWithAxis=function(t,e){for(var r=new RegExp(\"x\"===e._id.charAt(0)?\"^\"+e._id+\"y\":e._id+\"$\"),n=[],a=0;a<t.length;a++){var i=t[a];r.test(i)&&n.push(i)}return n},E.makeClipPaths=function(t){var e=t._fullLayout;if(!e._hasOnlyLargeSploms){var r,a,i={_offset:0,_length:e.width,_id:\"\"},o={_offset:0,_length:e.height,_id:\"\"},s=E.list(t,\"x\",!0),l=E.list(t,\"y\",!0),c=[];for(r=0;r<s.length;r++)for(c.push({x:s[r],y:o}),a=0;a<l.length;a++)0===r&&c.push({x:i,y:l[a]}),c.push({x:s[r],y:l[a]});var u=e._clips.selectAll(\".axesclip\").data(c,(function(t){return t.x._id+t.y._id}));u.enter().append(\"clipPath\").classed(\"axesclip\",!0).attr(\"id\",(function(t){return\"clip\"+e._uid+t.x._id+t.y._id})).append(\"rect\"),u.exit().remove(),u.each((function(t){n.select(this).select(\"rect\").attr({x:t.x._offset||0,y:t.y._offset||0,width:t.x._length||1,height:t.y._length||1})}))}},E.draw=function(t,e,r){var n=t._fullLayout;\"redraw\"===e&&n._paper.selectAll(\"g.subplot\").each((function(t){var e=t[0],r=n._plots[e],a=r.xaxis,i=r.yaxis;r.xaxislayer.selectAll(\".\"+a._id+\"tick\").remove(),r.yaxislayer.selectAll(\".\"+i._id+\"tick\").remove(),r.xaxislayer.selectAll(\".\"+a._id+\"tick2\").remove(),r.yaxislayer.selectAll(\".\"+i._id+\"tick2\").remove(),r.xaxislayer.selectAll(\".\"+a._id+\"divider\").remove(),r.yaxislayer.selectAll(\".\"+i._id+\"divider\").remove(),r.gridlayer&&r.gridlayer.selectAll(\"path\").remove(),r.zerolinelayer&&r.zerolinelayer.selectAll(\"path\").remove(),n._infolayer.select(\".g-\"+a._id+\"title\").remove(),n._infolayer.select(\".g-\"+i._id+\"title\").remove()}));var a=e&&\"redraw\"!==e?e:E.listIds(t);return s.syncOrAsync(a.map((function(e){return function(){if(e){var n=E.getFromId(t,e),a=E.drawOne(t,n,r);return n._r=n.range.slice(),n._rl=s.simpleMap(n._r,n.r2l),a}}})))},E.drawOne=function(t,e,r){var n,a,l;r=r||{},e.setScale();var f=t._fullLayout,p=e._id,d=p.charAt(0),g=E.counterLetter(p),m=f._plots[e._mainSubplot];if(m){var v=m[d+\"axislayer\"],y=e._mainLinePosition,x=e._mainMirrorPosition,b=e._vals=E.calcTicks(e),_=[e.mirror,y,x].join(\"_\");for(n=0;n<b.length;n++)b[n].axInfo=_;e._selections={},e._tickAngles&&(e._prevTickAngles=e._tickAngles),e._tickAngles={},e._depth=null;var w={};if(e.visible){var T,k,A=E.makeTransFn(e);if(\"boundaries\"===e.tickson){var C=function(t,e){var r,n=[],a=function(t,e){var r=t.xbnd[e];null!==r&&n.push(s.extendFlat({},t,{x:r}))};if(e.length){for(r=0;r<e.length;r++)a(e[r],0);a(e[r-1],1)}return n}(0,b);k=E.clipEnds(e,C),T=\"inside\"===e.ticks?k:C}else k=E.clipEnds(e,b),T=\"inside\"===e.ticks?k:b;var L=e._gridVals=k,P=function(t,e){var r,n,a=[],i=e.length&&e[e.length-1].x<e[0].x,o=function(t,e){var r=t.xbnd[e];null!==r&&a.push(s.extendFlat({},t,{x:r}))};if(t.showdividers&&e.length){for(r=0;r<e.length;r++){var l=e[r];l.text2!==n&&o(l,i?1:0),n=l.text2}o(e[r-1],i?0:1)}return a}(e,b);if(!f._hasOnlyLargeSploms){var I=e._subplotsWith,z={};for(n=0;n<I.length;n++){a=I[n];var O=(l=f._plots[a])[g+\"axis\"],D=O._mainAxis._id;if(!z[D]){z[D]=1;var R=\"x\"===d?\"M0,\"+O._offset+\"v\"+O._length:\"M\"+O._offset+\",0h\"+O._length;E.drawGrid(t,e,{vals:L,counterAxis:O,layer:l.gridlayer.select(\".\"+p),path:R,transFn:A}),E.drawZeroLine(t,e,{counterAxis:O,layer:l.zerolinelayer,path:R,transFn:A})}}}var F=E.getTickSigns(e),B=[];if(e.ticks){var N,j,V,U=E.makeTickPath(e,y,F[2]);if(e._anchorAxis&&e.mirror&&!0!==e.mirror?(N=E.makeTickPath(e,x,F[3]),j=U+N):(N=\"\",j=U),e.showdividers&&\"outside\"===e.ticks&&\"boundaries\"===e.tickson){var q={};for(n=0;n<P.length;n++)q[P[n].x]=1;V=function(t){return q[t.x]?N:j}}else V=j;E.drawTicks(t,e,{vals:T,layer:v,path:V,transFn:A}),\"allticks\"===e.mirror&&(B=Object.keys(e._linepositions||{}))}for(n=0;n<B.length;n++){a=B[n],l=f._plots[a];var H=e._linepositions[a]||[],G=E.makeTickPath(e,H[0],F[0])+E.makeTickPath(e,H[1],F[1]);E.drawTicks(t,e,{vals:T,layer:l[d+\"axislayer\"],path:G,transFn:A})}var Y=[];if(Y.push((function(){return E.drawLabels(t,e,{vals:b,layer:v,transFn:A,labelFns:E.makeLabelFns(e,y)})})),\"multicategory\"===e.type){var W={x:2,y:10}[d];Y.push((function(){var r={x:\"height\",y:\"width\"}[d],n=X()[r]+W+(e._tickAngles[p+\"tick\"]?e.tickfont.size*M:0);return E.drawLabels(t,e,{vals:J(e,b),layer:v,cls:p+\"tick2\",repositionOnUpdate:!0,secondary:!0,transFn:A,labelFns:E.makeLabelFns(e,y+n*F[4])})})),Y.push((function(){return e._depth=F[4]*(X(\"tick2\")[e.side]-y),function(t,e,r){var n=e._id+\"divider\",a=r.vals,i=r.layer.selectAll(\"path.\"+n).data(a,K);i.exit().remove(),i.enter().insert(\"path\",\":first-child\").classed(n,1).classed(\"crisp\",1).call(u.stroke,e.dividercolor).style(\"stroke-width\",h.crispRound(t,e.dividerwidth,1)+\"px\"),i.attr(\"transform\",r.transFn).attr(\"d\",r.path)}(t,e,{vals:P,layer:v,path:E.makeTickPath(e,y,F[4],e._depth),transFn:A})}))}else e.title.hasOwnProperty(\"standoff\")&&Y.push((function(){e._depth=F[4]*(X()[e.side]-y)}));var Z=o.getComponentMethod(\"rangeslider\",\"isVisible\")(e);return Y.push((function(){var r,n,a,s,l=e.side.charAt(0),c=S[e.side].charAt(0),u=E.getPxPosition(t,e),h=\"outside\"===e.ticks?e.ticklen:0;if((e.automargin||Z)&&(\"multicategory\"===e.type?r=X(\"tick2\"):(r=X(),\"x\"===d&&\"b\"===l&&(e._depth=Math.max(r.width>0?r.bottom-u:0,h)))),e.automargin){n={x:0,y:0,r:0,l:0,t:0,b:0};var p=[0,1];if(\"x\"===d){if(\"b\"===l?n[l]=e._depth:(n[l]=e._depth=Math.max(r.width>0?u-r.top:0,h),p.reverse()),r.width>0){var m=r.right-(e._offset+e._length);m>0&&(n.xr=1,n.r=m);var v=e._offset-r.left;v>0&&(n.xl=0,n.l=v)}}else if(\"l\"===l?n[l]=e._depth=Math.max(r.height>0?u-r.left:0,h):(n[l]=e._depth=Math.max(r.height>0?r.right-u:0,h),p.reverse()),r.height>0){var y=r.bottom-(e._offset+e._length);y>0&&(n.yb=0,n.b=y);var x=e._offset-r.top;x>0&&(n.yt=1,n.t=x)}n[g]=\"free\"===e.anchor?e.position:e._anchorAxis.domain[p[0]],e.title.text!==f._dfltTitle[d]&&(n[l]+=Q(e)+(e.title.standoff||0)),e.mirror&&\"free\"!==e.anchor&&((a={x:0,y:0,r:0,l:0,t:0,b:0})[c]=e.linewidth,e.mirror&&!0!==e.mirror&&(a[c]+=h),!0===e.mirror||\"ticks\"===e.mirror?a[g]=e._anchorAxis.domain[p[1]]:\"all\"!==e.mirror&&\"allticks\"!==e.mirror||(a[g]=[e._counterDomainMin,e._counterDomainMax][p[1]]))}Z&&(s=o.getComponentMethod(\"rangeslider\",\"autoMarginOpts\")(t,e)),i.autoMargin(t,et(e),n),i.autoMargin(t,rt(e),a),i.autoMargin(t,nt(e),s)})),r.skipTitle||Z&&\"bottom\"===e.side||Y.push((function(){return function(t,e){var r,n=t._fullLayout,a=e._id,i=a.charAt(0),o=e.title.font.size;if(e.title.hasOwnProperty(\"standoff\"))r=e._depth+e.title.standoff+Q(e);else{if(\"multicategory\"===e.type)r=e._depth;else{r=10+1.5*o+(e.linewidth?e.linewidth-1:0)}r+=\"x\"===i?\"top\"===e.side?o*(e.showticklabels?1:0):o*(e.showticklabels?1.5:.5):\"right\"===e.side?o*(e.showticklabels?1:.5):o*(e.showticklabels?.5:0)}var s,l,u,f,p=E.getPxPosition(t,e);\"x\"===i?(l=e._offset+e._length/2,u=\"top\"===e.side?p-r:p+r):(u=e._offset+e._length/2,l=\"right\"===e.side?p+r:p-r,s={rotate:\"-90\",offset:0});if(\"multicategory\"!==e.type){var d=e._selections[e._id+\"tick\"];if(f={selection:d,side:e.side},d&&d.node()&&d.node().parentNode){var g=h.getTranslate(d.node().parentNode);f.offsetLeft=g.x,f.offsetTop=g.y}e.title.hasOwnProperty(\"standoff\")&&(f.pad=0)}return c.draw(t,a+\"title\",{propContainer:e,propName:e._name+\".title.text\",placeholder:n._dfltTitle[i],avoid:f,transform:s,attributes:{x:l,y:u,\"text-anchor\":\"middle\"}})}(t,e)})),s.syncOrAsync(Y)}}function X(t){var r=p+(t||\"tick\");return w[r]||(w[r]=function(t,e){var r,n,a,i;t._selections[e].size()?(r=1/0,n=-1/0,a=1/0,i=-1/0,t._selections[e].each((function(){var t=tt(this),e=h.bBox(t.node().parentNode);r=Math.min(r,e.top),n=Math.max(n,e.bottom),a=Math.min(a,e.left),i=Math.max(i,e.right)}))):(r=0,n=0,a=0,i=0);return{top:r,bottom:n,left:a,right:i,height:n-r,width:i-a}}(e,r)),w[r]}},E.getTickSigns=function(t){var e=t._id.charAt(0),r={x:\"top\",y:\"right\"}[e],n=t.side===r?1:-1,a=[-1,1,n,-n];return\"inside\"!==t.ticks==(\"x\"===e)&&(a=a.map((function(t){return-t}))),t.side&&a.push({l:-1,t:-1,r:1,b:1}[t.side.charAt(0)]),a},E.makeTransFn=function(t){var e=t._id.charAt(0),r=t._offset;return\"x\"===e?function(e){return\"translate(\"+(r+t.l2p(e.x))+\",0)\"}:function(e){return\"translate(0,\"+(r+t.l2p(e.x))+\")\"}},E.makeTickPath=function(t,e,r,n){n=void 0!==n?n:t.ticklen;var a=t._id.charAt(0),i=(t.linewidth||1)/2;return\"x\"===a?\"M0,\"+(e+i*r)+\"v\"+n*r:\"M\"+(e+i*r)+\",0h\"+n*r},E.makeLabelFns=function(t,e,r){var n=t._id.charAt(0),i=\"boundaries\"!==t.tickson&&\"outside\"===t.ticks,o=0,l=0;if(i&&(o+=t.ticklen),r&&\"outside\"===t.ticks){var c=s.deg2rad(r);o=t.ticklen*Math.cos(c)+1,l=t.ticklen*Math.sin(c)}t.showticklabels&&(i||t.showline)&&(o+=.2*t.tickfont.size);var u,h,f,p,d={labelStandoff:o+=(t.linewidth||1)/2,labelShift:l};return\"x\"===n?(p=\"bottom\"===t.side?1:-1,u=l*p,h=e+o*p,f=\"bottom\"===t.side?1:-.2,d.xFn=function(t){return t.dx+u},d.yFn=function(t){return t.dy+h+t.fontSize*f},d.anchorFn=function(t,e){return a(e)&&0!==e&&180!==e?e*p<0?\"end\":\"start\":\"middle\"},d.heightFn=function(e,r,n){return r<-60||r>60?-.5*n:\"top\"===t.side?-n:0}):\"y\"===n&&(p=\"right\"===t.side?1:-1,u=o,h=-l*p,f=90===Math.abs(t.tickangle)?.5:0,d.xFn=function(t){return t.dx+e+(u+t.fontSize*f)*p},d.yFn=function(t){return t.dy+h+t.fontSize*k},d.anchorFn=function(e,r){return a(r)&&90===Math.abs(r)?\"middle\":\"right\"===t.side?\"start\":\"end\"},d.heightFn=function(e,r,n){return(r*=\"left\"===t.side?1:-1)<-30?-n:r<30?-.5*n:0}),d},E.drawTicks=function(t,e,r){r=r||{};var n=e._id+\"tick\",a=r.layer.selectAll(\"path.\"+n).data(e.ticks?r.vals:[],K);a.exit().remove(),a.enter().append(\"path\").classed(n,1).classed(\"ticks\",1).classed(\"crisp\",!1!==r.crisp).call(u.stroke,e.tickcolor).style(\"stroke-width\",h.crispRound(t,e.tickwidth,1)+\"px\").attr(\"d\",r.path),a.attr(\"transform\",r.transFn)},E.drawGrid=function(t,e,r){r=r||{};var n=e._id+\"grid\",a=r.vals,i=r.counterAxis;if(!1===e.showgrid)a=[];else if(i&&E.shouldShowZeroLine(t,e,i))for(var o=\"array\"===e.tickmode,s=0;s<a.length;s++){var l=a[s].x;if(o?!l:Math.abs(l)<e.dtick/100){if(a=a.slice(0,s).concat(a.slice(s+1)),!o)break;s--}}var c=r.layer.selectAll(\"path.\"+n).data(a,K);c.exit().remove(),c.enter().append(\"path\").classed(n,1).classed(\"crisp\",!1!==r.crisp),e._gw=h.crispRound(t,e.gridwidth,1),c.attr(\"transform\",r.transFn).attr(\"d\",r.path).call(u.stroke,e.gridcolor||\"#ddd\").style(\"stroke-width\",e._gw+\"px\"),\"function\"==typeof r.path&&c.attr(\"d\",r.path)},E.drawZeroLine=function(t,e,r){r=r||r;var n=e._id+\"zl\",a=E.shouldShowZeroLine(t,e,r.counterAxis),i=r.layer.selectAll(\"path.\"+n).data(a?[{x:0,id:e._id}]:[]);i.exit().remove(),i.enter().append(\"path\").classed(n,1).classed(\"zl\",1).classed(\"crisp\",!1!==r.crisp).each((function(){r.layer.selectAll(\"path\").sort((function(t,e){return L.idSort(t.id,e.id)}))})),i.attr(\"transform\",r.transFn).attr(\"d\",r.path).call(u.stroke,e.zerolinecolor||u.defaultLine).style(\"stroke-width\",h.crispRound(t,e.zerolinewidth,e._gw||1)+\"px\")},E.drawLabels=function(t,e,r){r=r||{};var i=t._fullLayout,o=e._id,c=o.charAt(0),u=r.cls||o+\"tick\",f=r.vals,p=r.labelFns,d=r.secondary?0:e.tickangle,g=(e._prevTickAngles||{})[u],m=r.layer.selectAll(\"g.\"+u).data(e.showticklabels?f:[],K),v=[];function y(t,e){t.each((function(t){var i=n.select(this),o=i.select(\".text-math-group\"),s=p.anchorFn(t,e),c=r.transFn.call(i.node(),t)+(a(e)&&0!=+e?\" rotate(\"+e+\",\"+p.xFn(t)+\",\"+(p.yFn(t)-t.fontSize/2)+\")\":\"\"),u=l.lineCount(i),f=M*t.fontSize,d=p.heightFn(t,a(e)?+e:0,(u-1)*f);if(d&&(c+=\" translate(0, \"+d+\")\"),o.empty())i.select(\"text\").attr({transform:c,\"text-anchor\":s});else{var g=h.bBox(o.node()).width*{end:-.5,start:.5}[s];o.attr(\"transform\",c+(g?\"translate(\"+g+\",0)\":\"\"))}}))}m.enter().append(\"g\").classed(u,1).append(\"text\").attr(\"text-anchor\",\"middle\").each((function(e){var r=n.select(this),a=t._promises.length;r.call(l.positionText,p.xFn(e),p.yFn(e)).call(h.font,e.font,e.fontSize,e.fontColor).text(e.text).call(l.convertToTspans,t),t._promises[a]?v.push(t._promises.pop().then((function(){y(r,d)}))):y(r,d)})),m.exit().remove(),r.repositionOnUpdate&&m.each((function(t){n.select(this).select(\"text\").call(l.positionText,p.xFn(t),p.yFn(t))})),y(m,g+1?g:d);var x=null;e._selections&&(e._selections[u]=m);var b=[function(){return v.length&&Promise.all(v)}];e.automargin&&i._redrawFromAutoMarginCount&&90===g?(x=90,b.push((function(){y(m,g)}))):b.push((function(){if(y(m,d),f.length&&\"x\"===c&&!a(d)&&(\"log\"!==e.type||\"D\"!==String(e.dtick).charAt(0))){x=0;var t,n=0,i=[];if(m.each((function(t){n=Math.max(n,t.fontSize);var r=e.l2p(t.x),a=tt(this),o=h.bBox(a.node());i.push({top:0,bottom:10,height:10,left:r-o.width/2,right:r+o.width/2+2,width:o.width+2})})),\"boundaries\"!==e.tickson&&!e.showdividers||r.secondary){var o=f.length,l=Math.abs((f[o-1].x-f[0].x)*e._m)/(o-1)<2.5*n||\"multicategory\"===e.type;for(t=0;t<i.length-1;t++)if(s.bBoxIntersect(i[t],i[t+1])){x=l?90:30;break}}else{var u=2;for(e.ticks&&(u+=e.tickwidth/2),t=0;t<i.length;t++){var p=f[t].xbnd,g=i[t];if(null!==p[0]&&g.left-e.l2p(p[0])<u||null!==p[1]&&e.l2p(p[1])-g.right<u){x=90;break}}}x&&y(m,x)}})),e._tickAngles&&b.push((function(){e._tickAngles[u]=null===x?a(d)?d:0:x}));var _=s.syncOrAsync(b);return _&&_.then&&t._promises.push(_),_},E.getPxPosition=function(t,e){var r,n=t._fullLayout._size,a=e._id.charAt(0),i=e.side;return\"free\"!==e.anchor?r=e._anchorAxis:\"x\"===a?r={_offset:n.t+(1-(e.position||0))*n.h,_length:0}:\"y\"===a&&(r={_offset:n.l+(e.position||0)*n.w,_length:0}),\"top\"===i||\"left\"===i?r._offset:\"bottom\"===i||\"right\"===i?r._offset+r._length:void 0},E.shouldShowZeroLine=function(t,e,r){var n=s.simpleMap(e.range,e.r2l);return n[0]*n[1]<=0&&e.zeroline&&(\"linear\"===e.type||\"-\"===e.type)&&!(e.rangebreaks&&e.maskBreaks(0)===w)&&($(e,0)||!function(t,e,r,n){var a=r._mainAxis;if(!a)return;var i=t._fullLayout,o=e._id.charAt(0),s=E.counterLetter(e._id),l=e._offset+(Math.abs(n[0])<Math.abs(n[1])==(\"x\"===o)?0:e._length);function c(t){if(!t.showline||!t.linewidth)return!1;var r=Math.max((t.linewidth+e.zerolinewidth)/2,1);function n(t){return\"number\"==typeof t&&Math.abs(t-l)<r}if(n(t._mainLinePosition)||n(t._mainMirrorPosition))return!0;var a=t._linepositions||{};for(var i in a)if(n(a[i][0])||n(a[i][1]))return!0}var u=i._plots[r._mainSubplot];if(!(u.mainplotinfo||u).overlays.length)return c(r);for(var h=E.list(t,s),f=0;f<h.length;f++){var p=h[f];if(p._mainAxis===a&&c(p))return!0}}(t,e,r,n)||function(t,e){for(var r=t._fullData,n=e._mainSubplot,a=e._id.charAt(0),i=0;i<r.length;i++){var s=r[i];if(!0===s.visible&&s.xaxis+s.yaxis===n){if(o.traceIs(s,\"bar-like\")&&s.orientation==={x:\"h\",y:\"v\"}[a])return!0;if(s.fill&&s.fill.charAt(s.fill.length-1)===a)return!0}}return!1}(t,e))},E.clipEnds=function(t,e){return e.filter((function(e){return $(t,e.x)}))},E.allowAutoMargin=function(t){for(var e=E.list(t,\"\",!0),r=0;r<e.length;r++){var n=e[r];n.automargin&&(i.allowAutoMargin(t,et(n)),n.mirror&&i.allowAutoMargin(t,rt(n))),o.getComponentMethod(\"rangeslider\",\"isVisible\")(n)&&i.allowAutoMargin(t,nt(n))}},E.swap=function(t,e){for(var r=function(t,e){var r,n,a=[];for(r=0;r<e.length;r++){var i=[],o=t._fullData[e[r]].xaxis,s=t._fullData[e[r]].yaxis;if(o&&s){for(n=0;n<a.length;n++)-1===a[n].x.indexOf(o)&&-1===a[n].y.indexOf(s)||i.push(n);if(i.length){var l,c=a[i[0]];if(i.length>1)for(n=1;n<i.length;n++)l=a[i[n]],at(c.x,l.x),at(c.y,l.y);at(c.x,[o]),at(c.y,[s])}else a.push({x:[o],y:[s]})}}return a}(t,e),n=0;n<r.length;n++)it(t,r[n].x,r[n].y)}},{\"../../components/color\":595,\"../../components/drawing\":617,\"../../components/titles\":690,\"../../constants/alignment\":697,\"../../constants/numerical\":704,\"../../lib\":728,\"../../lib/svg_text_utils\":752,\"../../plots/plots\":839,\"../../registry\":859,\"./autorange\":775,\"./axis_autotype\":777,\"./axis_ids\":779,\"./clean_ticks\":781,\"./layout_attributes\":790,\"./set_convert\":796,d3:164,\"fast-isnumeric\":236}],777:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"../../lib\"),i=t(\"../../constants/numerical\").BADNUM;e.exports=function(t,e,r){return!(r=r||{}).noMultiCategory&&(o=t,a.isArrayOrTypedArray(o[0])&&a.isArrayOrTypedArray(o[1]))?\"multicategory\":function(t,e){for(var r=Math.max(1,(t.length-1)/1e3),i=0,o=0,s={},l=0;l<t.length;l+=r){var c=t[Math.round(l)],u=String(c);s[u]||(s[u]=1,a.isDateTime(c,e)&&(i+=1),n(c)&&(o+=1))}return i>2*o}(t,e)?\"date\":function(t){for(var e=Math.max(1,(t.length-1)/1e3),r=0,n=0,o={},s=0;s<t.length;s+=e){var l=t[Math.round(s)],c=String(l);o[c]||(o[c]=1,\"boolean\"==typeof l?n++:a.cleanNumber(l)!==i?r++:\"string\"==typeof l&&n++)}return n>2*r}(t)?\"category\":function(t){if(!t)return!1;for(var e=0;e<t.length;e++)if(n(t[e]))return!0;return!1}(t)?\"linear\":\"-\";var o}},{\"../../constants/numerical\":704,\"../../lib\":728,\"fast-isnumeric\":236}],778:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"../../registry\"),i=t(\"../../lib\"),o=t(\"../array_container_defaults\"),s=t(\"./layout_attributes\"),l=t(\"./tick_value_defaults\"),c=t(\"./tick_mark_defaults\"),u=t(\"./tick_label_defaults\"),h=t(\"./category_order_defaults\"),f=t(\"./line_grid_defaults\"),p=t(\"./set_convert\"),d=t(\"./constants\").WEEKDAY_PATTERN,g=t(\"./constants\").HOUR_PATTERN;function m(t,e,r){function a(r,n){return i.coerce(t,e,s.rangebreaks,r,n)}if(a(\"enabled\")){var o=a(\"bounds\");if(o&&o.length>=2){var l,c,u=\"\";if(2===o.length)for(l=0;l<2;l++)if(c=y(o[l])){u=d;break}var h=a(\"pattern\",u);if(h===d)for(l=0;l<2;l++)(c=y(o[l]))&&(e.bounds[l]=o[l]=c-1);if(h)for(l=0;l<2;l++)switch(c=o[l],h){case d:if(!n(c))return void(e.enabled=!1);if((c=+c)!==Math.floor(c)||c<0||c>=7)return void(e.enabled=!1);e.bounds[l]=o[l]=c;break;case g:if(!n(c))return void(e.enabled=!1);if((c=+c)<0||c>24)return void(e.enabled=!1);e.bounds[l]=o[l]=c}if(!1===r.autorange){var f=r.range;if(f[0]<f[1]){if(o[0]<f[0]&&o[1]>f[1])return void(e.enabled=!1)}else if(o[0]>f[0]&&o[1]<f[1])return void(e.enabled=!1)}}else{var p=a(\"values\");if(!p||!p.length)return void(e.enabled=!1);a(\"dvalue\")}}}e.exports=function(t,e,r,n,g){var v=n.letter,y=n.font||{},x=n.splomStash||{},b=r(\"visible\",!n.visibleDflt),_=e._template||{},w=e.type||_.type||\"-\";\"date\"===w&&a.getComponentMethod(\"calendars\",\"handleDefaults\")(t,e,\"calendar\",n.calendar);p(e,g);var T=!e.isValidRange(t.range);T&&n.reverseDflt&&(T=\"reversed\"),!r(\"autorange\",T)||\"linear\"!==w&&\"-\"!==w||r(\"rangemode\"),r(\"range\"),e.cleanRange(),h(t,e,r,n),\"category\"===w||n.noHover||r(\"hoverformat\");var k=r(\"color\"),A=k!==s.color.dflt?k:y.color,M=x.label||g._dfltTitle[v];if(u(t,e,r,w,n,{pass:1}),!b)return e;r(\"title.text\",M),i.coerceFont(r,\"title.font\",{family:y.family,size:Math.round(1.2*y.size),color:A}),l(t,e,r,w),u(t,e,r,w,n,{pass:2}),c(t,e,r,n),f(t,e,r,{dfltColor:k,bgColor:n.bgColor,showGrid:n.showGrid,attributes:s}),(e.showline||e.ticks)&&r(\"mirror\"),n.automargin&&r(\"automargin\");var S,E=\"multicategory\"===w;n.noTickson||\"category\"!==w&&!E||!e.ticks&&!e.showgrid||(E&&(S=\"boundaries\"),r(\"tickson\",S));E&&(r(\"showdividers\")&&(r(\"dividercolor\"),r(\"dividerwidth\")));if(\"date\"===w)if(o(t,e,{name:\"rangebreaks\",inclusionAttr:\"enabled\",handleItemDefaults:m}),e.rangebreaks.length){for(var C=0;C<e.rangebreaks.length;C++)if(e.rangebreaks[C].pattern===d){e._hasDayOfWeekBreaks=!0;break}if(p(e,g),g._has(\"scattergl\")||g._has(\"splom\"))for(var L=0;L<n.data.length;L++){var P=n.data[L];\"scattergl\"!==P.type&&\"splom\"!==P.type||(P.visible=!1,i.warn(P.type+\" traces do not work on axes with rangebreaks. Setting trace \"+P.index+\" to `visible: false`.\"))}}else delete e.rangebreaks;return e};var v={sun:1,mon:2,tue:3,wed:4,thu:5,fri:6,sat:7};function y(t){if(\"string\"==typeof t)return v[t.substr(0,3).toLowerCase()]}},{\"../../lib\":728,\"../../registry\":859,\"../array_container_defaults\":772,\"./category_order_defaults\":780,\"./constants\":782,\"./layout_attributes\":790,\"./line_grid_defaults\":792,\"./set_convert\":796,\"./tick_label_defaults\":797,\"./tick_mark_defaults\":798,\"./tick_value_defaults\":799,\"fast-isnumeric\":236}],779:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),a=t(\"./constants\");r.id2name=function(t){if(\"string\"==typeof t&&t.match(a.AX_ID_PATTERN)){var e=t.substr(1);return\"1\"===e&&(e=\"\"),t.charAt(0)+\"axis\"+e}},r.name2id=function(t){if(t.match(a.AX_NAME_PATTERN)){var e=t.substr(5);return\"1\"===e&&(e=\"\"),t.charAt(0)+e}},r.cleanId=function(t,e){if(\"string\"==typeof t&&t.match(a.AX_ID_PATTERN)&&(!e||t.charAt(0)===e)){var r=t.substr(1).replace(/^0+/,\"\");return\"1\"===r&&(r=\"\"),t.charAt(0)+r}},r.list=function(t,e,n){var a=t._fullLayout;if(!a)return[];var i,o=r.listIds(t,e),s=new Array(o.length);for(i=0;i<o.length;i++){var l=o[i];s[i]=a[l.charAt(0)+\"axis\"+l.substr(1)]}if(!n){var c=a._subplots.gl3d||[];for(i=0;i<c.length;i++){var u=a[c[i]];e?s.push(u[e+\"axis\"]):s.push(u.xaxis,u.yaxis,u.zaxis)}}return s},r.listIds=function(t,e){var r=t._fullLayout;if(!r)return[];var n=r._subplots;return e?n[e+\"axis\"]:n.xaxis.concat(n.yaxis)},r.getFromId=function(t,e,n){var a=t._fullLayout;return\"x\"===n?e=e.replace(/y[0-9]*/,\"\"):\"y\"===n&&(e=e.replace(/x[0-9]*/,\"\")),a[r.id2name(e)]},r.getFromTrace=function(t,e,a){var i=t._fullLayout,o=null;if(n.traceIs(e,\"gl3d\")){var s=e.scene;\"scene\"===s.substr(0,5)&&(o=i[s][a+\"axis\"])}else o=r.getFromId(t,e[a+\"axis\"]||a);return o},r.idSort=function(t,e){var r=t.charAt(0),n=e.charAt(0);return r!==n?r>n?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)},r.getAxisGroup=function(t,e){for(var r=t._axisMatchGroups,n=0;n<r.length;n++){if(r[n][e])return\"g\"+n}return e}},{\"../../registry\":859,\"./constants\":782}],780:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){if(\"category\"===e.type){var a,i=t.categoryarray,o=Array.isArray(i)&&i.length>0;o&&(a=\"array\");var s,l=r(\"categoryorder\",a);\"array\"===l&&(s=r(\"categoryarray\")),o||\"array\"!==l||(l=e.categoryorder=\"trace\"),\"trace\"===l?e._initialCategories=[]:\"array\"===l?e._initialCategories=s.slice():(s=function(t,e){var r,n,a,i=e.dataAttr||t._id.charAt(0),o={};if(e.axData)r=e.axData;else for(r=[],n=0;n<e.data.length;n++){var s=e.data[n];s[i+\"axis\"]===t._id&&r.push(s)}for(n=0;n<r.length;n++){var l=r[n][i];for(a=0;a<l.length;a++){var c=l[a];null!=c&&(o[c]=1)}}return Object.keys(o)}(e,n).sort(),\"category ascending\"===l?e._initialCategories=s:\"category descending\"===l&&(e._initialCategories=s.reverse()))}}},{}],781:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"../../lib\"),i=t(\"../../constants/numerical\").ONEDAY;r.dtick=function(t,e){var r=\"log\"===e,a=\"date\"===e,o=\"category\"===e,s=a?i:1;if(!t)return s;if(n(t))return(t=Number(t))<=0?s:o?Math.max(1,Math.round(t)):a?Math.max(.1,t):t;if(\"string\"!=typeof t||!a&&!r)return s;var l=t.charAt(0),c=t.substr(1);return(c=n(c)?Number(c):0)<=0||!(a&&\"M\"===l&&c===Math.round(c)||r&&\"L\"===l||r&&\"D\"===l&&(1===c||2===c))?s:t},r.tick0=function(t,e,r,i){return\"date\"===e?a.cleanDate(t,a.dateTick0(r)):\"D1\"!==i&&\"D2\"!==i?n(t)?Number(t):0:void 0}},{\"../../constants/numerical\":704,\"../../lib\":728,\"fast-isnumeric\":236}],782:[function(t,e,r){\"use strict\";var n=t(\"../../lib/regex\").counter;e.exports={idRegex:{x:n(\"x\"),y:n(\"y\")},attrRegex:n(\"[xy]axis\"),xAxisMatch:n(\"xaxis\"),yAxisMatch:n(\"yaxis\"),AX_ID_PATTERN:/^[xyz][0-9]*$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,HOUR_PATTERN:\"hour\",WEEKDAY_PATTERN:\"day of week\",MINDRAG:8,MINSELECT:12,MINZOOM:20,DRAGGERSIZE:20,BENDPX:1.5,REDRAWDELAY:50,SELECTDELAY:100,SELECTID:\"-select\",DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:[\"imagelayer\",\"heatmaplayer\",\"contourcarpetlayer\",\"contourlayer\",\"funnellayer\",\"waterfalllayer\",\"barlayer\",\"carpetlayer\",\"violinlayer\",\"boxlayer\",\"ohlclayer\",\"scattercarpetlayer\",\"scatterlayer\"],clipOnAxisFalseQuery:[\".scatterlayer\",\".barlayer\",\".funnellayer\",\".waterfalllayer\"],layerValue2layerClass:{\"above traces\":\"above\",\"below traces\":\"below\"}}},{\"../../lib/regex\":744}],783:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"./axis_ids\").id2name,i=t(\"./scale_zoom\"),o=t(\"./autorange\").makePadFn,s=t(\"./autorange\").concatExtremes,l=t(\"../../constants/numerical\").ALMOST_EQUAL,c=t(\"../../constants/alignment\").FROM_BL;function u(t,e,r,n,i){var o,s,l,c,u=\"range\"!==i,h=n[a(e)].type,f=[];for(s=0;s<r.length;s++)if((l=r[s])!==e&&(c=n[a(l)]).type===h)if(c.fixedrange){if(u&&c.anchor){n[a(c.anchor)].fixedrange&&f.push(l)}}else f.push(l);for(o=0;o<t.length;o++)if(t[o][e]){var p=t[o],d=[];for(s=0;s<f.length;s++)p[l=f[s]]||d.push(l);return{linkableAxes:d,thisGroup:p}}return{linkableAxes:f,thisGroup:null}}function h(t,e,r,n,a){var i,o,s,l,c;null===e?((e={})[r]=1,c=t.length,t.push(e)):c=t.indexOf(e);var u=Object.keys(e);for(i=0;i<t.length;i++)if(s=t[i],i!==c&&s[n]){var h=s[n];for(o=0;o<u.length;o++)s[l=u[o]]=h*a*e[l];return void t.splice(c,1)}if(1!==a)for(o=0;o<u.length;o++)e[u[o]]*=a;e[n]=1}function f(t,e){var r=t._inputDomain,n=c[t.constraintoward],a=r[0]+(r[1]-r[0])*n;t.domain=t._input.domain=[a+(r[0]-a)/e,a+(r[1]-a)/e],t.setScale()}r.handleConstraintDefaults=function(t,e,r,a){var i,o,s,l,c=a.allAxisIds,f=a.layoutOut,p=a.scaleanchorDflt,d=a.constrainDflt,g=f._axisConstraintGroups,m=f._axisMatchGroups,v=e._id,y=v.charAt(0),x=((f._splomAxes||{})[y]||{})[v]||{},b=e._id,_=b.charAt(0),w=r(\"constrain\",d);if(n.coerce(t,e,{constraintoward:{valType:\"enumerated\",values:\"x\"===_?[\"left\",\"center\",\"right\"]:[\"bottom\",\"middle\",\"top\"],dflt:\"x\"===_?\"center\":\"middle\"}},\"constraintoward\"),!t.matches&&!x.matches||e.fixedrange||(o=u(m,b,c,f),i=n.coerce(t,e,{matches:{valType:\"enumerated\",values:o.linkableAxes||[],dflt:x.matches}},\"matches\")),i||e.fixedrange&&\"domain\"!==w||!t.scaleanchor&&!p||(l=u(g,b,c,f,w),s=n.coerce(t,e,{scaleanchor:{valType:\"enumerated\",values:l.linkableAxes||[]}},\"scaleanchor\",p)),i?(delete e.constrain,h(m,o.thisGroup,b,i,1)):-1!==c.indexOf(t.matches)&&n.warn(\"ignored \"+e._name+'.matches: \"'+t.matches+'\" to avoid either an infinite loop or because the target axis has fixed range.'),s){var T=r(\"scaleratio\");T||(T=e.scaleratio=1),h(g,l.thisGroup,b,s,T)}else-1!==c.indexOf(t.scaleanchor)&&n.warn(\"ignored \"+e._name+'.scaleanchor: \"'+t.scaleanchor+'\" to avoid either an infinite loop and possibly inconsistent scaleratios, or because the target axis has fixed range or this axis declares a *matches* constraint.')},r.enforce=function(t){var e,r,n,c,u,h,p,d=t._fullLayout,g=d._axisConstraintGroups||[];for(e=0;e<g.length;e++){var m=g[e],v=Object.keys(m),y=1/0,x=0,b=1/0,_={},w={},T=!1;for(r=0;r<v.length;r++)w[n=v[r]]=c=d[a(n)],c._inputDomain?c.domain=c._inputDomain.slice():c._inputDomain=c.domain.slice(),c._inputRange||(c._inputRange=c.range.slice()),c.setScale(),_[n]=u=Math.abs(c._m)/m[n],y=Math.min(y,u),\"domain\"!==c.constrain&&c._constraintShrinkable||(b=Math.min(b,u)),delete c._constraintShrinkable,x=Math.max(x,u),\"domain\"===c.constrain&&(T=!0);if(!(y>l*x)||T)for(r=0;r<v.length;r++)if(u=_[n=v[r]],h=(c=w[n]).constrain,u!==b||\"domain\"===h)if(p=u/b,\"range\"===h)i(c,p);else{var k=c._inputDomain,A=(c.domain[1]-c.domain[0])/(k[1]-k[0]),M=(c.r2l(c.range[1])-c.r2l(c.range[0]))/(c.r2l(c._inputRange[1])-c.r2l(c._inputRange[0]));if((p/=A)*M<1){c.domain=c._input.domain=k.slice(),i(c,p);continue}if(M<1&&(c.range=c._input.range=c._inputRange.slice(),p*=M),c.autorange){var S=c.r2l(c.range[0]),E=c.r2l(c.range[1]),C=(S+E)/2,L=C,P=C,I=Math.abs(E-C),z=C-I*p*1.0001,O=C+I*p*1.0001,D=o(c);f(c,p);var R,F,B=Math.abs(c._m),N=s(t,c),j=N.min,V=N.max;for(F=0;F<j.length;F++)(R=j[F].val-D(j[F])/B)>z&&R<L&&(L=R);for(F=0;F<V.length;F++)(R=V[F].val+D(V[F])/B)<O&&R>P&&(P=R);p/=(P-L)/(2*I),L=c.l2r(L),P=c.l2r(P),c.range=c._input.range=S<E?[L,P]:[P,L]}f(c,p)}}},r.clean=function(t,e){if(e._inputDomain){for(var r=!1,n=e._id,a=t._fullLayout._axisConstraintGroups,i=0;i<a.length;i++)if(a[i][n]){r=!0;break}r&&\"domain\"===e.constrain||(e._input.domain=e.domain=e._inputDomain,delete e._inputDomain)}}},{\"../../constants/alignment\":697,\"../../constants/numerical\":704,\"../../lib\":728,\"./autorange\":775,\"./axis_ids\":779,\"./scale_zoom\":794}],784:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"tinycolor2\"),i=t(\"has-passive-events\"),o=t(\"../../registry\"),s=t(\"../../lib\"),l=t(\"../../lib/svg_text_utils\"),c=t(\"../../components/color\"),u=t(\"../../components/drawing\"),h=t(\"../../components/fx\"),f=t(\"./axes\"),p=t(\"../../lib/setcursor\"),d=t(\"../../components/dragelement\"),g=t(\"../../components/dragelement/helpers\"),m=g.selectingOrDrawing,v=g.freeMode,y=t(\"../../constants/alignment\").FROM_TL,x=t(\"../../lib/clear_gl_canvases\"),b=t(\"../../plot_api/subroutines\").redrawReglTraces,_=t(\"../plots\"),w=t(\"./axis_ids\").getFromId,T=t(\"./select\").prepSelect,k=t(\"./select\").clearSelect,A=t(\"./select\").selectOnClick,M=t(\"./scale_zoom\"),S=t(\"./constants\"),E=S.MINDRAG,C=S.MINZOOM,L=!0;function P(t,e,r,n){var a=s.ensureSingle(t.draglayer,e,r,(function(e){e.classed(\"drag\",!0).style({fill:\"transparent\",\"stroke-width\":0}).attr(\"data-subplot\",t.id)}));return a.call(p,n),a.node()}function I(t,e,r,a,i,o,s){var l=P(t,\"rect\",e,r);return n.select(l).call(u.setRect,a,i,o,s),l}function z(t,e){for(var r=0;r<t.length;r++)if(!t[r].fixedrange)return e;return\"\"}function O(t,e,r,n,a){for(var i=0;i<t.length;i++){var o=t[i];if(!o.fixedrange)if(o.rangebreaks){var s=\"y\"===o._id.charAt(0),l=s?1-e:e,c=s?1-r:r;n[o._name+\".range[0]\"]=o.l2r(o.p2l(l*o._length)),n[o._name+\".range[1]\"]=o.l2r(o.p2l(c*o._length))}else{var u=o._rl[0],h=o._rl[1]-u;n[o._name+\".range[0]\"]=o.l2r(u+h*e),n[o._name+\".range[1]\"]=o.l2r(u+h*r)}}if(a&&a.length){var f=(e+(1-r))/2;O(a,f,1-f,n,[])}}function D(t,e){for(var r=0;r<t.length;r++){var n=t[r];if(!n.fixedrange)if(n.rangebreaks){var a=n._length,i=(n.p2l(0+e)-n.p2l(0)+(n.p2l(a+e)-n.p2l(a)))/2;n.range=[n.l2r(n._rl[0]-i),n.l2r(n._rl[1]-i)]}else n.range=[n.l2r(n._rl[0]-e/n._m),n.l2r(n._rl[1]-e/n._m)]}}function R(t){return 1-(t>=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function F(t,e,r,n,a){return t.append(\"path\").attr(\"class\",\"zoombox\").style({fill:e>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"transform\",\"translate(\"+r+\", \"+n+\")\").attr(\"d\",a+\"Z\")}function B(t,e,r){return t.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:c.background,stroke:c.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"transform\",\"translate(\"+e+\", \"+r+\")\").attr(\"d\",\"M0,0Z\")}function N(t,e,r,n,a,i){t.attr(\"d\",n+\"M\"+r.l+\",\"+r.t+\"v\"+r.h+\"h\"+r.w+\"v-\"+r.h+\"h-\"+r.w+\"Z\"),j(t,e,a,i)}function j(t,e,r,n){r||(t.transition().style(\"fill\",n>.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),e.transition().style(\"opacity\",1).duration(200))}function V(t){n.select(t).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}function U(t){L&&t.data&&t._context.showTips&&(s.notifier(s._(t,\"Double-click to zoom back out\"),\"long\"),L=!1)}function q(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,C)/2);return\"M\"+(t.l-3.5)+\",\"+(t.t-.5+e)+\"h3v\"+-e+\"h\"+e+\"v-3h-\"+(e+3)+\"ZM\"+(t.r+3.5)+\",\"+(t.t-.5+e)+\"h-3v\"+-e+\"h\"+-e+\"v-3h\"+(e+3)+\"ZM\"+(t.r+3.5)+\",\"+(t.b+.5-e)+\"h-3v\"+e+\"h\"+-e+\"v3h\"+(e+3)+\"ZM\"+(t.l-3.5)+\",\"+(t.b+.5-e)+\"h3v\"+e+\"h\"+e+\"v3h-\"+(e+3)+\"Z\"}function H(t,e,r,n){for(var a,i,o,l,c=!1,u={},h={},f=0;f<e.length;f++){var p=e[f];for(a in r)if(p[a]){for(o in p)(\"x\"===o.charAt(0)?r:n)[o]||(u[o]=a);for(i in n)p[i]&&(c=!0)}for(i in n)if(p[i])for(l in p)(\"x\"===l.charAt(0)?r:n)[l]||(h[l]=i)}c&&(s.extendFlat(u,h),h={});var d={},g=[];for(o in u){var m=w(t,o);g.push(m),d[m._id]=m}var v={},y=[];for(l in h){var x=w(t,l);y.push(x),v[x._id]=x}return{xaHash:d,yaHash:v,xaxes:g,yaxes:y,xLinks:u,yLinks:h,isSubplotConstrained:c}}function G(t,e){if(i){var r=void 0!==t.onwheel?\"wheel\":\"mousewheel\";t._onwheel&&t.removeEventListener(r,t._onwheel),t._onwheel=e,t.addEventListener(r,e,{passive:!1})}else void 0!==t.onwheel?t.onwheel=e:void 0!==t.onmousewheel?t.onmousewheel=e:t.isAddedWheelEvent||(t.isAddedWheelEvent=!0,t.addEventListener(\"wheel\",e,{passive:!1}))}function Y(t){var e=[];for(var r in t)e.push(t[r]);return e}e.exports={makeDragBox:function(t,e,r,i,c,p,g,L){var P,j,W,Z,X,J,K,Q,$,tt,et,rt,nt,at,it,ot,st,lt,ct,ut,ht,ft=t._fullLayout._zoomlayer,pt=g+L===\"nsew\",dt=1===(g+L).length;function gt(){if(P=e.xaxis,j=e.yaxis,$=P._length,tt=j._length,K=P._offset,Q=j._offset,(W={})[P._id]=P,(Z={})[j._id]=j,g&&L)for(var r=e.overlays,n=0;n<r.length;n++){var a=r[n].xaxis;W[a._id]=a;var i=r[n].yaxis;Z[i._id]=i}X=Y(W),J=Y(Z),nt=z(X,L),at=z(J,g),it=!at&&!nt,et=H(t,t._fullLayout._axisConstraintGroups,W,Z),rt=H(t,t._fullLayout._axisMatchGroups,W,Z),ot=L||et.isSubplotConstrained||rt.isSubplotConstrained,st=g||et.isSubplotConstrained||rt.isSubplotConstrained;var o=t._fullLayout;lt=o._has(\"scattergl\"),ct=o._has(\"splom\"),ut=o._has(\"svg\")}gt();var mt=function(t,e,r){if(!t)return\"pointer\";if(\"nsew\"===t)return r?\"\":\"pan\"===e?\"move\":\"crosshair\";return t.toLowerCase()+\"-resize\"}(at+nt,t._fullLayout.dragmode,pt),vt=I(e,g+L+\"drag\",mt,r,i,c,p);if(it&&!pt)return vt.onmousedown=null,vt.style.pointerEvents=\"none\",vt;var yt,xt,bt,_t,wt,Tt,kt,At,Mt,St,Et={element:vt,gd:t,plotinfo:e};function Ct(){Et.plotinfo.selection=!1,k(t)}function Lt(t,r){var a=Et.gd;if(a._fullLayout._activeShapeIndex>=0)a._fullLayout._deactivateShape(a);else{var i=a._fullLayout.clickmode;if(V(a),2!==t||dt||Vt(),pt)i.indexOf(\"select\")>-1&&A(r,a,X,J,e.id,Et),i.indexOf(\"event\")>-1&&h.click(a,r,e.id);else if(1===t&&dt){var s=g?j:P,c=\"s\"===g||\"w\"===L?0:1,u=s._name+\".range[\"+c+\"]\",f=function(t,e){var r,a=t.range[e],i=Math.abs(a-t.range[1-e]);return\"date\"===t.type?a:\"log\"===t.type?(r=Math.ceil(Math.max(0,-Math.log(i)/Math.LN10))+3,n.format(\".\"+r+\"g\")(Math.pow(10,a))):(r=Math.floor(Math.log(Math.abs(a))/Math.LN10)-Math.floor(Math.log(i)/Math.LN10)+4,n.format(\".\"+String(r)+\"g\")(a))}(s,c),p=\"left\",d=\"middle\";if(s.fixedrange)return;g?(d=\"n\"===g?\"top\":\"bottom\",\"right\"===s.side&&(p=\"right\")):\"e\"===L&&(p=\"right\"),a._context.showAxisRangeEntryBoxes&&n.select(vt).call(l.makeEditable,{gd:a,immediate:!0,background:a._fullLayout.paper_bgcolor,text:String(f),fill:s.tickfont?s.tickfont.color:\"#444\",horizontalAlign:p,verticalAlign:d}).on(\"edit\",(function(t){var e=s.d2r(t);void 0!==e&&o.call(\"_guiRelayout\",a,u,e)}))}}}function Pt(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min($,e+yt)),a=Math.max(0,Math.min(tt,r+xt)),i=Math.abs(n-yt),o=Math.abs(a-xt);function s(){kt=\"\",bt.r=bt.l,bt.t=bt.b,Mt.attr(\"d\",\"M0,0Z\")}if(bt.l=Math.min(yt,n),bt.r=Math.max(yt,n),bt.t=Math.min(xt,a),bt.b=Math.max(xt,a),et.isSubplotConstrained)i>C||o>C?(kt=\"xy\",i/$>o/tt?(o=i*tt/$,xt>a?bt.t=xt-o:bt.b=xt+o):(i=o*$/tt,yt>n?bt.l=yt-i:bt.r=yt+i),Mt.attr(\"d\",q(bt))):s();else if(rt.isSubplotConstrained)if(i>C||o>C){kt=\"xy\";var l=Math.min(bt.l/$,(tt-bt.b)/tt),c=Math.max(bt.r/$,(tt-bt.t)/tt);bt.l=l*$,bt.r=c*$,bt.b=(1-l)*tt,bt.t=(1-c)*tt,Mt.attr(\"d\",q(bt))}else s();else!at||o<Math.min(Math.max(.6*i,E),C)?i<E||!nt?s():(bt.t=0,bt.b=tt,kt=\"x\",Mt.attr(\"d\",function(t,e){return\"M\"+(t.l-.5)+\",\"+(e-C-.5)+\"h-3v\"+(2*C+1)+\"h3ZM\"+(t.r+.5)+\",\"+(e-C-.5)+\"h3v\"+(2*C+1)+\"h-3Z\"}(bt,xt))):!nt||i<Math.min(.6*o,C)?(bt.l=0,bt.r=$,kt=\"y\",Mt.attr(\"d\",function(t,e){return\"M\"+(e-C-.5)+\",\"+(t.t-.5)+\"v-3h\"+(2*C+1)+\"v3ZM\"+(e-C-.5)+\",\"+(t.b+.5)+\"v3h\"+(2*C+1)+\"v-3Z\"}(bt,yt))):(kt=\"xy\",Mt.attr(\"d\",q(bt)));bt.w=bt.r-bt.l,bt.h=bt.b-bt.t,kt&&(St=!0),t._dragged=St,N(At,Mt,bt,wt,Tt,_t),It(),t.emit(\"plotly_relayouting\",ht),Tt=!0}function It(){ht={},\"xy\"!==kt&&\"x\"!==kt||(O(X,bt.l/$,bt.r/$,ht,et.xaxes),Nt(\"x\",ht)),\"xy\"!==kt&&\"y\"!==kt||(O(J,(tt-bt.b)/tt,(tt-bt.t)/tt,ht,et.yaxes),Nt(\"y\",ht))}function zt(){It(),V(t),Ut(),U(t)}Et.prepFn=function(e,r,n){var i=Et.dragmode,o=t._fullLayout.dragmode;o!==i&&(Et.dragmode=o),gt(),it||(pt?e.shiftKey?\"pan\"===o?o=\"zoom\":m(o)||(o=\"pan\"):e.ctrlKey&&(o=\"pan\"):o=\"pan\"),v(o)?Et.minDrag=1:Et.minDrag=void 0,m(o)?(Et.xaxes=X,Et.yaxes=J,T(e,r,n,Et,o)):(Et.clickFn=Lt,m(i)&&Ct(),it||(\"zoom\"===o?(Et.moveFn=Pt,Et.doneFn=zt,Et.minDrag=1,function(e,r,n){var i=vt.getBoundingClientRect();yt=r-i.left,xt=n-i.top,bt={l:yt,r:yt,w:0,t:xt,b:xt,h:0},_t=t._hmpixcount?t._hmlumcount/t._hmpixcount:a(t._fullLayout.plot_bgcolor).getLuminance(),Tt=!1,kt=\"xy\",St=!1,At=F(ft,_t,K,Q,wt=\"M0,0H\"+$+\"V\"+tt+\"H0V0\"),Mt=B(ft,K,Q)}(0,r,n)):\"pan\"===o&&(Et.moveFn=Bt,Et.doneFn=Ut))),t._fullLayout._redrag=function(){var e=t._dragdata;if(e&&e.element===vt){var r=t._fullLayout.dragmode;m(r)||(gt(),qt([0,0,$,tt]),Et.moveFn(e.dx,e.dy))}}},d.init(Et);var Ot=[0,0,$,tt],Dt=null,Rt=S.REDRAWDELAY,Ft=e.mainplot?t._fullLayout._plots[e.mainplot]:e;function Bt(e,r){if(!t._transitioningWithDuration){if(t._fullLayout._replotting=!0,\"ew\"===nt||\"ns\"===at)return nt&&(D(X,e),Nt(\"x\")),at&&(D(J,r),Nt(\"y\")),qt([nt?-e:0,at?-r:0,$,tt]),jt(),void t.emit(\"plotly_relayouting\",ht);if(et.isSubplotConstrained&&nt&&at){var n=\"w\"===nt==(\"n\"===at)?1:-1,a=(e/$+n*r/tt)/2;e=a*$,r=n*a*tt}\"w\"===nt?e=l(X,0,e):\"e\"===nt?e=l(X,1,-e):nt||(e=0),\"n\"===at?r=l(J,1,r):\"s\"===at?r=l(J,0,-r):at||(r=0);var i=\"w\"===nt?e:0,o=\"n\"===at?r:0;if(et.isSubplotConstrained){var s;if(!nt&&1===at.length){for(s=0;s<X.length;s++)X[s].range=X[s]._r.slice(),M(X[s],1-r/tt);i=(e=r*$/tt)/2}if(!at&&1===nt.length){for(s=0;s<J.length;s++)J[s].range=J[s]._r.slice(),M(J[s],1-e/$);o=(r=e*tt/$)/2}}Nt(\"x\"),Nt(\"y\"),qt([i,o,$-e,tt-r]),jt(),t.emit(\"plotly_relayouting\",ht)}function l(t,e,r){for(var n,a,i=1-e,o=0;o<t.length;o++){var s=t[o];if(!s.fixedrange){n=s,a=s._rl[i]+(s._rl[e]-s._rl[i])/R(r/s._length);var l=s.l2r(a);!1!==l&&void 0!==l&&(s.range[e]=l)}}return n._length*(n._rl[e]-a)/(n._rl[e]-n._rl[i])}}function Nt(t,e){for(var r=rt.isSubplotConstrained?{x:J,y:X}[t]:rt[t+\"axes\"],n=rt.isSubplotConstrained?{x:X,y:J}[t]:[],a=0;a<r.length;a++){var i=r[a],o=i._id,s=rt.xLinks[o]||rt.yLinks[o],l=n[0]||W[s]||Z[s];l&&(e?(e[i._name+\".range[0]\"]=e[l._name+\".range[0]\"],e[i._name+\".range[1]\"]=e[l._name+\".range[1]\"]):i.range=l.range.slice())}}function jt(){var e,r=[];function n(t){for(e=0;e<t.length;e++)t[e].fixedrange||r.push(t[e]._id)}for(ot&&(n(X),n(et.xaxes),n(rt.xaxes)),st&&(n(J),n(et.yaxes),n(rt.yaxes)),ht={},e=0;e<r.length;e++){var a=r[e],i=w(t,a);f.drawOne(t,i,{skipTitle:!0}),ht[i._name+\".range[0]\"]=i.range[0],ht[i._name+\".range[1]\"]=i.range[1]}f.redrawComponents(t,r)}function Vt(){if(!t._transitioningWithDuration){var e=t._context.doubleClick,r=[];nt&&(r=r.concat(X)),at&&(r=r.concat(J)),rt.xaxes&&(r=r.concat(rt.xaxes)),rt.yaxes&&(r=r.concat(rt.yaxes));var n,a,i,s={};if(\"reset+autosize\"===e)for(e=\"autosize\",a=0;a<r.length;a++)if((n=r[a])._rangeInitial&&(n.range[0]!==n._rangeInitial[0]||n.range[1]!==n._rangeInitial[1])||!n._rangeInitial&&!n.autorange){e=\"reset\";break}if(\"autosize\"===e)for(a=0;a<r.length;a++)(n=r[a]).fixedrange||(s[n._name+\".autorange\"]=!0);else if(\"reset\"===e)for((nt||et.isSubplotConstrained)&&(r=r.concat(et.xaxes)),at&&!et.isSubplotConstrained&&(r=r.concat(et.yaxes)),et.isSubplotConstrained&&(nt?at||(r=r.concat(J)):r=r.concat(X)),a=0;a<r.length;a++)(n=r[a]).fixedrange||(n._rangeInitial?(i=n._rangeInitial,s[n._name+\".range[0]\"]=i[0],s[n._name+\".range[1]\"]=i[1]):s[n._name+\".autorange\"]=!0);t.emit(\"plotly_doubleclick\",null),o.call(\"_guiRelayout\",t,s)}}function Ut(){qt([0,0,$,tt]),s.syncOrAsync([_.previousPromises,function(){t._fullLayout._replotting=!1,o.call(\"_guiRelayout\",t,ht)}],t)}function qt(e){var r,n,a,i,l=t._fullLayout,c=l._plots,h=l._subplots.cartesian;if(ct&&o.subplotsRegistry.splom.drag(t),lt)for(r=0;r<h.length;r++)if(a=(n=c[h[r]]).xaxis,i=n.yaxis,n._scene){var f=s.simpleMap(a.range,a.r2l),p=s.simpleMap(i.range,i.r2l);n._scene.update({range:[f[0],p[0],f[1],p[1]]})}if((ct||lt)&&(x(t),b(t)),ut){var d=e[2]/P._length,m=e[3]/j._length;for(r=0;r<h.length;r++){a=(n=c[h[r]]).xaxis,i=n.yaxis;var v,y,_,w,T=ot&&!a.fixedrange&&W[a._id],k=st&&!i.fixedrange&&Z[i._id];if(T?(v=d,_=L?e[0]:Yt(a,v)):rt.xaHash[a._id]?(v=d,_=e[0]*a._length/P._length):rt.yaHash[a._id]?(v=m,_=\"ns\"===at?-e[1]*a._length/j._length:Yt(a,v,{n:\"top\",s:\"bottom\"}[at])):_=Gt(a,v=Ht(a,d,m)),k?(y=m,w=g?e[1]:Yt(i,y)):rt.yaHash[i._id]?(y=m,w=e[1]*i._length/j._length):rt.xaHash[i._id]?(y=d,w=\"ew\"===nt?-e[0]*i._length/P._length:Yt(i,y,{e:\"right\",w:\"left\"}[nt])):w=Gt(i,y=Ht(i,d,m)),v||y){v||(v=1),y||(y=1);var A=a._offset-_/v,M=i._offset-w/y;n.clipRect.call(u.setTranslate,_,w).call(u.setScale,v,y),n.plot.call(u.setTranslate,A,M).call(u.setScale,1/v,1/y),v===n.xScaleFactor&&y===n.yScaleFactor||(u.setPointGroupScale(n.zoomScalePts,v,y),u.setTextPointsScale(n.zoomScaleTxt,v,y)),u.hideOutsideRangePoints(n.clipOnAxisFalseTraces,n),n.xScaleFactor=v,n.yScaleFactor=y}}}}function Ht(t,e,r){return t.fixedrange?0:ot&&et.xaHash[t._id]?e:st&&(et.isSubplotConstrained?et.xaHash:et.yaHash)[t._id]?r:0}function Gt(t,e){return e?(t.range=t._r.slice(),M(t,e),Yt(t,e)):0}function Yt(t,e,r){return t._length*(1-e)*y[r||t.constraintoward||\"middle\"]}return g.length*L.length!=1&&G(vt,(function(e){if(t._context._scrollZoom.cartesian||t._fullLayout._enablescrollzoom){if(Ct(),t._transitioningWithDuration)return e.preventDefault(),void e.stopPropagation();gt(),clearTimeout(Dt);var r=-e.deltaY;if(isFinite(r)||(r=e.wheelDelta/10),isFinite(r)){var n,a=Math.exp(-Math.min(Math.max(r,-20),20)/200),i=Ft.draglayer.select(\".nsewdrag\").node().getBoundingClientRect(),o=(e.clientX-i.left)/i.width,l=(i.bottom-e.clientY)/i.height;if(ot){for(L||(o=.5),n=0;n<X.length;n++)c(X[n],o,a);Nt(\"x\"),Ot[2]*=a,Ot[0]+=Ot[2]*o*(1/a-1)}if(st){for(g||(l=.5),n=0;n<J.length;n++)c(J[n],l,a);Nt(\"y\"),Ot[3]*=a,Ot[1]+=Ot[3]*(1-l)*(1/a-1)}qt(Ot),jt(),t.emit(\"plotly_relayouting\",ht),Dt=setTimeout((function(){Ot=[0,0,$,tt],Ut()}),Rt),e.preventDefault()}else s.log(\"Did not find wheel motion attributes: \",e)}function c(t,e,r){if(!t.fixedrange){var n=s.simpleMap(t.range,t.r2l),a=n[0]+(n[1]-n[0])*e;t.range=n.map((function(e){return t.l2r(a+(e-a)*r)}))}}})),vt},makeDragger:P,makeRectDragger:I,makeZoombox:F,makeCorners:B,updateZoombox:N,xyCorners:q,transitionZoombox:j,removeZoombox:V,showDoubleClickNotifier:U,attachWheelEventHandler:G}},{\"../../components/color\":595,\"../../components/dragelement\":614,\"../../components/dragelement/helpers\":613,\"../../components/drawing\":617,\"../../components/fx\":635,\"../../constants/alignment\":697,\"../../lib\":728,\"../../lib/clear_gl_canvases\":713,\"../../lib/setcursor\":748,\"../../lib/svg_text_utils\":752,\"../../plot_api/subroutines\":767,\"../../registry\":859,\"../plots\":839,\"./axes\":776,\"./axis_ids\":779,\"./constants\":782,\"./scale_zoom\":794,\"./select\":795,d3:164,\"has-passive-events\":410,tinycolor2:528}],785:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../components/fx\"),i=t(\"../../components/dragelement\"),o=t(\"../../lib/setcursor\"),s=t(\"./dragbox\").makeDragBox,l=t(\"./constants\").DRAGGERSIZE;r.initInteractions=function(t){var e=t._fullLayout;if(t._context.staticPlot)n.select(t).selectAll(\".drag\").remove();else if(e._has(\"cartesian\")||e._has(\"splom\")){Object.keys(e._plots||{}).sort((function(t,r){if((e._plots[t].mainplot&&!0)===(e._plots[r].mainplot&&!0)){var n=t.split(\"y\"),a=r.split(\"y\");return n[0]===a[0]?Number(n[1]||1)-Number(a[1]||1):Number(n[0]||1)-Number(a[0]||1)}return e._plots[t].mainplot?1:-1})).forEach((function(r){var n=e._plots[r],o=n.xaxis,c=n.yaxis;if(!n.mainplot){var u=s(t,n,o._offset,c._offset,o._length,c._length,\"ns\",\"ew\");u.onmousemove=function(e){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===r&&t._fullLayout._plots[r]&&a.hover(t,e,r)},a.hover(t,e,r),t._fullLayout._lasthover=u,t._fullLayout._hoversubplot=r},u.onmouseout=function(e){t._dragging||(t._fullLayout._hoversubplot=null,i.unhover(t,e))},t._context.showAxisDragHandles&&(s(t,n,o._offset-l,c._offset-l,l,l,\"n\",\"w\"),s(t,n,o._offset+o._length,c._offset-l,l,l,\"n\",\"e\"),s(t,n,o._offset-l,c._offset+c._length,l,l,\"s\",\"w\"),s(t,n,o._offset+o._length,c._offset+c._length,l,l,\"s\",\"e\"))}if(t._context.showAxisDragHandles){if(r===o._mainSubplot){var h=o._mainLinePosition;\"top\"===o.side&&(h-=l),s(t,n,o._offset+.1*o._length,h,.8*o._length,l,\"\",\"ew\"),s(t,n,o._offset,h,.1*o._length,l,\"\",\"w\"),s(t,n,o._offset+.9*o._length,h,.1*o._length,l,\"\",\"e\")}if(r===c._mainSubplot){var f=c._mainLinePosition;\"right\"!==c.side&&(f-=l),s(t,n,f,c._offset+.1*c._length,l,.8*c._length,\"ns\",\"\"),s(t,n,f,c._offset+.9*c._length,l,.1*c._length,\"s\",\"\"),s(t,n,f,c._offset,l,.1*c._length,\"n\",\"\")}}}));var o=e._hoverlayer.node();o.onmousemove=function(r){r.target=t._fullLayout._lasthover,a.hover(t,r,e._hoversubplot)},o.onclick=function(e){e.target=t._fullLayout._lasthover,a.click(t,e)},o.onmousedown=function(e){t._fullLayout._lasthover.onmousedown(e)},r.updateFx(t)}},r.updateFx=function(t){var e=t._fullLayout,r=\"pan\"===e.dragmode?\"move\":\"crosshair\";o(e._draggers,r)}},{\"../../components/dragelement\":614,\"../../components/fx\":635,\"../../lib/setcursor\":748,\"./constants\":782,\"./dragbox\":784,d3:164}],786:[function(t,e,r){\"use strict\";e.exports={clearOutlineControllers:function(t){var e=t._fullLayout._zoomlayer;e&&e.selectAll(\".outline-controllers\").remove()},clearSelect:function(t){var e=t._fullLayout._zoomlayer;e&&e.selectAll(\".select-outline\").remove(),t._fullLayout._drawing=!1}}},{}],787:[function(t,e,r){\"use strict\";function n(t,e){switch(t.type){case\"log\":return t.p2d(e);case\"date\":return t.p2r(e,0,t.calendar);default:return t.p2r(e)}}e.exports={p2r:n,r2p:function(t,e){switch(t.type){case\"log\":return t.d2p(e);case\"date\":return t.r2p(e,0,t.calendar);default:return t.r2p(e)}},axValue:function(t){var e=\"y\"===t._id.charAt(0)?1:0;return function(r){return n(t,r[e])}},getTransform:function(t){return\"translate(\"+t.xaxis._offset+\",\"+t.yaxis._offset+\")\"}}},{}],788:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),a=t(\"../../lib\");e.exports=function(t){return function(e,r){var i=e[t];if(Array.isArray(i))for(var o=n.subplotsRegistry.cartesian,s=o.idRegex,l=r._subplots,c=l.xaxis,u=l.yaxis,h=l.cartesian,f=r._has(\"cartesian\")||r._has(\"gl2d\"),p=0;p<i.length;p++){var d=i[p];if(a.isPlainObject(d)){var g=d.xref,m=d.yref,v=s.x.test(g),y=s.y.test(m);if(v||y){f||a.pushUnique(r._basePlotModules,o);var x=!1;v&&-1===c.indexOf(g)&&(c.push(g),x=!0),y&&-1===u.indexOf(m)&&(u.push(m),x=!0),x&&v&&y&&h.push(g+m)}}}}}},{\"../../lib\":728,\"../../registry\":859}],789:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../registry\"),i=t(\"../../lib\"),o=t(\"../plots\"),s=t(\"../../components/drawing\"),l=t(\"../get_data\").getModuleCalcData,c=t(\"./axis_ids\"),u=t(\"./constants\"),h=t(\"../../constants/xmlns_namespaces\"),f=i.ensureSingle;function p(t,e,r){return i.ensureSingle(t,e,r,(function(t){t.datum(r)}))}function d(t,e,r,i,o){for(var c,h,f,p=u.traceLayerClasses,d=t._fullLayout,g=d._modules,m=[],v=[],y=0;y<g.length;y++){var x=(c=g[y]).name,b=a.modules[x].categories;if(b.svg){var _=c.layerName||x+\"layer\",w=c.plot;f=(h=l(r,w))[0],r=h[1],f.length&&m.push({i:p.indexOf(_),className:_,plotMethod:w,cdModule:f}),b.zoomScale&&v.push(\".\"+_)}}m.sort((function(t,e){return t.i-e.i}));var T=e.plot.selectAll(\"g.mlayer\").data(m,(function(t){return t.className}));if(T.enter().append(\"g\").attr(\"class\",(function(t){return t.className})).classed(\"mlayer\",!0).classed(\"rangeplot\",e.isRangePlot),T.exit().remove(),T.order(),T.each((function(r){var a=n.select(this),l=r.className;r.plotMethod(t,e,r.cdModule,a,i,o),-1===u.clipOnAxisFalseQuery.indexOf(\".\"+l)&&s.setClipUrl(a,e.layerClipId,t)})),d._has(\"scattergl\")&&(c=a.getModule(\"scattergl\"),f=l(r,c)[0],c.plot(t,e,f)),!t._context.staticPlot&&(e._hasClipOnAxisFalse&&(e.clipOnAxisFalseTraces=e.plot.selectAll(u.clipOnAxisFalseQuery.join(\",\")).selectAll(\".trace\")),v.length)){var k=e.plot.selectAll(v.join(\",\")).selectAll(\".trace\");e.zoomScalePts=k.selectAll(\"path.point\"),e.zoomScaleTxt=k.selectAll(\".textpoint\")}}function g(t,e){var r=e.plotgroup,n=e.id,a=u.layerValue2layerClass[e.xaxis.layer],i=u.layerValue2layerClass[e.yaxis.layer],o=t._fullLayout._hasOnlyLargeSploms;if(e.mainplot){var s=e.mainplotinfo,l=s.plotgroup,h=n+\"-x\",d=n+\"-y\";e.gridlayer=s.gridlayer,e.zerolinelayer=s.zerolinelayer,f(s.overlinesBelow,\"path\",h),f(s.overlinesBelow,\"path\",d),f(s.overaxesBelow,\"g\",h),f(s.overaxesBelow,\"g\",d),e.plot=f(s.overplot,\"g\",n),f(s.overlinesAbove,\"path\",h),f(s.overlinesAbove,\"path\",d),f(s.overaxesAbove,\"g\",h),f(s.overaxesAbove,\"g\",d),e.xlines=l.select(\".overlines-\"+a).select(\".\"+h),e.ylines=l.select(\".overlines-\"+i).select(\".\"+d),e.xaxislayer=l.select(\".overaxes-\"+a).select(\".\"+h),e.yaxislayer=l.select(\".overaxes-\"+i).select(\".\"+d)}else if(o)e.xlines=f(r,\"path\",\"xlines-above\"),e.ylines=f(r,\"path\",\"ylines-above\"),e.xaxislayer=f(r,\"g\",\"xaxislayer-above\"),e.yaxislayer=f(r,\"g\",\"yaxislayer-above\");else{var g=f(r,\"g\",\"layer-subplot\");e.shapelayer=f(g,\"g\",\"shapelayer\"),e.imagelayer=f(g,\"g\",\"imagelayer\"),e.gridlayer=f(r,\"g\",\"gridlayer\"),e.zerolinelayer=f(r,\"g\",\"zerolinelayer\"),f(r,\"path\",\"xlines-below\"),f(r,\"path\",\"ylines-below\"),e.overlinesBelow=f(r,\"g\",\"overlines-below\"),f(r,\"g\",\"xaxislayer-below\"),f(r,\"g\",\"yaxislayer-below\"),e.overaxesBelow=f(r,\"g\",\"overaxes-below\"),e.plot=f(r,\"g\",\"plot\"),e.overplot=f(r,\"g\",\"overplot\"),e.xlines=f(r,\"path\",\"xlines-above\"),e.ylines=f(r,\"path\",\"ylines-above\"),e.overlinesAbove=f(r,\"g\",\"overlines-above\"),f(r,\"g\",\"xaxislayer-above\"),f(r,\"g\",\"yaxislayer-above\"),e.overaxesAbove=f(r,\"g\",\"overaxes-above\"),e.xlines=r.select(\".xlines-\"+a),e.ylines=r.select(\".ylines-\"+i),e.xaxislayer=r.select(\".xaxislayer-\"+a),e.yaxislayer=r.select(\".yaxislayer-\"+i)}o||(p(e.gridlayer,\"g\",e.xaxis._id),p(e.gridlayer,\"g\",e.yaxis._id),e.gridlayer.selectAll(\"g\").map((function(t){return t[0]})).sort(c.idSort)),e.xlines.style(\"fill\",\"none\").classed(\"crisp\",!0),e.ylines.style(\"fill\",\"none\").classed(\"crisp\",!0)}function m(t,e){if(t){var r={};for(var a in t.each((function(t){var a=t[0];n.select(this).remove(),v(a,e),r[a]=!0})),e._plots)for(var i=e._plots[a].overlays||[],o=0;o<i.length;o++){var s=i[o];r[s.id]&&s.plot.selectAll(\".trace\").remove()}}}function v(t,e){e._draggers.selectAll(\"g.\"+t).remove(),e._defs.select(\"#clip\"+e._uid+t+\"plot\").remove()}r.name=\"cartesian\",r.attr=[\"xaxis\",\"yaxis\"],r.idRoot=[\"x\",\"y\"],r.idRegex=u.idRegex,r.attrRegex=u.attrRegex,r.attributes=t(\"./attributes\"),r.layoutAttributes=t(\"./layout_attributes\"),r.supplyLayoutDefaults=t(\"./layout_defaults\"),r.transitionAxes=t(\"./transition_axes\"),r.finalizeSubplots=function(t,e){var r,n,a,o=e._subplots,s=o.xaxis,l=o.yaxis,h=o.cartesian,f=h.concat(o.gl2d||[]),p={},d={};for(r=0;r<f.length;r++){var g=f[r].split(\"y\");p[g[0]]=1,d[\"y\"+g[1]]=1}for(r=0;r<s.length;r++)p[n=s[r]]||(a=(t[c.id2name(n)]||{}).anchor,u.idRegex.y.test(a)||(a=\"y\"),h.push(n+a),f.push(n+a),d[a]||(d[a]=1,i.pushUnique(l,a)));for(r=0;r<l.length;r++)d[a=l[r]]||(n=(t[c.id2name(a)]||{}).anchor,u.idRegex.x.test(n)||(n=\"x\"),h.push(n+a),f.push(n+a),p[n]||(p[n]=1,i.pushUnique(s,n)));if(!f.length){for(var m in n=\"\",a=\"\",t){if(u.attrRegex.test(m))\"x\"===m.charAt(0)?(!n||+m.substr(5)<+n.substr(5))&&(n=m):(!a||+m.substr(5)<+a.substr(5))&&(a=m)}n=n?c.name2id(n):\"x\",a=a?c.name2id(a):\"y\",s.push(n),l.push(a),h.push(n+a)}},r.plot=function(t,e,r,n){var a,i=t._fullLayout,o=i._subplots.cartesian,s=t.calcdata;if(!Array.isArray(e))for(e=[],a=0;a<s.length;a++)e.push(a);for(a=0;a<o.length;a++){for(var l,c=o[a],u=i._plots[c],h=[],f=0;f<s.length;f++){var p=s[f],g=p[0].trace;g.xaxis+g.yaxis===c&&((-1!==e.indexOf(g.index)||g.carpet)&&(l&&l[0].trace.xaxis+l[0].trace.yaxis===c&&-1!==[\"tonextx\",\"tonexty\",\"tonext\"].indexOf(g.fill)&&-1===h.indexOf(l)&&h.push(l),h.push(p)),l=p)}d(t,u,h,r,n)}},r.clean=function(t,e,r,n){var a,i,o,s=n._plots||{},l=e._plots||{},u=n._subplots||{};if(n._hasOnlyLargeSploms&&!e._hasOnlyLargeSploms)for(o in s)(a=s[o]).plotgroup&&a.plotgroup.remove();var h=n._has&&n._has(\"gl\"),f=e._has&&e._has(\"gl\");if(h&&!f)for(o in s)(a=s[o])._scene&&a._scene.destroy();if(u.xaxis&&u.yaxis){var p=c.listIds({_fullLayout:n});for(i=0;i<p.length;i++){var d=p[i];e[c.id2name(d)]||n._infolayer.selectAll(\".g-\"+d+\"title\").remove()}}var g=n._has&&n._has(\"cartesian\"),y=e._has&&e._has(\"cartesian\");if(g&&!y)m(n._cartesianlayer.selectAll(\".subplot\"),n),n._defs.selectAll(\".axesclip\").remove(),delete n._axisConstraintGroups;else if(u.cartesian)for(i=0;i<u.cartesian.length;i++){var x=u.cartesian[i];if(!l[x]){var b=\".\"+x+\",.\"+x+\"-x,.\"+x+\"-y\";n._cartesianlayer.selectAll(b).remove(),v(x,n)}}},r.drawFramework=function(t){var e=t._fullLayout,r=function(t){var e,r,n,a,i,o,s=t._fullLayout,l=s._subplots.cartesian,c=l.length,u=[],h=[];for(e=0;e<c;e++){n=l[e],a=s._plots[n],i=a.xaxis,o=a.yaxis;var f=i._mainAxis,p=o._mainAxis,d=f._id+p._id,g=s._plots[d];a.overlays=[],d!==n&&g?(a.mainplot=d,a.mainplotinfo=g,h.push(n)):(a.mainplot=void 0,a.mainPlotinfo=void 0,u.push(n))}for(e=0;e<h.length;e++)n=h[e],(a=s._plots[n]).mainplotinfo.overlays.push(a);var m=u.concat(h),v=new Array(c);for(e=0;e<c;e++){n=m[e],a=s._plots[n],i=a.xaxis,o=a.yaxis;var y=[n,i.layer,o.layer,i.overlaying||\"\",o.overlaying||\"\"];for(r=0;r<a.overlays.length;r++)y.push(a.overlays[r].id);v[e]=y}return v}(t),a=e._cartesianlayer.selectAll(\".subplot\").data(r,String);a.enter().append(\"g\").attr(\"class\",(function(t){return\"subplot \"+t[0]})),a.order(),a.exit().call(m,e),a.each((function(r){var a=r[0],i=e._plots[a];i.plotgroup=n.select(this),g(t,i),i.draglayer=f(e._draggers,\"g\",a)}))},r.rangePlot=function(t,e,r){g(t,e),d(t,e,r),o.style(t)},r.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(\".svg-container\");r.filter((function(t,e){return e===r.size()-1})).selectAll(\".gl-canvas-context, .gl-canvas-focus\").each((function(){var t=this.toDataURL(\"image/png\");e.append(\"svg:image\").attr({xmlns:h.svg,\"xlink:href\":t,preserveAspectRatio:\"none\",x:0,y:0,width:this.width,height:this.height})}))},r.updateFx=t(\"./graph_interact\").updateFx},{\"../../components/drawing\":617,\"../../constants/xmlns_namespaces\":705,\"../../lib\":728,\"../../registry\":859,\"../get_data\":813,\"../plots\":839,\"./attributes\":774,\"./axis_ids\":779,\"./constants\":782,\"./graph_interact\":785,\"./layout_attributes\":790,\"./layout_defaults\":791,\"./transition_axes\":800,d3:164}],790:[function(t,e,r){\"use strict\";var n=t(\"../font_attributes\"),a=t(\"../../components/color/attributes\"),i=t(\"../../components/drawing/attributes\").dash,o=t(\"../../lib/extend\").extendFlat,s=t(\"../../plot_api/plot_template\").templatedArray,l=(t(\"../../constants/docs\").FORMAT_LINK,t(\"../../constants/docs\").DATE_FORMAT_LINK,t(\"../../constants/numerical\").ONEDAY),c=t(\"./constants\"),u=c.HOUR_PATTERN,h=c.WEEKDAY_PATTERN;e.exports={visible:{valType:\"boolean\",editType:\"plot\"},color:{valType:\"color\",dflt:a.defaultLine,editType:\"ticks\"},title:{text:{valType:\"string\",editType:\"ticks\"},font:n({editType:\"ticks\"}),standoff:{valType:\"number\",min:0,editType:\"ticks\"},editType:\"ticks\"},type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"log\",\"date\",\"category\",\"multicategory\"],dflt:\"-\",editType:\"calc\",_noTemplating:!0},autorange:{valType:\"enumerated\",values:[!0,!1,\"reversed\"],dflt:!0,editType:\"axrange\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},rangemode:{valType:\"enumerated\",values:[\"normal\",\"tozero\",\"nonnegative\"],dflt:\"normal\",editType:\"plot\"},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"axrange\",impliedEdits:{\"^autorange\":!1},anim:!0},{valType:\"any\",editType:\"axrange\",impliedEdits:{\"^autorange\":!1},anim:!0}],editType:\"axrange\",impliedEdits:{autorange:!1},anim:!0},fixedrange:{valType:\"boolean\",dflt:!1,editType:\"calc\"},scaleanchor:{valType:\"enumerated\",values:[c.idRegex.x.toString(),c.idRegex.y.toString()],editType:\"plot\"},scaleratio:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},constrain:{valType:\"enumerated\",values:[\"range\",\"domain\"],dflt:\"range\",editType:\"plot\"},constraintoward:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\",\"top\",\"middle\",\"bottom\"],editType:\"plot\"},matches:{valType:\"enumerated\",values:[c.idRegex.x.toString(),c.idRegex.y.toString()],editType:\"calc\"},rangebreaks:s(\"rangebreak\",{enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},bounds:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}],editType:\"calc\"},pattern:{valType:\"enumerated\",values:[h,u,\"\"],editType:\"calc\"},values:{valType:\"info_array\",freeLength:!0,editType:\"calc\",items:{valType:\"any\",editType:\"calc\"}},dvalue:{valType:\"number\",editType:\"calc\",min:0,dflt:l},editType:\"calc\"}),tickmode:{valType:\"enumerated\",values:[\"auto\",\"linear\",\"array\"],editType:\"ticks\",impliedEdits:{tick0:void 0,dtick:void 0}},nticks:{valType:\"integer\",min:0,dflt:0,editType:\"ticks\"},tick0:{valType:\"any\",editType:\"ticks\",impliedEdits:{tickmode:\"linear\"}},dtick:{valType:\"any\",editType:\"ticks\",impliedEdits:{tickmode:\"linear\"}},tickvals:{valType:\"data_array\",editType:\"ticks\"},ticktext:{valType:\"data_array\",editType:\"ticks\"},ticks:{valType:\"enumerated\",values:[\"outside\",\"inside\",\"\"],editType:\"ticks\"},tickson:{valType:\"enumerated\",values:[\"labels\",\"boundaries\"],dflt:\"labels\",editType:\"ticks\"},mirror:{valType:\"enumerated\",values:[!0,\"ticks\",!1,\"all\",\"allticks\"],dflt:!1,editType:\"ticks+layoutstyle\"},ticklen:{valType:\"number\",min:0,dflt:5,editType:\"ticks\"},tickwidth:{valType:\"number\",min:0,dflt:1,editType:\"ticks\"},tickcolor:{valType:\"color\",dflt:a.defaultLine,editType:\"ticks\"},showticklabels:{valType:\"boolean\",dflt:!0,editType:\"ticks\"},automargin:{valType:\"boolean\",dflt:!1,editType:\"ticks\"},showspikes:{valType:\"boolean\",dflt:!1,editType:\"modebar\"},spikecolor:{valType:\"color\",dflt:null,editType:\"none\"},spikethickness:{valType:\"number\",dflt:3,editType:\"none\"},spikedash:o({},i,{dflt:\"dash\",editType:\"none\"}),spikemode:{valType:\"flaglist\",flags:[\"toaxis\",\"across\",\"marker\"],dflt:\"toaxis\",editType:\"none\"},spikesnap:{valType:\"enumerated\",values:[\"data\",\"cursor\",\"hovered data\"],dflt:\"data\",editType:\"none\"},tickfont:n({editType:\"ticks\"}),tickangle:{valType:\"angle\",dflt:\"auto\",editType:\"ticks\"},tickprefix:{valType:\"string\",dflt:\"\",editType:\"ticks\"},showtickprefix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks\"},ticksuffix:{valType:\"string\",dflt:\"\",editType:\"ticks\"},showticksuffix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks\"},showexponent:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks\"},exponentformat:{valType:\"enumerated\",values:[\"none\",\"e\",\"E\",\"power\",\"SI\",\"B\"],dflt:\"B\",editType:\"ticks\"},separatethousands:{valType:\"boolean\",dflt:!1,editType:\"ticks\"},tickformat:{valType:\"string\",dflt:\"\",editType:\"ticks\"},tickformatstops:s(\"tickformatstop\",{enabled:{valType:\"boolean\",dflt:!0,editType:\"ticks\"},dtickrange:{valType:\"info_array\",items:[{valType:\"any\",editType:\"ticks\"},{valType:\"any\",editType:\"ticks\"}],editType:\"ticks\"},value:{valType:\"string\",dflt:\"\",editType:\"ticks\"},editType:\"ticks\"}),hoverformat:{valType:\"string\",dflt:\"\",editType:\"none\"},showline:{valType:\"boolean\",dflt:!1,editType:\"ticks+layoutstyle\"},linecolor:{valType:\"color\",dflt:a.defaultLine,editType:\"layoutstyle\"},linewidth:{valType:\"number\",min:0,dflt:1,editType:\"ticks+layoutstyle\"},showgrid:{valType:\"boolean\",editType:\"ticks\"},gridcolor:{valType:\"color\",dflt:a.lightLine,editType:\"ticks\"},gridwidth:{valType:\"number\",min:0,dflt:1,editType:\"ticks\"},zeroline:{valType:\"boolean\",editType:\"ticks\"},zerolinecolor:{valType:\"color\",dflt:a.defaultLine,editType:\"ticks\"},zerolinewidth:{valType:\"number\",dflt:1,editType:\"ticks\"},showdividers:{valType:\"boolean\",dflt:!0,editType:\"ticks\"},dividercolor:{valType:\"color\",dflt:a.defaultLine,editType:\"ticks\"},dividerwidth:{valType:\"number\",dflt:1,editType:\"ticks\"},anchor:{valType:\"enumerated\",values:[\"free\",c.idRegex.x.toString(),c.idRegex.y.toString()],editType:\"plot\"},side:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"left\",\"right\"],editType:\"plot\"},overlaying:{valType:\"enumerated\",values:[\"free\",c.idRegex.x.toString(),c.idRegex.y.toString()],editType:\"plot\"},layer:{valType:\"enumerated\",values:[\"above traces\",\"below traces\"],dflt:\"above traces\",editType:\"plot\"},domain:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1,editType:\"plot\"},{valType:\"number\",min:0,max:1,editType:\"plot\"}],dflt:[0,1],editType:\"plot\"},position:{valType:\"number\",min:0,max:1,dflt:0,editType:\"plot\"},categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\",\"total ascending\",\"total descending\",\"min ascending\",\"min descending\",\"max ascending\",\"max descending\",\"sum ascending\",\"sum descending\",\"mean ascending\",\"mean descending\",\"median ascending\",\"median descending\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\",_deprecated:{autotick:{valType:\"boolean\",editType:\"ticks\"},title:{valType:\"string\",editType:\"ticks\"},titlefont:n({editType:\"ticks\"})}}},{\"../../components/color/attributes\":594,\"../../components/drawing/attributes\":616,\"../../constants/docs\":699,\"../../constants/numerical\":704,\"../../lib/extend\":719,\"../../plot_api/plot_template\":766,\"../font_attributes\":804,\"./constants\":782}],791:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../components/color\"),i=t(\"../../components/fx/helpers\").isUnifiedHover,o=t(\"../../components/fx/hovermode_defaults\"),s=t(\"../../plot_api/plot_template\"),l=t(\"../layout_attributes\"),c=t(\"./layout_attributes\"),u=t(\"./type_defaults\"),h=t(\"./axis_defaults\"),f=t(\"./constraints\").handleConstraintDefaults,p=t(\"./position_defaults\"),d=t(\"./axis_ids\"),g=d.id2name,m=d.name2id,v=t(\"./constants\").AX_ID_PATTERN,y=t(\"../../registry\"),x=y.traceIs,b=y.getComponentMethod;function _(t,e,r){Array.isArray(t[e])?t[e].push(r):t[e]=[r]}e.exports=function(t,e,r){var d,y,w={},T={},k={},A={},M={},S={},E={},C={},L={},P={};for(d=0;d<r.length;d++){var I=r[d];if(x(I,\"cartesian\")||x(I,\"gl2d\")){var z,O;if(I.xaxis)z=g(I.xaxis),_(w,z,I);else if(I.xaxes)for(y=0;y<I.xaxes.length;y++)_(w,g(I.xaxes[y]),I);if(I.yaxis)O=g(I.yaxis),_(w,O,I);else if(I.yaxes)for(y=0;y<I.yaxes.length;y++)_(w,g(I.yaxes[y]),I);if(\"funnel\"===I.type?\"h\"===I.orientation?(z&&(T[z]=!0),O&&(E[O]=!0)):O&&(k[O]=!0):\"image\"===I.type?(O&&(C[O]=!0),z&&(C[z]=!0)):(O&&(M[O]=!0,S[O]=!0),x(I,\"carpet\")&&(\"carpet\"!==I.type||I._cheater)||z&&(A[z]=!0)),\"carpet\"===I.type&&I._cheater&&z&&(T[z]=!0),x(I,\"2dMap\")&&(L[z]=!0,L[O]=!0),x(I,\"oriented\"))P[\"h\"===I.orientation?O:z]=!0}}var D=e._subplots,R=D.xaxis,F=D.yaxis,B=n.simpleMap(R,g),N=n.simpleMap(F,g),j=B.concat(N),V=a.background;R.length&&F.length&&(V=n.coerce(t,e,l,\"plot_bgcolor\"));var U,q,H,G,Y,W=a.combine(V,e.paper_bgcolor);function Z(){var t=w[U]||[];Y._traceIndices=t.map((function(t){return t._expandedIndex})),Y._annIndices=[],Y._shapeIndices=[],Y._imgIndices=[],Y._subplotsWith=[],Y._counterAxes=[],Y._name=Y._attr=U,Y._id=q}function X(t,e){return n.coerce(G,Y,c,t,e)}function J(t,e){return n.coerce2(G,Y,c,t,e)}function K(t){return\"x\"===t?F:R}function Q(e,r){for(var n=\"x\"===e?B:N,a=[],i=0;i<n.length;i++){var o=n[i];o===r||(t[o]||{}).overlaying||a.push(m(o))}return a}var $={x:K(\"x\"),y:K(\"y\")},tt=$.x.concat($.y),et={},rt=[];function nt(){var t=G.matches;v.test(t)&&-1===tt.indexOf(t)&&(et[t]=G.type,rt=Object.keys(et))}var at=o(t,e,r),it=i(at);for(d=0;d<j.length;d++){U=j[d],q=m(U),H=U.charAt(0),n.isPlainObject(t[U])||(t[U]={}),G=t[U],Y=s.newContainer(e,U,H+\"axis\"),Z();var ot=\"x\"===H&&!A[U]&&T[U]||\"y\"===H&&!M[U]&&k[U],st=\"y\"===H&&(!S[U]&&E[U]||C[U]),lt={letter:H,font:e.font,outerTicks:L[U],showGrid:!P[U],data:w[U]||[],bgColor:W,calendar:e.calendar,automargin:!0,visibleDflt:ot,reverseDflt:st,splomStash:((e._splomAxes||{})[H]||{})[q]};X(\"uirevision\",e.uirevision),u(G,Y,X,lt),h(G,Y,X,lt,e);var ct=it&&H===at.charAt(0),ut=J(\"spikecolor\",it?Y.color:void 0),ht=J(\"spikethickness\",it?1.5:void 0),ft=J(\"spikedash\",it?\"dot\":void 0),pt=J(\"spikemode\",it?\"across\":void 0),dt=J(\"spikesnap\",it?\"hovered data\":void 0);X(\"showspikes\",!!(ct||ut||ht||ft||pt||dt))||(delete Y.spikecolor,delete Y.spikethickness,delete Y.spikedash,delete Y.spikemode,delete Y.spikesnap),p(G,Y,X,{letter:H,counterAxes:$[H],overlayableAxes:Q(H,U),grid:e.grid}),X(\"title.standoff\"),nt(),Y._input=G}for(d=0;d<rt.length;){q=rt[d++],H=(U=g(q)).charAt(0),n.isPlainObject(t[U])||(t[U]={}),G=t[U],Y=s.newContainer(e,U,H+\"axis\"),Z();var gt={letter:H,font:e.font,outerTicks:L[U],showGrid:!P[U],data:[],bgColor:W,calendar:e.calendar,automargin:!0,visibleDflt:!1,reverseDflt:!1,splomStash:((e._splomAxes||{})[H]||{})[q]};X(\"uirevision\",e.uirevision),Y.type=et[q]||\"linear\",h(G,Y,X,gt,e),p(G,Y,X,{letter:H,counterAxes:$[H],overlayableAxes:Q(H,U),grid:e.grid}),X(\"fixedrange\"),nt(),Y._input=G}var mt=b(\"rangeslider\",\"handleDefaults\"),vt=b(\"rangeselector\",\"handleDefaults\");for(d=0;d<B.length;d++)U=B[d],G=t[U],Y=e[U],mt(t,e,U),\"date\"===Y.type&&vt(G,Y,e,N,Y.calendar),X(\"fixedrange\");for(d=0;d<N.length;d++){U=N[d],G=t[U],Y=e[U];var yt=e[g(Y.anchor)];X(\"fixedrange\",b(\"rangeslider\",\"isVisible\")(yt))}var xt=e._axisConstraintGroups=[],bt=e._axisMatchGroups=[],_t=tt.concat(rt),wt=j.concat(n.simpleMap(rt,g));for(d=0;d<wt.length;d++){var Tt,kt;H=(U=wt[d]).charAt(0),G=t[U],Y=e[U],Tt=\"y\"===H&&!G.hasOwnProperty(\"scaleanchor\")&&C[U]?Y.anchor:void 0,kt=!G.hasOwnProperty(\"constrain\")&&C[U]?\"domain\":void 0,f(G,Y,X,{allAxisIds:_t,layoutOut:e,scaleanchorDflt:Tt,constrainDflt:kt})}for(d=0;d<bt.length;d++){var At=bt[d],Mt=null,St=null;for(q in At)(Y=e[g(q)]).matches||(Mt=Y.range,St=Y.autorange);if(null===Mt||null===St)for(q in At){Mt=(Y=e[g(q)]).range,St=Y.autorange;break}for(q in At)(Y=e[g(q)]).matches&&(Y.range=Mt.slice(),Y.autorange=St),Y._matchGroup=At;if(xt.length)for(q in At)for(y=0;y<xt.length;y++){var Et=xt[y];for(var Ct in Et)q===Ct&&(n.warn(\"Axis \"+Ct+\" is set with both a *scaleanchor* and *matches* constraint; ignoring the scale constraint.\"),delete Et[Ct],Object.keys(Et).length<2&&xt.splice(y,1))}}}},{\"../../components/color\":595,\"../../components/fx/helpers\":631,\"../../components/fx/hovermode_defaults\":634,\"../../lib\":728,\"../../plot_api/plot_template\":766,\"../../registry\":859,\"../layout_attributes\":830,\"./axis_defaults\":778,\"./axis_ids\":779,\"./constants\":782,\"./constraints\":783,\"./layout_attributes\":790,\"./position_defaults\":793,\"./type_defaults\":801}],792:[function(t,e,r){\"use strict\";var n=t(\"tinycolor2\").mix,a=t(\"../../components/color/attributes\").lightFraction,i=t(\"../../lib\");e.exports=function(t,e,r,o){var s=(o=o||{}).dfltColor;function l(r,n){return i.coerce2(t,e,o.attributes,r,n)}var c=l(\"linecolor\",s),u=l(\"linewidth\");r(\"showline\",o.showLine||!!c||!!u)||(delete e.linecolor,delete e.linewidth);var h=l(\"gridcolor\",n(s,o.bgColor,o.blend||a).toRgbString()),f=l(\"gridwidth\");if(r(\"showgrid\",o.showGrid||!!h||!!f)||(delete e.gridcolor,delete e.gridwidth),!o.noZeroLine){var p=l(\"zerolinecolor\",s),d=l(\"zerolinewidth\");r(\"zeroline\",o.showGrid||!!p||!!d)||(delete e.zerolinecolor,delete e.zerolinewidth)}}},{\"../../components/color/attributes\":594,\"../../lib\":728,tinycolor2:528}],793:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"../../lib\");e.exports=function(t,e,r,i){var o,s,l,c,u=i.counterAxes||[],h=i.overlayableAxes||[],f=i.letter,p=i.grid;p&&(s=p._domains[f][p._axisMap[e._id]],o=p._anchors[e._id],s&&(l=p[f+\"side\"].split(\" \")[0],c=p.domain[f][\"right\"===l||\"top\"===l?1:0])),s=s||[0,1],o=o||(n(t.position)?\"free\":u[0]||\"free\"),l=l||(\"x\"===f?\"bottom\":\"left\"),c=c||0,\"free\"===a.coerce(t,e,{anchor:{valType:\"enumerated\",values:[\"free\"].concat(u),dflt:o}},\"anchor\")&&r(\"position\",c),a.coerce(t,e,{side:{valType:\"enumerated\",values:\"x\"===f?[\"bottom\",\"top\"]:[\"left\",\"right\"],dflt:l}},\"side\");var d=!1;if(h.length&&(d=a.coerce(t,e,{overlaying:{valType:\"enumerated\",values:[!1].concat(h),dflt:!1}},\"overlaying\")),!d){var g=r(\"domain\",s);g[0]>g[1]-1/4096&&(e.domain=s),a.noneOrAll(t.domain,e.domain,s)}return r(\"layer\"),e}},{\"../../lib\":728,\"fast-isnumeric\":236}],794:[function(t,e,r){\"use strict\";var n=t(\"../../constants/alignment\").FROM_BL;e.exports=function(t,e,r){void 0===r&&(r=n[t.constraintoward||\"center\"]);var a=[t.r2l(t.range[0]),t.r2l(t.range[1])],i=a[0]+(a[1]-a[0])*r;t.range=t._input.range=[t.l2r(i+(a[0]-i)*e),t.l2r(i+(a[1]-i)*e)]}},{\"../../constants/alignment\":697}],795:[function(t,e,r){\"use strict\";var n=t(\"polybooljs\"),a=t(\"../../registry\"),i=t(\"../../components/drawing\").dashStyle,o=t(\"../../components/color\"),s=t(\"../../components/fx\"),l=t(\"../../components/fx/helpers\").makeEventData,c=t(\"../../components/dragelement/helpers\"),u=c.freeMode,h=c.rectMode,f=c.drawMode,p=c.openMode,d=c.selectMode,g=t(\"../../components/shapes/draw_newshape/display_outlines\"),m=t(\"../../components/shapes/draw_newshape/helpers\").handleEllipse,v=t(\"../../components/shapes/draw_newshape/newshapes\"),y=t(\"../../lib\"),x=t(\"../../lib/polygon\"),b=t(\"../../lib/throttle\"),_=t(\"./axis_ids\").getFromId,w=t(\"../../lib/clear_gl_canvases\"),T=t(\"../../plot_api/subroutines\").redrawReglTraces,k=t(\"./constants\"),A=k.MINSELECT,M=x.filter,S=x.tester,E=t(\"./handle_outline\").clearSelect,C=t(\"./helpers\"),L=C.p2r,P=C.axValue,I=C.getTransform;function z(t,e,r,n,a,i,o){var s,l,c,u,h,f,d,m,v,y=e._hoverdata,x=e._fullLayout.clickmode.indexOf(\"event\")>-1,b=[];if(function(t){return t&&Array.isArray(t)&&!0!==t[0].hoverOnBox}(y)){F(t,e,i);var _=function(t,e){var r,n,a=t[0],i=-1,o=[];for(n=0;n<e.length;n++)if(r=e[n],a.fullData._expandedIndex===r.cd[0].trace._expandedIndex){if(!0===a.hoverOnBox)break;void 0!==a.pointNumber?i=a.pointNumber:void 0!==a.binNumber&&(i=a.binNumber,o=a.pointNumbers);break}return{pointNumber:i,pointNumbers:o,searchInfo:r}}(y,s=N(e,r,n,a));if(_.pointNumbers.length>0?function(t,e){var r,n,a,i=[];for(a=0;a<t.length;a++)(r=t[a]).cd[0].trace.selectedpoints&&r.cd[0].trace.selectedpoints.length>0&&i.push(r);if(1===i.length&&i[0]===e.searchInfo&&(n=e.searchInfo.cd[0].trace).selectedpoints.length===e.pointNumbers.length){for(a=0;a<e.pointNumbers.length;a++)if(n.selectedpoints.indexOf(e.pointNumbers[a])<0)return!1;return!0}return!1}(s,_):function(t){var e,r,n,a=0;for(n=0;n<t.length;n++)if(e=t[n],(r=e.cd[0].trace).selectedpoints){if(r.selectedpoints.length>1)return!1;if((a+=r.selectedpoints.length)>1)return!1}return 1===a}(s)&&(f=j(_))){for(o&&o.remove(),v=0;v<s.length;v++)(l=s[v])._module.selectPoints(l,!1);V(e,s),B(i),x&&e.emit(\"plotly_deselect\",null)}else{for(d=t.shiftKey&&(void 0!==f?f:j(_)),c=function(t,e,r){return{pointNumber:t,searchInfo:e,subtract:r}}(_.pointNumber,_.searchInfo,d),u=R(i.selectionDefs.concat([c])),v=0;v<s.length;v++)if(h=U(s[v]._module.selectPoints(s[v],u),s[v]),b.length)for(var w=0;w<h.length;w++)b.push(h[w]);else b=h;if(V(e,s,m={points:b}),c&&i&&i.selectionDefs.push(c),o){var T=i.mergedPolygons,k=p(i.dragmode);g(q(T,k),o,i)}x&&e.emit(\"plotly_selected\",m)}}}function O(t){return\"pointNumber\"in t&&\"searchInfo\"in t}function D(t){return{xmin:0,xmax:0,ymin:0,ymax:0,pts:[],contains:function(e,r,n,a){var i=t.searchInfo.cd[0].trace._expandedIndex;return a.cd[0].trace._expandedIndex===i&&n===t.pointNumber},isRect:!1,degenerate:!1,subtract:t.subtract}}function R(t){for(var e=[],r=O(t[0])?0:t[0][0][0],n=r,a=O(t[0])?0:t[0][0][1],i=a,o=0;o<t.length;o++)if(O(t[o]))e.push(D(t[o]));else{var s=x.tester(t[o]);s.subtract=t[o].subtract,e.push(s),r=Math.min(r,s.xmin),n=Math.max(n,s.xmax),a=Math.min(a,s.ymin),i=Math.max(i,s.ymax)}return{xmin:r,xmax:n,ymin:a,ymax:i,pts:[],contains:function(t,r,n,a){for(var i=!1,o=0;o<e.length;o++)e[o].contains(t,r,n,a)&&(i=!1===e[o].subtract);return i},isRect:!1,degenerate:!1}}function F(t,e,r){e._fullLayout._drawing=!1;var n=e._fullLayout,a=r.plotinfo,i=r.dragmode,o=n._lastSelectedSubplot&&n._lastSelectedSubplot===a.id,s=(t.shiftKey||t.altKey)&&!(f(i)&&p(i));o&&s&&a.selection&&a.selection.selectionDefs&&!r.selectionDefs?(r.selectionDefs=a.selection.selectionDefs,r.mergedPolygons=a.selection.mergedPolygons):s&&a.selection||B(r),o||(E(e),n._lastSelectedSubplot=a.id)}function B(t){var e=t.dragmode,r=t.plotinfo,n=t.gd;if(n._fullLayout._activeShapeIndex>=0&&n._fullLayout._deactivateShape(n),f(e)){var i=n._fullLayout._zoomlayer.selectAll(\".select-outline-\"+r.id);if(i&&n._fullLayout._drawing){var o=v(i,t);o&&a.call(\"_guiRelayout\",n,{shapes:o}),n._fullLayout._drawing=!1}}r.selection={},r.selection.selectionDefs=t.selectionDefs=[],r.selection.mergedPolygons=t.mergedPolygons=[]}function N(t,e,r,n){var a,i,o,s=[],l=e.map((function(t){return t._id})),c=r.map((function(t){return t._id}));for(o=0;o<t.calcdata.length;o++)if(!0===(i=(a=t.calcdata[o])[0].trace).visible&&i._module&&i._module.selectPoints)if(!n||i.subplot!==n&&i.geo!==n)if(\"splom\"===i.type&&i._xaxes[l[0]]&&i._yaxes[c[0]]){var u=f(i._module,a,e[0],r[0]);u.scene=t._fullLayout._splomScenes[i.uid],s.push(u)}else if(\"sankey\"===i.type){var h=f(i._module,a,e[0],r[0]);s.push(h)}else{if(-1===l.indexOf(i.xaxis))continue;if(-1===c.indexOf(i.yaxis))continue;s.push(f(i._module,a,_(t,i.xaxis),_(t,i.yaxis)))}else s.push(f(i._module,a,e[0],r[0]));return s;function f(t,e,r,n){return{_module:t,cd:e,xaxis:r,yaxis:n}}}function j(t){var e=t.searchInfo.cd[0].trace,r=t.pointNumber,n=t.pointNumbers,a=n.length>0?n[0]:r;return!!e.selectedpoints&&e.selectedpoints.indexOf(a)>-1}function V(t,e,r){var n,i,o,s;for(n=0;n<e.length;n++){var l=e[n].cd[0].trace._fullInput,c=t._fullLayout._tracePreGUI[l.uid]||{};void 0===c.selectedpoints&&(c.selectedpoints=l._input.selectedpoints||null)}if(r){var u=r.points||[];for(n=0;n<e.length;n++)(s=e[n].cd[0].trace)._input.selectedpoints=s._fullInput.selectedpoints=[],s._fullInput!==s&&(s.selectedpoints=[]);for(n=0;n<u.length;n++){var h=u[n],f=h.data,p=h.fullData;h.pointIndices?([].push.apply(f.selectedpoints,h.pointIndices),s._fullInput!==s&&[].push.apply(p.selectedpoints,h.pointIndices)):(f.selectedpoints.push(h.pointIndex),s._fullInput!==s&&p.selectedpoints.push(h.pointIndex))}}else for(n=0;n<e.length;n++)delete(s=e[n].cd[0].trace).selectedpoints,delete s._input.selectedpoints,s._fullInput!==s&&delete s._fullInput.selectedpoints;var d=!1;for(n=0;n<e.length;n++){s=(o=(i=e[n]).cd)[0].trace,a.traceIs(s,\"regl\")&&(d=!0);var g=i._module,m=g.styleOnSelect||g.style;m&&(m(t,o,o[0].node3),o[0].nodeRangePlot3&&m(t,o,o[0].nodeRangePlot3))}d&&(w(t),T(t))}function U(t,e){if(Array.isArray(t))for(var r=e.cd,n=e.cd[0].trace,a=0;a<t.length;a++)t[a]=l(t[a],n,r);return t}function q(t,e){for(var r=[],n=0;n<t.length;n++){r[n]=[];for(var a=0;a<t[n].length;a++){r[n][a]=[],r[n][a][0]=a?\"L\":\"M\";for(var i=0;i<t[n][a].length;i++)r[n][a].push(t[n][a][i])}e||r[n].push([\"Z\",r[n][0][1],r[n][0][2]])}return r}e.exports={prepSelect:function(t,e,r,a,l){var c,v,x,_,w,T,E,C=u(l),O=h(l),D=p(l),j=f(l),H=d(l),G=\"drawcircle\"===l,Y=\"drawline\"===l||G,W=a.gd,Z=W._fullLayout,X=Z._zoomlayer,J=a.element.getBoundingClientRect(),K=a.plotinfo,Q=I(K),$=e-J.left,tt=r-J.top,et=$,rt=tt,nt=\"M\"+$+\",\"+tt,at=a.xaxes[0]._length,it=a.yaxes[0]._length,ot=a.xaxes.concat(a.yaxes),st=t.altKey&&!(f(l)&&D);F(t,W,a),C&&(c=M([[$,tt]],k.BENDPX));var lt=X.selectAll(\"path.select-outline-\"+K.id).data(j?[0]:[1,2]),ct=Z.newshape;lt.enter().append(\"path\").attr(\"class\",(function(t){return\"select-outline select-outline-\"+t+\" select-outline-\"+K.id})).style(j?{opacity:ct.opacity/2,fill:D?void 0:ct.fillcolor,stroke:ct.line.color,\"stroke-dasharray\":i(ct.line.dash,ct.line.width),\"stroke-width\":ct.line.width+\"px\"}:{}).attr(\"fill-rule\",ct.fillrule).classed(\"cursor-move\",!!j).attr(\"transform\",Q).attr(\"d\",nt+\"Z\");var ut,ht=X.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:o.background,stroke:o.defaultLine,\"stroke-width\":1}).attr(\"transform\",Q).attr(\"d\",\"M0,0Z\"),ft=Z._uid+k.SELECTID,pt=[],dt=N(W,a.xaxes,a.yaxes,a.subplot);function gt(t,e){return t-e}ut=K.fillRangeItems?K.fillRangeItems:O?function(t,e){var r=t.range={};for(w=0;w<ot.length;w++){var n=ot[w],a=n._id.charAt(0);r[n._id]=[L(n,e[a+\"min\"]),L(n,e[a+\"max\"])].sort(gt)}}:function(t,e,r){var n=t.lassoPoints={};for(w=0;w<ot.length;w++){var a=ot[w];n[a._id]=r.filtered.map(P(a))}},a.moveFn=function(t,e){et=Math.max(0,Math.min(at,t+$)),rt=Math.max(0,Math.min(it,e+tt));var r=Math.abs(et-$),i=Math.abs(rt-tt);if(O){var o,s,l;if(H){var u=Z.selectdirection;switch(o=\"any\"===u?i<Math.min(.6*r,A)?\"h\":r<Math.min(.6*i,A)?\"v\":\"d\":u){case\"h\":s=G?it/2:0,l=it;break;case\"v\":s=G?at/2:0,l=at}}if(j)switch(Z.newshape.drawdirection){case\"vertical\":o=\"h\",s=G?it/2:0,l=it;break;case\"horizontal\":o=\"v\",s=G?at/2:0,l=at;break;case\"ortho\":r<i?(o=\"h\",s=tt,l=rt):(o=\"v\",s=$,l=et);break;default:o=\"d\"}\"h\"===o?((_=Y?m(G,[et,s],[et,l]):[[$,s],[$,l],[et,l],[et,s]]).xmin=Y?et:Math.min($,et),_.xmax=Y?et:Math.max($,et),_.ymin=Math.min(s,l),_.ymax=Math.max(s,l),ht.attr(\"d\",\"M\"+_.xmin+\",\"+(tt-A)+\"h-4v\"+2*A+\"h4ZM\"+(_.xmax-1)+\",\"+(tt-A)+\"h4v\"+2*A+\"h-4Z\")):\"v\"===o?((_=Y?m(G,[s,rt],[l,rt]):[[s,tt],[s,rt],[l,rt],[l,tt]]).xmin=Math.min(s,l),_.xmax=Math.max(s,l),_.ymin=Y?rt:Math.min(tt,rt),_.ymax=Y?rt:Math.max(tt,rt),ht.attr(\"d\",\"M\"+($-A)+\",\"+_.ymin+\"v-4h\"+2*A+\"v4ZM\"+($-A)+\",\"+(_.ymax-1)+\"v4h\"+2*A+\"v-4Z\")):\"d\"===o&&((_=Y?m(G,[$,tt],[et,rt]):[[$,tt],[$,rt],[et,rt],[et,tt]]).xmin=Math.min($,et),_.xmax=Math.max($,et),_.ymin=Math.min(tt,rt),_.ymax=Math.max(tt,rt),ht.attr(\"d\",\"M0,0Z\"))}else C&&(c.addPt([et,rt]),_=c.filtered);a.selectionDefs&&a.selectionDefs.length?(x=function(t,e,r){if(r)return n.difference({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions;return n.union({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions}(a.mergedPolygons,_,st),_.subtract=st,v=R(a.selectionDefs.concat([_]))):(x=[_],v=S(_)),g(q(x,D),lt,a),H&&b.throttle(ft,k.SELECTDELAY,(function(){var t;pt=[];var e,r=[];for(w=0;w<dt.length;w++)if(e=(T=dt[w])._module.selectPoints(T,v),r.push(e),t=U(e,T),pt.length)for(var n=0;n<t.length;n++)pt.push(t[n]);else pt=t;V(W,dt,E={points:pt}),ut(E,_,c),a.gd.emit(\"plotly_selecting\",E)}))},a.clickFn=function(t,e){if(ht.remove(),W._fullLayout._activeShapeIndex>=0)W._fullLayout._deactivateShape(W);else if(!j){var r=Z.clickmode;b.done(ft).then((function(){if(b.clear(ft),2===t){for(lt.remove(),w=0;w<dt.length;w++)(T=dt[w])._module.selectPoints(T,!1);V(W,dt),B(a),W.emit(\"plotly_deselect\",null)}else r.indexOf(\"select\")>-1&&z(e,W,a.xaxes,a.yaxes,a.subplot,a,lt),\"event\"===r&&W.emit(\"plotly_selected\",void 0);s.click(W,e)})).catch(y.error)}},a.doneFn=function(){ht.remove(),b.done(ft).then((function(){b.clear(ft),a.gd.emit(\"plotly_selected\",E),_&&a.selectionDefs&&(_.subtract=st,a.selectionDefs.push(_),a.mergedPolygons.length=0,[].push.apply(a.mergedPolygons,x)),a.doneFnCompleted&&a.doneFnCompleted(pt)})).catch(y.error),j&&B(a)}},clearSelect:E,clearSelectionsCache:B,selectOnClick:z}},{\"../../components/color\":595,\"../../components/dragelement/helpers\":613,\"../../components/drawing\":617,\"../../components/fx\":635,\"../../components/fx/helpers\":631,\"../../components/shapes/draw_newshape/display_outlines\":680,\"../../components/shapes/draw_newshape/helpers\":681,\"../../components/shapes/draw_newshape/newshapes\":682,\"../../lib\":728,\"../../lib/clear_gl_canvases\":713,\"../../lib/polygon\":740,\"../../lib/throttle\":753,\"../../plot_api/subroutines\":767,\"../../registry\":859,\"./axis_ids\":779,\"./constants\":782,\"./handle_outline\":786,\"./helpers\":787,polybooljs:471}],796:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"fast-isnumeric\"),i=t(\"../../lib\"),o=i.cleanNumber,s=i.ms2DateTime,l=i.dateTime2ms,c=i.ensureNumber,u=i.isArrayOrTypedArray,h=t(\"../../constants/numerical\"),f=h.FP_SAFE,p=h.BADNUM,d=h.LOG_CLIP,g=h.ONEDAY,m=h.ONEHOUR,v=h.ONEMIN,y=h.ONESEC,x=t(\"./axis_ids\"),b=t(\"./constants\"),_=b.HOUR_PATTERN,w=b.WEEKDAY_PATTERN;function T(t){return Math.pow(10,t)}function k(t){return null!=t}e.exports=function(t,e){e=e||{};var r=t._id||\"x\",h=r.charAt(0);function A(e,r){if(e>0)return Math.log(e)/Math.LN10;if(e<=0&&r&&t.range&&2===t.range.length){var n=t.range[0],a=t.range[1];return.5*(n+a-2*d*Math.abs(n-a))}return p}function M(e,r,n,o){var s=l(e,n||t.calendar);if(s===p){if(!a(e))return p;if(e=+e,(o||{}).msUTC)return e;var c=Math.floor(10*i.mod(e+.05,1)),u=Math.round(e-c/10);s=l(new Date(u))+c/10}return s}function S(e,r,n){return s(e,r,n||t.calendar)}function E(e){return t._categories[Math.round(e)]}function C(e){if(k(e)){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push(\"number\"==typeof e?String(e):e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return p}function L(e){if(t._categoriesMap)return t._categoriesMap[e]}function P(t){var e=L(t);return void 0!==e?e:a(t)?+t:void 0}function I(t,e,r){return n.round(r+e*t,2)}function z(t,e,r){return(t-r)/e}var O=function(e){return a(e)?I(e,t._m,t._b):p},D=function(e){return z(e,t._m,t._b)};if(t.rangebreaks){var R=\"y\"===h;O=function(e){if(!a(e))return p;var r=t._rangebreaks.length;if(!r)return I(e,t._m,t._b);var n=R;t.range[0]>t.range[1]&&(n=!n);for(var i=n?-1:1,o=i*e,s=0,l=0;l<r;l++){var c=i*t._rangebreaks[l].min,u=i*t._rangebreaks[l].max;if(o<c)break;if(!(o>u)){s=o<(c+u)/2?l:l+1;break}s=l+1}var h=t._B[s]||0;return isFinite(h)?I(e,t._m2,h):0},D=function(e){var r=t._rangebreaks.length;if(!r)return z(e,t._m,t._b);for(var n=0,a=0;a<r&&!(e<t._rangebreaks[a].pmin);a++)e>t._rangebreaks[a].pmax&&(n=a+1);return z(e,t._m2,t._B[n])}}t.c2l=\"log\"===t.type?A:c,t.l2c=\"log\"===t.type?T:c,t.l2p=O,t.p2l=D,t.c2p=\"log\"===t.type?function(t,e){return O(A(t,e))}:O,t.p2c=\"log\"===t.type?function(t){return T(D(t))}:D,-1!==[\"linear\",\"-\"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=o,t.c2d=t.c2r=t.l2d=t.l2r=c,t.d2p=t.r2p=function(e){return t.l2p(o(e))},t.p2d=t.p2r=D,t.cleanPos=c):\"log\"===t.type?(t.d2r=t.d2l=function(t,e){return A(o(t),e)},t.r2d=t.r2c=function(t){return T(o(t))},t.d2c=t.r2l=o,t.c2d=t.l2r=c,t.c2r=A,t.l2d=T,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return T(D(t))},t.r2p=function(e){return t.l2p(o(e))},t.p2r=D,t.cleanPos=c):\"date\"===t.type?(t.d2r=t.r2d=i.identity,t.d2c=t.r2c=t.d2l=t.r2l=M,t.c2d=t.c2r=t.l2d=t.l2r=S,t.d2p=t.r2p=function(e,r,n){return t.l2p(M(e,0,n))},t.p2d=t.p2r=function(t,e,r){return S(D(t),e,r)},t.cleanPos=function(e){return i.cleanDate(e,p,t.calendar)}):\"category\"===t.type?(t.d2c=t.d2l=C,t.r2d=t.c2d=t.l2d=E,t.d2r=t.d2l_noadd=P,t.r2c=function(e){var r=P(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=c,t.r2l=P,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return E(D(t))},t.r2p=t.d2p,t.p2r=D,t.cleanPos=function(t){return\"string\"==typeof t&&\"\"!==t?t:c(t)}):\"multicategory\"===t.type&&(t.r2d=t.c2d=t.l2d=E,t.d2r=t.d2l_noadd=P,t.r2c=function(e){var r=P(e);return void 0!==r?r:t.fraction2r(.5)},t.r2c_just_indices=L,t.l2r=t.c2r=c,t.r2l=P,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return E(D(t))},t.r2p=t.d2p,t.p2r=D,t.cleanPos=function(t){return Array.isArray(t)||\"string\"==typeof t&&\"\"!==t?t:c(t)},t.setupMultiCategory=function(n){var a,o,s=t._traceIndices,l=e._axisMatchGroups;if(l&&l.length&&0===t._categories.length)for(a=0;a<l.length;a++){var c=l[a];if(c[r])for(var f in c)if(f!==r){var p=e[x.id2name(f)];s=s.concat(p._traceIndices)}}var d=[[0,{}],[0,{}]],g=[];for(a=0;a<s.length;a++){var m=n[s[a]];if(h in m){var v=m[h],y=m._length||i.minRowLength(v);if(u(v[0])&&u(v[1]))for(o=0;o<y;o++){var b=v[0][o],_=v[1][o];k(b)&&k(_)&&(g.push([b,_]),b in d[0][1]||(d[0][1][b]=d[0][0]++),_ in d[1][1]||(d[1][1][_]=d[1][0]++))}}}for(g.sort((function(t,e){var r=d[0][1],n=r[t[0]]-r[e[0]];if(n)return n;var a=d[1][1];return a[t[1]]-a[e[1]]})),a=0;a<g.length;a++)C(g[a])}),t.fraction2r=function(e){var r=t.r2l(t.range[0]),n=t.r2l(t.range[1]);return t.l2r(r+e*(n-r))},t.r2fraction=function(e){var r=t.r2l(t.range[0]),n=t.r2l(t.range[1]);return(t.r2l(e)-r)/(n-r)},t.cleanRange=function(e,r){r||(r={}),e||(e=\"range\");var n,o,s=i.nestedProperty(t,e).get();if(o=(o=\"date\"===t.type?i.dfltRange(t.calendar):\"y\"===h?b.DFLTRANGEY:r.dfltRange||b.DFLTRANGEX).slice(),\"tozero\"!==t.rangemode&&\"nonnegative\"!==t.rangemode||(o[0]=0),s&&2===s.length)for(\"date\"!==t.type||t.autorange||(s[0]=i.cleanDate(s[0],p,t.calendar),s[1]=i.cleanDate(s[1],p,t.calendar)),n=0;n<2;n++)if(\"date\"===t.type){if(!i.isDateTime(s[n],t.calendar)){t[e]=o;break}if(t.r2l(s[0])===t.r2l(s[1])){var l=i.constrain(t.r2l(s[0]),i.MIN_MS+1e3,i.MAX_MS-1e3);s[0]=t.l2r(l-1e3),s[1]=t.l2r(l+1e3);break}}else{if(!a(s[n])){if(!a(s[1-n])){t[e]=o;break}s[n]=s[1-n]*(n?10:.1)}if(s[n]<-f?s[n]=-f:s[n]>f&&(s[n]=f),s[0]===s[1]){var c=Math.max(1,Math.abs(1e-6*s[0]));s[0]-=c,s[1]+=c}}else i.nestedProperty(t,e).set(o)},t.setScale=function(r){var n=e._size;if(t.overlaying){var a=x.getFromId({_fullLayout:e},t.overlaying);t.domain=a.domain}var i=r&&t._r?\"_r\":\"range\",o=t.calendar;t.cleanRange(i);var s,l,c=t.r2l(t[i][0],o),u=t.r2l(t[i][1],o),f=\"y\"===h;if((f?(t._offset=n.t+(1-t.domain[1])*n.h,t._length=n.h*(t.domain[1]-t.domain[0]),t._m=t._length/(c-u),t._b=-t._m*u):(t._offset=n.l+t.domain[0]*n.w,t._length=n.w*(t.domain[1]-t.domain[0]),t._m=t._length/(u-c),t._b=-t._m*c),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks)&&(t._rangebreaks=t.locateBreaks(Math.min(c,u),Math.max(c,u)),t._rangebreaks.length)){for(s=0;s<t._rangebreaks.length;s++)l=t._rangebreaks[s],t._lBreaks+=Math.abs(l.max-l.min);var p=f;c>u&&(p=!p),p&&t._rangebreaks.reverse();var d=p?-1:1;for(t._m2=d*t._length/(Math.abs(u-c)-t._lBreaks),t._B.push(-t._m2*(f?u:c)),s=0;s<t._rangebreaks.length;s++)l=t._rangebreaks[s],t._B.push(t._B[t._B.length-1]-d*t._m2*(l.max-l.min));for(s=0;s<t._rangebreaks.length;s++)(l=t._rangebreaks[s]).pmin=O(l.min),l.pmax=O(l.max)}if(!isFinite(t._m)||!isFinite(t._b)||t._length<0)throw e._replotting=!1,new Error(\"Something went wrong with axis scaling\")},t.maskBreaks=function(e){for(var r,n,a,s,l,c=t.rangebreaks||[],u=0;u<c.length;u++){var h=c[u];if(h.enabled)if(h.bounds){var f=h.pattern;switch(n=(r=i.simpleMap(h.bounds,f?o:t.d2c))[0],a=r[1],f){case w:s=(l=new Date(e)).getUTCDay(),n>a&&(a+=7,s<n&&(s+=7));break;case _:s=(l=new Date(e)).getUTCHours()+(l.getUTCMinutes()/60+l.getUTCSeconds()/3600+l.getUTCMilliseconds()/36e5),n>a&&(a+=24,s<n&&(s+=24));break;case\"\":s=e}if(s>=n&&s<a)return p}else for(var d=i.simpleMap(h.values,t.d2c).sort(i.sorterAsc),g=0;g<d.length;g++)if(a=(n=d[g])+h.dvalue,e>=n&&e<a)return p}return e},t.locateBreaks=function(e,r){var n,a,s,l,c=[];if(!t.rangebreaks)return c;var u=t.rangebreaks.slice().sort((function(t,e){return t.pattern===w&&e.pattern===_?-1:e.pattern===w&&t.pattern===_?1:0})),h=function(t,n){if((t=i.constrain(t,e,r))!==(n=i.constrain(n,e,r))){for(var a=!0,o=0;o<c.length;o++){var s=c[o];t<s.max&&n>=s.min&&(t<s.min&&(s.min=t),n>s.max&&(s.max=n),a=!1)}a&&c.push({min:t,max:n})}};for(n=0;n<u.length;n++){var f=u[n];if(f.enabled)if(f.bounds){var p=e,d=r;f.pattern&&(p=Math.floor(p)),s=(a=i.simpleMap(f.bounds,f.pattern?o:t.r2l))[0],l=a[1];var x,b,T=new Date(p);switch(f.pattern){case w:b=7*g,x=(l-s+(l<s?7:0))*g,p+=s*g-(T.getUTCDay()*g+T.getUTCHours()*m+T.getUTCMinutes()*v+T.getUTCSeconds()*y+T.getUTCMilliseconds());break;case _:b=g,x=(l-s+(l<s?24:0))*m,p+=s*m-(T.getUTCHours()*m+T.getUTCMinutes()*v+T.getUTCSeconds()*y+T.getUTCMilliseconds());break;default:p=Math.min(a[0],a[1]),x=b=(d=Math.max(a[0],a[1]))-p}for(var k=p;k<d;k+=b)h(k,k+x)}else for(var A=i.simpleMap(f.values,t.d2c),M=0;M<A.length;M++)h(s=A[M],l=s+f.dvalue)}return c.sort((function(t,e){return t.min-e.min})),c},t.makeCalcdata=function(e,r,n){var a,o,s,l,c=t.type,u=\"date\"===c&&e[r+\"calendar\"];if(r in e){if(a=e[r],l=e._length||i.minRowLength(a),i.isTypedArray(a)&&(\"linear\"===c||\"log\"===c)){if(l===a.length)return a;if(a.subarray)return a.subarray(0,l)}if(\"multicategory\"===c)return function(t,e){for(var r=new Array(e),n=0;n<e;n++){var a=(t[0]||[])[n],i=(t[1]||[])[n];r[n]=L([a,i])}return r}(a,l);for(o=new Array(l),s=0;s<l;s++)o[s]=t.d2c(a[s],0,u,n)}else{var h=r+\"0\"in e?t.d2c(e[r+\"0\"],0,u):0,f=e[\"d\"+r]?Number(e[\"d\"+r]):1;for(a=e[{x:\"y\",y:\"x\"}[r]],l=e._length||a.length,o=new Array(l),s=0;s<l;s++)o[s]=h+s*f}if(t.rangebreaks)for(s=0;s<l;s++)o[s]=t.maskBreaks(o[s]);return o},t.isValidRange=function(e){return Array.isArray(e)&&2===e.length&&a(t.r2l(e[0]))&&a(t.r2l(e[1]))},t.isPtWithinRange=function(e,r){var n=t.c2l(e[h],null,r),a=t.r2l(t.range[0]),i=t.r2l(t.range[1]);return a<i?a<=n&&n<=i:i<=n&&n<=a},t._emptyCategories=function(){t._categories=[],t._categoriesMap={}},t.clearCalc=function(){var n=e._axisMatchGroups;if(n&&n.length){for(var a=!1,i=0;i<n.length;i++){var o=n[i];if(o[r]){a=!0;var s=null,l=null;for(var c in o){var u=e[x.id2name(c)];if(u._categories){s=u._categories,l=u._categoriesMap;break}}s&&l?(t._categories=s,t._categoriesMap=l):t._emptyCategories();break}}a||t._emptyCategories()}else t._emptyCategories();if(t._initialCategories)for(var h=0;h<t._initialCategories.length;h++)C(t._initialCategories[h])},t.sortByInitialCategories=function(){var n=[];if(t._emptyCategories(),t._initialCategories)for(var a=0;a<t._initialCategories.length;a++)C(t._initialCategories[a]);n=n.concat(t._traceIndices);var i=t._matchGroup;for(var o in i)if(r!==o){var s=e[x.id2name(o)];s._categories=t._categories,s._categoriesMap=t._categoriesMap,n=n.concat(s._traceIndices)}return n};var F=e._d3locale;\"date\"===t.type&&(t._dateFormat=F?F.timeFormat.utc:n.time.format.utc,t._extraFormat=e._extraFormat),t._separators=e.separators,t._numFormat=F?F.numberFormat:n.format,delete t._minDtick,delete t._forceTick0}},{\"../../constants/numerical\":704,\"../../lib\":728,\"./axis_ids\":779,\"./constants\":782,d3:164,\"fast-isnumeric\":236}],797:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"./layout_attributes\"),i=t(\"../array_container_defaults\");function o(t){var e=[\"showexponent\",\"showtickprefix\",\"showticksuffix\"].filter((function(e){return void 0!==t[e]}));if(e.every((function(r){return t[r]===t[e[0]]}))||1===e.length)return t[e[0]]}function s(t,e){function r(r,i){return n.coerce(t,e,a.tickformatstops,r,i)}r(\"enabled\")&&(r(\"dtickrange\"),r(\"value\"))}e.exports=function(t,e,r,l,c,u){u&&1!==u.pass||function(t,e,r,n,a){var i=o(t);r(\"tickprefix\")&&r(\"showtickprefix\",i);r(\"ticksuffix\",a.tickSuffixDflt)&&r(\"showticksuffix\",i)}(t,0,r,0,c),u&&2!==u.pass||function(t,e,r,l,c){var u=o(t);r(\"tickprefix\")&&r(\"showtickprefix\",u);r(\"ticksuffix\",c.tickSuffixDflt)&&r(\"showticksuffix\",u);if(r(\"showticklabels\")){var h=c.font||{},f=e.color,p=f&&f!==a.color.dflt?f:h.color;if(n.coerceFont(r,\"tickfont\",{family:h.family,size:h.size,color:p}),r(\"tickangle\"),\"category\"!==l){var d=r(\"tickformat\");i(t,e,{name:\"tickformatstops\",inclusionAttr:\"enabled\",handleItemDefaults:s}),e.tickformatstops.length||delete e.tickformatstops,d||\"date\"===l||(r(\"showexponent\",u),r(\"exponentformat\"),r(\"separatethousands\"))}}}(t,e,r,l,c)}},{\"../../lib\":728,\"../array_container_defaults\":772,\"./layout_attributes\":790}],798:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"./layout_attributes\");e.exports=function(t,e,r,i){var o=n.coerce2(t,e,a,\"ticklen\"),s=n.coerce2(t,e,a,\"tickwidth\"),l=n.coerce2(t,e,a,\"tickcolor\",e.color);r(\"ticks\",i.outerTicks||o||s||l?\"outside\":\"\")||(delete e.ticklen,delete e.tickwidth,delete e.tickcolor)}},{\"../../lib\":728,\"./layout_attributes\":790}],799:[function(t,e,r){\"use strict\";var n=t(\"./clean_ticks\"),a=t(\"../../lib\").isArrayOrTypedArray;e.exports=function(t,e,r,i){function o(r){var n=t[r];return void 0!==n?n:(e._template||{})[r]}var s=o(\"tick0\"),l=o(\"dtick\"),c=o(\"tickvals\"),u=r(\"tickmode\",a(c)?\"array\":l?\"linear\":\"auto\");if(\"auto\"===u)r(\"nticks\");else if(\"linear\"===u){var h=e.dtick=n.dtick(l,i);e.tick0=n.tick0(s,i,e.calendar,h)}else if(\"multicategory\"!==i){void 0===r(\"tickvals\")?e.tickmode=\"auto\":r(\"ticktext\")}}},{\"../../lib\":728,\"./clean_ticks\":781}],800:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../registry\"),i=t(\"../../lib\"),o=t(\"../../components/drawing\"),s=t(\"./axes\");e.exports=function(t,e,r,l){var c=t._fullLayout;if(0!==e.length){var u,h,f,p;l&&(u=l());var d=n.ease(r.easing);return t._transitionData._interruptCallbacks.push((function(){return window.cancelAnimationFrame(p),p=null,function(){for(var r={},n=0;n<e.length;n++){var i=e[n],o=i.plotinfo.xaxis,s=i.plotinfo.yaxis;i.xr0&&(r[o._name+\".range\"]=i.xr0.slice()),i.yr0&&(r[s._name+\".range\"]=i.yr0.slice())}return a.call(\"relayout\",t,r).then((function(){for(var t=0;t<e.length;t++)g(e[t].plotinfo)}))}()})),h=Date.now(),p=window.requestAnimationFrame((function n(){f=Date.now();for(var i=Math.min(1,(f-h)/r.duration),o=d(i),s=0;s<e.length;s++)m(e[s],o);f-h>r.duration?(!function(){for(var r={},n=0;n<e.length;n++){var i=e[n],o=i.plotinfo.xaxis,s=i.plotinfo.yaxis;i.xr1&&(r[o._name+\".range\"]=i.xr1.slice()),i.yr1&&(r[s._name+\".range\"]=i.yr1.slice())}u&&u(),a.call(\"relayout\",t,r).then((function(){for(var t=0;t<e.length;t++)g(e[t].plotinfo)}))}(),p=window.cancelAnimationFrame(n)):p=window.requestAnimationFrame(n)})),Promise.resolve()}function g(t){var e=t.xaxis,r=t.yaxis;c._defs.select(\"#\"+t.clipId+\"> rect\").call(o.setTranslate,0,0).call(o.setScale,1,1),t.plot.call(o.setTranslate,e._offset,r._offset).call(o.setScale,1,1);var n=t.plot.selectAll(\".scatterlayer .trace\");n.selectAll(\".point\").call(o.setPointGroupScale,1,1),n.selectAll(\".textpoint\").call(o.setTextPointsScale,1,1),n.call(o.hideOutsideRangePoints,t)}function m(e,r){var n=e.plotinfo,a=n.xaxis,l=n.yaxis,c=a._length,u=l._length,h=!!e.xr1,f=!!e.yr1,p=[];if(h){var d=i.simpleMap(e.xr0,a.r2l),g=i.simpleMap(e.xr1,a.r2l),m=d[1]-d[0],v=g[1]-g[0];p[0]=(d[0]*(1-r)+r*g[0]-d[0])/(d[1]-d[0])*c,p[2]=c*(1-r+r*v/m),a.range[0]=a.l2r(d[0]*(1-r)+r*g[0]),a.range[1]=a.l2r(d[1]*(1-r)+r*g[1])}else p[0]=0,p[2]=c;if(f){var y=i.simpleMap(e.yr0,l.r2l),x=i.simpleMap(e.yr1,l.r2l),b=y[1]-y[0],_=x[1]-x[0];p[1]=(y[1]*(1-r)+r*x[1]-y[1])/(y[0]-y[1])*u,p[3]=u*(1-r+r*_/b),l.range[0]=a.l2r(y[0]*(1-r)+r*x[0]),l.range[1]=l.l2r(y[1]*(1-r)+r*x[1])}else p[1]=0,p[3]=u;s.drawOne(t,a,{skipTitle:!0}),s.drawOne(t,l,{skipTitle:!0}),s.redrawComponents(t,[a._id,l._id]);var w=h?c/p[2]:1,T=f?u/p[3]:1,k=h?p[0]:0,A=f?p[1]:0,M=h?p[0]/p[2]*c:0,S=f?p[1]/p[3]*u:0,E=a._offset-M,C=l._offset-S;n.clipRect.call(o.setTranslate,k,A).call(o.setScale,1/w,1/T),n.plot.call(o.setTranslate,E,C).call(o.setScale,w,T),o.setPointGroupScale(n.zoomScalePts,1/w,1/T),o.setTextPointsScale(n.zoomScaleTxt,1/w,1/T)}s.redrawComponents(t)}},{\"../../components/drawing\":617,\"../../lib\":728,\"../../registry\":859,\"./axes\":776,d3:164}],801:[function(t,e,r){\"use strict\";var n=t(\"../../registry\").traceIs,a=t(\"./axis_autotype\");function i(t){return{v:\"x\",h:\"y\"}[t.orientation||\"v\"]}function o(t,e){var r=i(t),a=n(t,\"box-violin\"),o=n(t._fullInput||{},\"candlestick\");return a&&!o&&e===r&&void 0===t[r]&&void 0===t[r+\"0\"]}e.exports=function(t,e,r,s){\"-\"===r(\"type\",(s.splomStash||{}).type)&&(!function(t,e){if(\"-\"!==t.type)return;var r,s=t._id,l=s.charAt(0);-1!==s.indexOf(\"scene\")&&(s=l);var c=function(t,e,r){for(var n=0;n<t.length;n++){var a=t[n];if(\"splom\"===a.type&&a._length>0&&(a[\"_\"+r+\"axes\"]||{})[e])return a;if((a[r+\"axis\"]||r)===e){if(o(a,r))return a;if((a[r]||[]).length||a[r+\"0\"])return a}}}(e,s,l);if(!c)return;if(\"histogram\"===c.type&&l==={v:\"y\",h:\"x\"}[c.orientation||\"v\"])return void(t.type=\"linear\");var u=l+\"calendar\",h=c[u],f={noMultiCategory:!n(c,\"cartesian\")||n(c,\"noMultiCategory\")};\"box\"===c.type&&c._hasPreCompStats&&l==={h:\"x\",v:\"y\"}[c.orientation||\"v\"]&&(f.noMultiCategory=!0);if(o(c,l)){var p=i(c),d=[];for(r=0;r<e.length;r++){var g=e[r];n(g,\"box-violin\")&&(g[l+\"axis\"]||l)===s&&(void 0!==g[p]?d.push(g[p][0]):void 0!==g.name?d.push(g.name):d.push(\"text\"),g[u]!==h&&(h=void 0))}t.type=a(d,h,f)}else if(\"splom\"===c.type){var m=c.dimensions[c._axesDim[s]];m.visible&&(t.type=a(m.values,h,f))}else t.type=a(c[l]||[c[l+\"0\"]],h,f)}(e,s.data),\"-\"===e.type?e.type=\"linear\":t.type=e.type)}},{\"../../registry\":859,\"./axis_autotype\":777}],802:[function(t,e,r){\"use strict\";var n=t(\"../registry\"),a=t(\"../lib\");function i(t,e,r){var n,i,o,s=!1;if(\"data\"===e.type)n=t._fullData[null!==e.traces?e.traces[0]:0];else{if(\"layout\"!==e.type)return!1;n=t._fullLayout}return i=a.nestedProperty(n,e.prop).get(),(o=r[e.type]=r[e.type]||{}).hasOwnProperty(e.prop)&&o[e.prop]!==i&&(s=!0),o[e.prop]=i,{changed:s,value:i}}function o(t,e){var r=[],n=e[0],i={};if(\"string\"==typeof n)i[n]=e[1];else{if(!a.isPlainObject(n))return r;i=n}return l(i,(function(t,e,n){r.push({type:\"layout\",prop:t,value:n})}),\"\",0),r}function s(t,e){var r,n,i,o,s=[];if(n=e[0],i=e[1],r=e[2],o={},\"string\"==typeof n)o[n]=i;else{if(!a.isPlainObject(n))return s;o=n,void 0===r&&(r=i)}return void 0===r&&(r=null),l(o,(function(e,n,a){var i,o;if(Array.isArray(a)){o=a.slice();var l=Math.min(o.length,t.data.length);r&&(l=Math.min(l,r.length)),i=[];for(var c=0;c<l;c++)i[c]=r?r[c]:c}else o=a,i=r?r.slice():null;if(null===i)Array.isArray(o)&&(o=o[0]);else if(Array.isArray(i)){if(!Array.isArray(o)){var u=o;o=[];for(var h=0;h<i.length;h++)o[h]=u}o.length=Math.min(i.length,o.length)}s.push({type:\"data\",prop:e,traces:i,value:o})}),\"\",0),s}function l(t,e,r,n){Object.keys(t).forEach((function(i){var o=t[i];if(\"_\"!==i[0]){var s=r+(n>0?\".\":\"\")+i;a.isPlainObject(o)?l(o,e,s,n+1):e(s,i,o)}}))}r.manageCommandObserver=function(t,e,n,o){var s={},l=!0;e&&e._commandObserver&&(s=e._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var c=r.hasSimpleAPICommandBindings(t,n,s.lookupTable);if(e&&e._commandObserver){if(c)return s;if(e._commandObserver.remove)return e._commandObserver.remove(),e._commandObserver=null,s}if(c){i(t,c,s.cache),s.check=function(){if(l){var e=i(t,c,s.cache);return e.changed&&o&&void 0!==s.lookupTable[e.value]&&(s.disable(),Promise.resolve(o({value:e.value,type:c.type,prop:c.prop,traces:c.traces,index:s.lookupTable[e.value]})).then(s.enable,s.enable)),e.changed}};for(var u=[\"plotly_relayout\",\"plotly_redraw\",\"plotly_restyle\",\"plotly_update\",\"plotly_animatingframe\",\"plotly_afterplot\"],h=0;h<u.length;h++)t._internalOn(u[h],s.check);s.remove=function(){for(var e=0;e<u.length;e++)t._removeInternalListener(u[e],s.check)}}else a.log(\"Unable to automatically bind plot updates to API command\"),s.lookupTable={},s.remove=function(){};return s.disable=function(){l=!1},s.enable=function(){l=!0},e&&(e._commandObserver=s),s},r.hasSimpleAPICommandBindings=function(t,e,n){var a,i,o=e.length;for(a=0;a<o;a++){var s,l=e[a],c=l.method,u=l.args;if(Array.isArray(u)||(u=[]),!c)return!1;var h=r.computeAPICommandBindings(t,c,u);if(1!==h.length)return!1;if(i){if((s=h[0]).type!==i.type)return!1;if(s.prop!==i.prop)return!1;if(Array.isArray(i.traces)){if(!Array.isArray(s.traces))return!1;s.traces.sort();for(var f=0;f<i.traces.length;f++)if(i.traces[f]!==s.traces[f])return!1}else if(s.prop!==i.prop)return!1}else i=h[0],Array.isArray(i.traces)&&i.traces.sort();var p=(s=h[0]).value;if(Array.isArray(p)){if(1!==p.length)return!1;p=p[0]}n&&(n[p]=a)}return i},r.executeAPICommand=function(t,e,r){if(\"skip\"===e)return Promise.resolve();var i=n.apiMethodRegistry[e],o=[t];Array.isArray(r)||(r=[]);for(var s=0;s<r.length;s++)o.push(r[s]);return i.apply(null,o).catch((function(t){return a.warn(\"API call to Plotly.\"+e+\" rejected.\",t),Promise.reject(t)}))},r.computeAPICommandBindings=function(t,e,r){var n;switch(Array.isArray(r)||(r=[]),e){case\"restyle\":n=s(t,r);break;case\"relayout\":n=o(t,r);break;case\"update\":n=s(t,[r[0],r[2]]).concat(o(t,[r[1]]));break;case\"animate\":n=function(t,e){return Array.isArray(e[0])&&1===e[0].length&&-1!==[\"string\",\"number\"].indexOf(typeof e[0][0])?[{type:\"layout\",prop:\"_currentFrame\",value:e[0][0].toString()}]:[]}(0,r);break;default:n=[]}return n}},{\"../lib\":728,\"../registry\":859}],803:[function(t,e,r){\"use strict\";var n=t(\"../lib/extend\").extendFlat;r.attributes=function(t,e){e=e||{};var r={valType:\"info_array\",editType:(t=t||{}).editType,items:[{valType:\"number\",min:0,max:1,editType:t.editType},{valType:\"number\",min:0,max:1,editType:t.editType}],dflt:[0,1]},a=(t.name&&t.name,t.trace,e.description&&e.description,{x:n({},r,{}),y:n({},r,{}),editType:t.editType});return t.noGridCell||(a.row={valType:\"integer\",min:0,dflt:0,editType:t.editType},a.column={valType:\"integer\",min:0,dflt:0,editType:t.editType}),a},r.defaults=function(t,e,r,n){var a=n&&n.x||[0,1],i=n&&n.y||[0,1],o=e.grid;if(o){var s=r(\"domain.column\");void 0!==s&&(s<o.columns?a=o._domains.x[s]:delete t.domain.column);var l=r(\"domain.row\");void 0!==l&&(l<o.rows?i=o._domains.y[l]:delete t.domain.row)}var c=r(\"domain.x\",a),u=r(\"domain.y\",i);c[0]<c[1]||(t.domain.x=a.slice()),u[0]<u[1]||(t.domain.y=i.slice())}},{\"../lib/extend\":719}],804:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.editType,r=t.colorEditType;void 0===r&&(r=e);var n={family:{valType:\"string\",noBlank:!0,strict:!0,editType:e},size:{valType:\"number\",min:1,editType:e},color:{valType:\"color\",editType:r},editType:e};return t.arrayOk&&(n.family.arrayOk=!0,n.size.arrayOk=!0,n.color.arrayOk=!0),n}},{}],805:[function(t,e,r){\"use strict\";e.exports={_isLinkedToArray:\"frames_entry\",group:{valType:\"string\"},name:{valType:\"string\"},traces:{valType:\"any\"},baseframe:{valType:\"string\"},data:{valType:\"any\"},layout:{valType:\"any\"}}},{}],806:[function(t,e,r){\"use strict\";r.projNames={equirectangular:\"equirectangular\",mercator:\"mercator\",orthographic:\"orthographic\",\"natural earth\":\"naturalEarth\",kavrayskiy7:\"kavrayskiy7\",miller:\"miller\",robinson:\"robinson\",eckert4:\"eckert4\",\"azimuthal equal area\":\"azimuthalEqualArea\",\"azimuthal equidistant\":\"azimuthalEquidistant\",\"conic equal area\":\"conicEqualArea\",\"conic conformal\":\"conicConformal\",\"conic equidistant\":\"conicEquidistant\",gnomonic:\"gnomonic\",stereographic:\"stereographic\",mollweide:\"mollweide\",hammer:\"hammer\",\"transverse mercator\":\"transverseMercator\",\"albers usa\":\"albersUsa\",\"winkel tripel\":\"winkel3\",aitoff:\"aitoff\",sinusoidal:\"sinusoidal\"},r.axesNames=[\"lonaxis\",\"lataxis\"],r.lonaxisSpan={orthographic:180,\"azimuthal equal area\":360,\"azimuthal equidistant\":360,\"conic conformal\":180,gnomonic:160,stereographic:180,\"transverse mercator\":180,\"*\":360},r.lataxisSpan={\"conic conformal\":150,stereographic:179.5,\"*\":180},r.scopeDefaults={world:{lonaxisRange:[-180,180],lataxisRange:[-90,90],projType:\"equirectangular\",projRotate:[0,0,0]},usa:{lonaxisRange:[-180,-50],lataxisRange:[15,80],projType:\"albers usa\"},europe:{lonaxisRange:[-30,60],lataxisRange:[30,85],projType:\"conic conformal\",projRotate:[15,0,0],projParallels:[0,60]},asia:{lonaxisRange:[22,160],lataxisRange:[-15,55],projType:\"mercator\",projRotate:[0,0,0]},africa:{lonaxisRange:[-30,60],lataxisRange:[-40,40],projType:\"mercator\",projRotate:[0,0,0]},\"north america\":{lonaxisRange:[-180,-45],lataxisRange:[5,85],projType:\"conic conformal\",projRotate:[-100,0,0],projParallels:[29.5,45.5]},\"south america\":{lonaxisRange:[-100,-30],lataxisRange:[-60,15],projType:\"mercator\",projRotate:[0,0,0]}},r.clipPad=.001,r.precision=.1,r.landColor=\"#F0DC82\",r.waterColor=\"#3399FF\",r.locationmodeToLayer={\"ISO-3\":\"countries\",\"USA-states\":\"subunits\",\"country names\":\"countries\"},r.sphereSVG={type:\"Sphere\"},r.fillLayers={ocean:1,land:1,lakes:1},r.lineLayers={subunits:1,countries:1,coastlines:1,rivers:1,frame:1},r.layers=[\"bg\",\"ocean\",\"land\",\"lakes\",\"subunits\",\"countries\",\"coastlines\",\"rivers\",\"lataxis\",\"lonaxis\",\"frame\",\"backplot\",\"frontplot\"],r.layersForChoropleth=[\"bg\",\"ocean\",\"land\",\"subunits\",\"countries\",\"coastlines\",\"lataxis\",\"lonaxis\",\"frame\",\"backplot\",\"rivers\",\"lakes\",\"frontplot\"],r.layerNameToAdjective={ocean:\"ocean\",land:\"land\",lakes:\"lake\",subunits:\"subunit\",countries:\"country\",coastlines:\"coastline\",rivers:\"river\",frame:\"frame\"}},{}],807:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../registry\"),i=t(\"../../lib\"),o=t(\"../../components/color\"),s=t(\"../../components/drawing\"),l=t(\"../../components/fx\"),c=t(\"../plots\"),u=t(\"../cartesian/axes\"),h=t(\"../cartesian/autorange\").getAutoRange,f=t(\"../../components/dragelement\"),p=t(\"../cartesian/select\").prepSelect,d=t(\"../cartesian/select\").clearSelect,g=t(\"../cartesian/select\").selectOnClick,m=t(\"./zoom\"),v=t(\"./constants\"),y=t(\"../../lib/geo_location_utils\"),x=t(\"../../lib/topojson_utils\"),b=t(\"topojson-client\").feature;function _(t){this.id=t.id,this.graphDiv=t.graphDiv,this.container=t.container,this.topojsonURL=t.topojsonURL,this.isStatic=t.staticPlot,this.topojsonName=null,this.topojson=null,this.projection=null,this.scope=null,this.viewInitial=null,this.fitScale=null,this.bounds=null,this.midPt=null,this.hasChoropleth=!1,this.traceHash={},this.layers={},this.basePaths={},this.dataPaths={},this.dataPoints={},this.clipDef=null,this.clipRect=null,this.bgRect=null,this.makeFramework()}t(\"./projections\")(n);var w=_.prototype;function T(t,e){var r=v.clipPad,n=t[0]+r,a=t[1]-r,i=e[0]+r,o=e[1]-r;n>0&&a<0&&(a+=360);var s=(a-n)/4;return{type:\"Polygon\",coordinates:[[[n,i],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[a,o],[a,i],[a-s,i],[a-2*s,i],[a-3*s,i],[n,i]]]}}e.exports=function(t){return new _(t)},w.plot=function(t,e,r){var n=this,a=e[this.id],i=[],o=!1;for(var s in v.layerNameToAdjective)if(\"frame\"!==s&&a[\"show\"+s]){o=!0;break}for(var l=0;l<t.length;l++)if(t[0][0].trace.locationmode){o=!0;break}if(o){var c=x.getTopojsonName(a);null!==n.topojson&&c===n.topojsonName||(n.topojsonName=c,void 0===PlotlyGeoAssets.topojson[n.topojsonName]&&i.push(n.fetchTopojson()))}i=i.concat(y.fetchTraceGeoData(t)),r.push(new Promise((function(r,a){Promise.all(i).then((function(){n.topojson=PlotlyGeoAssets.topojson[n.topojsonName],n.update(t,e),r()})).catch(a)})))},w.fetchTopojson=function(){var t=this,e=x.getTopojsonPath(t.topojsonURL,t.topojsonName);return new Promise((function(r,a){n.json(e,(function(n,i){if(n)return 404===n.status?a(new Error([\"plotly.js could not find topojson file at\",e,\".\",\"Make sure the *topojsonURL* plot config option\",\"is set properly.\"].join(\" \"))):a(new Error([\"unexpected error while fetching topojson file at\",e].join(\" \")));PlotlyGeoAssets.topojson[t.topojsonName]=i,r()}))}))},w.update=function(t,e){var r=e[this.id];this.hasChoropleth=!1;for(var n=0;n<t.length;n++){var a=t[n],i=a[0].trace;\"choropleth\"===i.type&&(this.hasChoropleth=!0),!0===i.visible&&i._length>0&&i._module.calcGeoJSON(a,e)}if(!this.updateProjection(t,e)){this.viewInitial&&this.scope===r.scope||this.saveViewInitial(r),this.scope=r.scope,this.updateBaseLayers(e,r),this.updateDims(e,r),this.updateFx(e,r),c.generalUpdatePerTraceModule(this.graphDiv,this,t,r);var o=this.layers.frontplot.select(\".scatterlayer\");this.dataPoints.point=o.selectAll(\".point\"),this.dataPoints.text=o.selectAll(\"text\"),this.dataPaths.line=o.selectAll(\".js-line\");var s=this.layers.backplot.select(\".choroplethlayer\");this.dataPaths.choropleth=s.selectAll(\"path\"),this.render()}},w.updateProjection=function(t,e){var r=this.graphDiv,o=e[this.id],s=e._size,l=o.domain,c=o.projection,u=o.lonaxis,f=o.lataxis,p=u._ax,d=f._ax,g=this.projection=function(t){for(var e=t.projection.type,r=n.geo[v.projNames[e]](),a=t._isClipped?v.lonaxisSpan[e]/2:null,i=[\"center\",\"rotate\",\"parallels\",\"clipExtent\"],o=function(t){return t?r:[]},s=0;s<i.length;s++){var l=i[s];\"function\"!=typeof r[l]&&(r[l]=o)}r.isLonLatOverEdges=function(t){if(null===r(t))return!0;if(a){var e=r.rotate();return n.geo.distance(t,[-e[0],-e[1]])>a*Math.PI/180}return!1},r.getPath=function(){return n.geo.path().projection(r)},r.getBounds=function(t){return r.getPath().bounds(t)},r.fitExtent=function(t,e){var n=t[1][0]-t[0][0],a=t[1][1]-t[0][1],i=r.clipExtent&&r.clipExtent();r.scale(150).translate([0,0]),i&&r.clipExtent(null);var o=r.getBounds(e),s=Math.min(n/(o[1][0]-o[0][0]),a/(o[1][1]-o[0][1])),l=+t[0][0]+(n-s*(o[1][0]+o[0][0]))/2,c=+t[0][1]+(a-s*(o[1][1]+o[0][1]))/2;return i&&r.clipExtent(i),r.scale(150*s).translate([l,c])},r.precision(v.precision),a&&r.clipAngle(a-v.clipPad);return r}(o),m=[[s.l+s.w*l.x[0],s.t+s.h*(1-l.y[1])],[s.l+s.w*l.x[1],s.t+s.h*(1-l.y[0])]],y=o.center||{},x=c.rotation||{},b=u.range||[],_=f.range||[];if(o.fitbounds){p._length=m[1][0]-m[0][0],d._length=m[1][1]-m[0][1],p.range=h(r,p),d.range=h(r,d);var w=(p.range[0]+p.range[1])/2,k=(d.range[0]+d.range[1])/2;if(o._isScoped)y={lon:w,lat:k};else if(o._isClipped){y={lon:w,lat:k},x={lon:w,lat:k,roll:x.roll};var A=c.type,M=v.lonaxisSpan[A]/2||180,S=v.lataxisSpan[A]/2||180;b=[w-M,w+M],_=[k-S,k+S]}else y={lon:w,lat:k},x={lon:w,lat:x.lat,roll:x.roll}}g.center([y.lon-x.lon,y.lat-x.lat]).rotate([-x.lon,-x.lat,x.roll]).parallels(c.parallels);var E=T(b,_);g.fitExtent(m,E);var C=this.bounds=g.getBounds(E),L=this.fitScale=g.scale(),P=g.translate();if(!isFinite(C[0][0])||!isFinite(C[0][1])||!isFinite(C[1][0])||!isFinite(C[1][1])||isNaN(P[0])||isNaN(P[0])){for(var I=[\"fitbounds\",\"projection.rotation\",\"center\",\"lonaxis.range\",\"lataxis.range\"],z=\"Invalid geo settings, relayout'ing to default view.\",O={},D=0;D<I.length;D++)O[this.id+\".\"+I[D]]=null;return this.viewInitial=null,i.warn(z),r._promises.push(a.call(\"relayout\",r,O)),z}if(o.fitbounds){var R=g.getBounds(T(p.range,d.range)),F=Math.min((C[1][0]-C[0][0])/(R[1][0]-R[0][0]),(C[1][1]-C[0][1])/(R[1][1]-R[0][1]));isFinite(F)?g.scale(F*L):i.warn(\"Something went wrong during\"+this.id+\"fitbounds computations.\")}else g.scale(c.scale*L);var B=this.midPt=[(C[0][0]+C[1][0])/2,(C[0][1]+C[1][1])/2];if(g.translate([P[0]+(B[0]-P[0]),P[1]+(B[1]-P[1])]).clipExtent(C),o._isAlbersUsa){var N=g([y.lon,y.lat]),j=g.translate();g.translate([j[0]-(N[0]-j[0]),j[1]-(N[1]-j[1])])}},w.updateBaseLayers=function(t,e){var r=this,a=r.topojson,i=r.layers,l=r.basePaths;function c(t){return\"lonaxis\"===t||\"lataxis\"===t}function h(t){return Boolean(v.lineLayers[t])}function f(t){return Boolean(v.fillLayers[t])}var p=(this.hasChoropleth?v.layersForChoropleth:v.layers).filter((function(t){return h(t)||f(t)?e[\"show\"+t]:!c(t)||e[t].showgrid})),d=r.framework.selectAll(\".layer\").data(p,String);d.exit().each((function(t){delete i[t],delete l[t],n.select(this).remove()})),d.enter().append(\"g\").attr(\"class\",(function(t){return\"layer \"+t})).each((function(t){var e=i[t]=n.select(this);\"bg\"===t?r.bgRect=e.append(\"rect\").style(\"pointer-events\",\"all\"):c(t)?l[t]=e.append(\"path\").style(\"fill\",\"none\"):\"backplot\"===t?e.append(\"g\").classed(\"choroplethlayer\",!0):\"frontplot\"===t?e.append(\"g\").classed(\"scatterlayer\",!0):h(t)?l[t]=e.append(\"path\").style(\"fill\",\"none\").style(\"stroke-miterlimit\",2):f(t)&&(l[t]=e.append(\"path\").style(\"stroke\",\"none\"))})),d.order(),d.each((function(r){var n=l[r],i=v.layerNameToAdjective[r];\"frame\"===r?n.datum(v.sphereSVG):h(r)||f(r)?n.datum(b(a,a.objects[r])):c(r)&&n.datum(function(t,e,r){var n,a,i,o=e[t],s=v.scopeDefaults[e.scope];\"lonaxis\"===t?(n=s.lonaxisRange,a=s.lataxisRange,i=function(t,e){return[t,e]}):\"lataxis\"===t&&(n=s.lataxisRange,a=s.lonaxisRange,i=function(t,e){return[e,t]});var l={type:\"linear\",range:[n[0],n[1]-1e-6],tick0:o.tick0,dtick:o.dtick};u.setConvert(l,r);var c=u.calcTicks(l);e.isScoped||\"lonaxis\"!==t||c.pop();for(var h=c.length,f=new Array(h),p=0;p<h;p++)for(var d=c[p].x,g=f[p]=[],m=a[0];m<a[1]+2.5;m+=2.5)g.push(i(d,m));return{type:\"MultiLineString\",coordinates:f}}(r,e,t)).call(o.stroke,e[r].gridcolor).call(s.dashLine,\"\",e[r].gridwidth),h(r)?n.call(o.stroke,e[i+\"color\"]).call(s.dashLine,\"\",e[i+\"width\"]):f(r)&&n.call(o.fill,e[i+\"color\"])}))},w.updateDims=function(t,e){var r=this.bounds,n=(e.framewidth||0)/2,a=r[0][0]-n,i=r[0][1]-n,l=r[1][0]-a+n,c=r[1][1]-i+n;s.setRect(this.clipRect,a,i,l,c),this.bgRect.call(s.setRect,a,i,l,c).call(o.fill,e.bgcolor),this.xaxis._offset=a,this.xaxis._length=l,this.yaxis._offset=i,this.yaxis._length=c},w.updateFx=function(t,e){var r=this,i=r.graphDiv,o=r.bgRect,s=t.dragmode,c=t.clickmode;if(!r.isStatic){var u;\"select\"===s?u=function(t,e){(t.range={})[r.id]=[v([e.xmin,e.ymin]),v([e.xmax,e.ymax])]}:\"lasso\"===s&&(u=function(t,e,n){(t.lassoPoints={})[r.id]=n.filtered.map(v)});var h={element:r.bgRect.node(),gd:i,plotinfo:{id:r.id,xaxis:r.xaxis,yaxis:r.yaxis,fillRangeItems:u},xaxes:[r.xaxis],yaxes:[r.yaxis],subplot:r.id,clickFn:function(t){2===t&&d(i)}};\"pan\"===s?(o.node().onmousedown=null,o.call(m(r,e)),o.on(\"dblclick.zoom\",(function(){var t=r.viewInitial,e={};for(var n in t)e[r.id+\".\"+n]=t[n];a.call(\"_guiRelayout\",i,e),i.emit(\"plotly_doubleclick\",null)})),i._context._scrollZoom.geo||o.on(\"wheel.zoom\",null)):\"select\"!==s&&\"lasso\"!==s||(o.on(\".zoom\",null),h.prepFn=function(t,e,r){p(t,e,r,h,s)},f.init(h)),o.on(\"mousemove\",(function(){var t=r.projection.invert(n.mouse(this));if(!t||isNaN(t[0])||isNaN(t[1]))return f.unhover(i,n.event);r.xaxis.p2c=function(){return t[0]},r.yaxis.p2c=function(){return t[1]},l.hover(i,n.event,r.id)})),o.on(\"mouseout\",(function(){i._dragging||f.unhover(i,n.event)})),o.on(\"click\",(function(){\"select\"!==s&&\"lasso\"!==s&&(c.indexOf(\"select\")>-1&&g(n.event,i,[r.xaxis],[r.yaxis],r.id,h),c.indexOf(\"event\")>-1&&l.click(i,n.event))}))}function v(t){return r.projection.invert([t[0]+r.xaxis._offset,t[1]+r.yaxis._offset])}},w.makeFramework=function(){var t=this,e=t.graphDiv,r=e._fullLayout,a=\"clip\"+r._uid+t.id;t.clipDef=r._clips.append(\"clipPath\").attr(\"id\",a),t.clipRect=t.clipDef.append(\"rect\"),t.framework=n.select(t.container).append(\"g\").attr(\"class\",\"geo \"+t.id).call(s.setClipUrl,a,e),t.project=function(e){var r=t.projection(e);return r?[r[0]-t.xaxis._offset,r[1]-t.yaxis._offset]:[null,null]},t.xaxis={_id:\"x\",c2p:function(e){return t.project(e)[0]}},t.yaxis={_id:\"y\",c2p:function(e){return t.project(e)[1]}},t.mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},u.setConvert(t.mockAxis,r)},w.saveViewInitial=function(t){var e,r=t.center||{},n=t.projection,a=n.rotation||{};this.viewInitial={fitbounds:t.fitbounds,\"projection.scale\":n.scale},e=t._isScoped?{\"center.lon\":r.lon,\"center.lat\":r.lat}:t._isClipped?{\"projection.rotation.lon\":a.lon,\"projection.rotation.lat\":a.lat}:{\"center.lon\":r.lon,\"center.lat\":r.lat,\"projection.rotation.lon\":a.lon},i.extendFlat(this.viewInitial,e)},w.render=function(){var t,e=this.projection,r=e.getPath();function n(t){var r=e(t.lonlat);return r?\"translate(\"+r[0]+\",\"+r[1]+\")\":null}function a(t){return e.isLonLatOverEdges(t.lonlat)?\"none\":null}for(t in this.basePaths)this.basePaths[t].attr(\"d\",r);for(t in this.dataPaths)this.dataPaths[t].attr(\"d\",(function(t){return r(t.geojson)}));for(t in this.dataPoints)this.dataPoints[t].attr(\"display\",a).attr(\"transform\",n)}},{\"../../components/color\":595,\"../../components/dragelement\":614,\"../../components/drawing\":617,\"../../components/fx\":635,\"../../lib\":728,\"../../lib/geo_location_utils\":722,\"../../lib/topojson_utils\":755,\"../../registry\":859,\"../cartesian/autorange\":775,\"../cartesian/axes\":776,\"../cartesian/select\":795,\"../plots\":839,\"./constants\":806,\"./projections\":811,\"./zoom\":812,d3:164,\"topojson-client\":531}],808:[function(t,e,r){\"use strict\";var n=t(\"../../plots/get_data\").getSubplotCalcData,a=t(\"../../lib\").counterRegex,i=t(\"./geo\"),o=\"geo\",s=a(o),l={};l.geo={valType:\"subplotid\",dflt:o,editType:\"calc\"},e.exports={attr:o,name:o,idRoot:o,idRegex:s,attrRegex:s,attributes:l,layoutAttributes:t(\"./layout_attributes\"),supplyLayoutDefaults:t(\"./layout_defaults\"),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,a=e._subplots.geo,s=0;s<a.length;s++){var l=a[s],c=n(r,o,l),u=e[l]._subplot;u||(u=i({id:l,graphDiv:t,container:e._geolayer.node(),topojsonURL:t._context.topojsonURL,staticPlot:t._context.staticPlot}),e[l]._subplot=u),u.plot(c,e,t._promises)}},updateFx:function(t){for(var e=t._fullLayout,r=e._subplots.geo,n=0;n<r.length;n++){var a=e[r[n]];a._subplot.updateFx(e,a)}},clean:function(t,e,r,n){for(var a=n._subplots.geo||[],i=0;i<a.length;i++){var o=a[i],s=n[o]._subplot;!e[o]&&s&&(s.framework.remove(),s.clipDef.remove())}}}},{\"../../lib\":728,\"../../plots/get_data\":813,\"./geo\":807,\"./layout_attributes\":809,\"./layout_defaults\":810}],809:[function(t,e,r){\"use strict\";var n=t(\"../../components/color/attributes\"),a=t(\"../domain\").attributes,i=t(\"./constants\"),o=t(\"../../plot_api/edit_types\").overrideAll,s={range:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},showgrid:{valType:\"boolean\",dflt:!1},tick0:{valType:\"number\",dflt:0},dtick:{valType:\"number\"},gridcolor:{valType:\"color\",dflt:n.lightLine},gridwidth:{valType:\"number\",min:0,dflt:1}};(e.exports=o({domain:a({name:\"geo\"},{}),fitbounds:{valType:\"enumerated\",values:[!1,\"locations\",\"geojson\"],dflt:!1,editType:\"plot\"},resolution:{valType:\"enumerated\",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:\"enumerated\",values:Object.keys(i.scopeDefaults),dflt:\"world\"},projection:{type:{valType:\"enumerated\",values:Object.keys(i.projNames)},rotation:{lon:{valType:\"number\"},lat:{valType:\"number\"},roll:{valType:\"number\"}},parallels:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},scale:{valType:\"number\",min:0,dflt:1}},center:{lon:{valType:\"number\"},lat:{valType:\"number\"}},visible:{valType:\"boolean\",dflt:!0},showcoastlines:{valType:\"boolean\"},coastlinecolor:{valType:\"color\",dflt:n.defaultLine},coastlinewidth:{valType:\"number\",min:0,dflt:1},showland:{valType:\"boolean\",dflt:!1},landcolor:{valType:\"color\",dflt:i.landColor},showocean:{valType:\"boolean\",dflt:!1},oceancolor:{valType:\"color\",dflt:i.waterColor},showlakes:{valType:\"boolean\",dflt:!1},lakecolor:{valType:\"color\",dflt:i.waterColor},showrivers:{valType:\"boolean\",dflt:!1},rivercolor:{valType:\"color\",dflt:i.waterColor},riverwidth:{valType:\"number\",min:0,dflt:1},showcountries:{valType:\"boolean\"},countrycolor:{valType:\"color\",dflt:n.defaultLine},countrywidth:{valType:\"number\",min:0,dflt:1},showsubunits:{valType:\"boolean\"},subunitcolor:{valType:\"color\",dflt:n.defaultLine},subunitwidth:{valType:\"number\",min:0,dflt:1},showframe:{valType:\"boolean\"},framecolor:{valType:\"color\",dflt:n.defaultLine},framewidth:{valType:\"number\",min:0,dflt:1},bgcolor:{valType:\"color\",dflt:n.background},lonaxis:s,lataxis:s},\"plot\",\"from-root\")).uirevision={valType:\"any\",editType:\"none\"}},{\"../../components/color/attributes\":594,\"../../plot_api/edit_types\":759,\"../domain\":803,\"./constants\":806}],810:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../subplot_defaults\"),i=t(\"../get_data\").getSubplotData,o=t(\"./constants\"),s=t(\"./layout_attributes\"),l=o.axesNames;function c(t,e,r,a){var s=i(a.fullData,\"geo\",a.id).map((function(t){return t._expandedIndex})),c=r(\"resolution\"),u=r(\"scope\"),h=o.scopeDefaults[u],f=r(\"projection.type\",h.projType),p=e._isAlbersUsa=\"albers usa\"===f;p&&(u=e.scope=\"usa\");var d=e._isScoped=\"world\"!==u,g=e._isConic=-1!==f.indexOf(\"conic\"),m=e._isClipped=!!o.lonaxisSpan[f];if(!1===t.visible){var v=n.extendDeep({},e._template);v.showcoastlines=!1,v.showcountries=!1,v.showframe=!1,v.showlakes=!1,v.showland=!1,v.showocean=!1,v.showrivers=!1,v.showsubunits=!1,v.lonaxis&&(v.lonaxis.showgrid=!1),v.lataxis&&(v.lataxis.showgrid=!1),e._template=v}for(var y=r(\"visible\"),x=0;x<l.length;x++){var b,_=l[x],w=[30,10][x];if(d)b=h[_+\"Range\"];else{var T=o[_+\"Span\"],k=(T[f]||T[\"*\"])/2,A=r(\"projection.rotation.\"+_.substr(0,3),h.projRotate[x]);b=[A-k,A+k]}var M=r(_+\".range\",b);r(_+\".tick0\"),r(_+\".dtick\",w),r(_+\".showgrid\",!!y&&void 0)&&(r(_+\".gridcolor\"),r(_+\".gridwidth\")),e[_]._ax={type:\"linear\",_id:_.slice(0,3),_traceIndices:s,setScale:n.identity,c2l:n.identity,r2l:n.identity,autorange:!0,range:M.slice(),_m:1,_input:{}}}var S=e.lonaxis.range,E=e.lataxis.range,C=S[0],L=S[1];C>0&&L<0&&(L+=360);var P,I,z,O=(C+L)/2;if(!p){var D=d?h.projRotate:[O,0,0];P=r(\"projection.rotation.lon\",D[0]),r(\"projection.rotation.lat\",D[1]),r(\"projection.rotation.roll\",D[2]),r(\"showcoastlines\",!d&&y)&&(r(\"coastlinecolor\"),r(\"coastlinewidth\")),r(\"showocean\",!!y&&void 0)&&r(\"oceancolor\")}(p?(I=-96.6,z=38.7):(I=d?O:P,z=(E[0]+E[1])/2),r(\"center.lon\",I),r(\"center.lat\",z),g)&&r(\"projection.parallels\",h.projParallels||[0,60]);r(\"projection.scale\"),r(\"showland\",!!y&&void 0)&&r(\"landcolor\"),r(\"showlakes\",!!y&&void 0)&&r(\"lakecolor\"),r(\"showrivers\",!!y&&void 0)&&(r(\"rivercolor\"),r(\"riverwidth\")),r(\"showcountries\",d&&\"usa\"!==u&&y)&&(r(\"countrycolor\"),r(\"countrywidth\")),(\"usa\"===u||\"north america\"===u&&50===c)&&(r(\"showsubunits\",y),r(\"subunitcolor\"),r(\"subunitwidth\")),d||r(\"showframe\",y)&&(r(\"framecolor\"),r(\"framewidth\")),r(\"bgcolor\"),r(\"fitbounds\")&&(delete e.projection.scale,d?(delete e.center.lon,delete e.center.lat):m?(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon,delete e.projection.rotation.lat,delete e.lonaxis.range,delete e.lataxis.range):(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon))}e.exports=function(t,e,r){a(t,e,r,{type:\"geo\",attributes:s,handleDefaults:c,fullData:r,partition:\"y\"})}},{\"../../lib\":728,\"../get_data\":813,\"../subplot_defaults\":853,\"./constants\":806,\"./layout_attributes\":809}],811:[function(t,e,r){\"use strict\";e.exports=function(t){function e(t,e){return{type:\"Feature\",id:t.id,properties:t.properties,geometry:r(t.geometry,e)}}function r(e,n){if(!e)return null;if(\"GeometryCollection\"===e.type)return{type:\"GeometryCollection\",geometries:object.geometries.map((function(t){return r(t,n)}))};if(!c.hasOwnProperty(e.type))return null;var a=c[e.type];return t.geo.stream(e,n(a)),a.result()}t.geo.project=function(t,e){var a=e.stream;if(!a)throw new Error(\"not yet supported\");return(t&&n.hasOwnProperty(t.type)?n[t.type]:r)(t,a)};var n={Feature:e,FeatureCollection:function(t,r){return{type:\"FeatureCollection\",features:t.features.map((function(t){return e(t,r)}))}}},a=[],i=[],o={point:function(t,e){a.push([t,e])},result:function(){var t=a.length?a.length<2?{type:\"Point\",coordinates:a[0]}:{type:\"MultiPoint\",coordinates:a}:null;return a=[],t}},s={lineStart:u,point:function(t,e){a.push([t,e])},lineEnd:function(){a.length&&(i.push(a),a=[])},result:function(){var t=i.length?i.length<2?{type:\"LineString\",coordinates:i[0]}:{type:\"MultiLineString\",coordinates:i}:null;return i=[],t}},l={polygonStart:u,lineStart:u,point:function(t,e){a.push([t,e])},lineEnd:function(){var t=a.length;if(t){do{a.push(a[0].slice())}while(++t<4);i.push(a),a=[]}},polygonEnd:u,result:function(){if(!i.length)return null;var t=[],e=[];return i.forEach((function(r){!function(t){if((e=t.length)<4)return!1;var e,r=0,n=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];for(;++r<e;)n+=t[r-1][1]*t[r][0]-t[r-1][0]*t[r][1];return n<=0}(r)?e.push(r):t.push([r])})),e.forEach((function(e){var r=e[0];t.some((function(t){if(function(t,e){for(var r=e[0],n=e[1],a=!1,i=0,o=t.length,s=o-1;i<o;s=i++){var l=t[i],c=l[0],u=l[1],h=t[s],f=h[0],p=h[1];u>n^p>n&&r<(f-c)*(n-u)/(p-u)+c&&(a=!a)}return a}(t[0],r))return t.push(e),!0}))||t.push([e])})),i=[],t.length?t.length>1?{type:\"MultiPolygon\",coordinates:t}:{type:\"Polygon\",coordinates:t[0]}:null}},c={Point:o,MultiPoint:o,LineString:s,MultiLineString:s,Polygon:l,MultiPolygon:l,Sphere:l};function u(){}var h=1e-6,f=Math.PI,p=f/2,d=(Math.sqrt(f),f/180),g=180/f;function m(t){return t>1?p:t<-1?-p:Math.asin(t)}function v(t){return t>1?0:t<-1?f:Math.acos(t)}var y=t.geo.projection,x=t.geo.projectionMutator;function b(t,e){var r=(2+p)*Math.sin(e);e/=2;for(var n=0,a=1/0;n<10&&Math.abs(a)>h;n++){var i=Math.cos(e);e-=a=(e+Math.sin(e)*(i+2)-r)/(2*i*(1+i))}return[2/Math.sqrt(f*(4+f))*t*(1+Math.cos(e)),2*Math.sqrt(f/(4+f))*Math.sin(e)]}t.geo.interrupt=function(e){var r,n=[[[[-f,0],[0,p],[f,0]]],[[[-f,0],[0,-p],[f,0]]]];function a(t,r){for(var a=r<0?-1:1,i=n[+(r<0)],o=0,s=i.length-1;o<s&&t>i[o][2][0];++o);var l=e(t-i[o][1][0],r);return l[0]+=e(i[o][1][0],a*r>a*i[o][0][1]?i[o][0][1]:r)[0],l}function i(){r=n.map((function(t){return t.map((function(t){var r,n=e(t[0][0],t[0][1])[0],a=e(t[2][0],t[2][1])[0],i=e(t[1][0],t[0][1])[1],o=e(t[1][0],t[1][1])[1];return i>o&&(r=i,i=o,o=r),[[n,i],[a,o]]}))}))}e.invert&&(a.invert=function(t,i){for(var o=r[+(i<0)],s=n[+(i<0)],l=0,u=o.length;l<u;++l){var h=o[l];if(h[0][0]<=t&&t<h[1][0]&&h[0][1]<=i&&i<h[1][1]){var f=e.invert(t-e(s[l][1][0],0)[0],i);return f[0]+=s[l][1][0],c(a(f[0],f[1]),[t,i])?f:null}}});var o=t.geo.projection(a),s=o.stream;function l(t,e){for(var r,n,a,i=-1,o=t.length,s=t[0],l=[];++i<o;){n=((r=t[i])[0]-s[0])/e,a=(r[1]-s[1])/e;for(var c=0;c<e;++c)l.push([s[0]+c*n,s[1]+c*a]);s=r}return l.push(r),l}function c(t,e){return Math.abs(t[0]-e[0])<h&&Math.abs(t[1]-e[1])<h}return o.stream=function(e){var r=o.rotate(),a=s(e),i=(o.rotate([0,0]),s(e));return o.rotate(r),a.sphere=function(){t.geo.stream(function(){for(var e=1e-6,r=[],a=0,i=n[0].length;a<i;++a){var o=180*(p=n[0][a])[0][0]/f,s=180*p[0][1]/f,c=180*p[1][1]/f,u=180*p[2][0]/f,h=180*p[2][1]/f;r.push(l([[o+e,s+e],[o+e,c-e],[u-e,c-e],[u-e,h+e]],30))}for(a=n[1].length-1;a>=0;--a){var p;o=180*(p=n[1][a])[0][0]/f,s=180*p[0][1]/f,c=180*p[1][1]/f,u=180*p[2][0]/f,h=180*p[2][1]/f;r.push(l([[u-e,h-e],[u-e,c+e],[o+e,c+e],[o+e,s-e]],30))}return{type:\"Polygon\",coordinates:[t.merge(r)]}}(),i)},a},o.lobes=function(t){return arguments.length?(n=t.map((function(t){return t.map((function(t){return[[t[0][0]*f/180,t[0][1]*f/180],[t[1][0]*f/180,t[1][1]*f/180],[t[2][0]*f/180,t[2][1]*f/180]]}))})),i(),o):n.map((function(t){return t.map((function(t){return[[180*t[0][0]/f,180*t[0][1]/f],[180*t[1][0]/f,180*t[1][1]/f],[180*t[2][0]/f,180*t[2][1]/f]]}))}))},o},b.invert=function(t,e){var r=.5*e*Math.sqrt((4+f)/f),n=m(r),a=Math.cos(n);return[t/(2/Math.sqrt(f*(4+f))*(1+a)),m((n+r*(a+2))/(2+p))]},(t.geo.eckert4=function(){return y(b)}).raw=b;var _=t.geo.azimuthalEqualArea.raw;function w(t,e){if(arguments.length<2&&(e=t),1===e)return _;if(e===1/0)return T;function r(r,n){var a=_(r/e,n);return a[0]*=t,a}return r.invert=function(r,n){var a=_.invert(r/t,n);return a[0]*=e,a},r}function T(t,e){return[t*Math.cos(e)/Math.cos(e/=2),2*Math.sin(e)]}function k(t,e){return[3*t/(2*f)*Math.sqrt(f*f/3-e*e),e]}function A(t,e){return[t,1.25*Math.log(Math.tan(f/4+.4*e))]}function M(t){return function(e){var r,n=t*Math.sin(e),a=30;do{e-=r=(e+Math.sin(e)-n)/(1+Math.cos(e))}while(Math.abs(r)>h&&--a>0);return e/2}}T.invert=function(t,e){var r=2*m(e/2);return[t*Math.cos(r/2)/Math.cos(r),r]},(t.geo.hammer=function(){var t=2,e=x(w),r=e(t);return r.coefficient=function(r){return arguments.length?e(t=+r):t},r}).raw=w,k.invert=function(t,e){return[2/3*f*t/Math.sqrt(f*f/3-e*e),e]},(t.geo.kavrayskiy7=function(){return y(k)}).raw=k,A.invert=function(t,e){return[t,2.5*Math.atan(Math.exp(.8*e))-.625*f]},(t.geo.miller=function(){return y(A)}).raw=A,M(f);var S=function(t,e,r){var n=M(r);function a(r,a){return[t*r*Math.cos(a=n(a)),e*Math.sin(a)]}return a.invert=function(n,a){var i=m(a/e);return[n/(t*Math.cos(i)),m((2*i+Math.sin(2*i))/r)]},a}(Math.SQRT2/p,Math.SQRT2,f);function E(t,e){var r=e*e,n=r*r;return[t*(.8707-.131979*r+n*(n*(.003971*r-.001529*n)-.013791)),e*(1.007226+r*(.015085+n*(.028874*r-.044475-.005916*n)))]}(t.geo.mollweide=function(){return y(S)}).raw=S,E.invert=function(t,e){var r,n=e,a=25;do{var i=n*n,o=i*i;n-=r=(n*(1.007226+i*(.015085+o*(.028874*i-.044475-.005916*o)))-e)/(1.007226+i*(.045255+o*(.259866*i-.311325-.005916*11*o)))}while(Math.abs(r)>h&&--a>0);return[t/(.8707+(i=n*n)*(i*(i*i*i*(.003971-.001529*i)-.013791)-.131979)),n]},(t.geo.naturalEarth=function(){return y(E)}).raw=E;var C=[[.9986,-.062],[1,0],[.9986,.062],[.9954,.124],[.99,.186],[.9822,.248],[.973,.31],[.96,.372],[.9427,.434],[.9216,.4958],[.8962,.5571],[.8679,.6176],[.835,.6769],[.7986,.7346],[.7597,.7903],[.7186,.8435],[.6732,.8936],[.6213,.9394],[.5722,.9761],[.5322,1]];function L(t,e){var r,n=Math.min(18,36*Math.abs(e)/f),a=Math.floor(n),i=n-a,o=(r=C[a])[0],s=r[1],l=(r=C[++a])[0],c=r[1],u=(r=C[Math.min(19,++a)])[0],h=r[1];return[t*(l+i*(u-o)/2+i*i*(u-2*l+o)/2),(e>0?p:-p)*(c+i*(h-s)/2+i*i*(h-2*c+s)/2)]}function P(t,e){return[t*Math.cos(e),e]}function I(t,e){var r,n=Math.cos(e),a=(r=v(n*Math.cos(t/=2)))?r/Math.sin(r):1;return[2*n*Math.sin(t)*a,Math.sin(e)*a]}function z(t,e){var r=I(t,e);return[(r[0]+t/p)/2,(r[1]+e)/2]}C.forEach((function(t){t[1]*=1.0144})),L.invert=function(t,e){var r=e/p,n=90*r,a=Math.min(18,Math.abs(n/5)),i=Math.max(0,Math.floor(a));do{var o=C[i][1],s=C[i+1][1],l=C[Math.min(19,i+2)][1],c=l-o,u=l-2*s+o,h=2*(Math.abs(r)-s)/c,f=u/c,m=h*(1-f*h*(1-2*f*h));if(m>=0||1===i){n=(e>=0?5:-5)*(m+a);var v,y=50;do{m=(a=Math.min(18,Math.abs(n)/5))-(i=Math.floor(a)),o=C[i][1],s=C[i+1][1],l=C[Math.min(19,i+2)][1],n-=(v=(e>=0?p:-p)*(s+m*(l-o)/2+m*m*(l-2*s+o)/2)-e)*g}while(Math.abs(v)>1e-12&&--y>0);break}}while(--i>=0);var x=C[i][0],b=C[i+1][0],_=C[Math.min(19,i+2)][0];return[t/(b+m*(_-x)/2+m*m*(_-2*b+x)/2),n*d]},(t.geo.robinson=function(){return y(L)}).raw=L,P.invert=function(t,e){return[t/Math.cos(e),e]},(t.geo.sinusoidal=function(){return y(P)}).raw=P,I.invert=function(t,e){if(!(t*t+4*e*e>f*f+h)){var r=t,n=e,a=25;do{var i,o=Math.sin(r),s=Math.sin(r/2),l=Math.cos(r/2),c=Math.sin(n),u=Math.cos(n),p=Math.sin(2*n),d=c*c,g=u*u,m=s*s,y=1-g*l*l,x=y?v(u*l)*Math.sqrt(i=1/y):i=0,b=2*x*u*s-t,_=x*c-e,w=i*(g*m+x*u*l*d),T=i*(.5*o*p-2*x*c*s),k=.25*i*(p*s-x*c*g*o),A=i*(d*l+x*m*u),M=T*k-A*w;if(!M)break;var S=(_*T-b*A)/M,E=(b*k-_*w)/M;r-=S,n-=E}while((Math.abs(S)>h||Math.abs(E)>h)&&--a>0);return[r,n]}},(t.geo.aitoff=function(){return y(I)}).raw=I,z.invert=function(t,e){var r=t,n=e,a=25;do{var i,o=Math.cos(n),s=Math.sin(n),l=Math.sin(2*n),c=s*s,u=o*o,f=Math.sin(r),d=Math.cos(r/2),g=Math.sin(r/2),m=g*g,y=1-u*d*d,x=y?v(o*d)*Math.sqrt(i=1/y):i=0,b=.5*(2*x*o*g+r/p)-t,_=.5*(x*s+n)-e,w=.5*i*(u*m+x*o*d*c)+.5/p,T=i*(f*l/4-x*s*g),k=.125*i*(l*g-x*s*u*f),A=.5*i*(c*d+x*m*o)+.5,M=T*k-A*w,S=(_*T-b*A)/M,E=(b*k-_*w)/M;r-=S,n-=E}while((Math.abs(S)>h||Math.abs(E)>h)&&--a>0);return[r,n]},(t.geo.winkel3=function(){return y(z)}).raw=z}},{}],812:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../lib\"),i=t(\"../../registry\"),o=Math.PI/180,s=180/Math.PI,l={cursor:\"pointer\"},c={cursor:\"auto\"};function u(t,e){return n.behavior.zoom().translate(e.translate()).scale(e.scale())}function h(t,e,r){var n=t.id,o=t.graphDiv,s=o.layout,l=s[n],c=o._fullLayout,u=c[n],h={},f={};function p(t,e){h[n+\".\"+t]=a.nestedProperty(l,t).get(),i.call(\"_storeDirectGUIEdit\",s,c._preGUI,h);var r=a.nestedProperty(u,t);r.get()!==e&&(r.set(e),a.nestedProperty(l,t).set(e),f[n+\".\"+t]=e)}r(p),p(\"projection.scale\",e.scale()/t.fitScale),p(\"fitbounds\",!1),o.emit(\"plotly_relayout\",f)}function f(t,e){var r=u(0,e);function a(r){var n=e.invert(t.midPt);r(\"center.lon\",n[0]),r(\"center.lat\",n[1])}return r.on(\"zoomstart\",(function(){n.select(this).style(l)})).on(\"zoom\",(function(){e.scale(n.event.scale).translate(n.event.translate),t.render();var r=e.invert(t.midPt);t.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":e.scale()/t.fitScale,\"geo.center.lon\":r[0],\"geo.center.lat\":r[1]})})).on(\"zoomend\",(function(){n.select(this).style(c),h(t,e,a)})),r}function p(t,e){var r,a,i,o,s,f,p,d,g,m=u(0,e);function v(t){return e.invert(t)}function y(r){var n=e.rotate(),a=e.invert(t.midPt);r(\"projection.rotation.lon\",-n[0]),r(\"center.lon\",a[0]),r(\"center.lat\",a[1])}return m.on(\"zoomstart\",(function(){n.select(this).style(l),r=n.mouse(this),a=e.rotate(),i=e.translate(),o=a,s=v(r)})).on(\"zoom\",(function(){if(f=n.mouse(this),function(t){var r=v(t);if(!r)return!0;var n=e(r);return Math.abs(n[0]-t[0])>2||Math.abs(n[1]-t[1])>2}(r))return m.scale(e.scale()),void m.translate(e.translate());e.scale(n.event.scale),e.translate([i[0],n.event.translate[1]]),s?v(f)&&(d=v(f),p=[o[0]+(d[0]-s[0]),a[1],a[2]],e.rotate(p),o=p):s=v(r=f),g=!0,t.render();var l=e.rotate(),c=e.invert(t.midPt);t.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":e.scale()/t.fitScale,\"geo.center.lon\":c[0],\"geo.center.lat\":c[1],\"geo.projection.rotation.lon\":-l[0]})})).on(\"zoomend\",(function(){n.select(this).style(c),g&&h(t,e,y)})),m}function d(t,e){var r,a={r:e.rotate(),k:e.scale()},i=u(0,e),o=function(t){var e=0,r=arguments.length,a=[];for(;++e<r;)a.push(arguments[e]);var i=n.dispatch.apply(null,a);return i.of=function(e,r){return function(a){var o;try{o=a.sourceEvent=n.event,a.target=t,n.event=a,i[a.type].apply(e,r)}finally{n.event=o}}},i}(i,\"zoomstart\",\"zoom\",\"zoomend\"),s=0,f=i.on;function p(t){s++||t({type:\"zoomstart\"})}function d(t){t({type:\"zoom\"})}function b(t){--s||t({type:\"zoomend\"})}function _(t){var r=e.rotate();t(\"projection.rotation.lon\",-r[0]),t(\"projection.rotation.lat\",-r[1])}return i.on(\"zoomstart\",(function(){n.select(this).style(l);var t=n.mouse(this),s=e.rotate(),c=s,u=e.translate(),h=m(s);r=g(e,t),f.call(i,\"zoom\",(function(){var i=n.mouse(this);if(e.scale(a.k=n.event.scale),r){if(g(e,i)){e.rotate(s).translate(u);var l=g(e,i),f=y(r,l),p=T(v(h,f)),m=a.r=x(p,r,c);isFinite(m[0])&&isFinite(m[1])&&isFinite(m[2])||(m=c),e.rotate(m),c=m}}else r=g(e,t=i);d(o.of(this,arguments))})),p(o.of(this,arguments))})).on(\"zoomend\",(function(){n.select(this).style(c),f.call(i,\"zoom\",null),b(o.of(this,arguments)),h(t,e,_)})).on(\"zoom.redraw\",(function(){t.render();var r=e.rotate();t.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":e.scale()/t.fitScale,\"geo.projection.rotation.lon\":-r[0],\"geo.projection.rotation.lat\":-r[1]})})),n.rebind(i,o,\"on\")}function g(t,e){var r=t.invert(e);return r&&isFinite(r[0])&&isFinite(r[1])&&function(t){var e=t[0]*o,r=t[1]*o,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}(r)}function m(t){var e=.5*t[0]*o,r=.5*t[1]*o,n=.5*t[2]*o,a=Math.sin(e),i=Math.cos(e),s=Math.sin(r),l=Math.cos(r),c=Math.sin(n),u=Math.cos(n);return[i*l*u+a*s*c,a*l*u-i*s*c,i*s*u+a*l*c,i*l*c-a*s*u]}function v(t,e){var r=t[0],n=t[1],a=t[2],i=t[3],o=e[0],s=e[1],l=e[2],c=e[3];return[r*o-n*s-a*l-i*c,r*s+n*o+a*c-i*l,r*l-n*c+a*o+i*s,r*c+n*l-a*s+i*o]}function y(t,e){if(t&&e){var r=function(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}(t,e),n=Math.sqrt(k(r,r)),a=.5*Math.acos(Math.max(-1,Math.min(1,k(t,e)))),i=Math.sin(a)/n;return n&&[Math.cos(a),r[2]*i,-r[1]*i,r[0]*i]}}function x(t,e,r){var n=w(e,2,t[0]);n=w(n,1,t[1]),n=w(n,0,t[2]-r[2]);var a,i,o=e[0],l=e[1],c=e[2],u=n[0],h=n[1],f=n[2],p=Math.atan2(l,o)*s,d=Math.sqrt(o*o+l*l);Math.abs(h)>d?(i=(h>0?90:-90)-p,a=0):(i=Math.asin(h/d)*s-p,a=Math.sqrt(d*d-h*h));var g=180-i-2*p,m=(Math.atan2(f,u)-Math.atan2(c,a))*s,v=(Math.atan2(f,u)-Math.atan2(c,-a))*s;return b(r[0],r[1],i,m)<=b(r[0],r[1],g,v)?[i,m,r[2]]:[g,v,r[2]]}function b(t,e,r,n){var a=_(r-t),i=_(n-e);return Math.sqrt(a*a+i*i)}function _(t){return(t%360+540)%360-180}function w(t,e,r){var n=r*o,a=t.slice(),i=0===e?1:0,s=2===e?1:2,l=Math.cos(n),c=Math.sin(n);return a[i]=t[i]*l-t[s]*c,a[s]=t[s]*l+t[i]*c,a}function T(t){return[Math.atan2(2*(t[0]*t[1]+t[2]*t[3]),1-2*(t[1]*t[1]+t[2]*t[2]))*s,Math.asin(Math.max(-1,Math.min(1,2*(t[0]*t[2]-t[3]*t[1]))))*s,Math.atan2(2*(t[0]*t[3]+t[1]*t[2]),1-2*(t[2]*t[2]+t[3]*t[3]))*s]}function k(t,e){for(var r=0,n=0,a=t.length;n<a;++n)r+=t[n]*e[n];return r}e.exports=function(t,e){var r=t.projection;return(e._isScoped?f:e._isClipped?d:p)(t,r)}},{\"../../lib\":728,\"../../registry\":859,d3:164}],813:[function(t,e,r){\"use strict\";var n=t(\"../registry\"),a=t(\"./cartesian/constants\").SUBPLOT_PATTERN;r.getSubplotCalcData=function(t,e,r){var a=n.subplotsRegistry[e];if(!a)return[];for(var i=a.attr,o=[],s=0;s<t.length;s++){var l=t[s];l[0].trace[i]===r&&o.push(l)}return o},r.getModuleCalcData=function(t,e){var r,a=[],i=[];if(!(r=\"string\"==typeof e?n.getModule(e).plot:\"function\"==typeof e?e:e.plot))return[a,t];for(var o=0;o<t.length;o++){var s=t[o],l=s[0].trace;!0===l.visible&&0!==l._length&&(l._module.plot===r?a.push(s):i.push(s))}return[a,i]},r.getSubplotData=function(t,e,r){if(!n.subplotsRegistry[e])return[];var i,o,s,l=n.subplotsRegistry[e].attr,c=[];if(\"gl2d\"===e){var u=r.match(a);o=\"x\"+u[1],s=\"y\"+u[2]}for(var h=0;h<t.length;h++)i=t[h],\"gl2d\"===e&&n.traceIs(i,\"gl2d\")?i[l[0]]===o&&i[l[1]]===s&&c.push(i):i[l]===r&&c.push(i);return c}},{\"../registry\":859,\"./cartesian/constants\":782}],814:[function(t,e,r){\"use strict\";var n=t(\"mouse-change\"),a=t(\"mouse-wheel\"),i=t(\"mouse-event-offset\"),o=t(\"../cartesian/constants\"),s=t(\"has-passive-events\");function l(t,e){this.element=t,this.plot=e,this.mouseListener=null,this.wheelListener=null,this.lastInputTime=Date.now(),this.lastPos=[0,0],this.boxEnabled=!1,this.boxInited=!1,this.boxStart=[0,0],this.boxEnd=[0,0],this.dragStart=[0,0]}e.exports=function(t){var e=t.mouseContainer,r=t.glplot,c=new l(e,r);function u(){t.xaxis.autorange=!1,t.yaxis.autorange=!1}function h(e,n,a){var i,s,l=t.calcDataBox(),h=r.viewBox,f=c.lastPos[0],p=c.lastPos[1],d=o.MINDRAG*r.pixelRatio,g=o.MINZOOM*r.pixelRatio;function m(e,r,n){var a=Math.min(r,n),i=Math.max(r,n);a!==i?(l[e]=a,l[e+2]=i,c.dataBox=l,t.setRanges(l)):(t.selectBox.selectBox=[0,0,1,1],t.glplot.setDirty())}switch(n*=r.pixelRatio,a*=r.pixelRatio,a=h[3]-h[1]-a,t.fullLayout.dragmode){case\"zoom\":if(e){var v=n/(h[2]-h[0])*(l[2]-l[0])+l[0],y=a/(h[3]-h[1])*(l[3]-l[1])+l[1];c.boxInited||(c.boxStart[0]=v,c.boxStart[1]=y,c.dragStart[0]=n,c.dragStart[1]=a),c.boxEnd[0]=v,c.boxEnd[1]=y,c.boxInited=!0,c.boxEnabled||c.boxStart[0]===c.boxEnd[0]&&c.boxStart[1]===c.boxEnd[1]||(c.boxEnabled=!0);var x=Math.abs(c.dragStart[0]-n)<g,b=Math.abs(c.dragStart[1]-a)<g;if(!function(){for(var e=t.graphDiv._fullLayout._axisConstraintGroups,r=t.xaxis._id,n=t.yaxis._id,a=0;a<e.length;a++)if(-1!==e[a][r]){if(-1!==e[a][n])return!0;break}return!1}()||x&&b)x&&(c.boxEnd[0]=c.boxStart[0]),b&&(c.boxEnd[1]=c.boxStart[1]);else{i=c.boxEnd[0]-c.boxStart[0],s=c.boxEnd[1]-c.boxStart[1];var _=(l[3]-l[1])/(l[2]-l[0]);Math.abs(i*_)>Math.abs(s)?(c.boxEnd[1]=c.boxStart[1]+Math.abs(i)*_*(s>=0?1:-1),c.boxEnd[1]<l[1]?(c.boxEnd[1]=l[1],c.boxEnd[0]=c.boxStart[0]+(l[1]-c.boxStart[1])/Math.abs(_)):c.boxEnd[1]>l[3]&&(c.boxEnd[1]=l[3],c.boxEnd[0]=c.boxStart[0]+(l[3]-c.boxStart[1])/Math.abs(_))):(c.boxEnd[0]=c.boxStart[0]+Math.abs(s)/_*(i>=0?1:-1),c.boxEnd[0]<l[0]?(c.boxEnd[0]=l[0],c.boxEnd[1]=c.boxStart[1]+(l[0]-c.boxStart[0])*Math.abs(_)):c.boxEnd[0]>l[2]&&(c.boxEnd[0]=l[2],c.boxEnd[1]=c.boxStart[1]+(l[2]-c.boxStart[0])*Math.abs(_)))}}else c.boxEnabled?(i=c.boxStart[0]!==c.boxEnd[0],s=c.boxStart[1]!==c.boxEnd[1],i||s?(i&&(m(0,c.boxStart[0],c.boxEnd[0]),t.xaxis.autorange=!1),s&&(m(1,c.boxStart[1],c.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),c.boxEnabled=!1,c.boxInited=!1):c.boxInited&&(c.boxInited=!1);break;case\"pan\":c.boxEnabled=!1,c.boxInited=!1,e?(c.panning||(c.dragStart[0]=n,c.dragStart[1]=a),Math.abs(c.dragStart[0]-n)<d&&(n=c.dragStart[0]),Math.abs(c.dragStart[1]-a)<d&&(a=c.dragStart[1]),i=(f-n)*(l[2]-l[0])/(r.viewBox[2]-r.viewBox[0]),s=(p-a)*(l[3]-l[1])/(r.viewBox[3]-r.viewBox[1]),l[0]+=i,l[2]+=i,l[1]+=s,l[3]+=s,t.setRanges(l),c.panning=!0,c.lastInputTime=Date.now(),u(),t.cameraChanged(),t.handleAnnotations()):c.panning&&(c.panning=!1,t.relayoutCallback())}c.lastPos[0]=n,c.lastPos[1]=a}return c.mouseListener=n(e,h),e.addEventListener(\"touchstart\",(function(t){var r=i(t.changedTouches[0],e);h(0,r[0],r[1]),h(1,r[0],r[1]),t.preventDefault()}),!!s&&{passive:!1}),e.addEventListener(\"touchmove\",(function(t){t.preventDefault();var r=i(t.changedTouches[0],e);h(1,r[0],r[1]),t.preventDefault()}),!!s&&{passive:!1}),e.addEventListener(\"touchend\",(function(t){h(0,c.lastPos[0],c.lastPos[1]),t.preventDefault()}),!!s&&{passive:!1}),c.wheelListener=a(e,(function(e,n){if(!t.scrollZoom)return!1;var a=t.calcDataBox(),i=r.viewBox,o=c.lastPos[0],s=c.lastPos[1],l=Math.exp(5*n/(i[3]-i[1])),h=o/(i[2]-i[0])*(a[2]-a[0])+a[0],f=s/(i[3]-i[1])*(a[3]-a[1])+a[1];return a[0]=(a[0]-h)*l+h,a[2]=(a[2]-h)*l+h,a[1]=(a[1]-f)*l+f,a[3]=(a[3]-f)*l+f,t.setRanges(a),c.lastInputTime=Date.now(),u(),t.cameraChanged(),t.handleAnnotations(),t.relayoutCallback(),!0}),!0),c}},{\"../cartesian/constants\":782,\"has-passive-events\":410,\"mouse-change\":436,\"mouse-event-offset\":437,\"mouse-wheel\":439}],815:[function(t,e,r){\"use strict\";var n=t(\"../cartesian/axes\"),a=t(\"../../lib/str2rgbarray\");function i(t){this.scene=t,this.gl=t.gl,this.pixelRatio=t.pixelRatio,this.screenBox=[0,0,1,1],this.viewBox=[0,0,1,1],this.dataBox=[-1,-1,1,1],this.borderLineEnable=[!1,!1,!1,!1],this.borderLineWidth=[1,1,1,1],this.borderLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.ticks=[[],[]],this.tickEnable=[!0,!0,!1,!1],this.tickPad=[15,15,15,15],this.tickAngle=[0,0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickMarkLength=[0,0,0,0],this.tickMarkWidth=[0,0,0,0],this.tickMarkColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labels=[\"x\",\"y\"],this.labelEnable=[!0,!0,!1,!1],this.labelAngle=[0,Math.PI/2,0,3*Math.PI/2],this.labelPad=[15,15,15,15],this.labelSize=[12,12],this.labelFont=[\"sans-serif\",\"sans-serif\"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.title=\"\",this.titleEnable=!0,this.titleCenter=[0,0,0,0],this.titleAngle=0,this.titleColor=[0,0,0,1],this.titleFont=\"sans-serif\",this.titleSize=18,this.gridLineEnable=[!0,!0],this.gridLineColor=[[0,0,0,.5],[0,0,0,.5]],this.gridLineWidth=[1,1],this.zeroLineEnable=[!0,!0],this.zeroLineWidth=[1,1],this.zeroLineColor=[[0,0,0,1],[0,0,0,1]],this.borderColor=[0,0,0,0],this.backgroundColor=[0,0,0,0],this.static=this.scene.staticPlot}var o=i.prototype,s=[\"xaxis\",\"yaxis\"];o.merge=function(t){var e,r,n,i,o,l,c,u,h,f,p;for(this.titleEnable=!1,this.backgroundColor=a(t.plot_bgcolor),f=0;f<2;++f){var d=(e=s[f]).charAt(0);for(n=(r=t[this.scene[e]._name]).title.text===this.scene.fullLayout._dfltTitle[d]?\"\":r.title.text,p=0;p<=2;p+=2)this.labelEnable[f+p]=!1,this.labels[f+p]=n,this.labelColor[f+p]=a(r.title.font.color),this.labelFont[f+p]=r.title.font.family,this.labelSize[f+p]=r.title.font.size,this.labelPad[f+p]=this.getLabelPad(e,r),this.tickEnable[f+p]=!1,this.tickColor[f+p]=a((r.tickfont||{}).color),this.tickAngle[f+p]=\"auto\"===r.tickangle?0:Math.PI*-r.tickangle/180,this.tickPad[f+p]=this.getTickPad(r),this.tickMarkLength[f+p]=0,this.tickMarkWidth[f+p]=r.tickwidth||0,this.tickMarkColor[f+p]=a(r.tickcolor),this.borderLineEnable[f+p]=!1,this.borderLineColor[f+p]=a(r.linecolor),this.borderLineWidth[f+p]=r.linewidth||0;c=this.hasSharedAxis(r),o=this.hasAxisInDfltPos(e,r)&&!c,l=this.hasAxisInAltrPos(e,r)&&!c,i=r.mirror||!1,u=c?-1!==String(i).indexOf(\"all\"):!!i,h=c?\"allticks\"===i:-1!==String(i).indexOf(\"ticks\"),o?this.labelEnable[f]=!0:l&&(this.labelEnable[f+2]=!0),o?this.tickEnable[f]=r.showticklabels:l&&(this.tickEnable[f+2]=r.showticklabels),(o||u)&&(this.borderLineEnable[f]=r.showline),(l||u)&&(this.borderLineEnable[f+2]=r.showline),(o||h)&&(this.tickMarkLength[f]=this.getTickMarkLength(r)),(l||h)&&(this.tickMarkLength[f+2]=this.getTickMarkLength(r)),this.gridLineEnable[f]=r.showgrid,this.gridLineColor[f]=a(r.gridcolor),this.gridLineWidth[f]=r.gridwidth,this.zeroLineEnable[f]=r.zeroline,this.zeroLineColor[f]=a(r.zerolinecolor),this.zeroLineWidth[f]=r.zerolinewidth}},o.hasSharedAxis=function(t){var e=this.scene,r=e.fullLayout._subplots.gl2d;return 0!==n.findSubplotsWithAxis(r,t).indexOf(e.id)},o.hasAxisInDfltPos=function(t,e){var r=e.side;return\"xaxis\"===t?\"bottom\"===r:\"yaxis\"===t?\"left\"===r:void 0},o.hasAxisInAltrPos=function(t,e){var r=e.side;return\"xaxis\"===t?\"top\"===r:\"yaxis\"===t?\"right\"===r:void 0},o.getLabelPad=function(t,e){var r=e.title.font.size,n=e.showticklabels;return\"xaxis\"===t?\"top\"===e.side?r*(1.5+(n?1:0))-10:r*(1.5+(n?.5:0))-10:\"yaxis\"===t?\"right\"===e.side?10+r*(1.5+(n?1:.5)):10+r*(1.5+(n?.5:0)):void 0},o.getTickPad=function(t){return\"outside\"===t.ticks?10+t.ticklen:15},o.getTickMarkLength=function(t){if(!t.ticks)return 0;var e=t.ticklen;return\"inside\"===t.ticks?-e:e},e.exports=function(t){return new i(t)}},{\"../../lib/str2rgbarray\":751,\"../cartesian/axes\":776}],816:[function(t,e,r){\"use strict\";var n=t(\"../../plot_api/edit_types\").overrideAll,a=t(\"./scene2d\"),i=t(\"../layout_attributes\"),o=t(\"../../constants/xmlns_namespaces\"),s=t(\"../cartesian/constants\"),l=t(\"../cartesian\"),c=t(\"../../components/fx/layout_attributes\"),u=t(\"../get_data\").getSubplotData;r.name=\"gl2d\",r.attr=[\"xaxis\",\"yaxis\"],r.idRoot=[\"x\",\"y\"],r.idRegex=s.idRegex,r.attrRegex=s.attrRegex,r.attributes=t(\"../cartesian/attributes\"),r.supplyLayoutDefaults=function(t,e,r){e._has(\"cartesian\")||l.supplyLayoutDefaults(t,e,r)},r.layoutAttrOverrides=n(l.layoutAttributes,\"plot\",\"from-root\"),r.baseLayoutAttrOverrides=n({plot_bgcolor:i.plot_bgcolor,hoverlabel:c.hoverlabel},\"plot\",\"nested\"),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl2d,i=0;i<n.length;i++){var o=n[i],s=e._plots[o],l=u(r,\"gl2d\",o),c=s._scene2d;void 0===c&&(c=new a({id:o,graphDiv:t,container:t.querySelector(\".gl-container\"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),s._scene2d=c),c.plot(l,t.calcdata,e,t.layout)}},r.clean=function(t,e,r,n){for(var a=n._subplots.gl2d||[],i=0;i<a.length;i++){var o=a[i],s=n._plots[o];if(s._scene2d){var c=u(t,\"gl2d\",o);0===c.length&&(s._scene2d.destroy(),delete n._plots[o])}}l.clean.apply(this,arguments)},r.drawFramework=function(t){t._context.staticPlot||l.drawFramework(t)},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.gl2d,n=0;n<r.length;n++){var a=e._plots[r[n]]._scene2d,i=a.toImage(\"png\");e._glimages.append(\"svg:image\").attr({xmlns:o.svg,\"xlink:href\":i,x:0,y:0,width:\"100%\",height:\"100%\",preserveAspectRatio:\"none\"}),a.destroy()}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.gl2d,n=0;n<r.length;n++){e._plots[r[n]]._scene2d.updateFx(e.dragmode)}}},{\"../../components/fx/layout_attributes\":636,\"../../constants/xmlns_namespaces\":705,\"../../plot_api/edit_types\":759,\"../cartesian\":789,\"../cartesian/attributes\":774,\"../cartesian/constants\":782,\"../get_data\":813,\"../layout_attributes\":830,\"./scene2d\":817}],817:[function(t,e,r){\"use strict\";var n,a,i=t(\"../../registry\"),o=t(\"../../plots/cartesian/axes\"),s=t(\"../../components/fx\"),l=t(\"gl-plot2d\"),c=t(\"gl-spikes2d\"),u=t(\"gl-select-box\"),h=t(\"webgl-context\"),f=t(\"./convert\"),p=t(\"./camera\"),d=t(\"../../lib/show_no_webgl_msg\"),g=t(\"../cartesian/constraints\"),m=g.enforce,v=g.clean,y=t(\"../cartesian/autorange\").doAutoRange,x=t(\"../../components/dragelement/helpers\"),b=x.drawMode,_=x.selectMode,w=[\"xaxis\",\"yaxis\"],T=t(\"../cartesian/constants\").SUBPLOT_PATTERN;function k(t,e){this.container=t.container,this.graphDiv=t.graphDiv,this.pixelRatio=t.plotGlPixelRatio||window.devicePixelRatio,this.id=t.id,this.staticPlot=!!t.staticPlot,this.scrollZoom=this.graphDiv._context._scrollZoom.cartesian,this.fullData=null,this.updateRefs(e),this.makeFramework(),this.stopped||(this.glplotOptions=f(this),this.glplotOptions.merge(e),this.glplot=l(this.glplotOptions),this.camera=p(this),this.traces={},this.spikes=c(this.glplot),this.selectBox=u(this.glplot,{innerFill:!1,outerFill:!0}),this.lastButtonState=0,this.pickResult=null,this.isMouseOver=!0,this.stopped=!1,this.redraw=this.draw.bind(this),this.redraw())}e.exports=k;var A=k.prototype;A.makeFramework=function(){if(this.staticPlot){if(!(a||(n=document.createElement(\"canvas\"),a=h({canvas:n,preserveDrawingBuffer:!1,premultipliedAlpha:!0,antialias:!0}))))throw new Error(\"Error creating static canvas/context for image server\");this.canvas=n,this.gl=a}else{var t=this.container.querySelector(\".gl-canvas-focus\"),e=h({canvas:t,preserveDrawingBuffer:!0,premultipliedAlpha:!0});if(!e)return d(this),void(this.stopped=!0);this.canvas=t,this.gl=e}var r=this.canvas;r.style.width=\"100%\",r.style.height=\"100%\",r.style.position=\"absolute\",r.style.top=\"0px\",r.style.left=\"0px\",r.style[\"pointer-events\"]=\"none\",this.updateSize(r),r.className+=\" user-select-none\";var i=this.svgContainer=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");i.style.position=\"absolute\",i.style.top=i.style.left=\"0px\",i.style.width=i.style.height=\"100%\",i.style[\"z-index\"]=20,i.style[\"pointer-events\"]=\"none\";var o=this.mouseContainer=document.createElement(\"div\");o.style.position=\"absolute\",o.style[\"pointer-events\"]=\"auto\",this.pickCanvas=this.container.querySelector(\".gl-canvas-pick\");var s=this.container;s.appendChild(i),s.appendChild(o);var l=this;o.addEventListener(\"mouseout\",(function(){l.isMouseOver=!1,l.unhover()})),o.addEventListener(\"mouseover\",(function(){l.isMouseOver=!0}))},A.toImage=function(t){t||(t=\"png\"),this.stopped=!0,this.staticPlot&&this.container.appendChild(n),this.updateSize(this.canvas);var e=this.glplot.gl,r=e.drawingBufferWidth,a=e.drawingBufferHeight;e.clearColor(1,1,1,0),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT),this.glplot.setDirty(),this.glplot.draw(),e.bindFramebuffer(e.FRAMEBUFFER,null);var i=new Uint8Array(r*a*4);e.readPixels(0,0,r,a,e.RGBA,e.UNSIGNED_BYTE,i);for(var o=0,s=a-1;o<s;++o,--s)for(var l=0;l<r;++l)for(var c=0;c<4;++c){var u=i[4*(r*o+l)+c];i[4*(r*o+l)+c]=i[4*(r*s+l)+c],i[4*(r*s+l)+c]=u}var h=document.createElement(\"canvas\");h.width=r,h.height=a;var f,p=h.getContext(\"2d\"),d=p.createImageData(r,a);switch(d.data.set(i),p.putImageData(d,0,0),t){case\"jpeg\":f=h.toDataURL(\"image/jpeg\");break;case\"webp\":f=h.toDataURL(\"image/webp\");break;default:f=h.toDataURL(\"image/png\")}return this.staticPlot&&this.container.removeChild(n),f},A.updateSize=function(t){t||(t=this.canvas);var e=this.pixelRatio,r=this.fullLayout,n=r.width,a=r.height,i=0|Math.ceil(e*n),o=0|Math.ceil(e*a);return t.width===i&&t.height===o||(t.width=i,t.height=o),t},A.computeTickMarks=function(){this.xaxis.setScale(),this.yaxis.setScale();for(var t=[o.calcTicks(this.xaxis),o.calcTicks(this.yaxis)],e=0;e<2;++e)for(var r=0;r<t[e].length;++r)t[e][r].text=t[e][r].text+\"\";return t},A.updateRefs=function(t){this.fullLayout=t;var e=this.id.match(T),r=\"xaxis\"+e[1],n=\"yaxis\"+e[2];this.xaxis=this.fullLayout[r],this.yaxis=this.fullLayout[n]},A.relayoutCallback=function(){var t=this.graphDiv,e=this.xaxis,r=this.yaxis,n=t.layout,a={},o=a[e._name+\".range\"]=e.range.slice(),s=a[r._name+\".range\"]=r.range.slice();a[e._name+\".autorange\"]=e.autorange,a[r._name+\".autorange\"]=r.autorange,i.call(\"_storeDirectGUIEdit\",t.layout,t._fullLayout._preGUI,a);var l=n[e._name];l.range=o,l.autorange=e.autorange;var c=n[r._name];c.range=s,c.autorange=r.autorange,a.lastInputTime=this.camera.lastInputTime,t.emit(\"plotly_relayout\",a)},A.cameraChanged=function(){var t=this.camera;this.glplot.setDataBox(this.calcDataBox());var e=this.computeTickMarks();(function(t,e){for(var r=0;r<2;++r){var n=t[r],a=e[r];if(n.length!==a.length)return!0;for(var i=0;i<n.length;++i)if(n[i].x!==a[i].x)return!0}return!1})(e,this.glplotOptions.ticks)&&(this.glplotOptions.ticks=e,this.glplotOptions.dataBox=t.dataBox,this.glplot.update(this.glplotOptions),this.handleAnnotations())},A.handleAnnotations=function(){for(var t=this.graphDiv,e=this.fullLayout.annotations,r=0;r<e.length;r++){var n=e[r];n.xref===this.xaxis._id&&n.yref===this.yaxis._id&&i.getComponentMethod(\"annotations\",\"drawOne\")(t,r)}},A.destroy=function(){if(this.glplot){var t=this.traces;t&&Object.keys(t).map((function(e){t[e].dispose(),delete t[e]})),this.glplot.dispose(),this.container.removeChild(this.svgContainer),this.container.removeChild(this.mouseContainer),this.fullData=null,this.glplot=null,this.stopped=!0,this.camera.mouseListener.enabled=!1,this.mouseContainer.removeEventListener(\"wheel\",this.camera.wheelListener),this.camera=null}},A.plot=function(t,e,r){var n=this.glplot;this.updateRefs(r),this.xaxis.clearCalc(),this.yaxis.clearCalc(),this.updateTraces(t,e),this.updateFx(r.dragmode);var a=r.width,i=r.height;this.updateSize(this.canvas);var o=this.glplotOptions;o.merge(r),o.screenBox=[0,0,a,i];var s={_fullLayout:{_axisConstraintGroups:this.graphDiv._fullLayout._axisConstraintGroups,xaxis:this.xaxis,yaxis:this.yaxis}};v(s,this.xaxis),v(s,this.yaxis);var l,c,u=r._size,h=this.xaxis.domain,f=this.yaxis.domain;for(o.viewBox=[u.l+h[0]*u.w,u.b+f[0]*u.h,a-u.r-(1-h[1])*u.w,i-u.t-(1-f[1])*u.h],this.mouseContainer.style.width=u.w*(h[1]-h[0])+\"px\",this.mouseContainer.style.height=u.h*(f[1]-f[0])+\"px\",this.mouseContainer.height=u.h*(f[1]-f[0]),this.mouseContainer.style.left=u.l+h[0]*u.w+\"px\",this.mouseContainer.style.top=u.t+(1-f[1])*u.h+\"px\",c=0;c<2;++c)(l=this[w[c]])._length=o.viewBox[c+2]-o.viewBox[c],y(this.graphDiv,l),l.setScale();m(s),o.ticks=this.computeTickMarks(),o.dataBox=this.calcDataBox(),o.merge(r),n.update(o),this.glplot.draw()},A.calcDataBox=function(){var t=this.xaxis,e=this.yaxis,r=t.range,n=e.range,a=t.r2l,i=e.r2l;return[a(r[0]),i(n[0]),a(r[1]),i(n[1])]},A.setRanges=function(t){var e=this.xaxis,r=this.yaxis,n=e.l2r,a=r.l2r;e.range=[n(t[0]),n(t[2])],r.range=[a(t[1]),a(t[3])]},A.updateTraces=function(t,e){var r,n,a,i=Object.keys(this.traces);this.fullData=t;t:for(r=0;r<i.length;r++){var o=i[r],s=this.traces[o];for(n=0;n<t.length;n++)if((a=t[n]).uid===o&&a.type===s.type)continue t;s.dispose(),delete this.traces[o]}for(r=0;r<t.length;r++){a=t[r];var l=e[r],c=this.traces[a.uid];c?c.update(a,l):(c=a._module.plot(this,a,l),this.traces[a.uid]=c)}this.glplot.objects.sort((function(t,e){return t._trace.index-e._trace.index}))},A.updateFx=function(t){_(t)||b(t)?(this.pickCanvas.style[\"pointer-events\"]=\"none\",this.mouseContainer.style[\"pointer-events\"]=\"none\"):(this.pickCanvas.style[\"pointer-events\"]=\"auto\",this.mouseContainer.style[\"pointer-events\"]=\"auto\"),this.mouseContainer.style.cursor=\"pan\"===t?\"move\":\"zoom\"===t?\"crosshair\":null},A.emitPointAction=function(t,e){for(var r,n=t.trace.uid,a=t.pointIndex,i=0;i<this.fullData.length;i++)this.fullData[i].uid===n&&(r=this.fullData[i]);var o={x:t.traceCoord[0],y:t.traceCoord[1],curveNumber:r.index,pointNumber:a,data:r._input,fullData:this.fullData,xaxis:this.xaxis,yaxis:this.yaxis};s.appendArrayPointValue(o,r,a),this.graphDiv.emit(e,{points:[o]})},A.draw=function(){if(!this.stopped){requestAnimationFrame(this.redraw);var t=this.glplot,e=this.camera,r=e.mouseListener,n=1===this.lastButtonState&&0===r.buttons,a=this.fullLayout;this.lastButtonState=r.buttons,this.cameraChanged();var i,o=r.x*t.pixelRatio,l=this.canvas.height-t.pixelRatio*r.y;if(e.boxEnabled&&\"zoom\"===a.dragmode){this.selectBox.enabled=!0;for(var c=this.selectBox.selectBox=[Math.min(e.boxStart[0],e.boxEnd[0]),Math.min(e.boxStart[1],e.boxEnd[1]),Math.max(e.boxStart[0],e.boxEnd[0]),Math.max(e.boxStart[1],e.boxEnd[1])],u=0;u<2;u++)e.boxStart[u]===e.boxEnd[u]&&(c[u]=t.dataBox[u],c[u+2]=t.dataBox[u+2]);t.setDirty()}else if(!e.panning&&this.isMouseOver){this.selectBox.enabled=!1;var h=a._size,f=this.xaxis.domain,p=this.yaxis.domain,d=(i=t.pick(o/t.pixelRatio+h.l+f[0]*h.w,l/t.pixelRatio-(h.t+(1-p[1])*h.h)))&&i.object._trace.handlePick(i);if(d&&n&&this.emitPointAction(d,\"plotly_click\"),i&&\"skip\"!==i.object._trace.hoverinfo&&a.hovermode&&d&&(!this.lastPickResult||this.lastPickResult.traceUid!==d.trace.uid||this.lastPickResult.dataCoord[0]!==d.dataCoord[0]||this.lastPickResult.dataCoord[1]!==d.dataCoord[1])){var g=d;this.lastPickResult={traceUid:d.trace?d.trace.uid:null,dataCoord:d.dataCoord.slice()},this.spikes.update({center:i.dataCoord}),g.screenCoord=[((t.viewBox[2]-t.viewBox[0])*(i.dataCoord[0]-t.dataBox[0])/(t.dataBox[2]-t.dataBox[0])+t.viewBox[0])/t.pixelRatio,(this.canvas.height-(t.viewBox[3]-t.viewBox[1])*(i.dataCoord[1]-t.dataBox[1])/(t.dataBox[3]-t.dataBox[1])-t.viewBox[1])/t.pixelRatio],this.emitPointAction(d,\"plotly_hover\");var m=this.fullData[g.trace.index]||{},v=g.pointIndex,y=s.castHoverinfo(m,a,v);if(y&&\"all\"!==y){var x=y.split(\"+\");-1===x.indexOf(\"x\")&&(g.traceCoord[0]=void 0),-1===x.indexOf(\"y\")&&(g.traceCoord[1]=void 0),-1===x.indexOf(\"z\")&&(g.traceCoord[2]=void 0),-1===x.indexOf(\"text\")&&(g.textLabel=void 0),-1===x.indexOf(\"name\")&&(g.name=void 0)}s.loneHover({x:g.screenCoord[0],y:g.screenCoord[1],xLabel:this.hoverFormatter(\"xaxis\",g.traceCoord[0]),yLabel:this.hoverFormatter(\"yaxis\",g.traceCoord[1]),zLabel:g.traceCoord[2],text:g.textLabel,name:g.name,color:s.castHoverOption(m,v,\"bgcolor\")||g.color,borderColor:s.castHoverOption(m,v,\"bordercolor\"),fontFamily:s.castHoverOption(m,v,\"font.family\"),fontSize:s.castHoverOption(m,v,\"font.size\"),fontColor:s.castHoverOption(m,v,\"font.color\"),nameLength:s.castHoverOption(m,v,\"namelength\"),textAlign:s.castHoverOption(m,v,\"align\")},{container:this.svgContainer,gd:this.graphDiv})}}i||this.unhover(),t.draw()}},A.unhover=function(){this.lastPickResult&&(this.spikes.update({}),this.lastPickResult=null,this.graphDiv.emit(\"plotly_unhover\"),s.loneUnhover(this.svgContainer))},A.hoverFormatter=function(t,e){if(void 0!==e){var r=this[t];return o.tickText(r,r.c2l(e),\"hover\").text}}},{\"../../components/dragelement/helpers\":613,\"../../components/fx\":635,\"../../lib/show_no_webgl_msg\":749,\"../../plots/cartesian/axes\":776,\"../../registry\":859,\"../cartesian/autorange\":775,\"../cartesian/constants\":782,\"../cartesian/constraints\":783,\"./camera\":814,\"./convert\":815,\"gl-plot2d\":293,\"gl-select-box\":305,\"gl-spikes2d\":314,\"webgl-context\":558}],818:[function(t,e,r){\"use strict\";var n=t(\"../../plot_api/edit_types\").overrideAll,a=t(\"../../components/fx/layout_attributes\"),i=t(\"./scene\"),o=t(\"../get_data\").getSubplotData,s=t(\"../../lib\"),l=t(\"../../constants/xmlns_namespaces\");r.name=\"gl3d\",r.attr=\"scene\",r.idRoot=\"scene\",r.idRegex=r.attrRegex=s.counterRegex(\"scene\"),r.attributes=t(\"./layout/attributes\"),r.layoutAttributes=t(\"./layout/layout_attributes\"),r.baseLayoutAttrOverrides=n({hoverlabel:a.hoverlabel},\"plot\",\"nested\"),r.supplyLayoutDefaults=t(\"./layout/defaults\"),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl3d,a=0;a<n.length;a++){var s=n[a],l=o(r,\"gl3d\",s),c=e[s],u=c.camera,h=c._scene;h||(h=new i({id:s,graphDiv:t,container:t.querySelector(\".gl-container\"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio,camera:u},e),c._scene=h),h.viewInitial||(h.viewInitial={up:{x:u.up.x,y:u.up.y,z:u.up.z},eye:{x:u.eye.x,y:u.eye.y,z:u.eye.z},center:{x:u.center.x,y:u.center.y,z:u.center.z}}),h.plot(l,e,t.layout)}},r.clean=function(t,e,r,n){for(var a=n._subplots.gl3d||[],i=0;i<a.length;i++){var o=a[i];!e[o]&&n[o]._scene&&(n[o]._scene.destroy(),n._infolayer&&n._infolayer.selectAll(\".annotation-\"+o).remove())}},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=e._size,a=0;a<r.length;a++){var i=e[r[a]],o=i.domain,s=i._scene,c=s.toImage(\"png\");e._glimages.append(\"svg:image\").attr({xmlns:l.svg,\"xlink:href\":c,x:n.l+n.w*o.x[0],y:n.t+n.h*(1-o.y[1]),width:n.w*(o.x[1]-o.x[0]),height:n.h*(o.y[1]-o.y[0]),preserveAspectRatio:\"none\"}),s.destroy()}},r.cleanId=function(t){if(t.match(/^scene[0-9]*$/)){var e=t.substr(5);return\"1\"===e&&(e=\"\"),\"scene\"+e}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=0;n<r.length;n++){e[r[n]]._scene.updateFx(e.dragmode,e.hovermode)}}},{\"../../components/fx/layout_attributes\":636,\"../../constants/xmlns_namespaces\":705,\"../../lib\":728,\"../../plot_api/edit_types\":759,\"../get_data\":813,\"./layout/attributes\":819,\"./layout/defaults\":823,\"./layout/layout_attributes\":824,\"./scene\":828}],819:[function(t,e,r){\"use strict\";e.exports={scene:{valType:\"subplotid\",dflt:\"scene\",editType:\"calc+clearAxisTypes\"}}},{}],820:[function(t,e,r){\"use strict\";var n=t(\"../../../components/color\"),a=t(\"../../cartesian/layout_attributes\"),i=t(\"../../../lib/extend\").extendFlat,o=t(\"../../../plot_api/edit_types\").overrideAll;e.exports=o({visible:a.visible,showspikes:{valType:\"boolean\",dflt:!0},spikesides:{valType:\"boolean\",dflt:!0},spikethickness:{valType:\"number\",min:0,dflt:2},spikecolor:{valType:\"color\",dflt:n.defaultLine},showbackground:{valType:\"boolean\",dflt:!1},backgroundcolor:{valType:\"color\",dflt:\"rgba(204, 204, 204, 0.5)\"},showaxeslabels:{valType:\"boolean\",dflt:!0},color:a.color,categoryorder:a.categoryorder,categoryarray:a.categoryarray,title:{text:a.title.text,font:a.title.font},type:i({},a.type,{values:[\"-\",\"linear\",\"log\",\"date\",\"category\"]}),autorange:a.autorange,rangemode:a.rangemode,range:i({},a.range,{items:[{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}}],anim:!1}),tickmode:a.tickmode,nticks:a.nticks,tick0:a.tick0,dtick:a.dtick,tickvals:a.tickvals,ticktext:a.ticktext,ticks:a.ticks,mirror:a.mirror,ticklen:a.ticklen,tickwidth:a.tickwidth,tickcolor:a.tickcolor,showticklabels:a.showticklabels,tickfont:a.tickfont,tickangle:a.tickangle,tickprefix:a.tickprefix,showtickprefix:a.showtickprefix,ticksuffix:a.ticksuffix,showticksuffix:a.showticksuffix,showexponent:a.showexponent,exponentformat:a.exponentformat,separatethousands:a.separatethousands,tickformat:a.tickformat,tickformatstops:a.tickformatstops,hoverformat:a.hoverformat,showline:a.showline,linecolor:a.linecolor,linewidth:a.linewidth,showgrid:a.showgrid,gridcolor:i({},a.gridcolor,{dflt:\"rgb(204, 204, 204)\"}),gridwidth:a.gridwidth,zeroline:a.zeroline,zerolinecolor:a.zerolinecolor,zerolinewidth:a.zerolinewidth,_deprecated:{title:a._deprecated.title,titlefont:a._deprecated.titlefont}},\"plot\",\"from-root\")},{\"../../../components/color\":595,\"../../../lib/extend\":719,\"../../../plot_api/edit_types\":759,\"../../cartesian/layout_attributes\":790}],821:[function(t,e,r){\"use strict\";var n=t(\"tinycolor2\").mix,a=t(\"../../../lib\"),i=t(\"../../../plot_api/plot_template\"),o=t(\"./axis_attributes\"),s=t(\"../../cartesian/type_defaults\"),l=t(\"../../cartesian/axis_defaults\"),c=[\"xaxis\",\"yaxis\",\"zaxis\"];e.exports=function(t,e,r){var u,h;function f(t,e){return a.coerce(u,h,o,t,e)}for(var p=0;p<c.length;p++){var d=c[p];u=t[d]||{},(h=i.newContainer(e,d))._id=d[0]+r.scene,h._name=d,s(u,h,f,r),l(u,h,f,{font:r.font,letter:d[0],data:r.data,showGrid:!0,noTickson:!0,bgColor:r.bgColor,calendar:r.calendar},r.fullLayout),f(\"gridcolor\",n(h.color,r.bgColor,13600/187).toRgbString()),f(\"title.text\",d[0]),h.setScale=a.noop,f(\"showspikes\")&&(f(\"spikesides\"),f(\"spikethickness\"),f(\"spikecolor\",h.color)),f(\"showaxeslabels\"),f(\"showbackground\")&&f(\"backgroundcolor\")}}},{\"../../../lib\":728,\"../../../plot_api/plot_template\":766,\"../../cartesian/axis_defaults\":778,\"../../cartesian/type_defaults\":801,\"./axis_attributes\":820,tinycolor2:528}],822:[function(t,e,r){\"use strict\";var n=t(\"../../../lib/str2rgbarray\"),a=t(\"../../../lib\"),i=[\"xaxis\",\"yaxis\",\"zaxis\"];function o(){this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.tickEnable=[!0,!0,!0],this.tickFont=[\"sans-serif\",\"sans-serif\",\"sans-serif\"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[18,18,18],this.labels=[\"x\",\"y\",\"z\"],this.labelEnable=[!0,!0,!0],this.labelFont=[\"Open Sans\",\"Open Sans\",\"Open Sans\"],this.labelSize=[20,20,20],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[30,30,30],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[10,10,10],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!0,!0,!0],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._defaultTickPad=this.tickPad.slice(),this._defaultLabelPad=this.labelPad.slice(),this._defaultLineTickLength=this.lineTickLength.slice()}o.prototype.merge=function(t,e){for(var r=0;r<3;++r){var o=e[i[r]];o.visible?(this.labels[r]=t._meta?a.templateString(o.title.text,t._meta):o.title.text,\"font\"in o.title&&(o.title.font.color&&(this.labelColor[r]=n(o.title.font.color)),o.title.font.family&&(this.labelFont[r]=o.title.font.family),o.title.font.size&&(this.labelSize[r]=o.title.font.size)),\"showline\"in o&&(this.lineEnable[r]=o.showline),\"linecolor\"in o&&(this.lineColor[r]=n(o.linecolor)),\"linewidth\"in o&&(this.lineWidth[r]=o.linewidth),\"showgrid\"in o&&(this.gridEnable[r]=o.showgrid),\"gridcolor\"in o&&(this.gridColor[r]=n(o.gridcolor)),\"gridwidth\"in o&&(this.gridWidth[r]=o.gridwidth),\"log\"===o.type?this.zeroEnable[r]=!1:\"zeroline\"in o&&(this.zeroEnable[r]=o.zeroline),\"zerolinecolor\"in o&&(this.zeroLineColor[r]=n(o.zerolinecolor)),\"zerolinewidth\"in o&&(this.zeroLineWidth[r]=o.zerolinewidth),\"ticks\"in o&&o.ticks?this.lineTickEnable[r]=!0:this.lineTickEnable[r]=!1,\"ticklen\"in o&&(this.lineTickLength[r]=this._defaultLineTickLength[r]=o.ticklen),\"tickcolor\"in o&&(this.lineTickColor[r]=n(o.tickcolor)),\"tickwidth\"in o&&(this.lineTickWidth[r]=o.tickwidth),\"tickangle\"in o&&(this.tickAngle[r]=\"auto\"===o.tickangle?-3600:Math.PI*-o.tickangle/180),\"showticklabels\"in o&&(this.tickEnable[r]=o.showticklabels),\"tickfont\"in o&&(o.tickfont.color&&(this.tickColor[r]=n(o.tickfont.color)),o.tickfont.family&&(this.tickFont[r]=o.tickfont.family),o.tickfont.size&&(this.tickSize[r]=o.tickfont.size)),\"mirror\"in o?-1!==[\"ticks\",\"all\",\"allticks\"].indexOf(o.mirror)?(this.lineTickMirror[r]=!0,this.lineMirror[r]=!0):!0===o.mirror?(this.lineTickMirror[r]=!1,this.lineMirror[r]=!0):(this.lineTickMirror[r]=!1,this.lineMirror[r]=!1):this.lineMirror[r]=!1,\"showbackground\"in o&&!1!==o.showbackground?(this.backgroundEnable[r]=!0,this.backgroundColor[r]=n(o.backgroundcolor)):this.backgroundEnable[r]=!1):(this.tickEnable[r]=!1,this.labelEnable[r]=!1,this.lineEnable[r]=!1,this.lineTickEnable[r]=!1,this.gridEnable[r]=!1,this.zeroEnable[r]=!1,this.backgroundEnable[r]=!1)}},e.exports=function(t,e){var r=new o;return r.merge(t,e),r}},{\"../../../lib\":728,\"../../../lib/str2rgbarray\":751}],823:[function(t,e,r){\"use strict\";var n=t(\"../../../lib\"),a=t(\"../../../components/color\"),i=t(\"../../../registry\"),o=t(\"../../subplot_defaults\"),s=t(\"./axis_defaults\"),l=t(\"./layout_attributes\"),c=t(\"../../get_data\").getSubplotData;function u(t,e,r,n){for(var o=r(\"bgcolor\"),l=a.combine(o,n.paper_bgcolor),u=[\"up\",\"center\",\"eye\"],h=0;h<u.length;h++)r(\"camera.\"+u[h]+\".x\"),r(\"camera.\"+u[h]+\".y\"),r(\"camera.\"+u[h]+\".z\");r(\"camera.projection.type\");var f=!!r(\"aspectratio.x\")&&!!r(\"aspectratio.y\")&&!!r(\"aspectratio.z\"),p=r(\"aspectmode\",f?\"manual\":\"auto\");f||(t.aspectratio=e.aspectratio={x:1,y:1,z:1},\"manual\"===p&&(e.aspectmode=\"auto\"),t.aspectmode=e.aspectmode);var d=c(n.fullData,\"gl3d\",n.id);s(t,e,{font:n.font,scene:n.id,data:d,bgColor:l,calendar:n.calendar,fullLayout:n.fullLayout}),i.getComponentMethod(\"annotations3d\",\"handleDefaults\")(t,e,n);var g=n.getDfltFromLayout(\"dragmode\");if(!1!==g&&!g)if(g=\"orbit\",t.camera&&t.camera.up){var m=t.camera.up.x,v=t.camera.up.y,y=t.camera.up.z;0!==y&&(m&&v&&y?y/Math.sqrt(m*m+v*v+y*y)>.999&&(g=\"turntable\"):g=\"turntable\")}else g=\"turntable\";r(\"dragmode\",g),r(\"hovermode\",n.getDfltFromLayout(\"hovermode\"))}e.exports=function(t,e,r){var a=e._basePlotModules.length>1;o(t,e,r,{type:\"gl3d\",attributes:l,handleDefaults:u,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!a)return n.validate(t[e],l[e])?t[e]:void 0},paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},{\"../../../components/color\":595,\"../../../lib\":728,\"../../../registry\":859,\"../../get_data\":813,\"../../subplot_defaults\":853,\"./axis_defaults\":821,\"./layout_attributes\":824}],824:[function(t,e,r){\"use strict\";var n=t(\"./axis_attributes\"),a=t(\"../../domain\").attributes,i=t(\"../../../lib/extend\").extendFlat,o=t(\"../../../lib\").counterRegex;function s(t,e,r){return{x:{valType:\"number\",dflt:t,editType:\"camera\"},y:{valType:\"number\",dflt:e,editType:\"camera\"},z:{valType:\"number\",dflt:r,editType:\"camera\"},editType:\"camera\"}}e.exports={_arrayAttrRegexps:[o(\"scene\",\".annotations\",!0)],bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"plot\"},camera:{up:i(s(0,0,1),{}),center:i(s(0,0,0),{}),eye:i(s(1.25,1.25,1.25),{}),projection:{type:{valType:\"enumerated\",values:[\"perspective\",\"orthographic\"],dflt:\"perspective\",editType:\"calc\"},editType:\"calc\"},editType:\"camera\"},domain:a({name:\"scene\",editType:\"plot\"}),aspectmode:{valType:\"enumerated\",values:[\"auto\",\"cube\",\"data\",\"manual\"],dflt:\"auto\",editType:\"plot\",impliedEdits:{\"aspectratio.x\":void 0,\"aspectratio.y\":void 0,\"aspectratio.z\":void 0}},aspectratio:{x:{valType:\"number\",min:0,editType:\"plot\",impliedEdits:{\"^aspectmode\":\"manual\"}},y:{valType:\"number\",min:0,editType:\"plot\",impliedEdits:{\"^aspectmode\":\"manual\"}},z:{valType:\"number\",min:0,editType:\"plot\",impliedEdits:{\"^aspectmode\":\"manual\"}},editType:\"plot\",impliedEdits:{aspectmode:\"manual\"}},xaxis:n,yaxis:n,zaxis:n,dragmode:{valType:\"enumerated\",values:[\"orbit\",\"turntable\",\"zoom\",\"pan\",!1],editType:\"plot\"},hovermode:{valType:\"enumerated\",values:[\"closest\",!1],dflt:\"closest\",editType:\"modebar\"},uirevision:{valType:\"any\",editType:\"none\"},editType:\"plot\",_deprecated:{cameraposition:{valType:\"info_array\",editType:\"camera\"}}}},{\"../../../lib\":728,\"../../../lib/extend\":719,\"../../domain\":803,\"./axis_attributes\":820}],825:[function(t,e,r){\"use strict\";var n=t(\"../../../lib/str2rgbarray\"),a=[\"xaxis\",\"yaxis\",\"zaxis\"];function i(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}i.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[a[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=n(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}},e.exports=function(t){var e=new i;return e.merge(t),e}},{\"../../../lib/str2rgbarray\":751}],826:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,s=t.fullSceneLayout,l=[[],[],[]],c=0;c<3;++c){var u=s[i[c]];if(u._length=(r[c].hi-r[c].lo)*r[c].pixelsPerDataUnit/t.dataScale[c],Math.abs(u._length)===1/0||isNaN(u._length))l[c]=[];else{u._input_range=u.range.slice(),u.range[0]=r[c].lo/t.dataScale[c],u.range[1]=r[c].hi/t.dataScale[c],u._m=1/(t.dataScale[c]*r[c].pixelsPerDataUnit),u.range[0]===u.range[1]&&(u.range[0]-=1,u.range[1]+=1);var h=u.tickmode;if(\"auto\"===u.tickmode){u.tickmode=\"linear\";var f=u.nticks||a.constrain(u._length/40,4,9);n.autoTicks(u,Math.abs(u.range[1]-u.range[0])/f)}for(var p=n.calcTicks(u,{msUTC:!0}),d=0;d<p.length;++d)p[d].x=p[d].x*t.dataScale[c],\"date\"===u.type&&(p[d].text=p[d].text.replace(/\\<br\\>/g,\" \"));l[c]=p,u.tickmode=h}}e.ticks=l;for(c=0;c<3;++c){o[c]=.5*(t.glplot.bounds[0][c]+t.glplot.bounds[1][c]);for(d=0;d<2;++d)e.bounds[d][c]=t.glplot.bounds[d][c]}t.contourLevels=function(t){for(var e=new Array(3),r=0;r<3;++r){for(var n=t[r],a=new Array(n.length),i=0;i<n.length;++i)a[i]=n[i].x;e[r]=a}return e}(l)};var n=t(\"../../cartesian/axes\"),a=t(\"../../../lib\"),i=[\"xaxis\",\"yaxis\",\"zaxis\"],o=[0,0,0]},{\"../../../lib\":728,\"../../cartesian/axes\":776}],827:[function(t,e,r){\"use strict\";function n(t,e){var r,n,a=[0,0,0,0];for(r=0;r<4;++r)for(n=0;n<4;++n)a[n]+=t[4*r+n]*e[r];return a}e.exports=function(t,e){return n(t.projection,n(t.view,n(t.model,[e[0],e[1],e[2],1])))}},{}],828:[function(t,e,r){\"use strict\";var n,a,i=t(\"gl-plot3d\"),o=i.createCamera,s=i.createScene,l=t(\"webgl-context\"),c=t(\"has-passive-events\"),u=t(\"../../registry\"),h=t(\"../../lib\"),f=t(\"../../plots/cartesian/axes\"),p=t(\"../../components/fx\"),d=t(\"../../lib/str2rgbarray\"),g=t(\"../../lib/show_no_webgl_msg\"),m=t(\"./project\"),v=t(\"./layout/convert\"),y=t(\"./layout/spikes\"),x=t(\"./layout/tick_marks\"),b=t(\"is-mobile\")({tablet:!0,featureDetect:!0});function _(t,e){var r=document.createElement(\"div\"),n=t.container;this.graphDiv=t.graphDiv;var a=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");a.style.position=\"absolute\",a.style.top=a.style.left=\"0px\",a.style.width=a.style.height=\"100%\",a.style[\"z-index\"]=20,a.style[\"pointer-events\"]=\"none\",r.appendChild(a),this.svgContainer=a,r.id=t.id,r.style.position=\"absolute\",r.style.top=r.style.left=\"0px\",r.style.width=r.style.height=\"100%\",n.appendChild(r),this.fullLayout=e,this.id=t.id||\"scene\",this.fullSceneLayout=e[this.id],this.plotArgs=[[],{},{}],this.axesOptions=v(e,e[this.id]),this.spikeOptions=y(e[this.id]),this.container=r,this.staticMode=!!t.staticPlot,this.pixelRatio=this.pixelRatio||t.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=u.getComponentMethod(\"annotations3d\",\"convert\"),this.drawAnnotations=u.getComponentMethod(\"annotations3d\",\"draw\"),this.initializeGLPlot()}var w=_.prototype;w.prepareOptions=function(){var t={canvas:this.canvas,gl:this.gl,glOptions:{preserveDrawingBuffer:b,premultipliedAlpha:!0,antialias:!0},container:this.container,axes:this.axesOptions,spikes:this.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1,cameraObject:this.camera,pixelRatio:this.pixelRatio};if(this.staticMode){if(!(a||(n=document.createElement(\"canvas\"),a=l({canvas:n,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}))))throw new Error(\"error creating static canvas/context for image server\");t.gl=a,t.canvas=n}return t},w.tryCreatePlot=function(){var t=this.prepareOptions(),e=!0;try{this.glplot=s(t)}catch(r){if(this.staticMode)e=!1;else try{h.warn([\"webgl setup failed possibly due to\",b?\"disabling\":\"enabling\",\"preserveDrawingBuffer config.\",\"The device may not be supported by is-mobile module!\",\"Inverting preserveDrawingBuffer option in second attempt to create webgl scene.\"].join(\" \")),b=t.glOptions.preserveDrawingBuffer=!t.glOptions.preserveDrawingBuffer,this.glplot=s(t)}catch(t){e=!1}}return e},w.initializeGLCamera=function(){var t=this.fullSceneLayout.camera,e=\"orthographic\"===t.projection.type;this.camera=o(this.container,{center:[t.center.x,t.center.y,t.center.z],eye:[t.eye.x,t.eye.y,t.eye.z],up:[t.up.x,t.up.y,t.up.z],_ortho:e,zoomMin:.01,zoomMax:100,mode:\"orbit\"})},w.initializeGLPlot=function(){var t=this;if(t.initializeGLCamera(),!t.tryCreatePlot())return g(t);t.traces={},t.make4thDimension();var e=t.graphDiv,r=e.layout,n=function(){var e={};return t.isCameraChanged(r)&&(e[t.id+\".camera\"]=t.getCamera()),t.isAspectChanged(r)&&(e[t.id+\".aspectratio\"]=t.glplot.getAspectratio(),\"manual\"!==r[t.id].aspectmode&&(t.fullSceneLayout.aspectmode=r[t.id].aspectmode=e[t.id+\".aspectmode\"]=\"manual\")),e},a=function(t){if(!1!==t.fullSceneLayout.dragmode){var e=n();t.saveLayout(r),t.graphDiv.emit(\"plotly_relayout\",e)}};return t.glplot.canvas.addEventListener(\"mouseup\",(function(){a(t)})),t.glplot.canvas.addEventListener(\"wheel\",(function(r){if(e._context._scrollZoom.gl3d){if(t.camera._ortho){var n=r.deltaX>r.deltaY?1.1:1/1.1,i=t.glplot.getAspectratio();t.glplot.setAspectratio({x:n*i.x,y:n*i.y,z:n*i.z})}a(t)}}),!!c&&{passive:!1}),t.glplot.canvas.addEventListener(\"mousemove\",(function(){if(!1!==t.fullSceneLayout.dragmode&&0!==t.camera.mouseListener.buttons){var e=n();t.graphDiv.emit(\"plotly_relayouting\",e)}})),t.staticMode||t.glplot.canvas.addEventListener(\"webglcontextlost\",(function(r){e&&e.emit&&e.emit(\"plotly_webglcontextlost\",{event:r,layer:t.id})}),!1),t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(){t.render()},!0},w.render=function(){var t,e=this,r=e.graphDiv,n=e.svgContainer,a=e.container.getBoundingClientRect(),i=a.width,o=a.height;n.setAttributeNS(null,\"viewBox\",\"0 0 \"+i+\" \"+o),n.setAttributeNS(null,\"width\",i),n.setAttributeNS(null,\"height\",o),x(e),e.glplot.axes.update(e.axesOptions);for(var s,l=Object.keys(e.traces),c=null,u=e.glplot.selection,d=0;d<l.length;++d)\"skip\"!==(t=e.traces[l[d]]).data.hoverinfo&&t.handlePick(u)&&(c=t),t.setContourLevels&&t.setContourLevels();function g(t,r){var n=e.fullSceneLayout[t];return f.tickText(n,n.d2l(r),\"hover\").text}if(null!==c){var v=m(e.glplot.cameraParams,u.dataCoordinate);t=c.data;var y,b=r._fullData[t.index],_=u.index,w={xLabel:g(\"xaxis\",u.traceCoordinate[0]),yLabel:g(\"yaxis\",u.traceCoordinate[1]),zLabel:g(\"zaxis\",u.traceCoordinate[2])},T=p.castHoverinfo(b,e.fullLayout,_),k=(T||\"\").split(\"+\"),A=T&&\"all\"===T;b.hovertemplate||A||(-1===k.indexOf(\"x\")&&(w.xLabel=void 0),-1===k.indexOf(\"y\")&&(w.yLabel=void 0),-1===k.indexOf(\"z\")&&(w.zLabel=void 0),-1===k.indexOf(\"text\")&&(u.textLabel=void 0),-1===k.indexOf(\"name\")&&(c.name=void 0));var M=[];\"cone\"===t.type||\"streamtube\"===t.type?(w.uLabel=g(\"xaxis\",u.traceCoordinate[3]),(A||-1!==k.indexOf(\"u\"))&&M.push(\"u: \"+w.uLabel),w.vLabel=g(\"yaxis\",u.traceCoordinate[4]),(A||-1!==k.indexOf(\"v\"))&&M.push(\"v: \"+w.vLabel),w.wLabel=g(\"zaxis\",u.traceCoordinate[5]),(A||-1!==k.indexOf(\"w\"))&&M.push(\"w: \"+w.wLabel),w.normLabel=u.traceCoordinate[6].toPrecision(3),(A||-1!==k.indexOf(\"norm\"))&&M.push(\"norm: \"+w.normLabel),\"streamtube\"===t.type&&(w.divergenceLabel=u.traceCoordinate[7].toPrecision(3),(A||-1!==k.indexOf(\"divergence\"))&&M.push(\"divergence: \"+w.divergenceLabel)),u.textLabel&&M.push(u.textLabel),y=M.join(\"<br>\")):\"isosurface\"===t.type||\"volume\"===t.type?(w.valueLabel=f.tickText(e._mockAxis,e._mockAxis.d2l(u.traceCoordinate[3]),\"hover\").text,M.push(\"value: \"+w.valueLabel),u.textLabel&&M.push(u.textLabel),y=M.join(\"<br>\")):y=u.textLabel;var S={x:u.traceCoordinate[0],y:u.traceCoordinate[1],z:u.traceCoordinate[2],data:b._input,fullData:b,curveNumber:b.index,pointNumber:_};p.appendArrayPointValue(S,b,_),t._module.eventData&&(S=b._module.eventData(S,u,b,{},_));var E={points:[S]};e.fullSceneLayout.hovermode&&p.loneHover({trace:b,x:(.5+.5*v[0]/v[3])*i,y:(.5-.5*v[1]/v[3])*o,xLabel:w.xLabel,yLabel:w.yLabel,zLabel:w.zLabel,text:y,name:c.name,color:p.castHoverOption(b,_,\"bgcolor\")||c.color,borderColor:p.castHoverOption(b,_,\"bordercolor\"),fontFamily:p.castHoverOption(b,_,\"font.family\"),fontSize:p.castHoverOption(b,_,\"font.size\"),fontColor:p.castHoverOption(b,_,\"font.color\"),nameLength:p.castHoverOption(b,_,\"namelength\"),textAlign:p.castHoverOption(b,_,\"align\"),hovertemplate:h.castOption(b,_,\"hovertemplate\"),hovertemplateLabels:h.extendFlat({},S,w),eventData:[S]},{container:n,gd:r}),u.buttons&&u.distance<5?r.emit(\"plotly_click\",E):r.emit(\"plotly_hover\",E),s=E}else p.loneUnhover(n),r.emit(\"plotly_unhover\",s);e.drawAnnotations(e)},w.recoverContext=function(){var t=this;t.glplot.dispose();var e=function(){t.glplot.gl.isContextLost()?requestAnimationFrame(e):t.initializeGLPlot()?t.plot.apply(t,t.plotArgs):h.error(\"Catastrophic and unrecoverable WebGL error. Context lost.\")};requestAnimationFrame(e)};var T=[\"xaxis\",\"yaxis\",\"zaxis\"];function k(t,e,r){for(var n=t.fullSceneLayout,a=0;a<3;a++){var i=T[a],o=i.charAt(0),s=n[i],l=e[o],c=e[o+\"calendar\"],u=e[\"_\"+o+\"length\"];if(h.isArrayOrTypedArray(l))for(var f,p=0;p<(u||l.length);p++)if(h.isArrayOrTypedArray(l[p]))for(var d=0;d<l[p].length;++d)f=s.d2l(l[p][d],0,c),!isNaN(f)&&isFinite(f)&&(r[0][a]=Math.min(r[0][a],f),r[1][a]=Math.max(r[1][a],f));else f=s.d2l(l[p],0,c),!isNaN(f)&&isFinite(f)&&(r[0][a]=Math.min(r[0][a],f),r[1][a]=Math.max(r[1][a],f));else r[0][a]=Math.min(r[0][a],0),r[1][a]=Math.max(r[1][a],u-1)}}w.plot=function(t,e,r){if(this.plotArgs=[t,e,r],!this.glplot.contextLost){var n,a,i,o,s,l,c=e[this.id],u=r[this.id];this.fullLayout=e,this.fullSceneLayout=c,this.axesOptions.merge(e,c),this.spikeOptions.merge(c),this.setViewport(c),this.updateFx(c.dragmode,c.hovermode),this.camera.enableWheel=this.graphDiv._context._scrollZoom.gl3d,this.glplot.setClearColor(d(c.bgcolor)),this.setConvert(s),t?Array.isArray(t)||(t=[t]):t=[];var h=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(i=0;i<t.length;++i)!0===(n=t[i]).visible&&0!==n._length&&k(this,n,h);!function(t,e){for(var r=t.fullSceneLayout,n=r.annotations||[],a=0;a<3;a++)for(var i=T[a],o=i.charAt(0),s=r[i],l=0;l<n.length;l++){var c=n[l];if(c.visible){var u=s.r2l(c[o]);!isNaN(u)&&isFinite(u)&&(e[0][a]=Math.min(e[0][a],u),e[1][a]=Math.max(e[1][a],u))}}}(this,h);var f=[1,1,1];for(o=0;o<3;++o)h[1][o]===h[0][o]?f[o]=1:f[o]=1/(h[1][o]-h[0][o]);for(this.dataScale=f,this.convertAnnotations(this),i=0;i<t.length;++i)!0===(n=t[i]).visible&&0!==n._length&&((a=this.traces[n.uid])?a.data.type===n.type?a.update(n):(a.dispose(),a=n._module.plot(this,n),this.traces[n.uid]=a):(a=n._module.plot(this,n),this.traces[n.uid]=a),a.name=n.name);var p=Object.keys(this.traces);t:for(i=0;i<p.length;++i){for(o=0;o<t.length;++o)if(t[o].uid===p[i]&&!0===t[o].visible&&0!==t[o]._length)continue t;(a=this.traces[p[i]]).dispose(),delete this.traces[p[i]]}this.glplot.objects.sort((function(t,e){return t._trace.data.index-e._trace.data.index}));var g,m=[[0,0,0],[0,0,0]],v=[],y={};for(i=0;i<3;++i){if((l=(s=c[T[i]]).type)in y?(y[l].acc*=f[i],y[l].count+=1):y[l]={acc:f[i],count:1},s.autorange){m[0][i]=1/0,m[1][i]=-1/0;var x=this.glplot.objects,b=this.fullSceneLayout.annotations||[],_=s._name.charAt(0);for(o=0;o<x.length;o++){var w=x[o],A=w.bounds,M=w._trace.data._pad||0;\"ErrorBars\"===w.constructor.name&&s._lowerLogErrorBound?m[0][i]=Math.min(m[0][i],s._lowerLogErrorBound):m[0][i]=Math.min(m[0][i],A[0][i]/f[i]-M),m[1][i]=Math.max(m[1][i],A[1][i]/f[i]+M)}for(o=0;o<b.length;o++){var S=b[o];if(S.visible){var E=s.r2l(S[_]);m[0][i]=Math.min(m[0][i],E),m[1][i]=Math.max(m[1][i],E)}}if(\"rangemode\"in s&&\"tozero\"===s.rangemode&&(m[0][i]=Math.min(m[0][i],0),m[1][i]=Math.max(m[1][i],0)),m[0][i]>m[1][i])m[0][i]=-1,m[1][i]=1;else{var C=m[1][i]-m[0][i];m[0][i]-=C/32,m[1][i]+=C/32}if(\"reversed\"===s.autorange){var L=m[0][i];m[0][i]=m[1][i],m[1][i]=L}}else{var P=s.range;m[0][i]=s.r2l(P[0]),m[1][i]=s.r2l(P[1])}m[0][i]===m[1][i]&&(m[0][i]-=1,m[1][i]+=1),v[i]=m[1][i]-m[0][i],this.glplot.setBounds(i,{min:m[0][i]*f[i],max:m[1][i]*f[i]})}var I=c.aspectmode;if(\"cube\"===I)g=[1,1,1];else if(\"manual\"===I){var z=c.aspectratio;g=[z.x,z.y,z.z]}else{if(\"auto\"!==I&&\"data\"!==I)throw new Error(\"scene.js aspectRatio was not one of the enumerated types\");var O=[1,1,1];for(i=0;i<3;++i){var D=y[l=(s=c[T[i]]).type];O[i]=Math.pow(D.acc,1/D.count)/f[i]}g=\"data\"===I||Math.max.apply(null,O)/Math.min.apply(null,O)<=4?O:[1,1,1]}c.aspectratio.x=u.aspectratio.x=g[0],c.aspectratio.y=u.aspectratio.y=g[1],c.aspectratio.z=u.aspectratio.z=g[2],this.glplot.setAspectratio(c.aspectratio),this.viewInitial.aspectratio||(this.viewInitial.aspectratio={x:c.aspectratio.x,y:c.aspectratio.y,z:c.aspectratio.z}),this.viewInitial.aspectmode||(this.viewInitial.aspectmode=c.aspectmode);var R=c.domain||null,F=e._size||null;if(R&&F){var B=this.container.style;B.position=\"absolute\",B.left=F.l+R.x[0]*F.w+\"px\",B.top=F.t+(1-R.y[1])*F.h+\"px\",B.width=F.w*(R.x[1]-R.x[0])+\"px\",B.height=F.h*(R.y[1]-R.y[0])+\"px\"}this.glplot.redraw()}},w.destroy=function(){this.glplot&&(this.camera.mouseListener.enabled=!1,this.container.removeEventListener(\"wheel\",this.camera.wheelListener),this.camera=null,this.glplot.dispose(),this.container.parentNode.removeChild(this.container),this.glplot=null)},w.getCamera=function(){var t;return this.camera.view.recalcMatrix(this.camera.view.lastT()),{up:{x:(t=this.camera).up[0],y:t.up[1],z:t.up[2]},center:{x:t.center[0],y:t.center[1],z:t.center[2]},eye:{x:t.eye[0],y:t.eye[1],z:t.eye[2]},projection:{type:!0===t._ortho?\"orthographic\":\"perspective\"}}},w.setViewport=function(t){var e,r=t.camera;this.camera.lookAt.apply(this,[[(e=r).eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]]),this.glplot.setAspectratio(t.aspectratio),\"orthographic\"===r.projection.type!==this.camera._ortho&&(this.glplot.redraw(),this.glplot.clearRGBA(),this.glplot.dispose(),this.initializeGLPlot())},w.isCameraChanged=function(t){var e=this.getCamera(),r=h.nestedProperty(t,this.id+\".camera\").get();function n(t,e,r,n){var a=[\"up\",\"center\",\"eye\"],i=[\"x\",\"y\",\"z\"];return e[a[r]]&&t[a[r]][i[n]]===e[a[r]][i[n]]}var a=!1;if(void 0===r)a=!0;else{for(var i=0;i<3;i++)for(var o=0;o<3;o++)if(!n(e,r,i,o)){a=!0;break}(!r.projection||e.projection&&e.projection.type!==r.projection.type)&&(a=!0)}return a},w.isAspectChanged=function(t){var e=this.glplot.getAspectratio(),r=h.nestedProperty(t,this.id+\".aspectratio\").get();return void 0===r||r.x!==e.x||r.y!==e.y||r.z!==e.z},w.saveLayout=function(t){var e,r,n,a,i,o,s=this.fullLayout,l=this.isCameraChanged(t),c=this.isAspectChanged(t),f=l||c;if(f){var p={};if(l&&(e=this.getCamera(),n=(r=h.nestedProperty(t,this.id+\".camera\")).get(),p[this.id+\".camera\"]=n),c&&(a=this.glplot.getAspectratio(),o=(i=h.nestedProperty(t,this.id+\".aspectratio\")).get(),p[this.id+\".aspectratio\"]=o),u.call(\"_storeDirectGUIEdit\",t,s._preGUI,p),l)r.set(e),h.nestedProperty(s,this.id+\".camera\").set(e);if(c)i.set(a),h.nestedProperty(s,this.id+\".aspectratio\").set(a),this.glplot.redraw()}return f},w.updateFx=function(t,e){var r=this.camera;if(r)if(\"orbit\"===t)r.mode=\"orbit\",r.keyBindingMode=\"rotate\";else if(\"turntable\"===t){r.up=[0,0,1],r.mode=\"turntable\",r.keyBindingMode=\"rotate\";var n=this.graphDiv,a=n._fullLayout,i=this.fullSceneLayout.camera,o=i.up.x,s=i.up.y,l=i.up.z;if(l/Math.sqrt(o*o+s*s+l*l)<.999){var c=this.id+\".camera.up\",f={x:0,y:0,z:1},p={};p[c]=f;var d=n.layout;u.call(\"_storeDirectGUIEdit\",d,a._preGUI,p),i.up=f,h.nestedProperty(d,c).set(f)}}else r.keyBindingMode=t;this.fullSceneLayout.hovermode=e},w.toImage=function(t){t||(t=\"png\"),this.staticMode&&this.container.appendChild(n),this.glplot.redraw();var e=this.glplot.gl,r=e.drawingBufferWidth,a=e.drawingBufferHeight;e.bindFramebuffer(e.FRAMEBUFFER,null);var i=new Uint8Array(r*a*4);e.readPixels(0,0,r,a,e.RGBA,e.UNSIGNED_BYTE,i),function(t,e,r){for(var n=0,a=r-1;n<a;++n,--a)for(var i=0;i<e;++i)for(var o=0;o<4;++o){var s=4*(e*n+i)+o,l=4*(e*a+i)+o,c=t[s];t[s]=t[l],t[l]=c}}(i,r,a),function(t,e,r){for(var n=0;n<r;++n)for(var a=0;a<e;++a){var i=4*(e*n+a),o=t[i+3];if(o>0)for(var s=255/o,l=0;l<3;++l)t[i+l]=Math.min(s*t[i+l],255)}}(i,r,a);var o=document.createElement(\"canvas\");o.width=r,o.height=a;var s,l=o.getContext(\"2d\"),c=l.createImageData(r,a);switch(c.data.set(i),l.putImageData(c,0,0),t){case\"jpeg\":s=o.toDataURL(\"image/jpeg\");break;case\"webp\":s=o.toDataURL(\"image/webp\");break;default:s=o.toDataURL(\"image/png\")}return this.staticMode&&this.container.removeChild(n),s},w.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[T[t]];f.setConvert(e,this.fullLayout),e.setScale=h.noop}},w.make4thDimension=function(){var t=this.graphDiv._fullLayout;this._mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},f.setConvert(this._mockAxis,t)},e.exports=_},{\"../../components/fx\":635,\"../../lib\":728,\"../../lib/show_no_webgl_msg\":749,\"../../lib/str2rgbarray\":751,\"../../plots/cartesian/axes\":776,\"../../registry\":859,\"./layout/convert\":822,\"./layout/spikes\":825,\"./layout/tick_marks\":826,\"./project\":827,\"gl-plot3d\":296,\"has-passive-events\":410,\"is-mobile\":420,\"webgl-context\":558}],829:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){n=n||t.length;for(var a=new Array(n),i=0;i<n;i++)a[i]=[t[i],e[i],r[i]];return a}},{}],830:[function(t,e,r){\"use strict\";var n=t(\"./font_attributes\"),a=t(\"./animation_attributes\"),i=t(\"../components/color/attributes\"),o=t(\"../components/shapes/draw_newshape/attributes\"),s=t(\"./pad_attributes\"),l=t(\"../lib/extend\").extendFlat,c=n({editType:\"calc\"});c.family.dflt='\"Open Sans\", verdana, arial, sans-serif',c.size.dflt=12,c.color.dflt=i.defaultLine,e.exports={font:c,title:{text:{valType:\"string\",editType:\"layoutstyle\"},font:n({editType:\"layoutstyle\"}),xref:{valType:\"enumerated\",dflt:\"container\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},yref:{valType:\"enumerated\",dflt:\"container\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},x:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"layoutstyle\"},y:{valType:\"number\",min:0,max:1,dflt:\"auto\",editType:\"layoutstyle\"},xanchor:{valType:\"enumerated\",dflt:\"auto\",values:[\"auto\",\"left\",\"center\",\"right\"],editType:\"layoutstyle\"},yanchor:{valType:\"enumerated\",dflt:\"auto\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],editType:\"layoutstyle\"},pad:l(s({editType:\"layoutstyle\"}),{}),editType:\"layoutstyle\"},uniformtext:{mode:{valType:\"enumerated\",values:[!1,\"hide\",\"show\"],dflt:!1,editType:\"plot\"},minsize:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"plot\"},autosize:{valType:\"boolean\",dflt:!1,editType:\"none\"},width:{valType:\"number\",min:10,dflt:700,editType:\"plot\"},height:{valType:\"number\",min:10,dflt:450,editType:\"plot\"},margin:{l:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},r:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},t:{valType:\"number\",min:0,dflt:100,editType:\"plot\"},b:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},pad:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},autoexpand:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},paper_bgcolor:{valType:\"color\",dflt:i.background,editType:\"plot\"},plot_bgcolor:{valType:\"color\",dflt:i.background,editType:\"layoutstyle\"},separators:{valType:\"string\",editType:\"plot\"},hidesources:{valType:\"boolean\",dflt:!1,editType:\"plot\"},showlegend:{valType:\"boolean\",editType:\"legend\"},colorway:{valType:\"colorlist\",dflt:i.defaults,editType:\"calc\"},datarevision:{valType:\"any\",editType:\"calc\"},uirevision:{valType:\"any\",editType:\"none\"},editrevision:{valType:\"any\",editType:\"none\"},selectionrevision:{valType:\"any\",editType:\"none\"},template:{valType:\"any\",editType:\"calc\"},modebar:{orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\",editType:\"modebar\"},bgcolor:{valType:\"color\",editType:\"modebar\"},color:{valType:\"color\",editType:\"modebar\"},activecolor:{valType:\"color\",editType:\"modebar\"},uirevision:{valType:\"any\",editType:\"none\"},editType:\"modebar\"},newshape:o.newshape,activeshape:o.activeshape,meta:{valType:\"any\",arrayOk:!0,editType:\"plot\"},transition:l({},a.transition,{editType:\"none\"}),_deprecated:{title:{valType:\"string\",editType:\"layoutstyle\"},titlefont:n({editType:\"layoutstyle\"})}}},{\"../components/color/attributes\":594,\"../components/shapes/draw_newshape/attributes\":677,\"../lib/extend\":719,\"./animation_attributes\":771,\"./font_attributes\":804,\"./pad_attributes\":838}],831:[function(t,e,r){\"use strict\";var n={\"open-street-map\":{id:\"osm\",version:8,sources:{\"plotly-osm-tiles\":{type:\"raster\",attribution:'<a href=\"http://www.openstreetmap.org/about/\" target=\"_blank\">\\xa9 OpenStreetMap</a>',tiles:[\"https://a.tile.openstreetmap.org/{z}/{x}/{y}.png\",\"https://b.tile.openstreetmap.org/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-osm-tiles\",type:\"raster\",source:\"plotly-osm-tiles\",minzoom:0,maxzoom:22}]},\"white-bg\":{id:\"white-bg\",version:8,sources:{},layers:[{id:\"white-bg\",type:\"background\",paint:{\"background-color\":\"#FFFFFF\"},minzoom:0,maxzoom:22}]},\"carto-positron\":{id:\"carto-positron\",version:8,sources:{\"plotly-carto-positron\":{type:\"raster\",attribution:'<a href=\"https://carto.com/\" target=\"_blank\">\\xa9 CARTO</a>',tiles:[\"https://cartodb-basemaps-c.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-carto-positron\",type:\"raster\",source:\"plotly-carto-positron\",minzoom:0,maxzoom:22}]},\"carto-darkmatter\":{id:\"carto-darkmatter\",version:8,sources:{\"plotly-carto-darkmatter\":{type:\"raster\",attribution:'<a href=\"https://carto.com/\" target=\"_blank\">\\xa9 CARTO</a>',tiles:[\"https://cartodb-basemaps-c.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-carto-darkmatter\",type:\"raster\",source:\"plotly-carto-darkmatter\",minzoom:0,maxzoom:22}]},\"stamen-terrain\":{id:\"stamen-terrain\",version:8,sources:{\"plotly-stamen-terrain\":{type:\"raster\",attribution:'Map tiles by <a href=\"http://stamen.com\">Stamen Design</a>, under <a href=\"http://creativecommons.org/licenses/by/3.0\">CC BY 3.0</a> | Data by <a href=\"http://openstreetmap.org\">OpenStreetMap</a>, under <a href=\"http://www.openstreetmap.org/copyright\">ODbL</a>.',tiles:[\"https://stamen-tiles.a.ssl.fastly.net/terrain/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-stamen-terrain\",type:\"raster\",source:\"plotly-stamen-terrain\",minzoom:0,maxzoom:22}]},\"stamen-toner\":{id:\"stamen-toner\",version:8,sources:{\"plotly-stamen-toner\":{type:\"raster\",attribution:'Map tiles by <a href=\"http://stamen.com\">Stamen Design</a>, under <a href=\"http://creativecommons.org/licenses/by/3.0\">CC BY 3.0</a> | Data by <a href=\"http://openstreetmap.org\">OpenStreetMap</a>, under <a href=\"http://www.openstreetmap.org/copyright\">ODbL</a>.',tiles:[\"https://stamen-tiles.a.ssl.fastly.net/toner/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-stamen-toner\",type:\"raster\",source:\"plotly-stamen-toner\",minzoom:0,maxzoom:22}]},\"stamen-watercolor\":{id:\"stamen-watercolor\",version:8,sources:{\"plotly-stamen-watercolor\":{type:\"raster\",attribution:'Map tiles by <a href=\"http://stamen.com\">Stamen Design</a>, under <a href=\"http://creativecommons.org/licenses/by/3.0\">CC BY 3.0</a> | Data by <a href=\"http://openstreetmap.org\">OpenStreetMap</a>, under <a href=\"http://creativecommons.org/licenses/by-sa/3.0\">CC BY SA</a>.',tiles:[\"https://stamen-tiles.a.ssl.fastly.net/watercolor/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-stamen-watercolor\",type:\"raster\",source:\"plotly-stamen-watercolor\",minzoom:0,maxzoom:22}]}},a=Object.keys(n);e.exports={requiredVersion:\"1.10.1\",styleUrlPrefix:\"mapbox://styles/mapbox/\",styleUrlSuffix:\"v9\",styleValuesMapbox:[\"basic\",\"streets\",\"outdoors\",\"light\",\"dark\",\"satellite\",\"satellite-streets\"],styleValueDflt:\"basic\",stylesNonMapbox:n,styleValuesNonMapbox:a,traceLayerPrefix:\"plotly-trace-layer-\",layoutLayerPrefix:\"plotly-layout-layer-\",wrongVersionErrorMsg:[\"Your custom plotly.js bundle is not using the correct mapbox-gl version\",\"Please install mapbox-gl@1.10.1.\"].join(\"\\n\"),noAccessTokenErrorMsg:[\"Missing Mapbox access token.\",\"Mapbox trace type require a Mapbox access token to be registered.\",\"For example:\",\"  Plotly.plot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });\",\"More info here: https://www.mapbox.com/help/define-access-token/\"].join(\"\\n\"),missingStyleErrorMsg:[\"No valid mapbox style found, please set `mapbox.style` to one of:\",a.join(\", \"),\"or register a Mapbox access token to use a Mapbox-served style.\"].join(\"\\n\"),multipleTokensErrorMsg:[\"Set multiple mapbox access token across different mapbox subplot,\",\"using first token found as mapbox-gl does not allow multipleaccess tokens on the same page.\"].join(\"\\n\"),mapOnErrorMsg:\"Mapbox error.\",mapboxLogo:{path0:\"m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z\",path1:\"M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z\",path2:\"M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z\",polygon:\"11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34\"},styleRules:{map:\"overflow:hidden;position:relative;\",\"missing-css\":\"display:none;\",canary:\"background-color:salmon;\",\"ctrl-bottom-left\":\"position: absolute; pointer-events: none; z-index: 2; bottom: 0; left: 0;\",\"ctrl-bottom-right\":\"position: absolute; pointer-events: none; z-index: 2; right: 0; bottom: 0;\",ctrl:\"clear: both; pointer-events: auto; transform: translate(0, 0);\",\"ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner\":\"display: none;\",\"ctrl-attrib.mapboxgl-compact:hover .mapboxgl-ctrl-attrib-inner\":\"display: block; margin-top:2px\",\"ctrl-attrib.mapboxgl-compact:hover\":\"padding: 2px 24px 2px 4px; visibility: visible; margin-top: 6px;\",\"ctrl-attrib.mapboxgl-compact::after\":'content: \"\"; cursor: pointer; position: absolute; background-image: url(\\'data:image/svg+xml;charset=utf-8,%3Csvg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"%3E %3Cpath fill=\"%23333333\" fill-rule=\"evenodd\" d=\"M4,10a6,6 0 1,0 12,0a6,6 0 1,0 -12,0 M9,7a1,1 0 1,0 2,0a1,1 0 1,0 -2,0 M9,10a1,1 0 1,1 2,0l0,3a1,1 0 1,1 -2,0\"/%3E %3C/svg%3E\\'); background-color: rgba(255, 255, 255, 0.5); width: 24px; height: 24px; box-sizing: border-box; border-radius: 12px;',\"ctrl-attrib.mapboxgl-compact\":\"min-height: 20px; padding: 0; margin: 10px; position: relative; background-color: #fff; border-radius: 3px 12px 12px 3px;\",\"ctrl-bottom-right > .mapboxgl-ctrl-attrib.mapboxgl-compact::after\":\"bottom: 0; right: 0\",\"ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact::after\":\"bottom: 0; left: 0\",\"ctrl-bottom-left .mapboxgl-ctrl\":\"margin: 0 0 10px 10px; float: left;\",\"ctrl-bottom-right .mapboxgl-ctrl\":\"margin: 0 10px 10px 0; float: right;\",\"ctrl-attrib\":\"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px\",\"ctrl-attrib a\":\"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px\",\"ctrl-attrib a:hover\":\"color: inherit; text-decoration: underline;\",\"ctrl-attrib .mapbox-improve-map\":\"font-weight: bold; margin-left: 2px;\",\"attrib-empty\":\"display: none;\",\"ctrl-logo\":'display:block; width: 21px; height: 21px; background-image: url(\\'data:image/svg+xml;charset=utf-8,%3C?xml version=\"1.0\" encoding=\"utf-8\"?%3E %3Csvg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 21 21\" style=\"enable-background:new 0 0 21 21;\" xml:space=\"preserve\"%3E%3Cg transform=\"translate(0,0.01)\"%3E%3Cpath d=\"m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z\" style=\"opacity:0.9;fill:%23ffffff;enable-background:new\" class=\"st0\"/%3E%3Cpath d=\"M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z\" style=\"opacity:0.35;enable-background:new\" class=\"st1\"/%3E%3Cpath d=\"M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z\" style=\"opacity:0.35;enable-background:new\" class=\"st1\"/%3E%3Cpolygon points=\"11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34 \" style=\"opacity:0.9;fill:%23ffffff;enable-background:new\" class=\"st0\"/%3E%3C/g%3E%3C/svg%3E\\')'}}},{}],832:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e){var r=t.split(\" \"),a=r[0],i=r[1],o=n.isArrayOrTypedArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,c=[\"\",\"\"],u=[0,0];switch(a){case\"top\":c[0]=\"top\",u[1]=-l;break;case\"bottom\":c[0]=\"bottom\",u[1]=l}switch(i){case\"left\":c[1]=\"right\",u[0]=-s;break;case\"right\":c[1]=\"left\",u[0]=s}return{anchor:c[0]&&c[1]?c.join(\"-\"):c[0]?c[0]:c[1]?c[1]:\"center\",offset:u}}},{\"../../lib\":728}],833:[function(t,e,r){\"use strict\";var n=t(\"mapbox-gl\"),a=t(\"../../lib\"),i=t(\"../../plots/get_data\").getSubplotCalcData,o=t(\"../../constants/xmlns_namespaces\"),s=t(\"d3\"),l=t(\"../../components/drawing\"),c=t(\"../../lib/svg_text_utils\"),u=t(\"./mapbox\"),h=r.constants=t(\"./constants\");function f(t){return\"string\"==typeof t&&(-1!==h.styleValuesMapbox.indexOf(t)||0===t.indexOf(\"mapbox://\"))}r.name=\"mapbox\",r.attr=\"subplot\",r.idRoot=\"mapbox\",r.idRegex=r.attrRegex=a.counterRegex(\"mapbox\"),r.attributes={subplot:{valType:\"subplotid\",dflt:\"mapbox\",editType:\"calc\"}},r.layoutAttributes=t(\"./layout_attributes\"),r.supplyLayoutDefaults=t(\"./layout_defaults\"),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,o=e._subplots.mapbox;if(n.version!==h.requiredVersion)throw new Error(h.wrongVersionErrorMsg);var s=function(t,e){var r=t._fullLayout;if(\"\"===t._context.mapboxAccessToken)return\"\";for(var n=[],i=[],o=!1,s=!1,l=0;l<e.length;l++){var c=r[e[l]],u=c.accesstoken;f(c.style)&&(u?a.pushUnique(n,u):(f(c._input.style)&&(a.error(\"Uses Mapbox map style, but did not set an access token.\"),o=!0),s=!0)),u&&a.pushUnique(i,u)}if(s){var p=o?h.noAccessTokenErrorMsg:h.missingStyleErrorMsg;throw a.error(p),new Error(p)}return n.length?(n.length>1&&a.warn(h.multipleTokensErrorMsg),n[0]):(i.length&&a.log([\"Listed mapbox access token(s)\",i.join(\",\"),\"but did not use a Mapbox map style, ignoring token(s).\"].join(\" \")),\"\")}(t,o);n.accessToken=s;for(var l=0;l<o.length;l++){var c=o[l],p=i(r,\"mapbox\",c),d=e[c],g=d._subplot;g||(g=new u(t,c),e[c]._subplot=g),g.viewInitial||(g.viewInitial={center:a.extendFlat({},d.center),zoom:d.zoom,bearing:d.bearing,pitch:d.pitch}),g.plot(p,e,t._promises)}},r.clean=function(t,e,r,n){for(var a=n._subplots.mapbox||[],i=0;i<a.length;i++){var o=a[i];!e[o]&&n[o]._subplot&&n[o]._subplot.destroy()}},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=e._size,a=0;a<r.length;a++){var i=e[r[a]],u=i.domain,f=i._subplot.toImage(\"png\");e._glimages.append(\"svg:image\").attr({xmlns:o.svg,\"xlink:href\":f,x:n.l+n.w*u.x[0],y:n.t+n.h*(1-u.y[1]),width:n.w*(u.x[1]-u.x[0]),height:n.h*(u.y[1]-u.y[0]),preserveAspectRatio:\"none\"});var p=s.select(i._subplot.div);if(!(null===p.select(\".mapboxgl-ctrl-logo\").node().offsetParent)){var d=e._glimages.append(\"g\");d.attr(\"transform\",\"translate(\"+(n.l+n.w*u.x[0]+10)+\", \"+(n.t+n.h*(1-u.y[0])-31)+\")\"),d.append(\"path\").attr(\"d\",h.mapboxLogo.path0).style({opacity:.9,fill:\"#ffffff\",\"enable-background\":\"new\"}),d.append(\"path\").attr(\"d\",h.mapboxLogo.path1).style(\"opacity\",.35).style(\"enable-background\",\"new\"),d.append(\"path\").attr(\"d\",h.mapboxLogo.path2).style(\"opacity\",.35).style(\"enable-background\",\"new\"),d.append(\"polygon\").attr(\"points\",h.mapboxLogo.polygon).style({opacity:.9,fill:\"#ffffff\",\"enable-background\":\"new\"})}var g=p.select(\".mapboxgl-ctrl-attrib\").text().replace(\"Improve this map\",\"\"),m=e._glimages.append(\"g\"),v=m.append(\"text\");v.text(g).classed(\"static-attribution\",!0).attr({\"font-size\":12,\"font-family\":\"Arial\",color:\"rgba(0, 0, 0, 0.75)\",\"text-anchor\":\"end\",\"data-unformatted\":g});var y=l.bBox(v.node()),x=n.w*(u.x[1]-u.x[0]);if(y.width>x/2){var b=g.split(\"|\").join(\"<br>\");v.text(b).attr(\"data-unformatted\",b).call(c.convertToTspans,t),y=l.bBox(v.node())}v.attr(\"transform\",\"translate(-3, \"+(8-y.height)+\")\"),m.insert(\"rect\",\".static-attribution\").attr({x:-y.width-6,y:-y.height-3,width:y.width+6,height:y.height+3,fill:\"rgba(255, 255, 255, 0.75)\"});var _=1;y.width+6>x&&(_=x/(y.width+6));var w=[n.l+n.w*u.x[1],n.t+n.h*(1-u.y[0])];m.attr(\"transform\",\"translate(\"+w[0]+\",\"+w[1]+\") scale(\"+_+\")\")}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=0;n<r.length;n++){e[r[n]]._subplot.updateFx(e)}}},{\"../../components/drawing\":617,\"../../constants/xmlns_namespaces\":705,\"../../lib\":728,\"../../lib/svg_text_utils\":752,\"../../plots/get_data\":813,\"./constants\":831,\"./layout_attributes\":835,\"./layout_defaults\":836,\"./mapbox\":837,d3:164,\"mapbox-gl\":426}],834:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../lib/svg_text_utils\").sanitizeHTML,i=t(\"./convert_text_opts\"),o=t(\"./constants\");function s(t,e){this.subplot=t,this.uid=t.uid+\"-\"+e,this.index=e,this.idSource=\"source-\"+this.uid,this.idLayer=o.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var l=s.prototype;function c(t){if(!t.visible)return!1;var e=t.source;if(Array.isArray(e)&&e.length>0){for(var r=0;r<e.length;r++)if(\"string\"!=typeof e[r]||0===e[r].length)return!1;return!0}return n.isPlainObject(e)||\"string\"==typeof e&&e.length>0}function u(t){var e={},r={};switch(t.type){case\"circle\":n.extendFlat(r,{\"circle-radius\":t.circle.radius,\"circle-color\":t.color,\"circle-opacity\":t.opacity});break;case\"line\":n.extendFlat(r,{\"line-width\":t.line.width,\"line-color\":t.color,\"line-opacity\":t.opacity,\"line-dasharray\":t.line.dash});break;case\"fill\":n.extendFlat(r,{\"fill-color\":t.color,\"fill-outline-color\":t.fill.outlinecolor,\"fill-opacity\":t.opacity});break;case\"symbol\":var a=t.symbol,o=i(a.textposition,a.iconsize);n.extendFlat(e,{\"icon-image\":a.icon+\"-15\",\"icon-size\":a.iconsize/10,\"text-field\":a.text,\"text-size\":a.textfont.size,\"text-anchor\":o.anchor,\"text-offset\":o.offset,\"symbol-placement\":a.placement}),n.extendFlat(r,{\"icon-color\":t.color,\"text-color\":a.textfont.color,\"text-opacity\":t.opacity});break;case\"raster\":n.extendFlat(r,{\"raster-fade-duration\":0,\"raster-opacity\":t.opacity})}return{layout:e,paint:r}}l.update=function(t){this.visible?this.needsNewImage(t)?this.updateImage(t):this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=c(t)},l.needsNewImage=function(t){return this.subplot.map.getSource(this.idSource)&&\"image\"===this.sourceType&&\"image\"===t.sourcetype&&(this.source!==t.source||JSON.stringify(this.coordinates)!==JSON.stringify(t.coordinates))},l.needsNewSource=function(t){return this.sourceType!==t.sourcetype||this.source!==t.source||this.layerType!==t.type},l.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==this.subplot.belowLookup[\"layout-\"+this.index]},l.updateImage=function(t){this.subplot.map.getSource(this.idSource).updateImage({url:t.source,coordinates:t.coordinates})},l.updateSource=function(t){var e=this.subplot.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,c(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,i={type:r};\"geojson\"===r?e=\"data\":\"vector\"===r?e=\"string\"==typeof n?\"url\":\"tiles\":\"raster\"===r?(e=\"tiles\",i.tileSize=256):\"image\"===r&&(e=\"url\",i.coordinates=t.coordinates);i[e]=n,t.sourceattribution&&(i.attribution=a(t.sourceattribution));return i}(t);e.addSource(this.idSource,r)}},l.updateLayer=function(t){var e,r=this.subplot,n=u(t),a=this.subplot.belowLookup[\"layout-\"+this.index];if(\"traces\"===a)for(var i=r.getMapLayers(),s=0;s<i.length;s++){var l=i[s].id;if(\"string\"==typeof l&&0===l.indexOf(o.traceLayerPrefix)){e=l;break}}else e=a;this.removeLayer(),c(t)&&r.addLayer({id:this.idLayer,source:this.idSource,\"source-layer\":t.sourcelayer||\"\",type:t.type,minzoom:t.minzoom,maxzoom:t.maxzoom,layout:n.layout,paint:n.paint},e),this.layerType=t.type,this.below=a},l.updateStyle=function(t){if(c(t)){var e=u(t);this.subplot.setOptions(this.idLayer,\"setLayoutProperty\",e.layout),this.subplot.setOptions(this.idLayer,\"setPaintProperty\",e.paint)}},l.removeLayer=function(){var t=this.subplot.map;t.getLayer(this.idLayer)&&t.removeLayer(this.idLayer)},l.dispose=function(){var t=this.subplot.map;t.getLayer(this.idLayer)&&t.removeLayer(this.idLayer),t.getSource(this.idSource)&&t.removeSource(this.idSource)},e.exports=function(t,e,r){var n=new s(t,e);return n.update(r),n}},{\"../../lib\":728,\"../../lib/svg_text_utils\":752,\"./constants\":831,\"./convert_text_opts\":832}],835:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../components/color\").defaultLine,i=t(\"../domain\").attributes,o=t(\"../font_attributes\"),s=t(\"../../traces/scatter/attributes\").textposition,l=t(\"../../plot_api/edit_types\").overrideAll,c=t(\"../../plot_api/plot_template\").templatedArray,u=t(\"./constants\"),h=o({});h.family.dflt=\"Open Sans Regular, Arial Unicode MS Regular\",(e.exports=l({_arrayAttrRegexps:[n.counterRegex(\"mapbox\",\".layers\",!0)],domain:i({name:\"mapbox\"}),accesstoken:{valType:\"string\",noBlank:!0,strict:!0},style:{valType:\"any\",values:u.styleValuesMapbox.concat(u.styleValuesNonMapbox),dflt:u.styleValueDflt},center:{lon:{valType:\"number\",dflt:0},lat:{valType:\"number\",dflt:0}},zoom:{valType:\"number\",dflt:1},bearing:{valType:\"number\",dflt:0},pitch:{valType:\"number\",dflt:0},layers:c(\"layer\",{visible:{valType:\"boolean\",dflt:!0},sourcetype:{valType:\"enumerated\",values:[\"geojson\",\"vector\",\"raster\",\"image\"],dflt:\"geojson\"},source:{valType:\"any\"},sourcelayer:{valType:\"string\",dflt:\"\"},sourceattribution:{valType:\"string\"},type:{valType:\"enumerated\",values:[\"circle\",\"line\",\"fill\",\"symbol\",\"raster\"],dflt:\"circle\"},coordinates:{valType:\"any\"},below:{valType:\"string\"},color:{valType:\"color\",dflt:a},opacity:{valType:\"number\",min:0,max:1,dflt:1},minzoom:{valType:\"number\",min:0,max:24,dflt:0},maxzoom:{valType:\"number\",min:0,max:24,dflt:24},circle:{radius:{valType:\"number\",dflt:15}},line:{width:{valType:\"number\",dflt:2},dash:{valType:\"data_array\"}},fill:{outlinecolor:{valType:\"color\",dflt:a}},symbol:{icon:{valType:\"string\",dflt:\"marker\"},iconsize:{valType:\"number\",dflt:10},text:{valType:\"string\",dflt:\"\"},placement:{valType:\"enumerated\",values:[\"point\",\"line\",\"line-center\"],dflt:\"point\"},textfont:h,textposition:n.extendFlat({},s,{arrayOk:!1})}})},\"plot\",\"from-root\")).uirevision={valType:\"any\",editType:\"none\"}},{\"../../components/color\":595,\"../../lib\":728,\"../../plot_api/edit_types\":759,\"../../plot_api/plot_template\":766,\"../../traces/scatter/attributes\":1134,\"../domain\":803,\"../font_attributes\":804,\"./constants\":831}],836:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../subplot_defaults\"),i=t(\"../array_container_defaults\"),o=t(\"./layout_attributes\");function s(t,e,r,n){r(\"accesstoken\",n.accessToken),r(\"style\"),r(\"center.lon\"),r(\"center.lat\"),r(\"zoom\"),r(\"bearing\"),r(\"pitch\"),i(t,e,{name:\"layers\",handleItemDefaults:l}),e._input=t}function l(t,e){function r(r,a){return n.coerce(t,e,o.layers,r,a)}if(r(\"visible\")){var a,i=r(\"sourcetype\"),s=\"raster\"===i||\"image\"===i;r(\"source\"),r(\"sourceattribution\"),\"vector\"===i&&r(\"sourcelayer\"),\"image\"===i&&r(\"coordinates\"),s&&(a=\"raster\");var l=r(\"type\",a);s&&\"raster\"!==l&&(l=e.type=\"raster\",n.log(\"Source types *raster* and *image* must drawn *raster* layer type.\")),r(\"below\"),r(\"color\"),r(\"opacity\"),r(\"minzoom\"),r(\"maxzoom\"),\"circle\"===l&&r(\"circle.radius\"),\"line\"===l&&(r(\"line.width\"),r(\"line.dash\")),\"fill\"===l&&r(\"fill.outlinecolor\"),\"symbol\"===l&&(r(\"symbol.icon\"),r(\"symbol.iconsize\"),r(\"symbol.text\"),n.coerceFont(r,\"symbol.textfont\"),r(\"symbol.textposition\"),r(\"symbol.placement\"))}}e.exports=function(t,e,r){a(t,e,r,{type:\"mapbox\",attributes:o,handleDefaults:s,partition:\"y\",accessToken:e._mapboxAccessToken})}},{\"../../lib\":728,\"../array_container_defaults\":772,\"../subplot_defaults\":853,\"./layout_attributes\":835}],837:[function(t,e,r){\"use strict\";var n=t(\"mapbox-gl\"),a=t(\"../../lib\"),i=t(\"../../lib/geo_location_utils\"),o=t(\"../../registry\"),s=t(\"../cartesian/axes\"),l=t(\"../../components/dragelement\"),c=t(\"../../components/fx\"),u=t(\"../../components/dragelement/helpers\"),h=u.rectMode,f=u.drawMode,p=u.selectMode,d=t(\"../cartesian/select\").prepSelect,g=t(\"../cartesian/select\").clearSelect,m=t(\"../cartesian/select\").clearSelectionsCache,v=t(\"../cartesian/select\").selectOnClick,y=t(\"./constants\"),x=t(\"./layers\");function b(t,e){this.id=e,this.gd=t;var r=t._fullLayout,n=t._context;this.container=r._glcontainer.node(),this.isStatic=n.staticPlot,this.uid=r._uid+\"-\"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(r),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={},this.dragging=!1,this.wheeling=!1}var _=b.prototype;_.plot=function(t,e,r){var n,a=this,i=e[a.id];a.map&&i.accesstoken!==a.accessToken&&(a.map.remove(),a.map=null,a.styleObj=null,a.traceHash={},a.layerList=[]),n=a.map?new Promise((function(r,n){a.updateMap(t,e,r,n)})):new Promise((function(r,n){a.createMap(t,e,r,n)})),r.push(n)},_.createMap=function(t,e,r,a){var o=this,s=e[o.id],l=o.styleObj=T(s.style);o.accessToken=s.accesstoken;var c=o.map=new n.Map({container:o.div,style:l.style,center:A(s.center),zoom:s.zoom,bearing:s.bearing,pitch:s.pitch,interactive:!o.isStatic,preserveDrawingBuffer:o.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1}).addControl(new n.AttributionControl({compact:!0}));c._canvas.style.left=\"0px\",c._canvas.style.top=\"0px\",o.rejectOnError(a),o.isStatic||o.initFx(t,e);var u=[];u.push(new Promise((function(t){c.once(\"load\",t)}))),u=u.concat(i.fetchTraceGeoData(t)),Promise.all(u).then((function(){o.fillBelowLookup(t,e),o.updateData(t),o.updateLayout(e),o.resolveOnRender(r)})).catch(a)},_.updateMap=function(t,e,r,n){var a=this,o=a.map,s=e[this.id];a.rejectOnError(n);var l=[],c=T(s.style);JSON.stringify(a.styleObj)!==JSON.stringify(c)&&(a.styleObj=c,o.setStyle(c.style),a.traceHash={},l.push(new Promise((function(t){o.once(\"styledata\",t)})))),l=l.concat(i.fetchTraceGeoData(t)),Promise.all(l).then((function(){a.fillBelowLookup(t,e),a.updateData(t),a.updateLayout(e),a.resolveOnRender(r)})).catch(n)},_.fillBelowLookup=function(t,e){var r,n,a=e[this.id].layers,i=this.belowLookup={},o=!1;for(r=0;r<t.length;r++){var s=t[r][0].trace,l=s._module;\"string\"==typeof s.below?n=s.below:l.getBelow&&(n=l.getBelow(s,this)),\"\"===n&&(o=!0),i[\"trace-\"+s.uid]=n||\"\"}for(r=0;r<a.length;r++){var c=a[r];n=\"string\"==typeof c.below?c.below:o?\"traces\":\"\",i[\"layout-\"+r]=n}var u,h,f={};for(u in i)f[n=i[u]]?f[n].push(u):f[n]=[u];for(n in f){var p=f[n];if(p.length>1)for(r=0;r<p.length;r++)0===(u=p[r]).indexOf(\"trace-\")?(h=u.split(\"trace-\")[1],this.traceHash[h]&&(this.traceHash[h].below=null)):0===u.indexOf(\"layout-\")&&(h=u.split(\"layout-\")[1],this.layerList[h]&&(this.layerList[h].below=null))}};var w={choroplethmapbox:0,densitymapbox:1,scattermapbox:2};function T(t){var e={};return a.isPlainObject(t)?(e.id=t.id,e.style=t):\"string\"==typeof t?(e.id=t,-1!==y.styleValuesMapbox.indexOf(t)?e.style=k(t):y.stylesNonMapbox[t]?e.style=y.stylesNonMapbox[t]:e.style=t):(e.id=y.styleValueDflt,e.style=k(y.styleValueDflt)),e.transition={duration:0,delay:0},e}function k(t){return y.styleUrlPrefix+t+\"-\"+y.styleUrlSuffix}function A(t){return[t.lon,t.lat]}_.updateData=function(t){var e,r,n,a,i=this.traceHash,o=t.slice().sort((function(t,e){return w[t[0].trace.type]-w[e[0].trace.type]}));for(n=0;n<o.length;n++){var s=o[n],l=!1;(e=i[(r=s[0].trace).uid])&&(e.type===r.type?(e.update(s),l=!0):e.dispose()),!l&&r._module&&(i[r.uid]=r._module.plot(this,s))}var c=Object.keys(i);t:for(n=0;n<c.length;n++){var u=c[n];for(a=0;a<t.length;a++)if(u===(r=t[a][0].trace).uid)continue t;(e=i[u]).dispose(),delete i[u]}},_.updateLayout=function(t){var e=this.map,r=t[this.id];this.dragging||this.wheeling||(e.setCenter(A(r.center)),e.setZoom(r.zoom),e.setBearing(r.bearing),e.setPitch(r.pitch)),this.updateLayers(t),this.updateFramework(t),this.updateFx(t),this.map.resize(),this.gd._context._scrollZoom.mapbox?e.scrollZoom.enable():e.scrollZoom.disable()},_.resolveOnRender=function(t){var e=this.map;e.on(\"render\",(function r(){e.loaded()&&(e.off(\"render\",r),setTimeout(t,10))}))},_.rejectOnError=function(t){var e=this.map;function r(){t(new Error(y.mapOnErrorMsg))}e.once(\"error\",r),e.once(\"style.error\",r),e.once(\"source.error\",r),e.once(\"tile.error\",r),e.once(\"layer.error\",r)},_.createFramework=function(t){var e=this,r=e.div=document.createElement(\"div\");r.id=e.uid,r.style.position=\"absolute\",e.container.appendChild(r),e.xaxis={_id:\"x\",c2p:function(t){return e.project(t).x}},e.yaxis={_id:\"y\",c2p:function(t){return e.project(t).y}},e.updateFramework(t),e.mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},s.setConvert(e.mockAxis,t)},_.initFx=function(t,e){var r=this,n=r.gd,a=r.map;function i(){c.loneUnhover(e._hoverlayer)}function s(){var t=r.getView();n.emit(\"plotly_relayouting\",r.getViewEditsWithDerived(t))}a.on(\"moveend\",(function(t){if(r.map){var e=n._fullLayout;if(t.originalEvent||r.wheeling){var a=e[r.id];o.call(\"_storeDirectGUIEdit\",n.layout,e._preGUI,r.getViewEdits(a));var i=r.getView();a._input.center=a.center=i.center,a._input.zoom=a.zoom=i.zoom,a._input.bearing=a.bearing=i.bearing,a._input.pitch=a.pitch=i.pitch,n.emit(\"plotly_relayout\",r.getViewEditsWithDerived(i))}t.originalEvent&&\"mouseup\"===t.originalEvent.type?r.dragging=!1:r.wheeling&&(r.wheeling=!1),e._rehover&&e._rehover()}})),a.on(\"wheel\",(function(){r.wheeling=!0})),a.on(\"mousemove\",(function(t){var e=r.div.getBoundingClientRect();t.clientX=t.point.x+e.left,t.clientY=t.point.y+e.top,t.target.getBoundingClientRect=function(){return e},r.xaxis.p2c=function(){return t.lngLat.lng},r.yaxis.p2c=function(){return t.lngLat.lat},n._fullLayout._rehover=function(){n._fullLayout._hoversubplot===r.id&&n._fullLayout[r.id]&&c.hover(n,t,r.id)},c.hover(n,t,r.id),n._fullLayout._hoversubplot=r.id})),a.on(\"dragstart\",(function(){r.dragging=!0,i()})),a.on(\"zoomstart\",i),a.on(\"mouseout\",(function(){n._fullLayout._hoversubplot=null})),a.on(\"drag\",s),a.on(\"zoom\",s),a.on(\"dblclick\",(function(){var t=n._fullLayout[r.id];o.call(\"_storeDirectGUIEdit\",n.layout,n._fullLayout._preGUI,r.getViewEdits(t));var e=r.viewInitial;a.setCenter(A(e.center)),a.setZoom(e.zoom),a.setBearing(e.bearing),a.setPitch(e.pitch);var i=r.getView();t._input.center=t.center=i.center,t._input.zoom=t.zoom=i.zoom,t._input.bearing=t.bearing=i.bearing,t._input.pitch=t.pitch=i.pitch,n.emit(\"plotly_doubleclick\",null),n.emit(\"plotly_relayout\",r.getViewEditsWithDerived(i))})),r.clearSelect=function(){m(r.dragOptions),g(r.dragOptions.gd)},r.onClickInPanFn=function(t){return function(e){var a=n._fullLayout.clickmode;a.indexOf(\"select\")>-1&&v(e.originalEvent,n,[r.xaxis],[r.yaxis],r.id,t),a.indexOf(\"event\")>-1&&c.click(n,e.originalEvent)}}},_.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var i,o=t.dragmode;i=h(o)?function(t,r){(t.range={})[e.id]=[c([r.xmin,r.ymin]),c([r.xmax,r.ymax])]}:function(t,r,n){(t.lassoPoints={})[e.id]=n.filtered.map(c)};var s=e.dragOptions;e.dragOptions=a.extendDeep(s||{},{dragmode:t.dragmode,element:e.div,gd:n,plotinfo:{id:e.id,domain:t[e.id].domain,xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:i},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id}),r.off(\"click\",e.onClickInPanHandler),p(o)||f(o)?(r.dragPan.disable(),r.on(\"zoomstart\",e.clearSelect),e.dragOptions.prepFn=function(t,r,n){d(t,r,n,e.dragOptions,o)},l.init(e.dragOptions)):(r.dragPan.enable(),r.off(\"zoomstart\",e.clearSelect),e.div.onmousedown=null,e.onClickInPanHandler=e.onClickInPanFn(e.dragOptions),r.on(\"click\",e.onClickInPanHandler))}function c(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},_.updateFramework=function(t){var e=t[this.id].domain,r=t._size,n=this.div.style;n.width=r.w*(e.x[1]-e.x[0])+\"px\",n.height=r.h*(e.y[1]-e.y[0])+\"px\",n.left=r.l+e.x[0]*r.w+\"px\",n.top=r.t+(1-e.y[1])*r.h+\"px\",this.xaxis._offset=r.l+e.x[0]*r.w,this.xaxis._length=r.w*(e.x[1]-e.x[0]),this.yaxis._offset=r.t+(1-e.y[1])*r.h,this.yaxis._length=r.h*(e.y[1]-e.y[0])},_.updateLayers=function(t){var e,r=t[this.id].layers,n=this.layerList;if(r.length!==n.length){for(e=0;e<n.length;e++)n[e].dispose();for(n=this.layerList=[],e=0;e<r.length;e++)n.push(x(this,e,r[e]))}else for(e=0;e<r.length;e++)n[e].update(r[e])},_.destroy=function(){this.map&&(this.map.remove(),this.map=null,this.container.removeChild(this.div))},_.toImage=function(){return this.map.stop(),this.map.getCanvas().toDataURL()},_.setOptions=function(t,e,r){for(var n in r)this.map[e](t,n,r[n])},_.getMapLayers=function(){return this.map.getStyle().layers},_.addLayer=function(t,e){var r=this.map;if(\"string\"==typeof e){if(\"\"===e)return void r.addLayer(t,e);for(var n=this.getMapLayers(),i=0;i<n.length;i++)if(e===n[i].id)return void r.addLayer(t,e);a.warn([\"Trying to add layer with *below* value\",e,\"referencing a layer that does not exist\",\"or that does not yet exist.\"].join(\" \"))}r.addLayer(t)},_.project=function(t){return this.map.project(new n.LngLat(t[0],t[1]))},_.getView=function(){var t=this.map,e=t.getCenter(),r={lon:e.lng,lat:e.lat},n=t.getCanvas(),a=n.width,i=n.height;return{center:r,zoom:t.getZoom(),bearing:t.getBearing(),pitch:t.getPitch(),_derived:{coordinates:[t.unproject([0,0]).toArray(),t.unproject([a,0]).toArray(),t.unproject([a,i]).toArray(),t.unproject([0,i]).toArray()]}}},_.getViewEdits=function(t){for(var e=this.id,r=[\"center\",\"zoom\",\"bearing\",\"pitch\"],n={},a=0;a<r.length;a++){var i=r[a];n[e+\".\"+i]=t[i]}return n},_.getViewEditsWithDerived=function(t){var e=this.id,r=this.getViewEdits(t);return r[e+\"._derived\"]=t._derived,r},e.exports=b},{\"../../components/dragelement\":614,\"../../components/dragelement/helpers\":613,\"../../components/fx\":635,\"../../lib\":728,\"../../lib/geo_location_utils\":722,\"../../registry\":859,\"../cartesian/axes\":776,\"../cartesian/select\":795,\"./constants\":831,\"./layers\":834,\"mapbox-gl\":426}],838:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.editType;return{t:{valType:\"number\",dflt:0,editType:e},r:{valType:\"number\",dflt:0,editType:e},b:{valType:\"number\",dflt:0,editType:e},l:{valType:\"number\",dflt:0,editType:e},editType:e}}},{}],839:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"fast-isnumeric\"),i=t(\"../registry\"),o=t(\"../plot_api/plot_schema\"),s=t(\"../plot_api/plot_template\"),l=t(\"../lib\"),c=t(\"../components/color\"),u=t(\"../constants/numerical\").BADNUM,h=t(\"./cartesian/axis_ids\"),f=t(\"./cartesian/handle_outline\").clearSelect,p=t(\"./animation_attributes\"),d=t(\"./frame_attributes\"),g=t(\"../plots/get_data\").getModuleCalcData,m=l.relinkPrivateKeys,v=l._,y=e.exports={};l.extendFlat(y,i),y.attributes=t(\"./attributes\"),y.attributes.type.values=y.allTypes,y.fontAttrs=t(\"./font_attributes\"),y.layoutAttributes=t(\"./layout_attributes\"),y.fontWeight=\"normal\";var x=y.transformsRegistry,b=t(\"./command\");y.executeAPICommand=b.executeAPICommand,y.computeAPICommandBindings=b.computeAPICommandBindings,y.manageCommandObserver=b.manageCommandObserver,y.hasSimpleAPICommandBindings=b.hasSimpleAPICommandBindings,y.redrawText=function(t){var e=(t=l.getGraphDiv(t))._fullLayout||{};if(!(!(e._has&&e._has(\"polar\"))&&t.data&&t.data[0]&&t.data[0].r))return new Promise((function(e){setTimeout((function(){i.getComponentMethod(\"annotations\",\"draw\")(t),i.getComponentMethod(\"legend\",\"draw\")(t),i.getComponentMethod(\"colorbar\",\"draw\")(t),e(y.previousPromises(t))}),300)}))},y.resize=function(t){var e;t=l.getGraphDiv(t);var r=new Promise((function(r,n){t&&!l.isHidden(t)||n(new Error(\"Resize must be passed a displayed plot div element.\")),t._redrawTimer&&clearTimeout(t._redrawTimer),t._resolveResize&&(e=t._resolveResize),t._resolveResize=r,t._redrawTimer=setTimeout((function(){if(!t.layout||t.layout.width&&t.layout.height||l.isHidden(t))r(t);else{delete t.layout.width,delete t.layout.height;var e=t.changed;t.autoplay=!0,i.call(\"relayout\",t,{autosize:!0}).then((function(){t.changed=e,t._resolveResize===r&&(delete t._resolveResize,r(t))}))}}),100)}));return e&&e(r),r},y.previousPromises=function(t){if((t._promises||[]).length)return Promise.all(t._promises).then((function(){t._promises=[]}))},y.addLinks=function(t){if(t._context.showLink||t._context.showSources){var e=t._fullLayout,r=l.ensureSingle(e._paper,\"text\",\"js-plot-link-container\",(function(t){t.style({\"font-family\":'\"Open Sans\", Arial, sans-serif',\"font-size\":\"12px\",fill:c.defaultLine,\"pointer-events\":\"all\"}).each((function(){var t=n.select(this);t.append(\"tspan\").classed(\"js-link-to-tool\",!0),t.append(\"tspan\").classed(\"js-link-spacer\",!0),t.append(\"tspan\").classed(\"js-sourcelinks\",!0)}))})),a=r.node(),i={y:e._paper.attr(\"height\")-9};document.body.contains(a)&&a.getComputedTextLength()>=e.width-20?(i[\"text-anchor\"]=\"start\",i.x=5):(i[\"text-anchor\"]=\"end\",i.x=e._paper.attr(\"width\")-7),r.attr(i);var o=r.select(\".js-link-to-tool\"),s=r.select(\".js-link-spacer\"),u=r.select(\".js-sourcelinks\");t._context.showSources&&t._context.showSources(t),t._context.showLink&&function(t,e){e.text(\"\");var r=e.append(\"a\").attr({\"xlink:xlink:href\":\"#\",class:\"link--impt link--embedview\",\"font-weight\":\"bold\"}).text(t._context.linkText+\" \"+String.fromCharCode(187));if(t._context.sendData)r.on(\"click\",(function(){y.sendDataToCloud(t)}));else{var n=window.location.pathname.split(\"/\"),a=window.location.search;r.attr({\"xlink:xlink:show\":\"new\",\"xlink:xlink:href\":\"/\"+n[2].split(\".\")[0]+\"/\"+n[1]+a})}}(t,o),s.text(o.text()&&u.text()?\" - \":\"\")}},y.sendDataToCloud=function(t){var e=(window.PLOTLYENV||{}).BASE_URL||t._context.plotlyServerURL;if(e){t.emit(\"plotly_beforeexport\");var r=n.select(t).append(\"div\").attr(\"id\",\"hiddenform\").style(\"display\",\"none\"),a=r.append(\"form\").attr({action:e+\"/external\",method:\"post\",target:\"_blank\"});return a.append(\"input\").attr({type:\"text\",name:\"data\"}).node().value=y.graphJson(t,!1,\"keepdata\"),a.node().submit(),r.remove(),t.emit(\"plotly_afterexport\"),!1}};var _=[\"days\",\"shortDays\",\"months\",\"shortMonths\",\"periods\",\"dateTime\",\"date\",\"time\",\"decimal\",\"thousands\",\"grouping\",\"currency\"],w=[\"year\",\"month\",\"dayMonth\",\"dayMonthYear\"];function T(t,e){var r=t._context.locale,n=!1,a={};function o(t){for(var r=!0,i=0;i<e.length;i++){var o=e[i];a[o]||(t[o]?a[o]=t[o]:r=!1)}r&&(n=!0)}for(var s=0;s<2;s++){for(var l=t._context.locales,c=0;c<2;c++){var u=(l[r]||{}).format;if(u&&(o(u),n))break;l=i.localeRegistry}var h=r.split(\"-\")[0];if(n||h===r)break;r=h}return n||o(i.localeRegistry.en.format),a}function k(t,e){var r={_fullLayout:e},n=\"x\"===t._id.charAt(0),a=t._mainAxis._anchorAxis,i=\"\",o=\"\",s=\"\";if(a&&(s=a._mainAxis._id,i=n?t._id+s:s+t._id),!i||!e._plots[i]){i=\"\";for(var l=t._counterAxes,c=0;c<l.length;c++){var u=l[c],f=n?t._id+u:u+t._id;o||(o=f);var p=h.getFromId(r,u);if(s&&p.overlaying===s){i=f;break}}}return i||o}function A(t){var e=t.transforms;if(Array.isArray(e)&&e.length)for(var r=0;r<e.length;r++){var n=e[r],a=n._module||x[n.type];if(a&&a.makesData)return!0}return!1}function M(t,e,r,n){for(var a=t.transforms,i=[t],o=0;o<a.length;o++){var s=a[o],l=x[s.type];l&&l.transform&&(i=l.transform(i,{transform:s,fullTrace:t,fullData:e,layout:r,fullLayout:n,transformIndex:o}))}return i}function S(t){return\"string\"==typeof t&&\"px\"===t.substr(t.length-2)&&parseFloat(t)}function E(t){var e=t.margin;if(!t._size){var r=t._size={l:Math.round(e.l),r:Math.round(e.r),t:Math.round(e.t),b:Math.round(e.b),p:Math.round(e.pad)};r.w=Math.round(t.width)-r.l-r.r,r.h=Math.round(t.height)-r.t-r.b}t._pushmargin||(t._pushmargin={}),t._pushmarginIds||(t._pushmarginIds={})}y.supplyDefaults=function(t,e){var r=e&&e.skipUpdateCalc,a=t._fullLayout||{};if(a._skipDefaults)delete a._skipDefaults;else{var o,s=t._fullLayout={},c=t.layout||{},u=t._fullData||[],h=t._fullData=[],p=t.data||[],d=t.calcdata||[],g=t._context||{};t._transitionData||y.createTransitionData(t),s._dfltTitle={plot:v(t,\"Click to enter Plot title\"),x:v(t,\"Click to enter X axis title\"),y:v(t,\"Click to enter Y axis title\"),colorbar:v(t,\"Click to enter Colorscale title\"),annotation:v(t,\"new text\")},s._traceWord=v(t,\"trace\");var x=T(t,_);if(s._mapboxAccessToken=g.mapboxAccessToken,a._initialAutoSizeIsDone){var b=a.width,k=a.height;y.supplyLayoutGlobalDefaults(c,s,x),c.width||(s.width=b),c.height||(s.height=k),y.sanitizeMargins(s)}else{y.supplyLayoutGlobalDefaults(c,s,x);var A=!c.width||!c.height,M=s.autosize,S=g.autosizable;A&&(M||S)?y.plotAutoSize(t,c,s):A&&y.sanitizeMargins(s),!M&&A&&(c.width=s.width,c.height=s.height)}s._d3locale=function(t,e){return t.decimal=e.charAt(0),t.thousands=e.charAt(1),n.locale(t)}(x,s.separators),s._extraFormat=T(t,w),s._initialAutoSizeIsDone=!0,s._dataLength=p.length,s._modules=[],s._visibleModules=[],s._basePlotModules=[];var C=s._subplots=function(){var t,e,r=i.collectableSubplotTypes,n={};if(!r){r=[];var a=i.subplotsRegistry;for(var o in a){var s=a[o].attr;if(s&&(r.push(o),Array.isArray(s)))for(e=0;e<s.length;e++)l.pushUnique(r,s[e])}}for(t=0;t<r.length;t++)n[r[t]]=[];return n}(),L=s._splomAxes={x:{},y:{}},P=s._splomSubplots={};s._splomGridDflt={},s._scatterStackOpts={},s._firstScatter={},s._alignmentOpts={},s._colorAxes={},s._requestRangeslider={},s._traceUids=function(t,e){var r,n,a=e.length,i=[];for(r=0;r<t.length;r++){var o=t[r]._fullInput;o!==n&&i.push(o),n=o}var s=i.length,c=new Array(a),u={};function h(t,e){c[e]=t,u[t]=1}function f(t,e){if(t&&\"string\"==typeof t&&!u[t])return h(t,e),!0}for(r=0;r<a;r++){var p=e[r].uid;\"number\"==typeof p&&(p=String(p)),f(p,r)||(r<s&&f(i[r].uid,r)||h(l.randstr(u),r))}return c}(u,p),s._globalTransforms=(t._context||{}).globalTransforms,y.supplyDataDefaults(p,h,c,s);var I=Object.keys(L.x),z=Object.keys(L.y);if(I.length>1&&z.length>1){for(i.getComponentMethod(\"grid\",\"sizeDefaults\")(c,s),o=0;o<I.length;o++)l.pushUnique(C.xaxis,I[o]);for(o=0;o<z.length;o++)l.pushUnique(C.yaxis,z[o]);for(var O in P)l.pushUnique(C.cartesian,O)}if(s._has=y._hasPlotType.bind(s),u.length===h.length)for(o=0;o<h.length;o++)m(h[o],u[o]);y.supplyLayoutModuleDefaults(c,s,h,t._transitionData);var D=s._visibleModules,R=[];for(o=0;o<D.length;o++){var F=D[o].crossTraceDefaults;F&&l.pushUnique(R,F)}for(o=0;o<R.length;o++)R[o](h,s);s._hasOnlyLargeSploms=1===s._basePlotModules.length&&\"splom\"===s._basePlotModules[0].name&&I.length>15&&z.length>15&&0===s.shapes.length&&0===s.images.length,s._hasCartesian=s._has(\"cartesian\"),s._hasGeo=s._has(\"geo\"),s._hasGL3D=s._has(\"gl3d\"),s._hasGL2D=s._has(\"gl2d\"),s._hasTernary=s._has(\"ternary\"),s._hasPie=s._has(\"pie\"),y.linkSubplots(h,s,u,a),y.cleanPlot(h,s,u,a);var B=!(!a._has||!a._has(\"gl2d\")),N=!(!s._has||!s._has(\"gl2d\")),j=!(!a._has||!a._has(\"cartesian\"))||B,V=!(!s._has||!s._has(\"cartesian\"))||N;j&&!V?a._bgLayer.remove():V&&!j&&(s._shouldCreateBgLayer=!0),a._zoomlayer&&!t._dragging&&f({_fullLayout:a}),function(t,e){var r,n=[];e.meta&&(r=e._meta={meta:e.meta,layout:{meta:e.meta}});for(var a=0;a<t.length;a++){var i=t[a];i.meta?n[i.index]=i._meta={meta:i.meta}:e.meta&&(i._meta={meta:e.meta}),e.meta&&(i._meta.layout={meta:e.meta})}n.length&&(r||(r=e._meta={}),r.data=n)}(h,s),m(s,a),i.getComponentMethod(\"colorscale\",\"crossTraceDefaults\")(h,s),s._preGUI||(s._preGUI={}),s._tracePreGUI||(s._tracePreGUI={});var U,q=s._tracePreGUI,H={};for(U in q)H[U]=\"old\";for(o=0;o<h.length;o++)H[U=h[o]._fullInput.uid]||(q[U]={}),H[U]=\"new\";for(U in H)\"old\"===H[U]&&delete q[U];E(s),i.getComponentMethod(\"rangeslider\",\"makeData\")(s),r||d.length!==h.length||y.supplyDefaultsUpdateCalc(d,h)}},y.supplyDefaultsUpdateCalc=function(t,e){for(var r=0;r<e.length;r++){var n=e[r],a=(t[r]||[])[0];if(a&&a.trace){var i=a.trace;if(i._hasCalcTransform){var o,s,c,u=i._arrayAttrs;for(o=0;o<u.length;o++)s=u[o],c=l.nestedProperty(i,s).get().slice(),l.nestedProperty(n,s).set(c)}a.trace=n}}},y.createTransitionData=function(t){t._transitionData||(t._transitionData={}),t._transitionData._frames||(t._transitionData._frames=[]),t._transitionData._frameHash||(t._transitionData._frameHash={}),t._transitionData._counter||(t._transitionData._counter=0),t._transitionData._interruptCallbacks||(t._transitionData._interruptCallbacks=[])},y._hasPlotType=function(t){var e,r=this._basePlotModules||[];for(e=0;e<r.length;e++)if(r[e].name===t)return!0;var n=this._modules||[];for(e=0;e<n.length;e++){var a=n[e].name;if(a===t)return!0;var o=i.modules[a];if(o&&o.categories[t])return!0}return!1},y.cleanPlot=function(t,e,r,n){var a,i,o=n._basePlotModules||[];for(a=0;a<o.length;a++){var s=o[a];s.clean&&s.clean(t,e,r,n)}var l=n._has&&n._has(\"gl\"),c=e._has&&e._has(\"gl\");l&&!c&&void 0!==n._glcontainer&&(n._glcontainer.selectAll(\".gl-canvas\").remove(),n._glcontainer.selectAll(\".no-webgl\").remove(),n._glcanvas=null);var u=!!n._infolayer;t:for(a=0;a<r.length;a++){var h=r[a].uid;for(i=0;i<t.length;i++){if(h===t[i].uid)continue t}u&&n._infolayer.select(\".cb\"+h).remove()}},y.linkSubplots=function(t,e,r,n){var a,o,s=n._plots||{},c=e._plots={},u=e._subplots,f={_fullData:t,_fullLayout:e},p=u.cartesian.concat(u.gl2d||[]);for(a=0;a<p.length;a++){var d,g=p[a],m=s[g],v=h.getFromId(f,g,\"x\"),y=h.getFromId(f,g,\"y\");for(m?d=c[g]=m:(d=c[g]={}).id=g,v._counterAxes.push(y._id),y._counterAxes.push(v._id),v._subplotsWith.push(g),y._subplotsWith.push(g),d.xaxis=v,d.yaxis=y,d._hasClipOnAxisFalse=!1,o=0;o<t.length;o++){var x=t[o];if(x.xaxis===d.xaxis._id&&x.yaxis===d.yaxis._id&&!1===x.cliponaxis){d._hasClipOnAxisFalse=!0;break}}}var b,_=h.list(f,null,!0);for(a=0;a<_.length;a++){var w=null;(b=_[a]).overlaying&&(w=h.getFromId(f,b.overlaying))&&w.overlaying&&(b.overlaying=!1,w=null),b._mainAxis=w||b,w&&(b.domain=w.domain.slice()),b._anchorAxis=\"free\"===b.anchor?null:h.getFromId(f,b.anchor)}for(a=0;a<_.length;a++)if((b=_[a])._counterAxes.sort(h.idSort),b._subplotsWith.sort(l.subplotSort),b._mainSubplot=k(b,e),b._counterAxes.length&&(b.spikemode&&-1!==b.spikemode.indexOf(\"across\")||b.automargin&&b.mirror&&\"free\"!==b.anchor||i.getComponentMethod(\"rangeslider\",\"isVisible\")(b))){var T=1,A=0;for(o=0;o<b._counterAxes.length;o++){var M=h.getFromId(f,b._counterAxes[o]);T=Math.min(T,M.domain[0]),A=Math.max(A,M.domain[1])}T<A&&(b._counterDomainMin=T,b._counterDomainMax=A)}},y.clearExpandedTraceDefaultColors=function(t){var e,r,n;for(r=[],(e=t._module._colorAttrs)||(t._module._colorAttrs=e=[],o.crawl(t._module.attributes,(function(t,n,a,i){r[i]=n,r.length=i+1,\"color\"===t.valType&&void 0===t.dflt&&e.push(r.join(\".\"))}))),n=0;n<e.length;n++){l.nestedProperty(t,\"_input.\"+e[n]).get()||l.nestedProperty(t,e[n]).set(null)}},y.supplyDataDefaults=function(t,e,r,n){var a,o,c,u=n._modules,h=n._visibleModules,f=n._basePlotModules,p=0,d=0;function g(t){e.push(t);var r=t._module;r&&(l.pushUnique(u,r),!0===t.visible&&l.pushUnique(h,r),l.pushUnique(f,t._module.basePlotModule),p++,!1!==t._input.visible&&d++)}n._transformModules=[];var v={},x=[],b=(r.template||{}).data||{},_=s.traceTemplater(b);for(a=0;a<t.length;a++){if(c=t[a],(o=_.newTrace(c)).uid=n._traceUids[a],y.supplyTraceDefaults(c,o,d,n,a),o.index=a,o._input=c,o._expandedIndex=p,o.transforms&&o.transforms.length)for(var w=!1!==c.visible&&!1===o.visible,T=M(o,e,r,n),k=0;k<T.length;k++){var A=T[k],S={_template:o._template,type:o.type,uid:o.uid+k};w&&!1===A.visible&&delete A.visible,y.supplyTraceDefaults(A,S,p,n,a),m(S,A),S.index=a,S._input=c,S._fullInput=o,S._expandedIndex=p,S._expandedInput=A,g(S)}else o._fullInput=o,o._expandedInput=o,g(o);i.traceIs(o,\"carpetAxis\")&&(v[o.carpet]=o),i.traceIs(o,\"carpetDependent\")&&x.push(a)}for(a=0;a<x.length;a++)if((o=e[x[a]]).visible){var E=v[o.carpet];o._carpet=E,E&&E.visible?(o.xaxis=E.xaxis,o.yaxis=E.yaxis):o.visible=!1}},y.supplyAnimationDefaults=function(t){var e;t=t||{};var r={};function n(e,n){return l.coerce(t||{},r,p,e,n)}if(n(\"mode\"),n(\"direction\"),n(\"fromcurrent\"),Array.isArray(t.frame))for(r.frame=[],e=0;e<t.frame.length;e++)r.frame[e]=y.supplyAnimationFrameDefaults(t.frame[e]||{});else r.frame=y.supplyAnimationFrameDefaults(t.frame||{});if(Array.isArray(t.transition))for(r.transition=[],e=0;e<t.transition.length;e++)r.transition[e]=y.supplyAnimationTransitionDefaults(t.transition[e]||{});else r.transition=y.supplyAnimationTransitionDefaults(t.transition||{});return r},y.supplyAnimationFrameDefaults=function(t){var e={};function r(r,n){return l.coerce(t||{},e,p.frame,r,n)}return r(\"duration\"),r(\"redraw\"),e},y.supplyAnimationTransitionDefaults=function(t){var e={};function r(r,n){return l.coerce(t||{},e,p.transition,r,n)}return r(\"duration\"),r(\"easing\"),e},y.supplyFrameDefaults=function(t){var e={};function r(r,n){return l.coerce(t,e,d,r,n)}return r(\"group\"),r(\"name\"),r(\"traces\"),r(\"baseframe\"),r(\"data\"),r(\"layout\"),e},y.supplyTraceDefaults=function(t,e,r,n,a){var o,s=n.colorway||c.defaults,u=s[r%s.length];function h(r,n){return l.coerce(t,e,y.attributes,r,n)}var f=h(\"visible\");h(\"type\"),h(\"name\",n._traceWord+\" \"+a),h(\"uirevision\",n.uirevision);var p=y.getModule(e);if(e._module=p,p){var d=p.basePlotModule,g=d.attr,m=d.attributes;if(g&&m){var v=n._subplots,x=\"\";if(f||\"gl2d\"!==d.name){if(Array.isArray(g))for(o=0;o<g.length;o++){var b=g[o],_=l.coerce(t,e,m,b);v[b]&&l.pushUnique(v[b],_),x+=_}else x=l.coerce(t,e,m,g);v[d.name]&&l.pushUnique(v[d.name],x)}}}return f&&(h(\"customdata\"),h(\"ids\"),h(\"meta\"),i.traceIs(e,\"showLegend\")?(l.coerce(t,e,p.attributes.showlegend?p.attributes:y.attributes,\"showlegend\"),h(\"legendgroup\"),e._dfltShowLegend=!0):e._dfltShowLegend=!1,p&&p.supplyDefaults(t,e,u,n),i.traceIs(e,\"noOpacity\")||h(\"opacity\"),i.traceIs(e,\"notLegendIsolatable\")&&(e.visible=!!e.visible),i.traceIs(e,\"noHover\")||(e.hovertemplate||l.coerceHoverinfo(t,e,n),\"parcats\"!==e.type&&i.getComponentMethod(\"fx\",\"supplyDefaults\")(t,e,u,n)),p&&p.selectPoints&&h(\"selectedpoints\"),y.supplyTransformDefaults(t,e,n)),e},y.hasMakesDataTransform=A,y.supplyTransformDefaults=function(t,e,r){if(e._length||A(t)){var n=r._globalTransforms||[],a=r._transformModules||[];if(Array.isArray(t.transforms)||0!==n.length)for(var i=t.transforms||[],o=n.concat(i),s=e.transforms=[],c=0;c<o.length;c++){var u,h=o[c],f=h.type,p=x[f],d=!(h._module&&h._module===p),g=p&&\"function\"==typeof p.transform;p||l.warn(\"Unrecognized transform type \"+f+\".\"),p&&p.supplyDefaults&&(d||g)?((u=p.supplyDefaults(h,e,r,t)).type=f,u._module=p,l.pushUnique(a,p)):u=l.extendFlat({},h),s.push(u)}}},y.supplyLayoutGlobalDefaults=function(t,e,r){function n(r,n){return l.coerce(t,e,y.layoutAttributes,r,n)}var a=t.template;l.isPlainObject(a)&&(e.template=a,e._template=a.layout,e._dataTemplate=a.data);var o=l.coerceFont(n,\"font\");n(\"title.text\",e._dfltTitle.plot),l.coerceFont(n,\"title.font\",{family:o.family,size:Math.round(1.4*o.size),color:o.color}),n(\"title.xref\"),n(\"title.yref\"),n(\"title.x\"),n(\"title.y\"),n(\"title.xanchor\"),n(\"title.yanchor\"),n(\"title.pad.t\"),n(\"title.pad.r\"),n(\"title.pad.b\"),n(\"title.pad.l\"),n(\"uniformtext.mode\")&&n(\"uniformtext.minsize\"),n(\"autosize\",!(t.width&&t.height)),n(\"width\"),n(\"height\"),n(\"margin.l\"),n(\"margin.r\"),n(\"margin.t\"),n(\"margin.b\"),n(\"margin.pad\"),n(\"margin.autoexpand\"),t.width&&t.height&&y.sanitizeMargins(e),i.getComponentMethod(\"grid\",\"sizeDefaults\")(t,e),n(\"paper_bgcolor\"),n(\"separators\",r.decimal+r.thousands),n(\"hidesources\"),n(\"colorway\"),n(\"datarevision\");var s=n(\"uirevision\");n(\"editrevision\",s),n(\"selectionrevision\",s),n(\"modebar.orientation\"),n(\"modebar.bgcolor\",c.addOpacity(e.paper_bgcolor,.5));var u=c.contrast(c.rgb(e.modebar.bgcolor));n(\"modebar.color\",c.addOpacity(u,.3)),n(\"modebar.activecolor\",c.addOpacity(u,.7)),n(\"modebar.uirevision\",s),i.getComponentMethod(\"shapes\",\"supplyDrawNewShapeDefaults\")(t,e,n),n(\"meta\"),l.isPlainObject(t.transition)&&(n(\"transition.duration\"),n(\"transition.easing\"),n(\"transition.ordering\")),i.getComponentMethod(\"calendars\",\"handleDefaults\")(t,e,\"calendar\"),i.getComponentMethod(\"fx\",\"supplyLayoutGlobalDefaults\")(t,e,n)},y.plotAutoSize=function(t,e,r){var n,i,o=t._context||{},s=o.frameMargins,c=l.isPlotDiv(t);if(c&&t.emit(\"plotly_autosize\"),o.fillFrame)n=window.innerWidth,i=window.innerHeight,document.body.style.overflow=\"hidden\";else{var u=c?window.getComputedStyle(t):{};if(n=S(u.width)||S(u.maxWidth)||r.width,i=S(u.height)||S(u.maxHeight)||r.height,a(s)&&s>0){var h=1-2*s;n=Math.round(h*n),i=Math.round(h*i)}}var f=y.layoutAttributes.width.min,p=y.layoutAttributes.height.min;n<f&&(n=f),i<p&&(i=p);var d=!e.width&&Math.abs(r.width-n)>1,g=!e.height&&Math.abs(r.height-i)>1;(g||d)&&(d&&(r.width=n),g&&(r.height=i)),t._initialAutoSize||(t._initialAutoSize={width:n,height:i}),y.sanitizeMargins(r)},y.supplyLayoutModuleDefaults=function(t,e,r,n){var a,o,s,c=i.componentsRegistry,u=e._basePlotModules,h=i.subplotsRegistry.cartesian;for(a in c)(s=c[a]).includeBasePlot&&s.includeBasePlot(t,e);for(var f in u.length||u.push(h),e._has(\"cartesian\")&&(i.getComponentMethod(\"grid\",\"contentDefaults\")(t,e),h.finalizeSubplots(t,e)),e._subplots)e._subplots[f].sort(l.subplotSort);for(o=0;o<u.length;o++)(s=u[o]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r);var p=e._modules;for(o=0;o<p.length;o++)(s=p[o]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r);var d=e._transformModules;for(o=0;o<d.length;o++)(s=d[o]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r,n);for(a in c)(s=c[a]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r)},y.purge=function(t){var e=t._fullLayout||{};void 0!==e._glcontainer&&(e._glcontainer.selectAll(\".gl-canvas\").remove(),e._glcontainer.remove(),e._glcanvas=null),e._modeBar&&e._modeBar.destroy(),t._transitionData&&(t._transitionData._interruptCallbacks&&(t._transitionData._interruptCallbacks.length=0),t._transitionData._animationRaf&&window.cancelAnimationFrame(t._transitionData._animationRaf)),l.clearThrottle(),l.clearResponsive(t),delete t.data,delete t.layout,delete t._fullData,delete t._fullLayout,delete t.calcdata,delete t.framework,delete t.empty,delete t.fid,delete t.undoqueue,delete t.undonum,delete t.autoplay,delete t.changed,delete t._promises,delete t._redrawTimer,delete t._hmlumcount,delete t._hmpixcount,delete t._transitionData,delete t._transitioning,delete t._initialAutoSize,delete t._transitioningWithDuration,delete t._dragging,delete t._dragged,delete t._dragdata,delete t._hoverdata,delete t._snapshotInProgress,delete t._editing,delete t._mouseDownTime,delete t._legendMouseDownTime,t.removeAllListeners&&t.removeAllListeners()},y.style=function(t){var e,r=t._fullLayout._visibleModules,n=[];for(e=0;e<r.length;e++){var a=r[e];a.style&&l.pushUnique(n,a.style)}for(e=0;e<n.length;e++)n[e](t)},y.sanitizeMargins=function(t){if(t&&t.margin){var e,r=t.width,n=t.height,a=t.margin,i=r-(a.l+a.r),o=n-(a.t+a.b);i<0&&(e=(r-1)/(a.l+a.r),a.l=Math.floor(e*a.l),a.r=Math.floor(e*a.r)),o<0&&(e=(n-1)/(a.t+a.b),a.t=Math.floor(e*a.t),a.b=Math.floor(e*a.b))}},y.clearAutoMarginIds=function(t){t._fullLayout._pushmarginIds={}},y.allowAutoMargin=function(t,e){t._fullLayout._pushmarginIds[e]=1},y.autoMargin=function(t,e,r){var n=t._fullLayout,a=n._pushmargin,i=n._pushmarginIds;if(!1!==n.margin.autoexpand){if(r){var o=r.pad;if(void 0===o){var s=n.margin;o=Math.min(12,s.l,s.r,s.t,s.b)}r.l+r.r>.5*n.width&&(l.log(\"Margin push\",e,\"is too big in x, dropping\"),r.l=r.r=0),r.b+r.t>.5*n.height&&(l.log(\"Margin push\",e,\"is too big in y, dropping\"),r.b=r.t=0);var c=void 0!==r.xl?r.xl:r.x,u=void 0!==r.xr?r.xr:r.x,h=void 0!==r.yt?r.yt:r.y,f=void 0!==r.yb?r.yb:r.y;a[e]={l:{val:c,size:r.l+o},r:{val:u,size:r.r+o},b:{val:f,size:r.b+o},t:{val:h,size:r.t+o}},i[e]=1}else delete a[e],delete i[e];if(!n._replotting)return y.doAutoMargin(t)}},y.doAutoMargin=function(t){var e=t._fullLayout;e._size||(e._size={}),E(e);var r=e._size,n=e.margin,o=l.extendFlat({},r),s=n.l,c=n.r,u=n.t,h=n.b,f=e.width,p=e.height,d=e._pushmargin,g=e._pushmarginIds;if(!1!==e.margin.autoexpand){for(var m in d)g[m]||delete d[m];for(var v in d.base={l:{val:0,size:s},r:{val:1,size:c},t:{val:1,size:u},b:{val:0,size:h}},d){var x=d[v].l||{},b=d[v].b||{},_=x.val,w=x.size,T=b.val,k=b.size;for(var A in d){if(a(w)&&d[A].r){var M=d[A].r.val,S=d[A].r.size;if(M>_){var C=(w*M+(S-f)*_)/(M-_),L=(S*(1-_)+(w-f)*(1-M))/(M-_);C>=0&&L>=0&&f-(C+L)>0&&C+L>s+c&&(s=C,c=L)}}if(a(k)&&d[A].t){var P=d[A].t.val,I=d[A].t.size;if(P>T){var z=(k*P+(I-p)*T)/(P-T),O=(I*(1-T)+(k-p)*(1-P))/(P-T);z>=0&&O>=0&&p-(O+z)>0&&z+O>h+u&&(h=z,u=O)}}}}}if(r.l=Math.round(s),r.r=Math.round(c),r.t=Math.round(u),r.b=Math.round(h),r.p=Math.round(n.pad),r.w=Math.round(f)-r.l-r.r,r.h=Math.round(p)-r.t-r.b,!e._replotting&&y.didMarginChange(o,r)){\"_redrawFromAutoMarginCount\"in e?e._redrawFromAutoMarginCount++:e._redrawFromAutoMarginCount=1;var D=3*(1+Object.keys(g).length);if(e._redrawFromAutoMarginCount<D)return i.call(\"plot\",t);l.warn(\"Too many auto-margin redraws.\")}};var C=[\"l\",\"r\",\"t\",\"b\",\"p\",\"w\",\"h\"];function L(t,e,r){var n=!1;var a=[y.previousPromises,function(){if(t._transitionData)return t._transitioning=!1,function(t){var e=Promise.resolve();if(!t)return e;for(;t.length;)e=e.then(t.shift());return e}(t._transitionData._interruptCallbacks)},r.prepareFn,y.rehover,function(){return t.emit(\"plotly_transitioning\",[]),new Promise((function(a){t._transitioning=!0,e.duration>0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push((function(){n=!0})),r.redraw&&t._transitionData._interruptCallbacks.push((function(){return i.call(\"redraw\",t)})),t._transitionData._interruptCallbacks.push((function(){t.emit(\"plotly_transitioninterrupted\",[])}));var o=0,s=0;function l(){return o++,function(){s++,n||s!==o||function(e){if(!t._transitionData)return;(function(t){if(t)for(;t.length;)t.shift()})(t._transitionData._interruptCallbacks),Promise.resolve().then((function(){if(r.redraw)return i.call(\"redraw\",t)})).then((function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit(\"plotly_transitioned\",[])})).then(e)}(a)}}r.runFn(l),setTimeout(l())}))}],o=l.syncOrAsync(a,t);return o&&o.then||(o=Promise.resolve()),o.then((function(){return t}))}y.didMarginChange=function(t,e){for(var r=0;r<C.length;r++){var n=C[r],i=t[n],o=e[n];if(!a(i)||Math.abs(o-i)>1)return!0}return!1},y.graphJson=function(t,e,r,n,a,i){(a&&e&&!t._fullData||a&&!e&&!t._fullLayout)&&y.supplyDefaults(t);var o=a?t._fullData:t.data,s=a?t._fullLayout:t.layout,c=(t._transitionData||{})._frames;function u(t,e){if(\"function\"==typeof t)return e?\"_function_\":null;if(l.isPlainObject(t)){var n,a={};return Object.keys(t).sort().forEach((function(i){if(-1===[\"_\",\"[\"].indexOf(i.charAt(0)))if(\"function\"!=typeof t[i]){if(\"keepdata\"===r){if(\"src\"===i.substr(i.length-3))return}else if(\"keepstream\"===r){if(\"string\"==typeof(n=t[i+\"src\"])&&n.indexOf(\":\")>0&&!l.isPlainObject(t.stream))return}else if(\"keepall\"!==r&&\"string\"==typeof(n=t[i+\"src\"])&&n.indexOf(\":\")>0)return;a[i]=u(t[i],e)}else e&&(a[i]=\"_function\")})),a}return Array.isArray(t)?t.map((function(t){return u(t,e)})):l.isTypedArray(t)?l.simpleMap(t,l.identity):l.isJSDate(t)?l.ms2DateTimeLocal(+t):t}var h={data:(o||[]).map((function(t){var r=u(t);return e&&delete r.fit,r}))};return e||(h.layout=u(s)),t.framework&&t.framework.isPolar&&(h=t.framework.getConfig()),c&&(h.frames=u(c)),i&&(h.config=u(t._context,!0)),\"object\"===n?h:JSON.stringify(h)},y.modifyFrames=function(t,e){var r,n,a,i=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r<e.length;r++)switch((n=e[r]).type){case\"replace\":a=n.value;var s=(i[n.index]||{}).name,l=a.name;i[n.index]=o[l]=a,l!==s&&(delete o[s],o[l]=a);break;case\"insert\":o[(a=n.value).name]=a,i.splice(n.index,0,a);break;case\"delete\":delete o[(a=i[n.index]).name],i.splice(n.index,1)}return Promise.resolve()},y.computeFrame=function(t,e){var r,n,a,i,o=t._transitionData._frameHash;if(!e)throw new Error(\"computeFrame must be given a string frame name\");var s=o[e.toString()];if(!s)return!1;for(var l=[s],c=[s.name];s.baseframe&&(s=o[s.baseframe.toString()])&&-1===c.indexOf(s.name);)l.push(s),c.push(s.name);for(var u={};s=l.pop();)if(s.layout&&(u.layout=y.extendLayout(u.layout,s.layout)),s.data){if(u.data||(u.data=[]),!(n=s.traces))for(n=[],r=0;r<s.data.length;r++)n[r]=r;for(u.traces||(u.traces=[]),r=0;r<s.data.length;r++)null!=(a=n[r])&&(-1===(i=u.traces.indexOf(a))&&(i=u.data.length,u.traces[i]=a),u.data[i]=y.extendTrace(u.data[i],s.data[r]))}return u},y.recomputeFrameHash=function(t){for(var e=t._transitionData._frameHash={},r=t._transitionData._frames,n=0;n<r.length;n++){var a=r[n];a&&a.name&&(e[a.name]=a)}},y.extendObjectWithContainers=function(t,e,r){var n,a,i,o,s,c,u,h=l.extendDeepNoArrays({},e||{}),f=l.expandObjectPaths(h),p={};if(r&&r.length)for(i=0;i<r.length;i++)void 0===(a=(n=l.nestedProperty(f,r[i])).get())?l.nestedProperty(p,r[i]).set(null):(n.set(null),l.nestedProperty(p,r[i]).set(a));if(t=l.extendDeepNoArrays(t||{},f),r&&r.length)for(i=0;i<r.length;i++)if(c=l.nestedProperty(p,r[i]).get()){for(u=(s=l.nestedProperty(t,r[i])).get(),Array.isArray(u)||(u=[],s.set(u)),o=0;o<c.length;o++){var d=c[o];u[o]=null===d?null:y.extendObjectWithContainers(u[o],d)}s.set(u)}return t},y.dataArrayContainers=[\"transforms\",\"dimensions\"],y.layoutArrayContainers=i.layoutArrayContainers,y.extendTrace=function(t,e){return y.extendObjectWithContainers(t,e,y.dataArrayContainers)},y.extendLayout=function(t,e){return y.extendObjectWithContainers(t,e,y.layoutArrayContainers)},y.transition=function(t,e,r,n,a,i){var o={redraw:a.redraw},s={},c=[];return o.prepareFn=function(){for(var a=Array.isArray(e)?e.length:0,i=n.slice(0,a),o=0;o<i.length;o++){var u=i[o],h=t._fullData[u]._module;if(h){if(h.animatable){var f=h.basePlotModule.name;s[f]||(s[f]=[]),s[f].push(u)}t.data[i[o]]=y.extendTrace(t.data[i[o]],e[o])}}var p=l.expandObjectPaths(l.extendDeepNoArrays({},r)),d=/^[xy]axis[0-9]*$/;for(var g in p)d.test(g)&&delete p[g].range;y.extendLayout(t.layout,p),delete t.calcdata,y.supplyDefaults(t),y.doCalcdata(t);var m=l.expandObjectPaths(r);if(m){var v=t._fullLayout._plots;for(var x in v){var b=v[x],_=b.xaxis,w=b.yaxis,T=_.range.slice(),k=w.range.slice(),A=null,M=null,S=null,E=null;Array.isArray(m[_._name+\".range\"])?A=m[_._name+\".range\"].slice():Array.isArray((m[_._name]||{}).range)&&(A=m[_._name].range.slice()),Array.isArray(m[w._name+\".range\"])?M=m[w._name+\".range\"].slice():Array.isArray((m[w._name]||{}).range)&&(M=m[w._name].range.slice()),T&&A&&(_.r2l(T[0])!==_.r2l(A[0])||_.r2l(T[1])!==_.r2l(A[1]))&&(S={xr0:T,xr1:A}),k&&M&&(w.r2l(k[0])!==w.r2l(M[0])||w.r2l(k[1])!==w.r2l(M[1]))&&(E={yr0:k,yr1:M}),(S||E)&&c.push(l.extendFlat({plotinfo:b},S,E))}}return Promise.resolve()},o.runFn=function(e){var n,a,o=t._fullLayout._basePlotModules,u=c.length;if(r)for(a=0;a<o.length;a++)o[a].transitionAxes&&o[a].transitionAxes(t,c,i,e);for(var h in u?((n=l.extendFlat({},i)).duration=0,delete s.cartesian):n=i,s){var f=s[h];t._fullData[f[0]]._module.basePlotModule.plot(t,f,n,e)}},L(t,i,o)},y.transitionFromReact=function(t,e,r,n){var a=t._fullLayout,i=a.transition,o={},s=[];return o.prepareFn=function(){var t=a._plots;for(var i in o.redraw=!1,\"some\"===e.anim&&(o.redraw=!0),\"some\"===r.anim&&(o.redraw=!0),t){var c=t[i],u=c.xaxis,h=c.yaxis,f=n[u._name].range.slice(),p=n[h._name].range.slice(),d=u.range.slice(),g=h.range.slice();u.setScale(),h.setScale();var m=null,v=null;u.r2l(f[0])===u.r2l(d[0])&&u.r2l(f[1])===u.r2l(d[1])||(m={xr0:f,xr1:d}),h.r2l(p[0])===h.r2l(g[0])&&h.r2l(p[1])===h.r2l(g[1])||(v={yr0:p,yr1:g}),(m||v)&&s.push(l.extendFlat({plotinfo:c},m,v))}return Promise.resolve()},o.runFn=function(r){for(var n,a,o,c=t._fullData,u=t._fullLayout._basePlotModules,h=[],f=0;f<c.length;f++)h.push(f);function p(){for(var e=0;e<u.length;e++)u[e].transitionAxes&&u[e].transitionAxes(t,s,n,r)}function d(){for(var e=0;e<u.length;e++)u[e].plot(t,o,a,r)}s.length&&e.anim?\"traces first\"===i.ordering?(n=l.extendFlat({},i,{duration:0}),o=h,a=i,setTimeout(p,i.duration),d()):(n=i,o=null,a=l.extendFlat({},i,{duration:0}),setTimeout(d,n.duration),p()):s.length?(n=i,p()):e.anim&&(o=h,a=i,d())},L(t,i,o)},y.doCalcdata=function(t,e){var r,n,a,s,c=h.list(t),f=t._fullData,p=t._fullLayout,d=new Array(f.length),g=(t.calcdata||[]).slice();for(t.calcdata=d,p._numBoxes=0,p._numViolins=0,p._violinScaleGroupStats={},t._hmpixcount=0,t._hmlumcount=0,p._piecolormap={},p._sunburstcolormap={},p._treemapcolormap={},p._funnelareacolormap={},a=0;a<f.length;a++)Array.isArray(e)&&-1===e.indexOf(a)&&(d[a]=g[a]);for(a=0;a<f.length;a++)(r=f[a])._arrayAttrs=o.findArrayAttributes(r),r._extremes={};var m=p._subplots.polar||[];for(a=0;a<m.length;a++)c.push(p[m[a]].radialaxis,p[m[a]].angularaxis);for(var v in p._colorAxes){var y=p[v];!1!==y.cauto&&(delete y.cmin,delete y.cmax)}var b=!1;function _(e){if(r=f[e],n=r._module,!0===r.visible&&r.transforms){if(n&&n.calc){var a=n.calc(t,r);a[0]&&a[0].t&&a[0].t._scene&&delete a[0].t._scene.dirty}for(s=0;s<r.transforms.length;s++){var i=r.transforms[s];(n=x[i.type])&&n.calcTransform&&(r._hasCalcTransform=!0,b=!0,n.calcTransform(t,r,i))}}}function w(e,a){if(r=f[e],!!(n=r._module).isContainer===a){var i=[];if(!0===r.visible&&0!==r._length){delete r._indexToPoints;var o=r.transforms||[];for(s=o.length-1;s>=0;s--)if(o[s].enabled){r._indexToPoints=o[s]._indexToPoints;break}n&&n.calc&&(i=n.calc(t,r))}Array.isArray(i)&&i[0]||(i=[{x:u,y:u}]),i[0].t||(i[0].t={}),i[0].trace=r,d[e]=i}}for(I(c,f,p),a=0;a<f.length;a++)w(a,!0);for(a=0;a<f.length;a++)_(a);for(b&&I(c,f,p),a=0;a<f.length;a++)w(a,!0);for(a=0;a<f.length;a++)w(a,!1);z(t);var T=function(t,e){var r,n,a,o,s,c=[];function u(t,r,n){var a=r._id.charAt(0);if(\"histogram2dcontour\"===t){var i=r._counterAxes[0],o=h.getFromId(e,i),s=\"x\"===a||\"x\"===i&&\"category\"===o.type,l=\"y\"===a||\"y\"===i&&\"category\"===o.type;return function(t,e){return 0===t||0===e||s&&t===n[e].length-1||l&&e===n.length-1?-1:(\"y\"===a?e:t)-1}}return function(t,e){return\"y\"===a?e:t}}var f={min:function(t){return l.aggNums(Math.min,null,t)},max:function(t){return l.aggNums(Math.max,null,t)},sum:function(t){return l.aggNums((function(t,e){return t+e}),null,t)},total:function(t){return l.aggNums((function(t,e){return t+e}),null,t)},mean:function(t){return l.mean(t)},median:function(t){return l.median(t)}};for(r=0;r<t.length;r++){var p=t[r];if(\"category\"===p.type){var d=p.categoryorder.match(P);if(d){var g=d[1],m=d[2],v=[];for(n=0;n<p._categories.length;n++)v.push([p._categories[n],[]]);for(n=0;n<p._traceIndices.length;n++){var y=p._traceIndices[n],x=e._fullData[y],b=p._id.charAt(0);if(!0===x.visible){var _=x.type;i.traceIs(x,\"histogram\")&&(delete x._xautoBinFinished,delete x._yautoBinFinished);var w=e.calcdata[y];for(a=0;a<w.length;a++){var T,k,A,M=w[a];if(\"splom\"===_){var S=x._axesDim[p._id];if(\"y\"===b){var E=x._diag[S][0];E&&(p=e._fullLayout[h.id2name(E)])}var C=M.trace.dimensions[S].values;for(o=0;o<C.length;o++)for(T=C[o],k=p._categoriesMap[T],s=0;s<M.trace.dimensions.length;s++)if(s!==S){var L=M.trace.dimensions[s];v[k][1].push(L.values[o])}}else if(\"scattergl\"===_){for(o=0;o<M.t.x.length;o++)\"x\"===b&&(T=M.t.x[o],k=T,A=M.t.y[o]),\"y\"===b&&(T=M.t.y[o],k=T,A=M.t.x[o]),v[k][1].push(A);M.t&&M.t._scene&&delete M.t._scene.dirty}else if(M.hasOwnProperty(\"z\")){A=M.z;var I=u(x.type,p,A);for(o=0;o<A.length;o++)for(s=0;s<A[o].length;s++)(k=I(s,o))+1&&v[k][1].push(A[o][s])}else for(\"x\"===b?(T=M.p+1?M.p:M.x,A=M.s||M.v||M.y):\"y\"===b&&(T=M.p+1?M.p:M.y,A=M.s||M.v||M.x),Array.isArray(A)||(A=[A]),o=0;o<A.length;o++)v[T][1].push(A[o])}}}p._categoriesValue=v;var z=[];for(n=0;n<v.length;n++)z.push([v[n][0],f[g](v[n][1])]);z.sort((function(t,e){return t[1]-e[1]})),p._categoriesAggregatedValue=z,p._initialCategories=z.map((function(t){return t[0]})),\"descending\"===m&&p._initialCategories.reverse(),c=c.concat(p.sortByInitialCategories())}}}return c}(c,t);if(T.length){for(p._numBoxes=0,p._numViolins=0,a=0;a<T.length;a++)w(T[a],!0);for(a=0;a<T.length;a++)w(T[a],!1);z(t)}i.getComponentMethod(\"fx\",\"calc\")(t),i.getComponentMethod(\"errorbars\",\"calc\")(t)};var P=/(total|sum|min|max|mean|median) (ascending|descending)/;function I(t,e,r){var n,a,i,o={};for(n=0;n<t.length;n++)i=(a=t[n])._id,a.clearCalc(),\"multicategory\"===a.type&&a.setupMultiCategory(e),o[a._id]=1;var s=r._axisMatchGroups||[];for(n=0;n<s.length;n++)for(i in s[n])o[i]||(a=r[h.id2name(i)]).clearCalc()}function z(t){var e,r,n,a=t._fullLayout,i=a._visibleModules,o={};for(r=0;r<i.length;r++){var s=i[r],c=s.crossTraceCalc;if(c){var u=s.basePlotModule.name;o[u]?l.pushUnique(o[u],c):o[u]=[c]}}for(n in o){var h=o[n],f=a._subplots[n];if(Array.isArray(f))for(e=0;e<f.length;e++){var p=f[e],d=\"cartesian\"===n?a._plots[p]:a[p];for(r=0;r<h.length;r++)h[r](t,d,p)}else for(r=0;r<h.length;r++)h[r](t)}}y.rehover=function(t){t._fullLayout._rehover&&t._fullLayout._rehover()},y.redrag=function(t){t._fullLayout._redrag&&t._fullLayout._redrag()},y.generalUpdatePerTraceModule=function(t,e,r,n){var a,i=e.traceHash,o={};for(a=0;a<r.length;a++){var s=r[a],c=s[0].trace;c.visible&&(o[c.type]=o[c.type]||[],o[c.type].push(s))}for(var u in i)if(!o[u]){var h=i[u][0];h[0].trace.visible=!1,o[u]=[h]}for(var f in o){var p=o[f];p[0][0].trace._module.plot(t,e,l.filterVisible(p),n)}e.traceHash=o},y.plotBasePlot=function(t,e,r,n,a){var o=i.getModule(t),s=g(e.calcdata,o)[0];o.plot(e,s,n,a)},y.cleanBasePlot=function(t,e,r,n,a){var i=a._has&&a._has(t),o=r._has&&r._has(t);i&&!o&&a[\"_\"+t+\"layer\"].selectAll(\"g.trace\").remove()}},{\"../components/color\":595,\"../constants/numerical\":704,\"../lib\":728,\"../plot_api/plot_schema\":765,\"../plot_api/plot_template\":766,\"../plots/get_data\":813,\"../registry\":859,\"./animation_attributes\":771,\"./attributes\":773,\"./cartesian/axis_ids\":779,\"./cartesian/handle_outline\":786,\"./command\":802,\"./font_attributes\":804,\"./frame_attributes\":805,\"./layout_attributes\":830,d3:164,\"fast-isnumeric\":236}],840:[function(t,e,r){\"use strict\";e.exports={attr:\"subplot\",name:\"polar\",axisNames:[\"angularaxis\",\"radialaxis\"],axisName2dataArray:{angularaxis:\"theta\",radialaxis:\"r\"},layerNames:[\"draglayer\",\"plotbg\",\"backplot\",\"angular-grid\",\"radial-grid\",\"frontplot\",\"angular-line\",\"radial-line\",\"angular-axis\",\"radial-axis\"],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20}},{}],841:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../lib/polygon\").tester,i=n.findIndexOfMin,o=n.isAngleInsideSector,s=n.angleDelta,l=n.angleDist;function c(t,e,r,n){var a,i,o=n[0],s=n[1],l=h(Math.sin(e)-Math.sin(t)),c=h(Math.cos(e)-Math.cos(t)),u=Math.tan(r),f=h(1/u),p=l/c,d=s-p*o;return f?l&&c?i=u*(a=d/(u-p)):c?(a=s*f,i=s):(a=o,i=o*u):l&&c?(a=0,i=d):c?(a=0,i=s):a=i=NaN,[a,i]}function u(t,e,r,a){return n.isFullCircle([e,r])?function(t,e){var r,n=e.length,a=new Array(n+1);for(r=0;r<n;r++){var i=e[r];a[r]=[t*Math.cos(i),t*Math.sin(i)]}return a[r]=a[0].slice(),a}(t,a):function(t,e,r,a){var s,u,h=a.length,f=[];function p(e){return[t*Math.cos(e),t*Math.sin(e)]}function d(t,e,r){return c(t,e,r,p(t))}function g(t){return n.mod(t,h)}function m(t){return o(t,[e,r])}var v=i(a,(function(t){return m(t)?l(t,e):1/0})),y=d(a[v],a[g(v-1)],e);for(f.push(y),s=v,u=0;u<h;s++,u++){var x=a[g(s)];if(!m(x))break;f.push(p(x))}var b=i(a,(function(t){return m(t)?l(t,r):1/0})),_=d(a[b],a[g(b+1)],r);return f.push(_),f.push([0,0]),f.push(f[0].slice()),f}(t,e,r,a)}function h(t){return Math.abs(t)>1e-10?t:0}function f(t,e,r){e=e||0,r=r||0;for(var n=t.length,a=new Array(n),i=0;i<n;i++){var o=t[i];a[i]=[e+o[0],r-o[1]]}return a}e.exports={isPtInsidePolygon:function(t,e,r,n,i){if(!o(e,n))return!1;var s,l;r[0]<r[1]?(s=r[0],l=r[1]):(s=r[1],l=r[0]);var c=a(u(s,n[0],n[1],i)),h=a(u(l,n[0],n[1],i)),f=[t*Math.cos(e),t*Math.sin(e)];return h.contains(f)&&!c.contains(f)},findPolygonOffset:function(t,e,r,n){for(var a=1/0,i=1/0,o=u(t,e,r,n),s=0;s<o.length;s++){var l=o[s];a=Math.min(a,l[0]),i=Math.min(i,-l[1])}return[a,i]},findEnclosingVertexAngles:function(t,e){var r=i(e,(function(e){var r=s(e,t);return r>0?r:1/0})),a=n.mod(r+1,e.length);return[e[r],e[a]]},findIntersectionXY:c,findXYatLength:function(t,e,r,n){var a=-e*r,i=e*e+1,o=2*(e*a-r),s=a*a+r*r-t*t,l=Math.sqrt(o*o-4*i*s),c=(-o+l)/(2*i),u=(-o-l)/(2*i);return[[c,e*c+a+n],[u,e*u+a+n]]},clampTiny:h,pathPolygon:function(t,e,r,n,a,i){return\"M\"+f(u(t,e,r,n),a,i).join(\"L\")},pathPolygonAnnulus:function(t,e,r,n,a,i,o){var s,l;t<e?(s=t,l=e):(s=e,l=t);var c=f(u(s,r,n,a),i,o);return\"M\"+f(u(l,r,n,a),i,o).reverse().join(\"L\")+\"M\"+c.join(\"L\")}}},{\"../../lib\":728,\"../../lib/polygon\":740}],842:[function(t,e,r){\"use strict\";var n=t(\"../get_data\").getSubplotCalcData,a=t(\"../../lib\").counterRegex,i=t(\"./polar\"),o=t(\"./constants\"),s=o.attr,l=o.name,c=a(l),u={};u[s]={valType:\"subplotid\",dflt:l,editType:\"calc\"},e.exports={attr:s,name:l,idRoot:l,idRegex:c,attrRegex:c,attributes:u,layoutAttributes:t(\"./layout_attributes\"),supplyLayoutDefaults:t(\"./layout_defaults\"),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,a=e._subplots[l],o=0;o<a.length;o++){var s=a[o],c=n(r,l,s),u=e[s]._subplot;u||(u=i(t,s),e[s]._subplot=u),u.plot(c,e,t._promises)}},clean:function(t,e,r,n){for(var a=n._subplots[l]||[],i=n._has&&n._has(\"gl\"),o=e._has&&e._has(\"gl\"),s=i&&!o,c=0;c<a.length;c++){var u=a[c],h=n[u]._subplot;if(!e[u]&&h)for(var f in h.framework.remove(),h.layers[\"radial-axis-title\"].remove(),h.clipPaths)h.clipPaths[f].remove();s&&h._scene&&(h._scene.destroy(),h._scene=null)}},toSVG:t(\"../cartesian\").toSVG}},{\"../../lib\":728,\"../cartesian\":789,\"../get_data\":813,\"./constants\":840,\"./layout_attributes\":843,\"./layout_defaults\":844,\"./polar\":851}],843:[function(t,e,r){\"use strict\";var n=t(\"../../components/color/attributes\"),a=t(\"../cartesian/layout_attributes\"),i=t(\"../domain\").attributes,o=t(\"../../lib\").extendFlat,s=t(\"../../plot_api/edit_types\").overrideAll,l=s({color:a.color,showline:o({},a.showline,{dflt:!0}),linecolor:a.linecolor,linewidth:a.linewidth,showgrid:o({},a.showgrid,{dflt:!0}),gridcolor:a.gridcolor,gridwidth:a.gridwidth},\"plot\",\"from-root\"),c=s({tickmode:a.tickmode,nticks:a.nticks,tick0:a.tick0,dtick:a.dtick,tickvals:a.tickvals,ticktext:a.ticktext,ticks:a.ticks,ticklen:a.ticklen,tickwidth:a.tickwidth,tickcolor:a.tickcolor,showticklabels:a.showticklabels,showtickprefix:a.showtickprefix,tickprefix:a.tickprefix,showticksuffix:a.showticksuffix,ticksuffix:a.ticksuffix,showexponent:a.showexponent,exponentformat:a.exponentformat,separatethousands:a.separatethousands,tickfont:a.tickfont,tickangle:a.tickangle,tickformat:a.tickformat,tickformatstops:a.tickformatstops,layer:a.layer},\"plot\",\"from-root\"),u={visible:o({},a.visible,{dflt:!0}),type:o({},a.type,{values:[\"-\",\"linear\",\"log\",\"date\",\"category\"]}),autorange:o({},a.autorange,{editType:\"plot\"}),rangemode:{valType:\"enumerated\",values:[\"tozero\",\"nonnegative\",\"normal\"],dflt:\"tozero\",editType:\"calc\"},range:o({},a.range,{items:[{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}}],editType:\"plot\"}),categoryorder:a.categoryorder,categoryarray:a.categoryarray,angle:{valType:\"angle\",editType:\"plot\"},side:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"],dflt:\"clockwise\",editType:\"plot\"},title:{text:o({},a.title.text,{editType:\"plot\",dflt:\"\"}),font:o({},a.title.font,{editType:\"plot\"}),editType:\"plot\"},hoverformat:a.hoverformat,uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\",_deprecated:{title:a._deprecated.title,titlefont:a._deprecated.titlefont}};o(u,l,c);var h={visible:o({},a.visible,{dflt:!0}),type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"category\"],dflt:\"-\",editType:\"calc\",_noTemplating:!0},categoryorder:a.categoryorder,categoryarray:a.categoryarray,thetaunit:{valType:\"enumerated\",values:[\"radians\",\"degrees\"],dflt:\"degrees\",editType:\"calc\"},period:{valType:\"number\",editType:\"calc\",min:0},direction:{valType:\"enumerated\",values:[\"counterclockwise\",\"clockwise\"],dflt:\"counterclockwise\",editType:\"calc\"},rotation:{valType:\"angle\",editType:\"calc\"},hoverformat:a.hoverformat,uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"};o(h,l,c),e.exports={domain:i({name:\"polar\",editType:\"plot\"}),sector:{valType:\"info_array\",items:[{valType:\"number\",editType:\"plot\"},{valType:\"number\",editType:\"plot\"}],dflt:[0,360],editType:\"plot\"},hole:{valType:\"number\",min:0,max:1,dflt:0,editType:\"plot\"},bgcolor:{valType:\"color\",editType:\"plot\",dflt:n.background},radialaxis:u,angularaxis:h,gridshape:{valType:\"enumerated\",values:[\"circular\",\"linear\"],dflt:\"circular\",editType:\"plot\"},uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"}},{\"../../components/color/attributes\":594,\"../../lib\":728,\"../../plot_api/edit_types\":759,\"../cartesian/layout_attributes\":790,\"../domain\":803}],844:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../components/color\"),i=t(\"../../plot_api/plot_template\"),o=t(\"../subplot_defaults\"),s=t(\"../get_data\").getSubplotData,l=t(\"../cartesian/tick_value_defaults\"),c=t(\"../cartesian/tick_mark_defaults\"),u=t(\"../cartesian/tick_label_defaults\"),h=t(\"../cartesian/category_order_defaults\"),f=t(\"../cartesian/line_grid_defaults\"),p=t(\"../cartesian/axis_autotype\"),d=t(\"./layout_attributes\"),g=t(\"./set_convert\"),m=t(\"./constants\"),v=m.axisNames;function y(t,e,r,o){var p=r(\"bgcolor\");o.bgColor=a.combine(p,o.paper_bgcolor);var y=r(\"sector\");r(\"hole\");var b,_=s(o.fullData,m.name,o.id),w=o.layoutOut;function T(t,e){return r(b+\".\"+t,e)}for(var k=0;k<v.length;k++){b=v[k],n.isPlainObject(t[b])||(t[b]={});var A=t[b],M=i.newContainer(e,b);M._id=M._name=b,M._attr=o.id+\".\"+b,M._traceIndices=_.map((function(t){return t._expandedIndex}));var S=m.axisName2dataArray[b],E=x(A,M,T,_,S);h(A,M,T,{axData:_,dataAttr:S});var C,L,P=T(\"visible\");switch(g(M,e,w),T(\"uirevision\",e.uirevision),P&&(L=(C=T(\"color\"))===A.color?C:o.font.color),M._m=1,b){case\"radialaxis\":var I=T(\"autorange\",!M.isValidRange(A.range));A.autorange=I,!I||\"linear\"!==E&&\"-\"!==E||T(\"rangemode\"),\"reversed\"===I&&(M._m=-1),T(\"range\"),M.cleanRange(\"range\",{dfltRange:[0,1]}),P&&(T(\"side\"),T(\"angle\",y[0]),T(\"title.text\"),n.coerceFont(T,\"title.font\",{family:o.font.family,size:Math.round(1.2*o.font.size),color:L}));break;case\"angularaxis\":if(\"date\"===E){n.log(\"Polar plots do not support date angular axes yet.\");for(var z=0;z<_.length;z++)_[z].visible=!1;E=A.type=M.type=\"linear\"}T(\"linear\"===E?\"thetaunit\":\"period\");var O=T(\"direction\");T(\"rotation\",{counterclockwise:0,clockwise:90}[O])}if(P)l(A,M,T,M.type),u(A,M,T,M.type,{tickSuffixDflt:\"degrees\"===M.thetaunit?\"\\xb0\":void 0}),c(A,M,T,{outerTicks:!0}),T(\"showticklabels\")&&(n.coerceFont(T,\"tickfont\",{family:o.font.family,size:o.font.size,color:L}),T(\"tickangle\"),T(\"tickformat\")),f(A,M,T,{dfltColor:C,bgColor:o.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:d[b]}),T(\"layer\");\"category\"!==E&&T(\"hoverformat\"),M._input=A}\"category\"===e.angularaxis.type&&r(\"gridshape\")}function x(t,e,r,n,a){if(\"-\"===r(\"type\")){for(var i,o=0;o<n.length;o++)if(n[o].visible){i=n[o];break}i&&i[a]&&(e.type=p(i[a],\"gregorian\")),\"-\"===e.type?e.type=\"linear\":t.type=e.type}return e.type}e.exports=function(t,e,r){o(t,e,r,{type:m.name,attributes:d,handleDefaults:y,font:e.font,paper_bgcolor:e.paper_bgcolor,fullData:r,layoutOut:e})}},{\"../../components/color\":595,\"../../lib\":728,\"../../plot_api/plot_template\":766,\"../cartesian/axis_autotype\":777,\"../cartesian/category_order_defaults\":780,\"../cartesian/line_grid_defaults\":792,\"../cartesian/tick_label_defaults\":797,\"../cartesian/tick_mark_defaults\":798,\"../cartesian/tick_value_defaults\":799,\"../get_data\":813,\"../subplot_defaults\":853,\"./constants\":840,\"./layout_attributes\":843,\"./set_convert\":852}],845:[function(t,e,r){\"use strict\";var n=t(\"../../../traces/scatter/attributes\"),a=n.marker,i=t(\"../../../lib/extend\").extendFlat;[\"Area traces are deprecated!\",\"Please switch to the *barpolar* trace type.\"].join(\" \");e.exports={r:i({},n.r,{}),t:i({},n.t,{}),marker:{color:i({},a.color,{}),size:i({},a.size,{}),symbol:i({},a.symbol,{}),opacity:i({},a.opacity,{}),editType:\"calc\"}}},{\"../../../lib/extend\":719,\"../../../traces/scatter/attributes\":1134}],846:[function(t,e,r){\"use strict\";var n=t(\"../../cartesian/layout_attributes\"),a=t(\"../../../lib/extend\").extendFlat,i=t(\"../../../plot_api/edit_types\").overrideAll,o=[\"Legacy polar charts are deprecated!\",\"Please switch to *polar* subplots.\"].join(\" \"),s=a({},n.domain,{});function l(t,e){return a({},e,{showline:{valType:\"boolean\"},showticklabels:{valType:\"boolean\"},tickorientation:{valType:\"enumerated\",values:[\"horizontal\",\"vertical\"]},ticklen:{valType:\"number\",min:0},tickcolor:{valType:\"color\"},ticksuffix:{valType:\"string\"},endpadding:{valType:\"number\",description:o},visible:{valType:\"boolean\"}})}e.exports=i({radialaxis:l(0,{range:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},domain:s,orientation:{valType:\"number\"}}),angularaxis:l(0,{range:{valType:\"info_array\",items:[{valType:\"number\",dflt:0},{valType:\"number\",dflt:360}]},domain:s}),layout:{direction:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"]},orientation:{valType:\"angle\"}}},\"plot\",\"nested\")},{\"../../../lib/extend\":719,\"../../../plot_api/edit_types\":759,\"../../cartesian/layout_attributes\":790}],847:[function(t,e,r){\"use strict\";(e.exports=t(\"./micropolar\")).manager=t(\"./micropolar_manager\")},{\"./micropolar\":848,\"./micropolar_manager\":849}],848:[function(t,e,r){var n=t(\"d3\"),a=t(\"../../../lib\").extendDeepAll,i=t(\"../../../constants/alignment\").MID_SHIFT,o=e.exports={version:\"0.2.2\"};o.Axis=function(){var t,e,r,s,l={data:[],layout:{}},c={},u={},h=n.dispatch(\"hover\"),f={};return f.render=function(c){return function(c){e=c||e;var h=l.data,f=l.layout;(\"string\"==typeof e||e.nodeName)&&(e=n.select(e)),e.datum(h).each((function(e,l){var c=e.slice();u={data:o.util.cloneJson(c),layout:o.util.cloneJson(f)};var h=0;c.forEach((function(t,e){t.color||(t.color=f.defaultColorRange[h],h=(h+1)%f.defaultColorRange.length),t.strokeColor||(t.strokeColor=\"LinePlot\"===t.geometry?t.color:n.rgb(t.color).darker().toString()),u.data[e].color=t.color,u.data[e].strokeColor=t.strokeColor,u.data[e].strokeDash=t.strokeDash,u.data[e].strokeSize=t.strokeSize}));var p=c.filter((function(t,e){var r=t.visible;return\"undefined\"==typeof r||!0===r})),d=!1,g=p.map((function(t,e){return d=d||\"undefined\"!=typeof t.groupId,t}));if(d){var m=n.nest().key((function(t,e){return\"undefined\"!=typeof t.groupId?t.groupId:\"unstacked\"})).entries(g),v=[],y=m.map((function(t,e){if(\"unstacked\"===t.key)return t.values;var r=t.values[0].r.map((function(t,e){return 0}));return t.values.forEach((function(t,e,n){t.yStack=[r],v.push(r),r=o.util.sumArrays(t.r,r)})),t.values}));p=n.merge(y)}p.forEach((function(t,e){t.t=Array.isArray(t.t[0])?t.t:[t.t],t.r=Array.isArray(t.r[0])?t.r:[t.r]}));var x=Math.min(f.width-f.margin.left-f.margin.right,f.height-f.margin.top-f.margin.bottom)/2;x=Math.max(10,x);var b,_=[f.margin.left+x,f.margin.top+x];d?b=[0,n.max(o.util.sumArrays(o.util.arrayLast(p).r[0],o.util.arrayLast(v)))]:b=n.extent(o.util.flattenArray(p.map((function(t,e){return t.r}))));f.radialAxis.domain!=o.DATAEXTENT&&(b[0]=0),r=n.scale.linear().domain(f.radialAxis.domain!=o.DATAEXTENT&&f.radialAxis.domain?f.radialAxis.domain:b).range([0,x]),u.layout.radialAxis.domain=r.domain();var w,T=o.util.flattenArray(p.map((function(t,e){return t.t}))),k=\"string\"==typeof T[0];k&&(T=o.util.deduplicate(T),w=T.slice(),T=n.range(T.length),p=p.map((function(t,e){var r=t;return t.t=[T],d&&(r.yStack=t.yStack),r})));var A=p.filter((function(t,e){return\"LinePlot\"===t.geometry||\"DotPlot\"===t.geometry})).length===p.length,M=null===f.needsEndSpacing?k||!A:f.needsEndSpacing,S=f.angularAxis.domain&&f.angularAxis.domain!=o.DATAEXTENT&&!k&&f.angularAxis.domain[0]>=0?f.angularAxis.domain:n.extent(T),E=Math.abs(T[1]-T[0]);A&&!k&&(E=0);var C=S.slice();M&&k&&(C[1]+=E);var L=f.angularAxis.ticksCount||4;L>8&&(L=L/(L/8)+L%8),f.angularAxis.ticksStep&&(L=(C[1]-C[0])/L);var P=f.angularAxis.ticksStep||(C[1]-C[0])/(L*(f.minorTicks+1));w&&(P=Math.max(Math.round(P),1)),C[2]||(C[2]=P);var I=n.range.apply(this,C);if(I=I.map((function(t,e){return parseFloat(t.toPrecision(12))})),s=n.scale.linear().domain(C.slice(0,2)).range(\"clockwise\"===f.direction?[0,360]:[360,0]),u.layout.angularAxis.domain=s.domain(),u.layout.angularAxis.endPadding=M?E:0,\"undefined\"==typeof(t=n.select(this).select(\"svg.chart-root\"))||t.empty()){var z=(new DOMParser).parseFromString(\"<svg xmlns='http://www.w3.org/2000/svg' class='chart-root'>' + '<g class='outer-group'>' + '<g class='chart-group'>' + '<circle class='background-circle'></circle>' + '<g class='geometry-group'></g>' + '<g class='radial axis-group'>' + '<circle class='outside-circle'></circle>' + '</g>' + '<g class='angular axis-group'></g>' + '<g class='guides-group'><line></line><circle r='0'></circle></g>' + '</g>' + '<g class='legend-group'></g>' + '<g class='tooltips-group'></g>' + '<g class='title-group'><text></text></g>' + '</g>' + '</svg>\",\"application/xml\"),O=this.appendChild(this.ownerDocument.importNode(z.documentElement,!0));t=n.select(O)}t.select(\".guides-group\").style({\"pointer-events\":\"none\"}),t.select(\".angular.axis-group\").style({\"pointer-events\":\"none\"}),t.select(\".radial.axis-group\").style({\"pointer-events\":\"none\"});var D,R=t.select(\".chart-group\"),F={fill:\"none\",stroke:f.tickColor},B={\"font-size\":f.font.size,\"font-family\":f.font.family,fill:f.font.color,\"text-shadow\":[\"-1px 0px\",\"1px -1px\",\"-1px 1px\",\"1px 1px\"].map((function(t,e){return\" \"+t+\" 0 \"+f.font.outlineColor})).join(\",\")};if(f.showLegend){D=t.select(\".legend-group\").attr({transform:\"translate(\"+[x,f.margin.top]+\")\"}).style({display:\"block\"});var N=p.map((function(t,e){var r=o.util.cloneJson(t);return r.symbol=\"DotPlot\"===t.geometry?t.dotType||\"circle\":\"LinePlot\"!=t.geometry?\"square\":\"line\",r.visibleInLegend=\"undefined\"==typeof t.visibleInLegend||t.visibleInLegend,r.color=\"LinePlot\"===t.geometry?t.strokeColor:t.color,r}));o.Legend().config({data:p.map((function(t,e){return t.name||\"Element\"+e})),legendConfig:a({},o.Legend.defaultConfig().legendConfig,{container:D,elements:N,reverseOrder:f.legend.reverseOrder})})();var j=D.node().getBBox();x=Math.min(f.width-j.width-f.margin.left-f.margin.right,f.height-f.margin.top-f.margin.bottom)/2,x=Math.max(10,x),_=[f.margin.left+x,f.margin.top+x],r.range([0,x]),u.layout.radialAxis.domain=r.domain(),D.attr(\"transform\",\"translate(\"+[_[0]+x,_[1]-x]+\")\")}else D=t.select(\".legend-group\").style({display:\"none\"});t.attr({width:f.width,height:f.height}).style({opacity:f.opacity}),R.attr(\"transform\",\"translate(\"+_+\")\").style({cursor:\"crosshair\"});var V=[(f.width-(f.margin.left+f.margin.right+2*x+(j?j.width:0)))/2,(f.height-(f.margin.top+f.margin.bottom+2*x))/2];if(V[0]=Math.max(0,V[0]),V[1]=Math.max(0,V[1]),t.select(\".outer-group\").attr(\"transform\",\"translate(\"+V+\")\"),f.title&&f.title.text){var U=t.select(\"g.title-group text\").style(B).text(f.title.text),q=U.node().getBBox();U.attr({x:_[0]-q.width/2,y:_[1]-x-20})}var H=t.select(\".radial.axis-group\");if(f.radialAxis.gridLinesVisible){var G=H.selectAll(\"circle.grid-circle\").data(r.ticks(5));G.enter().append(\"circle\").attr({class:\"grid-circle\"}).style(F),G.attr(\"r\",r),G.exit().remove()}H.select(\"circle.outside-circle\").attr({r:x}).style(F);var Y=t.select(\"circle.background-circle\").attr({r:x}).style({fill:f.backgroundColor,stroke:f.stroke});function W(t,e){return s(t)%360+f.orientation}if(f.radialAxis.visible){var Z=n.svg.axis().scale(r).ticks(5).tickSize(5);H.call(Z).attr({transform:\"rotate(\"+f.radialAxis.orientation+\")\"}),H.selectAll(\".domain\").style(F),H.selectAll(\"g>text\").text((function(t,e){return this.textContent+f.radialAxis.ticksSuffix})).style(B).style({\"text-anchor\":\"start\"}).attr({x:0,y:0,dx:0,dy:0,transform:function(t,e){return\"horizontal\"===f.radialAxis.tickOrientation?\"rotate(\"+-f.radialAxis.orientation+\") translate(\"+[0,B[\"font-size\"]]+\")\":\"translate(\"+[0,B[\"font-size\"]]+\")\"}}),H.selectAll(\"g>line\").style({stroke:\"black\"})}var X=t.select(\".angular.axis-group\").selectAll(\"g.angular-tick\").data(I),J=X.enter().append(\"g\").classed(\"angular-tick\",!0);X.attr({transform:function(t,e){return\"rotate(\"+W(t)+\")\"}}).style({display:f.angularAxis.visible?\"block\":\"none\"}),X.exit().remove(),J.append(\"line\").classed(\"grid-line\",!0).classed(\"major\",(function(t,e){return e%(f.minorTicks+1)==0})).classed(\"minor\",(function(t,e){return!(e%(f.minorTicks+1)==0)})).style(F),J.selectAll(\".minor\").style({stroke:f.minorTickColor}),X.select(\"line.grid-line\").attr({x1:f.tickLength?x-f.tickLength:0,x2:x}).style({display:f.angularAxis.gridLinesVisible?\"block\":\"none\"}),J.append(\"text\").classed(\"axis-text\",!0).style(B);var K=X.select(\"text.axis-text\").attr({x:x+f.labelOffset,dy:i+\"em\",transform:function(t,e){var r=W(t),n=x+f.labelOffset,a=f.angularAxis.tickOrientation;return\"horizontal\"==a?\"rotate(\"+-r+\" \"+n+\" 0)\":\"radial\"==a?r<270&&r>90?\"rotate(180 \"+n+\" 0)\":null:\"rotate(\"+(r<=180&&r>0?-90:90)+\" \"+n+\" 0)\"}}).style({\"text-anchor\":\"middle\",display:f.angularAxis.labelsVisible?\"block\":\"none\"}).text((function(t,e){return e%(f.minorTicks+1)!=0?\"\":w?w[t]+f.angularAxis.ticksSuffix:t+f.angularAxis.ticksSuffix})).style(B);f.angularAxis.rewriteTicks&&K.text((function(t,e){return e%(f.minorTicks+1)!=0?\"\":f.angularAxis.rewriteTicks(this.textContent,e)}));var Q=n.max(R.selectAll(\".angular-tick text\")[0].map((function(t,e){return t.getCTM().e+t.getBBox().width})));D.attr({transform:\"translate(\"+[x+Q,f.margin.top]+\")\"});var $=t.select(\"g.geometry-group\").selectAll(\"g\").size()>0,tt=t.select(\"g.geometry-group\").selectAll(\"g.geometry\").data(p);if(tt.enter().append(\"g\").attr({class:function(t,e){return\"geometry geometry\"+e}}),tt.exit().remove(),p[0]||$){var et=[];p.forEach((function(t,e){var n={};n.radialScale=r,n.angularScale=s,n.container=tt.filter((function(t,r){return r==e})),n.geometry=t.geometry,n.orientation=f.orientation,n.direction=f.direction,n.index=e,et.push({data:t,geometryConfig:n})}));var rt=n.nest().key((function(t,e){return\"undefined\"!=typeof t.data.groupId||\"unstacked\"})).entries(et),nt=[];rt.forEach((function(t,e){\"unstacked\"===t.key?nt=nt.concat(t.values.map((function(t,e){return[t]}))):nt.push(t.values)})),nt.forEach((function(t,e){var r;r=Array.isArray(t)?t[0].geometryConfig.geometry:t.geometryConfig.geometry;var n=t.map((function(t,e){return a(o[r].defaultConfig(),t)}));o[r]().config(n)()}))}var at,it,ot=t.select(\".guides-group\"),st=t.select(\".tooltips-group\"),lt=o.tooltipPanel().config({container:st,fontSize:8})(),ct=o.tooltipPanel().config({container:st,fontSize:8})(),ut=o.tooltipPanel().config({container:st,hasTick:!0})();if(!k){var ht=ot.select(\"line\").attr({x1:0,y1:0,y2:0}).style({stroke:\"grey\",\"pointer-events\":\"none\"});R.on(\"mousemove.angular-guide\",(function(t,e){var r=o.util.getMousePos(Y).angle;ht.attr({x2:-x,transform:\"rotate(\"+r+\")\"}).style({opacity:.5});var n=(r+180+360-f.orientation)%360;at=s.invert(n);var a=o.util.convertToCartesian(x+12,r+180);lt.text(o.util.round(at)).move([a[0]+_[0],a[1]+_[1]])})).on(\"mouseout.angular-guide\",(function(t,e){ot.select(\"line\").style({opacity:0})}))}var ft=ot.select(\"circle\").style({stroke:\"grey\",fill:\"none\"});R.on(\"mousemove.radial-guide\",(function(t,e){var n=o.util.getMousePos(Y).radius;ft.attr({r:n}).style({opacity:.5}),it=r.invert(o.util.getMousePos(Y).radius);var a=o.util.convertToCartesian(n,f.radialAxis.orientation);ct.text(o.util.round(it)).move([a[0]+_[0],a[1]+_[1]])})).on(\"mouseout.radial-guide\",(function(t,e){ft.style({opacity:0}),ut.hide(),lt.hide(),ct.hide()})),t.selectAll(\".geometry-group .mark\").on(\"mouseover.tooltip\",(function(e,r){var a=n.select(this),i=this.style.fill,s=\"black\",l=this.style.opacity||1;if(a.attr({\"data-opacity\":l}),i&&\"none\"!==i){a.attr({\"data-fill\":i}),s=n.hsl(i).darker().toString(),a.style({fill:s,opacity:1});var c={t:o.util.round(e[0]),r:o.util.round(e[1])};k&&(c.t=w[e[0]]);var u=\"t: \"+c.t+\", r: \"+c.r,h=this.getBoundingClientRect(),f=t.node().getBoundingClientRect(),p=[h.left+h.width/2-V[0]-f.left,h.top+h.height/2-V[1]-f.top];ut.config({color:s}).text(u),ut.move(p)}else i=this.style.stroke||\"black\",a.attr({\"data-stroke\":i}),s=n.hsl(i).darker().toString(),a.style({stroke:s,opacity:1})})).on(\"mousemove.tooltip\",(function(t,e){if(0!=n.event.which)return!1;n.select(this).attr(\"data-fill\")&&ut.show()})).on(\"mouseout.tooltip\",(function(t,e){ut.hide();var r=n.select(this),a=r.attr(\"data-fill\");a?r.style({fill:a,opacity:r.attr(\"data-opacity\")}):r.style({stroke:r.attr(\"data-stroke\"),opacity:r.attr(\"data-opacity\")})}))}))}(c),this},f.config=function(t){if(!arguments.length)return l;var e=o.util.cloneJson(t);return e.data.forEach((function(t,e){l.data[e]||(l.data[e]={}),a(l.data[e],o.Axis.defaultConfig().data[0]),a(l.data[e],t)})),a(l.layout,o.Axis.defaultConfig().layout),a(l.layout,e.layout),this},f.getLiveConfig=function(){return u},f.getinputConfig=function(){return c},f.radialScale=function(t){return r},f.angularScale=function(t){return s},f.svg=function(){return t},n.rebind(f,h,\"on\"),f},o.Axis.defaultConfig=function(t,e){return{data:[{t:[1,2,3,4],r:[10,11,12,13],name:\"Line1\",geometry:\"LinePlot\",color:null,strokeDash:\"solid\",strokeColor:null,strokeSize:\"1\",visibleInLegend:!0,opacity:1}],layout:{defaultColorRange:n.scale.category10().range(),title:null,height:450,width:500,margin:{top:40,right:40,bottom:40,left:40},font:{size:12,color:\"gray\",outlineColor:\"white\",family:\"Tahoma, sans-serif\"},direction:\"clockwise\",orientation:0,labelOffset:10,radialAxis:{domain:null,orientation:-45,ticksSuffix:\"\",visible:!0,gridLinesVisible:!0,tickOrientation:\"horizontal\",rewriteTicks:null},angularAxis:{domain:[0,360],ticksSuffix:\"\",visible:!0,gridLinesVisible:!0,labelsVisible:!0,tickOrientation:\"horizontal\",rewriteTicks:null,ticksCount:null,ticksStep:null},minorTicks:0,tickLength:null,tickColor:\"silver\",minorTickColor:\"#eee\",backgroundColor:\"none\",needsEndSpacing:null,showLegend:!0,legend:{reverseOrder:!1},opacity:1}}},o.util={},o.DATAEXTENT=\"dataExtent\",o.AREA=\"AreaChart\",o.LINE=\"LinePlot\",o.DOT=\"DotPlot\",o.BAR=\"BarChart\",o.util._override=function(t,e){for(var r in t)r in e&&(e[r]=t[r])},o.util._extend=function(t,e){for(var r in t)e[r]=t[r]},o.util._rndSnd=function(){return 2*Math.random()-1+(2*Math.random()-1)+(2*Math.random()-1)},o.util.dataFromEquation2=function(t,e){var r=e||6;return n.range(0,360+r,r).map((function(e,r){var n=e*Math.PI/180;return[e,t(n)]}))},o.util.dataFromEquation=function(t,e,r){var a=e||6,i=[],o=[];n.range(0,360+a,a).forEach((function(e,r){var n=e*Math.PI/180,a=t(n);i.push(e),o.push(a)}));var s={t:i,r:o};return r&&(s.name=r),s},o.util.ensureArray=function(t,e){if(\"undefined\"==typeof t)return null;var r=[].concat(t);return n.range(e).map((function(t,e){return r[e]||r[0]}))},o.util.fillArrays=function(t,e,r){return e.forEach((function(e,n){t[e]=o.util.ensureArray(t[e],r)})),t},o.util.cloneJson=function(t){return JSON.parse(JSON.stringify(t))},o.util.validateKeys=function(t,e){\"string\"==typeof e&&(e=e.split(\".\"));var r=e.shift();return t[r]&&(!e.length||objHasKeys(t[r],e))},o.util.sumArrays=function(t,e){return n.zip(t,e).map((function(t,e){return n.sum(t)}))},o.util.arrayLast=function(t){return t[t.length-1]},o.util.arrayEqual=function(t,e){for(var r=Math.max(t.length,e.length,1);r-- >=0&&t[r]===e[r];);return-2===r},o.util.flattenArray=function(t){for(var e=[];!o.util.arrayEqual(e,t);)e=t,t=[].concat.apply([],t);return t},o.util.deduplicate=function(t){return t.filter((function(t,e,r){return r.indexOf(t)==e}))},o.util.convertToCartesian=function(t,e){var r=e*Math.PI/180;return[t*Math.cos(r),t*Math.sin(r)]},o.util.round=function(t,e){var r=e||2,n=Math.pow(10,r);return Math.round(t*n)/n},o.util.getMousePos=function(t){var e=n.mouse(t.node()),r=e[0],a=e[1],i={};return i.x=r,i.y=a,i.pos=e,i.angle=180*(Math.atan2(a,r)+Math.PI)/Math.PI,i.radius=Math.sqrt(r*r+a*a),i},o.util.duplicatesCount=function(t){for(var e,r={},n={},a=0,i=t.length;a<i;a++)(e=t[a])in r?(r[e]++,n[e]=r[e]):r[e]=1;return n},o.util.duplicates=function(t){return Object.keys(o.util.duplicatesCount(t))},o.util.translator=function(t,e,r,n){if(n){var a=r.slice();r=e,e=a}var i=e.reduce((function(t,e){if(\"undefined\"!=typeof t)return t[e]}),t);\"undefined\"!=typeof i&&(e.reduce((function(t,r,n){if(\"undefined\"!=typeof t)return n===e.length-1&&delete t[r],t[r]}),t),r.reduce((function(t,e,n){return\"undefined\"==typeof t[e]&&(t[e]={}),n===r.length-1&&(t[e]=i),t[e]}),t))},o.PolyChart=function(){var t=[o.PolyChart.defaultConfig()],e=n.dispatch(\"hover\"),r={solid:\"none\",dash:[5,2],dot:[2,5]};function i(){var e=t[0].geometryConfig,a=e.container;\"string\"==typeof a&&(a=n.select(a)),a.datum(t).each((function(t,a){var i=!!t[0].data.yStack,o=t.map((function(t,e){return i?n.zip(t.data.t[0],t.data.r[0],t.data.yStack[0]):n.zip(t.data.t[0],t.data.r[0])})),s=e.angularScale,l=e.radialScale.domain()[0],c={bar:function(r,a,i){var o=t[i].data,l=e.radialScale(r[1])-e.radialScale(0),c=e.radialScale(r[2]||0),u=o.barWidth;n.select(this).attr({class:\"mark bar\",d:\"M\"+[[l+c,-u/2],[l+c,u/2],[c,u/2],[c,-u/2]].join(\"L\")+\"Z\",transform:function(t,r){return\"rotate(\"+(e.orientation+s(t[0]))+\")\"}})}};c.dot=function(r,a,i){var o=r[2]?[r[0],r[1]+r[2]]:r,s=n.svg.symbol().size(t[i].data.dotSize).type(t[i].data.dotType)(r,a);n.select(this).attr({class:\"mark dot\",d:s,transform:function(t,r){var n,a,i,s=(n=function(t,r){var n=e.radialScale(t[1]),a=(e.angularScale(t[0])+e.orientation)*Math.PI/180;return{r:n,t:a}}(o),a=n.r*Math.cos(n.t),i=n.r*Math.sin(n.t),{x:a,y:i});return\"translate(\"+[s.x,s.y]+\")\"}})};var u=n.svg.line.radial().interpolate(t[0].data.lineInterpolation).radius((function(t){return e.radialScale(t[1])})).angle((function(t){return e.angularScale(t[0])*Math.PI/180}));c.line=function(r,a,i){var s=r[2]?o[i].map((function(t,e){return[t[0],t[1]+t[2]]})):o[i];if(n.select(this).each(c.dot).style({opacity:function(e,r){return+t[i].data.dotVisible},fill:d.stroke(r,a,i)}).attr({class:\"mark dot\"}),!(a>0)){var l=n.select(this.parentNode).selectAll(\"path.line\").data([0]);l.enter().insert(\"path\"),l.attr({class:\"line\",d:u(s),transform:function(t,r){return\"rotate(\"+(e.orientation+90)+\")\"},\"pointer-events\":\"none\"}).style({fill:function(t,e){return d.fill(r,a,i)},\"fill-opacity\":0,stroke:function(t,e){return d.stroke(r,a,i)},\"stroke-width\":function(t,e){return d[\"stroke-width\"](r,a,i)},\"stroke-dasharray\":function(t,e){return d[\"stroke-dasharray\"](r,a,i)},opacity:function(t,e){return d.opacity(r,a,i)},display:function(t,e){return d.display(r,a,i)}})}};var h=e.angularScale.range(),f=Math.abs(h[1]-h[0])/o[0].length*Math.PI/180,p=n.svg.arc().startAngle((function(t){return-f/2})).endAngle((function(t){return f/2})).innerRadius((function(t){return e.radialScale(l+(t[2]||0))})).outerRadius((function(t){return e.radialScale(l+(t[2]||0))+e.radialScale(t[1])}));c.arc=function(t,r,a){n.select(this).attr({class:\"mark arc\",d:p,transform:function(t,r){return\"rotate(\"+(e.orientation+s(t[0])+90)+\")\"}})};var d={fill:function(e,r,n){return t[n].data.color},stroke:function(e,r,n){return t[n].data.strokeColor},\"stroke-width\":function(e,r,n){return t[n].data.strokeSize+\"px\"},\"stroke-dasharray\":function(e,n,a){return r[t[a].data.strokeDash]},opacity:function(e,r,n){return t[n].data.opacity},display:function(e,r,n){return\"undefined\"==typeof t[n].data.visible||t[n].data.visible?\"block\":\"none\"}},g=n.select(this).selectAll(\"g.layer\").data(o);g.enter().append(\"g\").attr({class:\"layer\"});var m=g.selectAll(\"path.mark\").data((function(t,e){return t}));m.enter().append(\"path\").attr({class:\"mark\"}),m.style(d).each(c[e.geometryType]),m.exit().remove(),g.exit().remove()}))}return i.config=function(e){return arguments.length?(e.forEach((function(e,r){t[r]||(t[r]={}),a(t[r],o.PolyChart.defaultConfig()),a(t[r],e)})),this):t},i.getColorScale=function(){},n.rebind(i,e,\"on\"),i},o.PolyChart.defaultConfig=function(){return{data:{name:\"geom1\",t:[[1,2,3,4]],r:[[1,2,3,4]],dotType:\"circle\",dotSize:64,dotVisible:!1,barWidth:20,color:\"#ffa500\",strokeSize:1,strokeColor:\"silver\",strokeDash:\"solid\",opacity:1,index:0,visible:!0,visibleInLegend:!0},geometryConfig:{geometry:\"LinePlot\",geometryType:\"arc\",direction:\"clockwise\",orientation:0,container:\"body\",radialScale:null,angularScale:null,colorScale:n.scale.category20()}}},o.BarChart=function(){return o.PolyChart()},o.BarChart.defaultConfig=function(){return{geometryConfig:{geometryType:\"bar\"}}},o.AreaChart=function(){return o.PolyChart()},o.AreaChart.defaultConfig=function(){return{geometryConfig:{geometryType:\"arc\"}}},o.DotPlot=function(){return o.PolyChart()},o.DotPlot.defaultConfig=function(){return{geometryConfig:{geometryType:\"dot\",dotType:\"circle\"}}},o.LinePlot=function(){return o.PolyChart()},o.LinePlot.defaultConfig=function(){return{geometryConfig:{geometryType:\"line\"}}},o.Legend=function(){var t=o.Legend.defaultConfig(),e=n.dispatch(\"hover\");function r(){var e=t.legendConfig,i=t.data.map((function(t,r){return[].concat(t).map((function(t,n){var i=a({},e.elements[r]);return i.name=t,i.color=[].concat(e.elements[r].color)[n],i}))})),o=n.merge(i);o=o.filter((function(t,r){return e.elements[r]&&(e.elements[r].visibleInLegend||\"undefined\"==typeof e.elements[r].visibleInLegend)})),e.reverseOrder&&(o=o.reverse());var s=e.container;(\"string\"==typeof s||s.nodeName)&&(s=n.select(s));var l=o.map((function(t,e){return t.color})),c=e.fontSize,u=null==e.isContinuous?\"number\"==typeof o[0]:e.isContinuous,h=u?e.height:c*o.length,f=s.classed(\"legend-group\",!0).selectAll(\"svg\").data([0]),p=f.enter().append(\"svg\").attr({width:300,height:h+c,xmlns:\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",version:\"1.1\"});p.append(\"g\").classed(\"legend-axis\",!0),p.append(\"g\").classed(\"legend-marks\",!0);var d=n.range(o.length),g=n.scale[u?\"linear\":\"ordinal\"]().domain(d).range(l),m=n.scale[u?\"linear\":\"ordinal\"]().domain(d)[u?\"range\":\"rangePoints\"]([0,h]);if(u){var v=f.select(\".legend-marks\").append(\"defs\").append(\"linearGradient\").attr({id:\"grad1\",x1:\"0%\",y1:\"0%\",x2:\"0%\",y2:\"100%\"}).selectAll(\"stop\").data(l);v.enter().append(\"stop\"),v.attr({offset:function(t,e){return e/(l.length-1)*100+\"%\"}}).style({\"stop-color\":function(t,e){return t}}),f.append(\"rect\").classed(\"legend-mark\",!0).attr({height:e.height,width:e.colorBandWidth,fill:\"url(#grad1)\"})}else{var y=f.select(\".legend-marks\").selectAll(\"path.legend-mark\").data(o);y.enter().append(\"path\").classed(\"legend-mark\",!0),y.attr({transform:function(t,e){return\"translate(\"+[c/2,m(e)+c/2]+\")\"},d:function(t,e){var r,a,i,o=t.symbol;return i=3*(a=c),\"line\"===(r=o)?\"M\"+[[-a/2,-a/12],[a/2,-a/12],[a/2,a/12],[-a/2,a/12]]+\"Z\":-1!=n.svg.symbolTypes.indexOf(r)?n.svg.symbol().type(r).size(i)():n.svg.symbol().type(\"square\").size(i)()},fill:function(t,e){return g(e)}}),y.exit().remove()}var x=n.svg.axis().scale(m).orient(\"right\"),b=f.select(\"g.legend-axis\").attr({transform:\"translate(\"+[u?e.colorBandWidth:c,c/2]+\")\"}).call(x);return b.selectAll(\".domain\").style({fill:\"none\",stroke:\"none\"}),b.selectAll(\"line\").style({fill:\"none\",stroke:u?e.textColor:\"none\"}),b.selectAll(\"text\").style({fill:e.textColor,\"font-size\":e.fontSize}).text((function(t,e){return o[e].name})),r}return r.config=function(e){return arguments.length?(a(t,e),this):t},n.rebind(r,e,\"on\"),r},o.Legend.defaultConfig=function(t,e){return{data:[\"a\",\"b\",\"c\"],legendConfig:{elements:[{symbol:\"line\",color:\"red\"},{symbol:\"square\",color:\"yellow\"},{symbol:\"diamond\",color:\"limegreen\"}],height:150,colorBandWidth:30,fontSize:12,container:\"body\",isContinuous:null,textColor:\"grey\",reverseOrder:!1}}},o.tooltipPanel=function(){var t,e,r,i={container:null,hasTick:!1,fontSize:12,color:\"white\",padding:5},s=\"tooltip-\"+o.tooltipPanel.uid++,l=10,c=function(){var n=(t=i.container.selectAll(\"g.\"+s).data([0])).enter().append(\"g\").classed(s,!0).style({\"pointer-events\":\"none\",display:\"none\"});return r=n.append(\"path\").style({fill:\"white\",\"fill-opacity\":.9}).attr({d:\"M0 0\"}),e=n.append(\"text\").attr({dx:i.padding+l,dy:.3*+i.fontSize}),c};return c.text=function(a){var o=n.hsl(i.color).l,s=o>=.5?\"#aaa\":\"white\",u=o>=.5?\"black\":\"white\",h=a||\"\";e.style({fill:u,\"font-size\":i.fontSize+\"px\"}).text(h);var f=i.padding,p=e.node().getBBox(),d={fill:i.color,stroke:s,\"stroke-width\":\"2px\"},g=p.width+2*f+l,m=p.height+2*f;return r.attr({d:\"M\"+[[l,-m/2],[l,-m/4],[i.hasTick?0:l,0],[l,m/4],[l,m/2],[g,m/2],[g,-m/2]].join(\"L\")+\"Z\"}).style(d),t.attr({transform:\"translate(\"+[l,-m/2+2*f]+\")\"}),t.style({display:\"block\"}),c},c.move=function(e){if(t)return t.attr({transform:\"translate(\"+[e[0],e[1]]+\")\"}).style({display:\"block\"}),c},c.hide=function(){if(t)return t.style({display:\"none\"}),c},c.show=function(){if(t)return t.style({display:\"block\"}),c},c.config=function(t){return a(i,t),c},c},o.tooltipPanel.uid=1,o.adapter={},o.adapter.plotly=function(){var t={convert:function(t,e){var r={};if(t.data&&(r.data=t.data.map((function(t,r){var n=a({},t);return[[n,[\"marker\",\"color\"],[\"color\"]],[n,[\"marker\",\"opacity\"],[\"opacity\"]],[n,[\"marker\",\"line\",\"color\"],[\"strokeColor\"]],[n,[\"marker\",\"line\",\"dash\"],[\"strokeDash\"]],[n,[\"marker\",\"line\",\"width\"],[\"strokeSize\"]],[n,[\"marker\",\"symbol\"],[\"dotType\"]],[n,[\"marker\",\"size\"],[\"dotSize\"]],[n,[\"marker\",\"barWidth\"],[\"barWidth\"]],[n,[\"line\",\"interpolation\"],[\"lineInterpolation\"]],[n,[\"showlegend\"],[\"visibleInLegend\"]]].forEach((function(t,r){o.util.translator.apply(null,t.concat(e))})),e||delete n.marker,e&&delete n.groupId,e?(\"LinePlot\"===n.geometry?(n.type=\"scatter\",!0===n.dotVisible?(delete n.dotVisible,n.mode=\"lines+markers\"):n.mode=\"lines\"):\"DotPlot\"===n.geometry?(n.type=\"scatter\",n.mode=\"markers\"):\"AreaChart\"===n.geometry?n.type=\"area\":\"BarChart\"===n.geometry&&(n.type=\"bar\"),delete n.geometry):(\"scatter\"===n.type?\"lines\"===n.mode?n.geometry=\"LinePlot\":\"markers\"===n.mode?n.geometry=\"DotPlot\":\"lines+markers\"===n.mode&&(n.geometry=\"LinePlot\",n.dotVisible=!0):\"area\"===n.type?n.geometry=\"AreaChart\":\"bar\"===n.type&&(n.geometry=\"BarChart\"),delete n.mode,delete n.type),n})),!e&&t.layout&&\"stack\"===t.layout.barmode)){var i=o.util.duplicates(r.data.map((function(t,e){return t.geometry})));r.data.forEach((function(t,e){var n=i.indexOf(t.geometry);-1!=n&&(r.data[e].groupId=n)}))}if(t.layout){var s=a({},t.layout);if([[s,[\"plot_bgcolor\"],[\"backgroundColor\"]],[s,[\"showlegend\"],[\"showLegend\"]],[s,[\"radialaxis\"],[\"radialAxis\"]],[s,[\"angularaxis\"],[\"angularAxis\"]],[s.angularaxis,[\"showline\"],[\"gridLinesVisible\"]],[s.angularaxis,[\"showticklabels\"],[\"labelsVisible\"]],[s.angularaxis,[\"nticks\"],[\"ticksCount\"]],[s.angularaxis,[\"tickorientation\"],[\"tickOrientation\"]],[s.angularaxis,[\"ticksuffix\"],[\"ticksSuffix\"]],[s.angularaxis,[\"range\"],[\"domain\"]],[s.angularaxis,[\"endpadding\"],[\"endPadding\"]],[s.radialaxis,[\"showline\"],[\"gridLinesVisible\"]],[s.radialaxis,[\"tickorientation\"],[\"tickOrientation\"]],[s.radialaxis,[\"ticksuffix\"],[\"ticksSuffix\"]],[s.radialaxis,[\"range\"],[\"domain\"]],[s.angularAxis,[\"showline\"],[\"gridLinesVisible\"]],[s.angularAxis,[\"showticklabels\"],[\"labelsVisible\"]],[s.angularAxis,[\"nticks\"],[\"ticksCount\"]],[s.angularAxis,[\"tickorientation\"],[\"tickOrientation\"]],[s.angularAxis,[\"ticksuffix\"],[\"ticksSuffix\"]],[s.angularAxis,[\"range\"],[\"domain\"]],[s.angularAxis,[\"endpadding\"],[\"endPadding\"]],[s.radialAxis,[\"showline\"],[\"gridLinesVisible\"]],[s.radialAxis,[\"tickorientation\"],[\"tickOrientation\"]],[s.radialAxis,[\"ticksuffix\"],[\"ticksSuffix\"]],[s.radialAxis,[\"range\"],[\"domain\"]],[s.font,[\"outlinecolor\"],[\"outlineColor\"]],[s.legend,[\"traceorder\"],[\"reverseOrder\"]],[s,[\"labeloffset\"],[\"labelOffset\"]],[s,[\"defaultcolorrange\"],[\"defaultColorRange\"]]].forEach((function(t,r){o.util.translator.apply(null,t.concat(e))})),e?(\"undefined\"!=typeof s.tickLength&&(s.angularaxis.ticklen=s.tickLength,delete s.tickLength),s.tickColor&&(s.angularaxis.tickcolor=s.tickColor,delete s.tickColor)):(s.angularAxis&&\"undefined\"!=typeof s.angularAxis.ticklen&&(s.tickLength=s.angularAxis.ticklen),s.angularAxis&&\"undefined\"!=typeof s.angularAxis.tickcolor&&(s.tickColor=s.angularAxis.tickcolor)),s.legend&&\"boolean\"!=typeof s.legend.reverseOrder&&(s.legend.reverseOrder=\"normal\"!=s.legend.reverseOrder),s.legend&&\"boolean\"==typeof s.legend.traceorder&&(s.legend.traceorder=s.legend.traceorder?\"reversed\":\"normal\",delete s.legend.reverseOrder),s.margin&&\"undefined\"!=typeof s.margin.t){var l=[\"t\",\"r\",\"b\",\"l\",\"pad\"],c=[\"top\",\"right\",\"bottom\",\"left\",\"pad\"],u={};n.entries(s.margin).forEach((function(t,e){u[c[l.indexOf(t.key)]]=t.value})),s.margin=u}e&&(delete s.needsEndSpacing,delete s.minorTickColor,delete s.minorTicks,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksStep,delete s.angularaxis.rewriteTicks,delete s.angularaxis.nticks,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksStep,delete s.radialaxis.rewriteTicks,delete s.radialaxis.nticks),r.layout=s}return r}};return t}},{\"../../../constants/alignment\":697,\"../../../lib\":728,d3:164}],849:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../../lib\"),i=t(\"../../../components/color\"),o=t(\"./micropolar\"),s=t(\"./undo_manager\"),l=a.extendDeepAll,c=e.exports={};c.framework=function(t){var e,r,a,i,u,h=new s;function f(r,s){return s&&(u=s),n.select(n.select(u).node().parentNode).selectAll(\".svg-container>*:not(.chart-root)\").remove(),e=e?l(e,r):r,a||(a=o.Axis()),i=o.adapter.plotly().convert(e),a.config(i).render(u),t.data=e.data,t.layout=e.layout,c.fillLayout(t),e}return f.isPolar=!0,f.svg=function(){return a.svg()},f.getConfig=function(){return e},f.getLiveConfig=function(){return o.adapter.plotly().convert(a.getLiveConfig(),!0)},f.getLiveScales=function(){return{t:a.angularScale(),r:a.radialScale()}},f.setUndoPoint=function(){var t,n,a=this,i=o.util.cloneJson(e);t=i,n=r,h.add({undo:function(){n&&a(n)},redo:function(){a(t)}}),r=o.util.cloneJson(i)},f.undo=function(){h.undo()},f.redo=function(){h.redo()},f},c.fillLayout=function(t){var e=n.select(t).selectAll(\".plot-container\"),r=e.selectAll(\".svg-container\"),a=t.framework&&t.framework.svg&&t.framework.svg(),o={width:800,height:600,paper_bgcolor:i.background,_container:e,_paperdiv:r,_paper:a};t._fullLayout=l(o,t.layout)}},{\"../../../components/color\":595,\"../../../lib\":728,\"./micropolar\":848,\"./undo_manager\":850,d3:164}],850:[function(t,e,r){\"use strict\";e.exports=function(){var t,e=[],r=-1,n=!1;function a(t,e){return t?(n=!0,t[e](),n=!1,this):this}return{add:function(t){return n||(e.splice(r+1,e.length-r),e.push(t),r=e.length-1),this},setCallback:function(e){t=e},undo:function(){var n=e[r];return n?(a(n,\"undo\"),r-=1,t&&t(n.undo),this):this},redo:function(){var n=e[r+1];return n?(a(n,\"redo\"),r+=1,t&&t(n.redo),this):this},clear:function(){e=[],r=-1},hasUndo:function(){return-1!==r},hasRedo:function(){return r<e.length-1},getCommands:function(){return e},getPreviousCommand:function(){return e[r-1]},getIndex:function(){return r}}}},{}],851:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"tinycolor2\"),i=t(\"../../registry\"),o=t(\"../../lib\"),s=t(\"../../components/color\"),l=t(\"../../components/drawing\"),c=t(\"../plots\"),u=t(\"../../plots/cartesian/axes\"),h=t(\"../cartesian/set_convert\"),f=t(\"./set_convert\"),p=t(\"../cartesian/autorange\").doAutoRange,d=t(\"../cartesian/dragbox\"),g=t(\"../../components/dragelement\"),m=t(\"../../components/fx\"),v=t(\"../../components/titles\"),y=t(\"../cartesian/select\").prepSelect,x=t(\"../cartesian/select\").selectOnClick,b=t(\"../cartesian/select\").clearSelect,_=t(\"../../lib/setcursor\"),w=t(\"../../lib/clear_gl_canvases\"),T=t(\"../../plot_api/subroutines\").redrawReglTraces,k=t(\"../../constants/alignment\").MID_SHIFT,A=t(\"./constants\"),M=t(\"./helpers\"),S=o._,E=o.mod,C=o.deg2rad,L=o.rad2deg;function P(t,e){this.id=e,this.gd=t,this._hasClipOnAxisFalse=null,this.vangles=null,this.radialAxisAngle=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var r=t._fullLayout,n=\"clip\"+r._uid+e;this.clipIds.forTraces=n+\"-for-traces\",this.clipPaths.forTraces=r._clips.append(\"clipPath\").attr(\"id\",this.clipIds.forTraces),this.clipPaths.forTraces.append(\"path\"),this.framework=r._polarlayer.append(\"g\").attr(\"class\",e),this.radialTickLayout=null,this.angularTickLayout=null}var I=P.prototype;function z(t){var e=t.ticks+String(t.ticklen)+String(t.showticklabels);return\"side\"in t&&(e+=t.side),e}function O(t,e){return e[o.findIndexOfMin(e,(function(e){return o.angleDist(t,e)}))]}function D(t,e,r){return e?(t.attr(\"display\",null),t.attr(r)):t&&t.attr(\"display\",\"none\"),t}function R(t,e){return\"translate(\"+t+\",\"+e+\")\"}function F(t){return\"rotate(\"+t+\")\"}e.exports=function(t,e){return new P(t,e)},I.plot=function(t,e){var r=e[this.id];this._hasClipOnAxisFalse=!1;for(var n=0;n<t.length;n++){if(!1===t[n][0].trace.cliponaxis){this._hasClipOnAxisFalse=!0;break}}this.updateLayers(e,r),this.updateLayout(e,r),c.generalUpdatePerTraceModule(this.gd,this,t,r),this.updateFx(e,r)},I.updateLayers=function(t,e){var r=this.layers,a=e.radialaxis,i=e.angularaxis,o=A.layerNames,s=o.indexOf(\"frontplot\"),l=o.slice(0,s),c=\"below traces\"===i.layer,u=\"below traces\"===a.layer;c&&l.push(\"angular-line\"),u&&l.push(\"radial-line\"),c&&l.push(\"angular-axis\"),u&&l.push(\"radial-axis\"),l.push(\"frontplot\"),c||l.push(\"angular-line\"),u||l.push(\"radial-line\"),c||l.push(\"angular-axis\"),u||l.push(\"radial-axis\");var h=this.framework.selectAll(\".polarsublayer\").data(l,String);h.enter().append(\"g\").attr(\"class\",(function(t){return\"polarsublayer \"+t})).each((function(t){var e=r[t]=n.select(this);switch(t){case\"frontplot\":e.append(\"g\").classed(\"barlayer\",!0),e.append(\"g\").classed(\"scatterlayer\",!0);break;case\"backplot\":e.append(\"g\").classed(\"maplayer\",!0);break;case\"plotbg\":r.bg=e.append(\"path\");break;case\"radial-grid\":case\"angular-grid\":e.style(\"fill\",\"none\");break;case\"radial-line\":e.append(\"line\").style(\"fill\",\"none\");break;case\"angular-line\":e.append(\"path\").style(\"fill\",\"none\")}})),h.order()},I.updateLayout=function(t,e){var r=this.layers,n=t._size,a=e.radialaxis,i=e.angularaxis,o=e.domain.x,c=e.domain.y;this.xOffset=n.l+n.w*o[0],this.yOffset=n.t+n.h*(1-c[1]);var u=this.xLength=n.w*(o[1]-o[0]),h=this.yLength=n.h*(c[1]-c[0]),f=e.sector;this.sectorInRad=f.map(C);var p,d,g,m,v,y=this.sectorBBox=function(t){var e,r,n,a,i=t[0],o=t[1]-i,s=E(i,360),l=s+o,c=Math.cos(C(s)),u=Math.sin(C(s)),h=Math.cos(C(l)),f=Math.sin(C(l));a=s<=90&&l>=90||s>90&&l>=450?1:u<=0&&f<=0?0:Math.max(u,f);e=s<=180&&l>=180||s>180&&l>=540?-1:c>=0&&h>=0?0:Math.min(c,h);r=s<=270&&l>=270||s>270&&l>=630?-1:u>=0&&f>=0?0:Math.min(u,f);n=l>=360?1:c<=0&&h<=0?0:Math.max(c,h);return[e,r,n,a]}(f),x=y[2]-y[0],b=y[3]-y[1],_=h/u,w=Math.abs(b/x);_>w?(p=u,v=(h-(d=u*w))/n.h/2,g=[o[0],o[1]],m=[c[0]+v,c[1]-v]):(d=h,v=(u-(p=h/w))/n.w/2,g=[o[0]+v,o[1]-v],m=[c[0],c[1]]),this.xLength2=p,this.yLength2=d,this.xDomain2=g,this.yDomain2=m;var T=this.xOffset2=n.l+n.w*g[0],k=this.yOffset2=n.t+n.h*(1-m[1]),A=this.radius=p/x,M=this.innerRadius=e.hole*A,S=this.cx=T-A*y[0],L=this.cy=k+A*y[3],P=this.cxx=S-T,I=this.cyy=L-k;this.radialAxis=this.mockAxis(t,e,a,{_id:\"x\",side:{counterclockwise:\"top\",clockwise:\"bottom\"}[a.side],domain:[M/n.w,A/n.w]}),this.angularAxis=this.mockAxis(t,e,i,{side:\"right\",domain:[0,Math.PI],autorange:!1}),this.doAutoRange(t,e),this.updateAngularAxis(t,e),this.updateRadialAxis(t,e),this.updateRadialAxisTitle(t,e),this.xaxis=this.mockCartesianAxis(t,e,{_id:\"x\",domain:g}),this.yaxis=this.mockCartesianAxis(t,e,{_id:\"y\",domain:m});var z=this.pathSubplot();this.clipPaths.forTraces.select(\"path\").attr(\"d\",z).attr(\"transform\",R(P,I)),r.frontplot.attr(\"transform\",R(T,k)).call(l.setClipUrl,this._hasClipOnAxisFalse?null:this.clipIds.forTraces,this.gd),r.bg.attr(\"d\",z).attr(\"transform\",R(S,L)).call(s.fill,e.bgcolor)},I.mockAxis=function(t,e,r,n){var a=o.extendFlat({},r,n);return f(a,e,t),a},I.mockCartesianAxis=function(t,e,r){var n=this,a=r._id,i=o.extendFlat({type:\"linear\"},r);h(i,t);var s={x:[0,2],y:[1,3]};return i.setRange=function(){var t=n.sectorBBox,r=s[a],o=n.radialAxis._rl,l=(o[1]-o[0])/(1-e.hole);i.range=[t[r[0]]*l,t[r[1]]*l]},i.isPtWithinRange=\"x\"===a?function(t){return n.isPtInside(t)}:function(){return!0},i.setRange(),i.setScale(),i},I.doAutoRange=function(t,e){var r=this.gd,n=this.radialAxis,a=e.radialaxis;n.setScale(),p(r,n);var i=n.range;a.range=i.slice(),a._input.range=i.slice(),n._rl=[n.r2l(i[0],null,\"gregorian\"),n.r2l(i[1],null,\"gregorian\")]},I.updateRadialAxis=function(t,e){var r=this,n=r.gd,a=r.layers,i=r.radius,l=r.innerRadius,c=r.cx,h=r.cy,f=e.radialaxis,p=E(e.sector[0],360),d=r.radialAxis,g=l<i;r.fillViewInitialKey(\"radialaxis.angle\",f.angle),r.fillViewInitialKey(\"radialaxis.range\",d.range.slice()),d.setGeometry(),\"auto\"===d.tickangle&&p>90&&p<=270&&(d.tickangle=180);var m=function(t){return\"translate(\"+(d.l2p(t.x)+l)+\",0)\"},v=z(f);if(r.radialTickLayout!==v&&(a[\"radial-axis\"].selectAll(\".xtick\").remove(),r.radialTickLayout=v),g){d.setScale();var y=u.calcTicks(d),x=u.clipEnds(d,y),b=u.getTickSigns(d)[2];u.drawTicks(n,d,{vals:y,layer:a[\"radial-axis\"],path:u.makeTickPath(d,0,b),transFn:m,crisp:!1}),u.drawGrid(n,d,{vals:x,layer:a[\"radial-grid\"],path:function(t){return r.pathArc(d.r2p(t.x)+l)},transFn:o.noop,crisp:!1}),u.drawLabels(n,d,{vals:y,layer:a[\"radial-axis\"],transFn:m,labelFns:u.makeLabelFns(d,0)})}var _=r.radialAxisAngle=r.vangles?L(O(C(f.angle),r.vangles)):f.angle,w=R(c,h),T=w+F(-_);D(a[\"radial-axis\"],g&&(f.showticklabels||f.ticks),{transform:T}),D(a[\"radial-grid\"],g&&f.showgrid,{transform:w}),D(a[\"radial-line\"].select(\"line\"),g&&f.showline,{x1:l,y1:0,x2:i,y2:0,transform:T}).attr(\"stroke-width\",f.linewidth).call(s.stroke,f.linecolor)},I.updateRadialAxisTitle=function(t,e,r){var n=this.gd,a=this.radius,i=this.cx,o=this.cy,s=e.radialaxis,c=this.id+\"title\",u=void 0!==r?r:this.radialAxisAngle,h=C(u),f=Math.cos(h),p=Math.sin(h),d=0;if(s.title){var g=l.bBox(this.layers[\"radial-axis\"].node()).height,m=s.title.font.size;d=\"counterclockwise\"===s.side?-g-.4*m:g+.8*m}this.layers[\"radial-axis-title\"]=v.draw(n,c,{propContainer:s,propName:this.id+\".radialaxis.title\",placeholder:S(n,\"Click to enter radial axis title\"),attributes:{x:i+a/2*f+d*p,y:o-a/2*p+d*f,\"text-anchor\":\"middle\"},transform:{rotate:-u}})},I.updateAngularAxis=function(t,e){var r=this,n=r.gd,a=r.layers,i=r.radius,l=r.innerRadius,c=r.cx,h=r.cy,f=e.angularaxis,p=r.angularAxis;r.fillViewInitialKey(\"angularaxis.rotation\",f.rotation),p.setGeometry(),p.setScale();var d=function(t){return p.t2g(t.x)};\"linear\"===p.type&&\"radians\"===p.thetaunit&&(p.tick0=L(p.tick0),p.dtick=L(p.dtick));var g=function(t){return R(c+i*Math.cos(t),h-i*Math.sin(t))},m=u.makeLabelFns(p,0).labelStandoff,v={xFn:function(t){var e=d(t);return Math.cos(e)*m},yFn:function(t){var e=d(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(m+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*k)},anchorFn:function(t){var e=d(t),r=Math.cos(e);return Math.abs(r)<.1?\"middle\":r>0?\"start\":\"end\"},heightFn:function(t,e,r){var n=d(t);return-.5*(1+Math.sin(n))*r}},y=z(f);r.angularTickLayout!==y&&(a[\"angular-axis\"].selectAll(\".\"+p._id+\"tick\").remove(),r.angularTickLayout=y);var x,b=u.calcTicks(p);if(\"linear\"===e.gridshape?(x=b.map(d),o.angleDelta(x[0],x[1])<0&&(x=x.slice().reverse())):x=null,r.vangles=x,\"category\"===p.type&&(b=b.filter((function(t){return o.isAngleInsideSector(d(t),r.sectorInRad)}))),p.visible){var _=\"inside\"===p.ticks?-1:1,w=(p.linewidth||1)/2;u.drawTicks(n,p,{vals:b,layer:a[\"angular-axis\"],path:\"M\"+_*w+\",0h\"+_*p.ticklen,transFn:function(t){var e=d(t);return g(e)+F(-L(e))},crisp:!1}),u.drawGrid(n,p,{vals:b,layer:a[\"angular-grid\"],path:function(t){var e=d(t),r=Math.cos(e),n=Math.sin(e);return\"M\"+[c+l*r,h-l*n]+\"L\"+[c+i*r,h-i*n]},transFn:o.noop,crisp:!1}),u.drawLabels(n,p,{vals:b,layer:a[\"angular-axis\"],repositionOnUpdate:!0,transFn:function(t){return g(d(t))},labelFns:v})}D(a[\"angular-line\"].select(\"path\"),f.showline,{d:r.pathSubplot(),transform:R(c,h)}).attr(\"stroke-width\",f.linewidth).call(s.stroke,f.linecolor)},I.updateFx=function(t,e){this.gd._context.staticPlot||(this.updateAngularDrag(t),this.updateRadialDrag(t,e,0),this.updateRadialDrag(t,e,1),this.updateMainDrag(t))},I.updateMainDrag=function(t){var e=this,r=e.gd,o=e.layers,s=t._zoomlayer,l=A.MINZOOM,c=A.OFFEDGE,u=e.radius,h=e.innerRadius,f=e.cx,p=e.cy,v=e.cxx,_=e.cyy,w=e.sectorInRad,T=e.vangles,k=e.radialAxis,S=M.clampTiny,E=M.findXYatLength,C=M.findEnclosingVertexAngles,L=A.cornerHalfWidth,P=A.cornerLen/2,I=d.makeDragger(o,\"path\",\"maindrag\",\"crosshair\");n.select(I).attr(\"d\",e.pathSubplot()).attr(\"transform\",R(f,p));var z,O,D,F,B,N,j,V,U,q={element:I,gd:r,subplot:e.id,plotinfo:{id:e.id,xaxis:e.xaxis,yaxis:e.yaxis},xaxes:[e.xaxis],yaxes:[e.yaxis]};function H(t,e){return Math.sqrt(t*t+e*e)}function G(t,e){return H(t-v,e-_)}function Y(t,e){return Math.atan2(_-e,t-v)}function W(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function Z(t,r){if(0===t)return e.pathSector(2*L);var n=P/t,a=r-n,i=r+n,o=Math.max(0,Math.min(t,u)),s=o-L,l=o+L;return\"M\"+W(s,a)+\"A\"+[s,s]+\" 0,0,0 \"+W(s,i)+\"L\"+W(l,i)+\"A\"+[l,l]+\" 0,0,1 \"+W(l,a)+\"Z\"}function X(t,r,n){if(0===t)return e.pathSector(2*L);var a,i,o=W(t,r),s=W(t,n),l=S((o[0]+s[0])/2),c=S((o[1]+s[1])/2);if(l&&c){var u=c/l,h=-1/u,f=E(L,u,l,c);a=E(P,h,f[0][0],f[0][1]),i=E(P,h,f[1][0],f[1][1])}else{var p,d;c?(p=P,d=L):(p=L,d=P),a=[[l-p,c-d],[l+p,c-d]],i=[[l-p,c+d],[l+p,c+d]]}return\"M\"+a.join(\"L\")+\"L\"+i.reverse().join(\"L\")+\"Z\"}function J(t,e){return e=Math.max(Math.min(e,u),h),t<c?t=0:u-t<c?t=u:e<c?e=0:u-e<c&&(e=u),Math.abs(e-t)>l?(t<e?(D=t,F=e):(D=e,F=t),!0):(D=null,F=null,!1)}function K(t,e){t=t||B,e=e||\"M0,0Z\",V.attr(\"d\",t),U.attr(\"d\",e),d.transitionZoombox(V,U,N,j),N=!0;var n={};rt(n),r.emit(\"plotly_relayouting\",n)}function Q(t,r){var n,a,i=z+t,o=O+r,s=G(z,O),l=Math.min(G(i,o),u),c=Y(z,O);J(s,l)&&(n=B+e.pathSector(F),D&&(n+=e.pathSector(D)),a=Z(D,c)+Z(F,c)),K(n,a)}function $(t,e,r,n){var a=M.findIntersectionXY(r,n,r,[t-v,_-e]);return H(a[0],a[1])}function tt(t,r){var n,a,i=z+t,o=O+r,s=Y(z,O),l=Y(i,o),c=C(s,T),h=C(l,T);J($(z,O,c[0],c[1]),Math.min($(i,o,h[0],h[1]),u))&&(n=B+e.pathSector(F),D&&(n+=e.pathSector(D)),a=[X(D,c[0],c[1]),X(F,c[0],c[1])].join(\" \")),K(n,a)}function et(){if(d.removeZoombox(r),null!==D&&null!==F){var t={};rt(t),d.showDoubleClickNotifier(r),i.call(\"_guiRelayout\",r,t)}}function rt(t){var r=k._rl,n=(r[1]-r[0])/(1-h/u)/u,a=[r[0]+(D-h)*n,r[0]+(F-h)*n];t[e.id+\".radialaxis.range\"]=a}function nt(t,n){var a=r._fullLayout.clickmode;if(d.removeZoombox(r),2===t){var o={};for(var s in e.viewInitial)o[e.id+\".\"+s]=e.viewInitial[s];r.emit(\"plotly_doubleclick\",null),i.call(\"_guiRelayout\",r,o)}a.indexOf(\"select\")>-1&&1===t&&x(n,r,[e.xaxis],[e.yaxis],e.id,q),a.indexOf(\"event\")>-1&&m.click(r,n,e.id)}q.prepFn=function(t,n,i){var o=r._fullLayout.dragmode,l=I.getBoundingClientRect();if(z=n-l.left,O=i-l.top,T){var c=M.findPolygonOffset(u,w[0],w[1],T);z+=v+c[0],O+=_+c[1]}switch(o){case\"zoom\":q.moveFn=T?tt:Q,q.clickFn=nt,q.doneFn=et,function(){D=null,F=null,B=e.pathSubplot(),N=!1;var t=r._fullLayout[e.id];j=a(t.bgcolor).getLuminance(),(V=d.makeZoombox(s,j,f,p,B)).attr(\"fill-rule\",\"evenodd\"),U=d.makeCorners(s,f,p),b(r)}();break;case\"select\":case\"lasso\":y(t,n,i,q,o)}},I.onmousemove=function(t){m.hover(r,t,e.id),r._fullLayout._lasthover=I,r._fullLayout._hoversubplot=e.id},I.onmouseout=function(t){r._dragging||g.unhover(r,t)},g.init(q)},I.updateRadialDrag=function(t,e,r){var a=this,s=a.gd,l=a.layers,c=a.radius,u=a.innerRadius,h=a.cx,f=a.cy,p=a.radialAxis,m=A.radialDragBoxSize,v=m/2;if(p.visible){var y,x,_,k=C(a.radialAxisAngle),M=p._rl,S=M[0],E=M[1],P=M[r],I=.75*(M[1]-M[0])/(1-e.hole)/c;r?(y=h+(c+v)*Math.cos(k),x=f-(c+v)*Math.sin(k),_=\"radialdrag\"):(y=h+(u-v)*Math.cos(k),x=f-(u-v)*Math.sin(k),_=\"radialdrag-inner\");var z,B,N,j=d.makeRectDragger(l,_,\"crosshair\",-v,-v,m,m),V={element:j,gd:s};D(n.select(j),p.visible&&u<c,{transform:R(y,x)}),V.prepFn=function(){z=null,B=null,N=null,V.moveFn=U,V.doneFn=q,b(s)},V.clampFn=function(t,e){return Math.sqrt(t*t+e*e)<A.MINDRAG&&(t=0,e=0),[t,e]},g.init(V)}function U(t,e){if(z)z(t,e);else{var n=[t,-e],i=[Math.cos(k),Math.sin(k)],l=Math.abs(o.dot(n,i)/Math.sqrt(o.dot(n,n)));isNaN(l)||(z=l<.5?H:G)}var c={};!function(t){null!==B?t[a.id+\".radialaxis.angle\"]=B:null!==N&&(t[a.id+\".radialaxis.range[\"+r+\"]\"]=N)}(c),s.emit(\"plotly_relayouting\",c)}function q(){null!==B?i.call(\"_guiRelayout\",s,a.id+\".radialaxis.angle\",B):null!==N&&i.call(\"_guiRelayout\",s,a.id+\".radialaxis.range[\"+r+\"]\",N)}function H(t,e){if(0!==r){var n=y+t,i=x+e;B=Math.atan2(f-i,n-h),a.vangles&&(B=O(B,a.vangles)),B=L(B);var o=R(h,f)+F(-B);l[\"radial-axis\"].attr(\"transform\",o),l[\"radial-line\"].select(\"line\").attr(\"transform\",o);var s=a.gd._fullLayout,c=s[a.id];a.updateRadialAxisTitle(s,c,B)}}function G(t,e){var n=o.dot([t,-e],[Math.cos(k),Math.sin(k)]);if(N=P-I*n,I>0==(r?N>S:N<E)){var l=s._fullLayout,c=l[a.id];p.range[r]=N,p._rl[r]=N,a.updateRadialAxis(l,c),a.xaxis.setRange(),a.xaxis.setScale(),a.yaxis.setRange(),a.yaxis.setScale();var u=!1;for(var h in a.traceHash){var f=a.traceHash[h],d=o.filterVisible(f);f[0][0].trace._module.plot(s,a,d,c),i.traceIs(h,\"gl\")&&d.length&&(u=!0)}u&&(w(s),T(s))}else N=null}},I.updateAngularDrag=function(t){var e=this,r=e.gd,a=e.layers,s=e.radius,c=e.angularAxis,u=e.cx,h=e.cy,f=e.cxx,p=e.cyy,m=A.angularDragBoxSize,v=d.makeDragger(a,\"path\",\"angulardrag\",\"move\"),y={element:v,gd:r};function x(t,e){return Math.atan2(p+m-e,t-f-m)}n.select(v).attr(\"d\",e.pathAnnulus(s,s+m)).attr(\"transform\",R(u,h)).call(_,\"move\");var k,M,S,E,C,P,I=a.frontplot.select(\".scatterlayer\").selectAll(\".trace\"),z=I.selectAll(\".point\"),O=I.selectAll(\".textpoint\");function D(t,s){var d=e.gd._fullLayout,g=d[e.id],m=x(k+t,M+s),v=L(m-P);if(E=S+v,a.frontplot.attr(\"transform\",R(e.xOffset2,e.yOffset2)+F([-v,f,p])),e.vangles){C=e.radialAxisAngle+v;var y=R(u,h)+F(-v),b=R(u,h)+F(-C);a.bg.attr(\"transform\",y),a[\"radial-grid\"].attr(\"transform\",y),a[\"radial-axis\"].attr(\"transform\",b),a[\"radial-line\"].select(\"line\").attr(\"transform\",b),e.updateRadialAxisTitle(d,g,C)}else e.clipPaths.forTraces.select(\"path\").attr(\"transform\",R(f,p)+F(v));z.each((function(){var t=n.select(this),e=l.getTranslate(t);t.attr(\"transform\",R(e.x,e.y)+F([v]))})),O.each((function(){var t=n.select(this),e=t.select(\"text\"),r=l.getTranslate(t);t.attr(\"transform\",F([v,e.attr(\"x\"),e.attr(\"y\")])+R(r.x,r.y))})),c.rotation=o.modHalf(E,360),e.updateAngularAxis(d,g),e._hasClipOnAxisFalse&&!o.isFullCircle(e.sectorInRad)&&I.call(l.hideOutsideRangePoints,e);var _=!1;for(var A in e.traceHash)if(i.traceIs(A,\"gl\")){var D=e.traceHash[A],N=o.filterVisible(D);D[0][0].trace._module.plot(r,e,N,g),N.length&&(_=!0)}_&&(w(r),T(r));var j={};B(j),r.emit(\"plotly_relayouting\",j)}function B(t){t[e.id+\".angularaxis.rotation\"]=E,e.vangles&&(t[e.id+\".radialaxis.angle\"]=C)}function N(){O.select(\"text\").attr(\"transform\",null);var t={};B(t),i.call(\"_guiRelayout\",r,t)}y.prepFn=function(n,a,i){var o=t[e.id];S=o.angularaxis.rotation;var s=v.getBoundingClientRect();k=a-s.left,M=i-s.top,P=x(k,M),y.moveFn=D,y.doneFn=N,b(r)},e.vangles&&!o.isFullCircle(e.sectorInRad)&&(y.prepFn=o.noop,_(n.select(v),null)),g.init(y)},I.isPtInside=function(t){var e=this.sectorInRad,r=this.vangles,n=this.angularAxis.c2g(t.theta),a=this.radialAxis,i=a.c2l(t.r),s=a._rl;return(r?M.isPtInsidePolygon:o.isPtInsideSector)(i,n,s,e,r)},I.pathArc=function(t){var e=this.sectorInRad,r=this.vangles;return(r?M.pathPolygon:o.pathArc)(t,e[0],e[1],r)},I.pathSector=function(t){var e=this.sectorInRad,r=this.vangles;return(r?M.pathPolygon:o.pathSector)(t,e[0],e[1],r)},I.pathAnnulus=function(t,e){var r=this.sectorInRad,n=this.vangles;return(n?M.pathPolygonAnnulus:o.pathAnnulus)(t,e,r[0],r[1],n)},I.pathSubplot=function(){var t=this.innerRadius,e=this.radius;return t?this.pathAnnulus(t,e):this.pathSector(e)},I.fillViewInitialKey=function(t,e){t in this.viewInitial||(this.viewInitial[t]=e)}},{\"../../components/color\":595,\"../../components/dragelement\":614,\"../../components/drawing\":617,\"../../components/fx\":635,\"../../components/titles\":690,\"../../constants/alignment\":697,\"../../lib\":728,\"../../lib/clear_gl_canvases\":713,\"../../lib/setcursor\":748,\"../../plot_api/subroutines\":767,\"../../plots/cartesian/axes\":776,\"../../registry\":859,\"../cartesian/autorange\":775,\"../cartesian/dragbox\":784,\"../cartesian/select\":795,\"../cartesian/set_convert\":796,\"../plots\":839,\"./constants\":840,\"./helpers\":841,\"./set_convert\":852,d3:164,tinycolor2:528}],852:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../cartesian/set_convert\"),i=n.deg2rad,o=n.rad2deg;e.exports=function(t,e,r){switch(a(t,r),t._id){case\"x\":case\"radialaxis\":!function(t,e){var r=e._subplot;t.setGeometry=function(){var e=t._rl[0],n=t._rl[1],a=r.innerRadius,i=(r.radius-a)/(n-e),o=a/i,s=e>n?function(t){return t<=0}:function(t){return t>=0};t.c2g=function(r){var n=t.c2l(r)-e;return(s(n)?n:0)+o},t.g2c=function(r){return t.l2c(r+e-o)},t.g2p=function(t){return t*i},t.c2p=function(e){return t.g2p(t.c2g(e))}}}(t,e);break;case\"angularaxis\":!function(t,e){var r=t.type;if(\"linear\"===r){var a=t.d2c,s=t.c2d;t.d2c=function(t,e){return function(t,e){return\"degrees\"===e?i(t):t}(a(t),e)},t.c2d=function(t,e){return s(function(t,e){return\"degrees\"===e?o(t):t}(t,e))}}t.makeCalcdata=function(e,a){var i,o,s=e[a],l=e._length,c=function(r){return t.d2c(r,e.thetaunit)};if(s){if(n.isTypedArray(s)&&\"linear\"===r){if(l===s.length)return s;if(s.subarray)return s.subarray(0,l)}for(i=new Array(l),o=0;o<l;o++)i[o]=c(s[o])}else{var u=a+\"0\",h=\"d\"+a,f=u in e?c(e[u]):0,p=e[h]?c(e[h]):(t.period||2*Math.PI)/l;for(i=new Array(l),o=0;o<l;o++)i[o]=f+o*p}return i},t.setGeometry=function(){var a,s,l,c,u=e.sector,h=u.map(i),f={clockwise:-1,counterclockwise:1}[t.direction],p=i(t.rotation),d=function(t){return f*t+p},g=function(t){return(t-p)/f};switch(r){case\"linear\":s=a=n.identity,c=i,l=o,t.range=n.isFullCircle(h)?[u[0],u[0]+360]:h.map(g).map(o);break;case\"category\":var m=t._categories.length,v=t.period?Math.max(t.period,m):m;0===v&&(v=1),s=c=function(t){return 2*t*Math.PI/v},a=l=function(t){return t*v/Math.PI/2},t.range=[0,v]}t.c2g=function(t){return d(s(t))},t.g2c=function(t){return a(g(t))},t.t2g=function(t){return d(c(t))},t.g2t=function(t){return l(g(t))}}}(t,e)}}},{\"../../lib\":728,\"../cartesian/set_convert\":796}],853:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),a=t(\"../plot_api/plot_template\"),i=t(\"./domain\").defaults;e.exports=function(t,e,r,o){var s,l,c=o.type,u=o.attributes,h=o.handleDefaults,f=o.partition||\"x\",p=e._subplots[c],d=p.length,g=d&&p[0].replace(/\\d+$/,\"\");function m(t,e){return n.coerce(s,l,u,t,e)}for(var v=0;v<d;v++){var y=p[v];s=t[y]?t[y]:t[y]={},l=a.newContainer(e,y,g),m(\"uirevision\",e.uirevision);var x={};x[f]=[v/d,(v+1)/d],i(l,e,m,x),o.id=y,h(s,l,m,o)}}},{\"../lib\":728,\"../plot_api/plot_template\":766,\"./domain\":803}],854:[function(t,e,r){\"use strict\";['Variables are inserted using %{variable}, for example \"y: %{y}\".','Numbers are formatted using d3-format\\'s syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\".',t(\"../constants/docs\").FORMAT_LINK,\"for details on the formatting syntax.\",'Dates are formatted using d3-time-format\\'s syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\".',t(\"../constants/docs\").DATE_FORMAT_LINK,\"for details on the date formatting syntax.\"].join(\" \");function n(t){var e=t.description?\" \"+t.description:\"\",r=t.keys||[];if(r.length>0){for(var n=[],a=0;a<r.length;a++)n[a]=\"`\"+r[a]+\"`\";e+=\"Finally, the template string has access to \",e=1===r.length?\"variable \"+n[0]:\"variables \"+n.slice(0,-1).join(\", \")+\" and \"+n.slice(-1)+\".\"}return e}r.hovertemplateAttrs=function(t,e){t=t||{};n(e=e||{});var r={valType:\"string\",dflt:\"\",editType:t.editType||\"none\"};return!1!==t.arrayOk&&(r.arrayOk=!0),r},r.texttemplateAttrs=function(t,e){t=t||{};n(e=e||{});var r={valType:\"string\",dflt:\"\",editType:t.editType||\"calc\"};return!1!==t.arrayOk&&(r.arrayOk=!0),r}},{\"../constants/docs\":699}],855:[function(t,e,r){\"use strict\";var n=t(\"./ternary\"),a=t(\"../../plots/get_data\").getSubplotCalcData,i=t(\"../../lib\").counterRegex;r.name=\"ternary\";var o=r.attr=\"subplot\";r.idRoot=\"ternary\",r.idRegex=r.attrRegex=i(\"ternary\"),(r.attributes={})[o]={valType:\"subplotid\",dflt:\"ternary\",editType:\"calc\"},r.layoutAttributes=t(\"./layout_attributes\"),r.supplyLayoutDefaults=t(\"./layout_defaults\"),r.plot=function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots.ternary,o=0;o<i.length;o++){var s=i[o],l=a(r,\"ternary\",s),c=e[s]._subplot;c||(c=new n({id:s,graphDiv:t,container:e._ternarylayer.node()},e),e[s]._subplot=c),c.plot(l,e,t._promises)}},r.clean=function(t,e,r,n){for(var a=n._subplots.ternary||[],i=0;i<a.length;i++){var o=a[i],s=n[o]._subplot;!e[o]&&s&&(s.plotContainer.remove(),s.clipDef.remove(),s.clipDefRelative.remove(),s.layers[\"a-title\"].remove(),s.layers[\"b-title\"].remove(),s.layers[\"c-title\"].remove())}}},{\"../../lib\":728,\"../../plots/get_data\":813,\"./layout_attributes\":856,\"./layout_defaults\":857,\"./ternary\":858}],856:[function(t,e,r){\"use strict\";var n=t(\"../../components/color/attributes\"),a=t(\"../domain\").attributes,i=t(\"../cartesian/layout_attributes\"),o=t(\"../../plot_api/edit_types\").overrideAll,s=t(\"../../lib/extend\").extendFlat,l={title:{text:i.title.text,font:i.title.font},color:i.color,tickmode:i.tickmode,nticks:s({},i.nticks,{dflt:6,min:1}),tick0:i.tick0,dtick:i.dtick,tickvals:i.tickvals,ticktext:i.ticktext,ticks:i.ticks,ticklen:i.ticklen,tickwidth:i.tickwidth,tickcolor:i.tickcolor,showticklabels:i.showticklabels,showtickprefix:i.showtickprefix,tickprefix:i.tickprefix,showticksuffix:i.showticksuffix,ticksuffix:i.ticksuffix,showexponent:i.showexponent,exponentformat:i.exponentformat,separatethousands:i.separatethousands,tickfont:i.tickfont,tickangle:i.tickangle,tickformat:i.tickformat,tickformatstops:i.tickformatstops,hoverformat:i.hoverformat,showline:s({},i.showline,{dflt:!0}),linecolor:i.linecolor,linewidth:i.linewidth,showgrid:s({},i.showgrid,{dflt:!0}),gridcolor:i.gridcolor,gridwidth:i.gridwidth,layer:i.layer,min:{valType:\"number\",dflt:0,min:0},_deprecated:{title:i._deprecated.title,titlefont:i._deprecated.titlefont}},c=e.exports=o({domain:a({name:\"ternary\"}),bgcolor:{valType:\"color\",dflt:n.background},sum:{valType:\"number\",dflt:1,min:0},aaxis:l,baxis:l,caxis:l},\"plot\",\"from-root\");c.uirevision={valType:\"any\",editType:\"none\"},c.aaxis.uirevision=c.baxis.uirevision=c.caxis.uirevision={valType:\"any\",editType:\"none\"}},{\"../../components/color/attributes\":594,\"../../lib/extend\":719,\"../../plot_api/edit_types\":759,\"../cartesian/layout_attributes\":790,\"../domain\":803}],857:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),a=t(\"../../plot_api/plot_template\"),i=t(\"../../lib\"),o=t(\"../subplot_defaults\"),s=t(\"../cartesian/tick_label_defaults\"),l=t(\"../cartesian/tick_mark_defaults\"),c=t(\"../cartesian/tick_value_defaults\"),u=t(\"../cartesian/line_grid_defaults\"),h=t(\"./layout_attributes\"),f=[\"aaxis\",\"baxis\",\"caxis\"];function p(t,e,r,i){var o,s,l,c=r(\"bgcolor\"),u=r(\"sum\");i.bgColor=n.combine(c,i.paper_bgcolor);for(var h=0;h<f.length;h++)s=t[o=f[h]]||{},(l=a.newContainer(e,o))._name=o,d(s,l,i,e);var p=e.aaxis,g=e.baxis,m=e.caxis;p.min+g.min+m.min>=u&&(p.min=0,g.min=0,m.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}function d(t,e,r,n){var a=h[e._name];function o(r,n){return i.coerce(t,e,a,r,n)}o(\"uirevision\",n.uirevision),e.type=\"linear\";var f=o(\"color\"),p=f!==a.color.dflt?f:r.font.color,d=e._name.charAt(0).toUpperCase(),g=\"Component \"+d,m=o(\"title.text\",g);e._hovertitle=m===g?m:d,i.coerceFont(o,\"title.font\",{family:r.font.family,size:Math.round(1.2*r.font.size),color:p}),o(\"min\"),c(t,e,o,\"linear\"),s(t,e,o,\"linear\",{}),l(t,e,o,{outerTicks:!0}),o(\"showticklabels\")&&(i.coerceFont(o,\"tickfont\",{family:r.font.family,size:r.font.size,color:p}),o(\"tickangle\"),o(\"tickformat\")),u(t,e,o,{dfltColor:f,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:a}),o(\"hoverformat\"),o(\"layer\")}e.exports=function(t,e,r){o(t,e,r,{type:\"ternary\",attributes:h,handleDefaults:p,font:e.font,paper_bgcolor:e.paper_bgcolor})}},{\"../../components/color\":595,\"../../lib\":728,\"../../plot_api/plot_template\":766,\"../cartesian/line_grid_defaults\":792,\"../cartesian/tick_label_defaults\":797,\"../cartesian/tick_mark_defaults\":798,\"../cartesian/tick_value_defaults\":799,\"../subplot_defaults\":853,\"./layout_attributes\":856}],858:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"tinycolor2\"),i=t(\"../../registry\"),o=t(\"../../lib\"),s=o._,l=t(\"../../components/color\"),c=t(\"../../components/drawing\"),u=t(\"../cartesian/set_convert\"),h=t(\"../../lib/extend\").extendFlat,f=t(\"../plots\"),p=t(\"../cartesian/axes\"),d=t(\"../../components/dragelement\"),g=t(\"../../components/fx\"),m=t(\"../../components/dragelement/helpers\"),v=m.freeMode,y=m.rectMode,x=t(\"../../components/titles\"),b=t(\"../cartesian/select\").prepSelect,_=t(\"../cartesian/select\").selectOnClick,w=t(\"../cartesian/select\").clearSelect,T=t(\"../cartesian/select\").clearSelectionsCache,k=t(\"../cartesian/constants\");function A(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}e.exports=A;var M=A.prototype;M.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},M.plot=function(t,e){var r=e[this.id],n=e._size;this._hasClipOnAxisFalse=!1;for(var a=0;a<t.length;a++){if(!1===t[a][0].trace.cliponaxis){this._hasClipOnAxisFalse=!0;break}}this.updateLayers(r),this.adjustLayout(r,n),f.generalUpdatePerTraceModule(this.graphDiv,this,t,r),this.layers.plotbg.select(\"path\").call(l.fill,r.bgcolor)},M.makeFramework=function(t){var e=this.graphDiv,r=t[this.id],n=this.clipId=\"clip\"+this.layoutId+this.id,a=this.clipIdRelative=\"clip-relative\"+this.layoutId+this.id;this.clipDef=o.ensureSingleById(t._clips,\"clipPath\",n,(function(t){t.append(\"path\").attr(\"d\",\"M0,0Z\")})),this.clipDefRelative=o.ensureSingleById(t._clips,\"clipPath\",a,(function(t){t.append(\"path\").attr(\"d\",\"M0,0Z\")})),this.plotContainer=o.ensureSingle(this.container,\"g\",this.id),this.updateLayers(r),c.setClipUrl(this.layers.backplot,n,e),c.setClipUrl(this.layers.grids,n,e)},M.updateLayers=function(t){var e=this.layers,r=[\"draglayer\",\"plotbg\",\"backplot\",\"grids\"];\"below traces\"===t.aaxis.layer&&r.push(\"aaxis\",\"aline\"),\"below traces\"===t.baxis.layer&&r.push(\"baxis\",\"bline\"),\"below traces\"===t.caxis.layer&&r.push(\"caxis\",\"cline\"),r.push(\"frontplot\"),\"above traces\"===t.aaxis.layer&&r.push(\"aaxis\",\"aline\"),\"above traces\"===t.baxis.layer&&r.push(\"baxis\",\"bline\"),\"above traces\"===t.caxis.layer&&r.push(\"caxis\",\"cline\");var a=this.plotContainer.selectAll(\"g.toplevel\").data(r,String),i=[\"agrid\",\"bgrid\",\"cgrid\"];a.enter().append(\"g\").attr(\"class\",(function(t){return\"toplevel \"+t})).each((function(t){var r=n.select(this);e[t]=r,\"frontplot\"===t?r.append(\"g\").classed(\"scatterlayer\",!0):\"backplot\"===t?r.append(\"g\").classed(\"maplayer\",!0):\"plotbg\"===t?r.append(\"path\").attr(\"d\",\"M0,0Z\"):\"aline\"===t||\"bline\"===t||\"cline\"===t?r.append(\"path\"):\"grids\"===t&&i.forEach((function(t){e[t]=r.append(\"g\").classed(\"grid \"+t,!0)}))})),a.order()};var S=Math.sqrt(4/3);M.adjustLayout=function(t,e){var r,n,a,i,o,s,f=this,p=t.domain,d=(p.x[0]+p.x[1])/2,g=(p.y[0]+p.y[1])/2,m=p.x[1]-p.x[0],v=p.y[1]-p.y[0],y=m*e.w,x=v*e.h,b=t.sum,_=t.aaxis.min,w=t.baxis.min,T=t.caxis.min;y>S*x?a=(i=x)*S:i=(a=y)/S,o=m*a/y,s=v*i/x,r=e.l+e.w*d-a/2,n=e.t+e.h*(1-g)-i/2,f.x0=r,f.y0=n,f.w=a,f.h=i,f.sum=b,f.xaxis={type:\"linear\",range:[_+2*T-b,b-_-2*w],domain:[d-o/2,d+o/2],_id:\"x\"},u(f.xaxis,f.graphDiv._fullLayout),f.xaxis.setScale(),f.xaxis.isPtWithinRange=function(t){return t.a>=f.aaxis.range[0]&&t.a<=f.aaxis.range[1]&&t.b>=f.baxis.range[1]&&t.b<=f.baxis.range[0]&&t.c>=f.caxis.range[1]&&t.c<=f.caxis.range[0]},f.yaxis={type:\"linear\",range:[_,b-w-T],domain:[g-s/2,g+s/2],_id:\"y\"},u(f.yaxis,f.graphDiv._fullLayout),f.yaxis.setScale(),f.yaxis.isPtWithinRange=function(){return!0};var k=f.yaxis.domain[0],A=f.aaxis=h({},t.aaxis,{range:[_,b-w-T],side:\"left\",tickangle:(+t.aaxis.tickangle||0)-30,domain:[k,k+s*S],anchor:\"free\",position:0,_id:\"y\",_length:a});u(A,f.graphDiv._fullLayout),A.setScale();var M=f.baxis=h({},t.baxis,{range:[b-_-T,w],side:\"bottom\",domain:f.xaxis.domain,anchor:\"free\",position:0,_id:\"x\",_length:a});u(M,f.graphDiv._fullLayout),M.setScale();var E=f.caxis=h({},t.caxis,{range:[b-_-w,T],side:\"right\",tickangle:(+t.caxis.tickangle||0)+30,domain:[k,k+s*S],anchor:\"free\",position:0,_id:\"y\",_length:a});u(E,f.graphDiv._fullLayout),E.setScale();var C=\"M\"+r+\",\"+(n+i)+\"h\"+a+\"l-\"+a/2+\",-\"+i+\"Z\";f.clipDef.select(\"path\").attr(\"d\",C),f.layers.plotbg.select(\"path\").attr(\"d\",C);var L=\"M0,\"+i+\"h\"+a+\"l-\"+a/2+\",-\"+i+\"Z\";f.clipDefRelative.select(\"path\").attr(\"d\",L);var P=\"translate(\"+r+\",\"+n+\")\";f.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",P),f.clipDefRelative.select(\"path\").attr(\"transform\",null);var I=\"translate(\"+(r-M._offset)+\",\"+(n+i)+\")\";f.layers.baxis.attr(\"transform\",I),f.layers.bgrid.attr(\"transform\",I);var z=\"translate(\"+(r+a/2)+\",\"+n+\")rotate(30)translate(0,\"+-A._offset+\")\";f.layers.aaxis.attr(\"transform\",z),f.layers.agrid.attr(\"transform\",z);var O=\"translate(\"+(r+a/2)+\",\"+n+\")rotate(-30)translate(0,\"+-E._offset+\")\";f.layers.caxis.attr(\"transform\",O),f.layers.cgrid.attr(\"transform\",O),f.drawAxes(!0),f.layers.aline.select(\"path\").attr(\"d\",A.showline?\"M\"+r+\",\"+(n+i)+\"l\"+a/2+\",-\"+i:\"M0,0\").call(l.stroke,A.linecolor||\"#000\").style(\"stroke-width\",(A.linewidth||0)+\"px\"),f.layers.bline.select(\"path\").attr(\"d\",M.showline?\"M\"+r+\",\"+(n+i)+\"h\"+a:\"M0,0\").call(l.stroke,M.linecolor||\"#000\").style(\"stroke-width\",(M.linewidth||0)+\"px\"),f.layers.cline.select(\"path\").attr(\"d\",E.showline?\"M\"+(r+a/2)+\",\"+n+\"l\"+a/2+\",\"+i:\"M0,0\").call(l.stroke,E.linecolor||\"#000\").style(\"stroke-width\",(E.linewidth||0)+\"px\"),f.graphDiv._context.staticPlot||f.initInteractions(),c.setClipUrl(f.layers.frontplot,f._hasClipOnAxisFalse?null:f.clipId,f.graphDiv)},M.drawAxes=function(t){var e=this.graphDiv,r=this.id.substr(7)+\"title\",n=this.layers,a=this.aaxis,i=this.baxis,o=this.caxis;if(this.drawAx(a),this.drawAx(i),this.drawAx(o),t){var l=Math.max(a.showticklabels?a.tickfont.size/2:0,(o.showticklabels?.75*o.tickfont.size:0)+(\"outside\"===o.ticks?.87*o.ticklen:0)),c=(i.showticklabels?i.tickfont.size:0)+(\"outside\"===i.ticks?i.ticklen:0)+3;n[\"a-title\"]=x.draw(e,\"a\"+r,{propContainer:a,propName:this.id+\".aaxis.title\",placeholder:s(e,\"Click to enter Component A title\"),attributes:{x:this.x0+this.w/2,y:this.y0-a.title.font.size/3-l,\"text-anchor\":\"middle\"}}),n[\"b-title\"]=x.draw(e,\"b\"+r,{propContainer:i,propName:this.id+\".baxis.title\",placeholder:s(e,\"Click to enter Component B title\"),attributes:{x:this.x0-c,y:this.y0+this.h+.83*i.title.font.size+c,\"text-anchor\":\"middle\"}}),n[\"c-title\"]=x.draw(e,\"c\"+r,{propContainer:o,propName:this.id+\".caxis.title\",placeholder:s(e,\"Click to enter Component C title\"),attributes:{x:this.x0+this.w+c,y:this.y0+this.h+.83*o.title.font.size+c,\"text-anchor\":\"middle\"}})}},M.drawAx=function(t){var e,r=this.graphDiv,n=t._name,a=n.charAt(0),i=t._id,s=this.layers[n],l=a+\"tickLayout\",c=(e=t).ticks+String(e.ticklen)+String(e.showticklabels);this[l]!==c&&(s.selectAll(\".\"+i+\"tick\").remove(),this[l]=c),t.setScale();var u=p.calcTicks(t),h=p.clipEnds(t,u),f=p.makeTransFn(t),d=p.getTickSigns(t)[2],g=o.deg2rad(30),m=d*(t.linewidth||1)/2,v=d*t.ticklen,y=this.w,x=this.h,b=\"b\"===a?\"M0,\"+m+\"l\"+Math.sin(g)*v+\",\"+Math.cos(g)*v:\"M\"+m+\",0l\"+Math.cos(g)*v+\",\"+-Math.sin(g)*v,_={a:\"M0,0l\"+x+\",-\"+y/2,b:\"M0,0l-\"+y/2+\",-\"+x,c:\"M0,0l-\"+x+\",\"+y/2}[a];p.drawTicks(r,t,{vals:\"inside\"===t.ticks?h:u,layer:s,path:b,transFn:f,crisp:!1}),p.drawGrid(r,t,{vals:h,layer:this.layers[a+\"grid\"],path:_,transFn:f,crisp:!1}),p.drawLabels(r,t,{vals:u,layer:s,transFn:f,labelFns:p.makeLabelFns(t,0,30)})};var E=k.MINZOOM/2+.87,C=\"m-0.87,.5h\"+E+\"v3h-\"+(E+5.2)+\"l\"+(E/2+2.6)+\",-\"+(.87*E+4.5)+\"l2.6,1.5l-\"+E/2+\",\"+.87*E+\"Z\",L=\"m0.87,.5h-\"+E+\"v3h\"+(E+5.2)+\"l-\"+(E/2+2.6)+\",-\"+(.87*E+4.5)+\"l-2.6,1.5l\"+E/2+\",\"+.87*E+\"Z\",P=\"m0,1l\"+E/2+\",\"+.87*E+\"l2.6,-1.5l-\"+(E/2+2.6)+\",-\"+(.87*E+4.5)+\"l-\"+(E/2+2.6)+\",\"+(.87*E+4.5)+\"l2.6,1.5l\"+E/2+\",-\"+.87*E+\"Z\",I=!0;function z(t){n.select(t).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}M.clearSelect=function(){T(this.dragOptions),w(this.dragOptions.gd)},M.initInteractions=function(){var t,e,r,n,u,h,f,p,m,x,w=this,T=w.layers.plotbg.select(\"path\").node(),A=w.graphDiv,M=A._fullLayout._zoomlayer;function E(t){var e={};return e[w.id+\".aaxis.min\"]=t.a,e[w.id+\".baxis.min\"]=t.b,e[w.id+\".caxis.min\"]=t.c,e}function O(t,e){var r=A._fullLayout.clickmode;z(A),2===t&&(A.emit(\"plotly_doubleclick\",null),i.call(\"_guiRelayout\",A,E({a:0,b:0,c:0}))),r.indexOf(\"select\")>-1&&1===t&&_(e,A,[w.xaxis],[w.yaxis],w.id,w.dragOptions),r.indexOf(\"event\")>-1&&g.click(A,e,w.id)}function D(t,e){return 1-e/w.h}function R(t,e){return 1-(t+(w.h-e)/Math.sqrt(3))/w.w}function F(t,e){return(t-(w.h-e)/Math.sqrt(3))/w.w}function B(a,i){var o=t+a,s=e+i,l=Math.max(0,Math.min(1,D(0,e),D(0,s))),c=Math.max(0,Math.min(1,R(t,e),R(o,s))),d=Math.max(0,Math.min(1,F(t,e),F(o,s))),g=(l/2+d)*w.w,v=(1-l/2-c)*w.w,y=(g+v)/2,b=v-g,_=(1-l)*w.h,T=_-b/S;b<k.MINZOOM?(u=r,m.attr(\"d\",f),x.attr(\"d\",\"M0,0Z\")):(u={a:r.a+l*n,b:r.b+c*n,c:r.c+d*n},m.attr(\"d\",f+\"M\"+g+\",\"+_+\"H\"+v+\"L\"+y+\",\"+T+\"L\"+g+\",\"+_+\"Z\"),x.attr(\"d\",\"M\"+t+\",\"+e+\"m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2ZM\"+g+\",\"+_+C+\"M\"+v+\",\"+_+L+\"M\"+y+\",\"+T+P)),p||(m.transition().style(\"fill\",h>.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),x.transition().style(\"opacity\",1).duration(200),p=!0),A.emit(\"plotly_relayouting\",E(u))}function N(){z(A),u!==r&&(i.call(\"_guiRelayout\",A,E(u)),I&&A.data&&A._context.showTips&&(o.notifier(s(A,\"Double-click to zoom back out\"),\"long\"),I=!1))}function j(t,e){var n=t/w.xaxis._m,a=e/w.yaxis._m,i=[(u={a:r.a-a,b:r.b+(n+a)/2,c:r.c-(n-a)/2}).a,u.b,u.c].sort(o.sorterAsc),s=i.indexOf(u.a),l=i.indexOf(u.b),h=i.indexOf(u.c);i[0]<0&&(i[1]+i[0]/2<0?(i[2]+=i[0]+i[1],i[0]=i[1]=0):(i[2]+=i[0]/2,i[1]+=i[0]/2,i[0]=0),u={a:i[s],b:i[l],c:i[h]},e=(r.a-u.a)*w.yaxis._m,t=(r.c-u.c-r.b+u.b)*w.xaxis._m);var f=\"translate(\"+(w.x0+t)+\",\"+(w.y0+e)+\")\";w.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",f);var p=\"translate(\"+-t+\",\"+-e+\")\";w.clipDefRelative.select(\"path\").attr(\"transform\",p),w.aaxis.range=[u.a,w.sum-u.b-u.c],w.baxis.range=[w.sum-u.a-u.c,u.b],w.caxis.range=[w.sum-u.a-u.b,u.c],w.drawAxes(!1),w._hasClipOnAxisFalse&&w.plotContainer.select(\".scatterlayer\").selectAll(\".trace\").call(c.hideOutsideRangePoints,w),A.emit(\"plotly_relayouting\",E(u))}function V(){i.call(\"_guiRelayout\",A,E(u))}this.dragOptions={element:T,gd:A,plotinfo:{id:w.id,domain:A._fullLayout[w.id].domain,xaxis:w.xaxis,yaxis:w.yaxis},subplot:w.id,prepFn:function(i,o,s){w.dragOptions.xaxes=[w.xaxis],w.dragOptions.yaxes=[w.yaxis];var c=w.dragOptions.dragmode=A._fullLayout.dragmode;v(c)?w.dragOptions.minDrag=1:w.dragOptions.minDrag=void 0,\"zoom\"===c?(w.dragOptions.moveFn=B,w.dragOptions.clickFn=O,w.dragOptions.doneFn=N,function(i,o,s){var c=T.getBoundingClientRect();t=o-c.left,e=s-c.top,r={a:w.aaxis.range[0],b:w.baxis.range[1],c:w.caxis.range[1]},u=r,n=w.aaxis.range[1]-r.a,h=a(w.graphDiv._fullLayout[w.id].bgcolor).getLuminance(),f=\"M0,\"+w.h+\"L\"+w.w/2+\", 0L\"+w.w+\",\"+w.h+\"Z\",p=!1,m=M.append(\"path\").attr(\"class\",\"zoombox\").attr(\"transform\",\"translate(\"+w.x0+\", \"+w.y0+\")\").style({fill:h>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"d\",f),x=M.append(\"path\").attr(\"class\",\"zoombox-corners\").attr(\"transform\",\"translate(\"+w.x0+\", \"+w.y0+\")\").style({fill:l.background,stroke:l.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"d\",\"M0,0Z\"),w.clearSelect(A)}(0,o,s)):\"pan\"===c?(w.dragOptions.moveFn=j,w.dragOptions.clickFn=O,w.dragOptions.doneFn=V,r={a:w.aaxis.range[0],b:w.baxis.range[1],c:w.caxis.range[1]},u=r,w.clearSelect(A)):(y(c)||v(c))&&b(i,o,s,w.dragOptions,c)}},T.onmousemove=function(t){g.hover(A,t,w.id),A._fullLayout._lasthover=T,A._fullLayout._hoversubplot=w.id},T.onmouseout=function(t){A._dragging||d.unhover(A,t)},d.init(this.dragOptions)}},{\"../../components/color\":595,\"../../components/dragelement\":614,\"../../components/dragelement/helpers\":613,\"../../components/drawing\":617,\"../../components/fx\":635,\"../../components/titles\":690,\"../../lib\":728,\"../../lib/extend\":719,\"../../registry\":859,\"../cartesian/axes\":776,\"../cartesian/constants\":782,\"../cartesian/select\":795,\"../cartesian/set_convert\":796,\"../plots\":839,d3:164,tinycolor2:528}],859:[function(t,e,r){\"use strict\";var n=t(\"./lib/loggers\"),a=t(\"./lib/noop\"),i=t(\"./lib/push_unique\"),o=t(\"./lib/is_plain_object\"),s=t(\"./lib/dom\").addStyleRule,l=t(\"./lib/extend\"),c=t(\"./plots/attributes\"),u=t(\"./plots/layout_attributes\"),h=l.extendFlat,f=l.extendDeepAll;function p(t){var e=t.name,a=t.categories,i=t.meta;if(r.modules[e])n.log(\"Type \"+e+\" already registered\");else{r.subplotsRegistry[t.basePlotModule.name]||function(t){var e=t.name;if(r.subplotsRegistry[e])return void n.log(\"Plot type \"+e+\" already registered.\");for(var a in v(t),r.subplotsRegistry[e]=t,r.componentsRegistry)b(a,t.name)}(t.basePlotModule);for(var o={},l=0;l<a.length;l++)o[a[l]]=!0,r.allCategories[a[l]]=!0;for(var c in r.modules[e]={_module:t,categories:o},i&&Object.keys(i).length&&(r.modules[e].meta=i),r.allTypes.push(e),r.componentsRegistry)y(c,e);t.layoutAttributes&&h(r.traceLayoutAttributes,t.layoutAttributes);var u=t.basePlotModule,f=u.name;if(\"mapbox\"===f){var p=u.constants.styleRules;for(var d in p)s(\".js-plotly-plot .plotly .mapboxgl-\"+d,p[d])}\"geo\"!==f&&\"mapbox\"!==f||void 0===typeof window||void 0!==window.PlotlyGeoAssets||(window.PlotlyGeoAssets={topojson:{}})}}function d(t){if(\"string\"!=typeof t.name)throw new Error(\"Component module *name* must be a string.\");var e=t.name;for(var n in r.componentsRegistry[e]=t,t.layoutAttributes&&(t.layoutAttributes._isLinkedToArray&&i(r.layoutArrayContainers,e),v(t)),r.modules)y(e,n);for(var a in r.subplotsRegistry)b(e,a);for(var o in r.transformsRegistry)x(e,o);t.schema&&t.schema.layout&&f(u,t.schema.layout)}function g(t){if(\"string\"!=typeof t.name)throw new Error(\"Transform module *name* must be a string.\");var e=\"Transform module \"+t.name,a=\"function\"==typeof t.transform,i=\"function\"==typeof t.calcTransform;if(!a&&!i)throw new Error(e+\" is missing a *transform* or *calcTransform* method.\");for(var s in a&&i&&n.log([e+\" has both a *transform* and *calcTransform* methods.\",\"Please note that all *transform* methods are executed\",\"before all *calcTransform* methods.\"].join(\" \")),o(t.attributes)||n.log(e+\" registered without an *attributes* object.\"),\"function\"!=typeof t.supplyDefaults&&n.log(e+\" registered without a *supplyDefaults* method.\"),r.transformsRegistry[t.name]=t,r.componentsRegistry)x(s,t.name)}function m(t){var e=t.name,n=e.split(\"-\")[0],a=t.dictionary,i=t.format,o=a&&Object.keys(a).length,s=i&&Object.keys(i).length,l=r.localeRegistry,c=l[e];if(c||(l[e]=c={}),n!==e){var u=l[n];u||(l[n]=u={}),o&&u.dictionary===c.dictionary&&(u.dictionary=a),s&&u.format===c.format&&(u.format=i)}o&&(c.dictionary=a),s&&(c.format=i)}function v(t){if(t.layoutAttributes){var e=t.layoutAttributes._arrayAttrRegexps;if(e)for(var n=0;n<e.length;n++)i(r.layoutArrayRegexes,e[n])}}function y(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.traces){var a=n.traces[e];a&&f(r.modules[e]._module.attributes,a)}}function x(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.transforms){var a=n.transforms[e];a&&f(r.transformsRegistry[e].attributes,a)}}function b(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.subplots){var a=r.subplotsRegistry[e],i=a.layoutAttributes,o=\"subplot\"===a.attr?a.name:a.attr;Array.isArray(o)&&(o=o[0]);var s=n.subplots[o];i&&s&&f(i,s)}}function _(t){return\"object\"==typeof t&&(t=t.type),t}r.modules={},r.allCategories={},r.allTypes=[],r.subplotsRegistry={},r.transformsRegistry={},r.componentsRegistry={},r.layoutArrayContainers=[],r.layoutArrayRegexes=[],r.traceLayoutAttributes={},r.localeRegistry={},r.apiMethodRegistry={},r.collectableSubplotTypes=null,r.register=function(t){if(r.collectableSubplotTypes=null,!t)throw new Error(\"No argument passed to Plotly.register.\");t&&!Array.isArray(t)&&(t=[t]);for(var e=0;e<t.length;e++){var n=t[e];if(!n)throw new Error(\"Invalid module was attempted to be registered!\");switch(n.moduleType){case\"trace\":p(n);break;case\"transform\":g(n);break;case\"component\":d(n);break;case\"locale\":m(n);break;case\"apiMethod\":var a=n.name;r.apiMethodRegistry[a]=n.fn;break;default:throw new Error(\"Invalid module was attempted to be registered!\")}}},r.getModule=function(t){var e=r.modules[_(t)];return!!e&&e._module},r.traceIs=function(t,e){if(\"various\"===(t=_(t)))return!1;var a=r.modules[t];return a||(t&&\"area\"!==t&&n.log(\"Unrecognized trace type \"+t+\".\"),a=r.modules[c.type.dflt]),!!a.categories[e]},r.getTransformIndices=function(t,e){for(var r=[],n=t.transforms||[],a=0;a<n.length;a++)n[a].type===e&&r.push(a);return r},r.hasTransform=function(t,e){for(var r=t.transforms||[],n=0;n<r.length;n++)if(r[n].type===e)return!0;return!1},r.getComponentMethod=function(t,e){var n=r.componentsRegistry[t];return n&&n[e]||a},r.call=function(){var t=arguments[0],e=[].slice.call(arguments,1);return r.apiMethodRegistry[t].apply(null,e)}},{\"./lib/dom\":717,\"./lib/extend\":719,\"./lib/is_plain_object\":729,\"./lib/loggers\":732,\"./lib/noop\":737,\"./lib/push_unique\":742,\"./plots/attributes\":773,\"./plots/layout_attributes\":830}],860:[function(t,e,r){\"use strict\";var n=t(\"../registry\"),a=t(\"../lib\"),i=a.extendFlat,o=a.extendDeep;function s(t){var e;switch(t){case\"themes__thumb\":e={autosize:!0,width:150,height:150,title:{text:\"\"},showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case\"thumbnail\":e={title:{text:\"\"},hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:\"\",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:e={}}return e}e.exports=function(t,e){var r;t.framework&&t.framework.isPolar&&(t=t.framework.getConfig());var a,l=t.data,c=t.layout,u=o([],l),h=o({},c,s(e.tileClass)),f=t._context||{};if(e.width&&(h.width=e.width),e.height&&(h.height=e.height),\"thumbnail\"===e.tileClass||\"themes__thumb\"===e.tileClass){h.annotations=[];var p=Object.keys(h);for(r=0;r<p.length;r++)a=p[r],[\"xaxis\",\"yaxis\",\"zaxis\"].indexOf(a.slice(0,5))>-1&&(h[p[r]].title={text:\"\"});for(r=0;r<u.length;r++){var d=u[r];d.showscale=!1,d.marker&&(d.marker.showscale=!1),n.traceIs(d,\"pie-like\")&&(d.textposition=\"none\")}}if(Array.isArray(e.annotations))for(r=0;r<e.annotations.length;r++)h.annotations.push(e.annotations[r]);var g=Object.keys(h).filter((function(t){return t.match(/^scene\\d*$/)}));if(g.length){var m={};for(\"thumbnail\"===e.tileClass&&(m={title:{text:\"\"},showaxeslabels:!1,showticklabels:!1,linetickenable:!1}),r=0;r<g.length;r++){var v=h[g[r]];v.xaxis||(v.xaxis={}),v.yaxis||(v.yaxis={}),v.zaxis||(v.zaxis={}),i(v.xaxis,m),i(v.yaxis,m),i(v.zaxis,m),v._scene=null}}var y=document.createElement(\"div\");e.tileClass&&(y.className=e.tileClass);var x={gd:y,td:y,layout:h,data:u,config:{staticPlot:void 0===e.staticPlot||e.staticPlot,plotGlPixelRatio:void 0===e.plotGlPixelRatio?2:e.plotGlPixelRatio,displaylogo:e.displaylogo||!1,showLink:e.showLink||!1,showTips:e.showTips||!1,mapboxAccessToken:f.mapboxAccessToken}};return\"transparent\"!==e.setBackground&&(x.config.setBackground=e.setBackground||\"opaque\"),x.gd.defaultLayout=s(e.tileClass),x}},{\"../lib\":728,\"../registry\":859}],861:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),a=t(\"../plot_api/to_image\"),i=t(\"./filesaver\"),o=t(\"./helpers\");e.exports=function(t,e){var r;return n.isPlainObject(t)||(r=n.getGraphDiv(t)),(e=e||{}).format=e.format||\"png\",e.imageDataOnly=!0,new Promise((function(s,l){r&&r._snapshotInProgress&&l(new Error(\"Snapshotting already in progress.\")),n.isIE()&&\"svg\"!==e.format&&l(new Error(o.MSG_IE_BAD_FORMAT)),r&&(r._snapshotInProgress=!0);var c=a(t,e),u=e.filename||t.fn||\"newplot\";u+=\".\"+e.format.replace(\"-\",\".\"),c.then((function(t){return r&&(r._snapshotInProgress=!1),i(t,u,e.format)})).then((function(t){s(t)})).catch((function(t){r&&(r._snapshotInProgress=!1),l(t)}))}))}},{\"../lib\":728,\"../plot_api/to_image\":769,\"./filesaver\":862,\"./helpers\":863}],862:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),a=t(\"./helpers\");e.exports=function(t,e,r){var i=document.createElement(\"a\"),o=\"download\"in i;return new Promise((function(s,l){var c,u;if(n.isIE9orBelow()&&l(new Error(\"IE < 10 unsupported\")),n.isSafari()){var h=\"svg\"===r?\",\":\";base64,\";return a.octetStream(h+encodeURIComponent(t)),s(e)}return n.isIE()?(c=a.createBlob(t,\"svg\"),window.navigator.msSaveBlob(c,e),c=null,s(e)):o?(c=a.createBlob(t,r),u=a.createObjectURL(c),i.href=u,i.download=e,document.body.appendChild(i),i.click(),document.body.removeChild(i),a.revokeObjectURL(u),c=null,s(e)):void l(new Error(\"download error\"))}))}},{\"../lib\":728,\"./helpers\":863}],863:[function(t,e,r){\"use strict\";var n=t(\"../registry\");r.getDelay=function(t){return t._has&&(t._has(\"gl3d\")||t._has(\"gl2d\")||t._has(\"mapbox\"))?500:0},r.getRedrawFunc=function(t){return function(){var e=t._fullLayout||{};!(e._has&&e._has(\"polar\"))&&t.data&&t.data[0]&&t.data[0].r||n.getComponentMethod(\"colorbar\",\"draw\")(t)}},r.encodeSVG=function(t){return\"data:image/svg+xml,\"+encodeURIComponent(t)},r.encodeJSON=function(t){return\"data:application/json,\"+encodeURIComponent(t)};var a=window.URL||window.webkitURL;r.createObjectURL=function(t){return a.createObjectURL(t)},r.revokeObjectURL=function(t){return a.revokeObjectURL(t)},r.createBlob=function(t,e){if(\"svg\"===e)return new window.Blob([t],{type:\"image/svg+xml;charset=utf-8\"});if(\"full-json\"===e)return new window.Blob([t],{type:\"application/json;charset=utf-8\"});var r=function(t){for(var e=t.length,r=new ArrayBuffer(e),n=new Uint8Array(r),a=0;a<e;a++)n[a]=t.charCodeAt(a);return r}(window.atob(t));return new window.Blob([r],{type:\"image/\"+e})},r.octetStream=function(t){document.location.href=\"data:application/octet-stream\"+t},r.IMAGE_URL_PREFIX=/^data:image\\/\\w+;base64,/,r.MSG_IE_BAD_FORMAT=\"Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.\"},{\"../registry\":859}],864:[function(t,e,r){\"use strict\";var n=t(\"./helpers\"),a={getDelay:n.getDelay,getRedrawFunc:n.getRedrawFunc,clone:t(\"./cloneplot\"),toSVG:t(\"./tosvg\"),svgToImg:t(\"./svgtoimg\"),toImage:t(\"./toimage\"),downloadImage:t(\"./download\")};e.exports=a},{\"./cloneplot\":860,\"./download\":861,\"./helpers\":863,\"./svgtoimg\":865,\"./toimage\":866,\"./tosvg\":867}],865:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),a=t(\"events\").EventEmitter,i=t(\"./helpers\");e.exports=function(t){var e=t.emitter||new a,r=new Promise((function(a,o){var s=window.Image,l=t.svg,c=t.format||\"png\";if(n.isIE()&&\"svg\"!==c){var u=new Error(i.MSG_IE_BAD_FORMAT);return o(u),t.promise?r:e.emit(\"error\",u)}var h,f,p=t.canvas,d=t.scale||1,g=t.width||300,m=t.height||150,v=d*g,y=d*m,x=p.getContext(\"2d\"),b=new s;\"svg\"===c||n.isIE9orBelow()||n.isSafari()?f=i.encodeSVG(l):(h=i.createBlob(l,\"svg\"),f=i.createObjectURL(h)),p.width=v,p.height=y,b.onload=function(){var r;switch(h=null,i.revokeObjectURL(f),\"svg\"!==c&&x.drawImage(b,0,0,v,y),c){case\"jpeg\":r=p.toDataURL(\"image/jpeg\");break;case\"png\":r=p.toDataURL(\"image/png\");break;case\"webp\":r=p.toDataURL(\"image/webp\");break;case\"svg\":r=f;break;default:var n=\"Image format is not jpeg, png, svg or webp.\";if(o(new Error(n)),!t.promise)return e.emit(\"error\",n)}a(r),t.promise||e.emit(\"success\",r)},b.onerror=function(r){if(h=null,i.revokeObjectURL(f),o(r),!t.promise)return e.emit(\"error\",r)},b.src=f}));return t.promise?r:e}},{\"../lib\":728,\"./helpers\":863,events:107}],866:[function(t,e,r){\"use strict\";var n=t(\"events\").EventEmitter,a=t(\"../registry\"),i=t(\"../lib\"),o=t(\"./helpers\"),s=t(\"./cloneplot\"),l=t(\"./tosvg\"),c=t(\"./svgtoimg\");e.exports=function(t,e){var r=new n,u=s(t,{format:\"png\"}),h=u.gd;h.style.position=\"absolute\",h.style.left=\"-5000px\",document.body.appendChild(h);var f=o.getRedrawFunc(h);return a.call(\"plot\",h,u.data,u.layout,u.config).then(f).then((function(){var t=o.getDelay(h._fullLayout);setTimeout((function(){var t=l(h),n=document.createElement(\"canvas\");n.id=i.randstr(),(r=c({format:e.format,width:h._fullLayout.width,height:h._fullLayout.height,canvas:n,emitter:r,svg:t})).clean=function(){h&&document.body.removeChild(h)}}),t)})).catch((function(t){r.emit(\"error\",t)})),r}},{\"../lib\":728,\"../registry\":859,\"./cloneplot\":860,\"./helpers\":863,\"./svgtoimg\":865,\"./tosvg\":867,events:107}],867:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../lib\"),i=t(\"../components/drawing\"),o=t(\"../components/color\"),s=t(\"../constants/xmlns_namespaces\"),l=/\"/g,c=new RegExp('(\"TOBESTRIPPED)|(TOBESTRIPPED\")',\"g\");e.exports=function(t,e,r){var u,h=t._fullLayout,f=h._paper,p=h._toppaper,d=h.width,g=h.height;f.insert(\"rect\",\":first-child\").call(i.setRect,0,0,d,g).call(o.fill,h.paper_bgcolor);var m=h._basePlotModules||[];for(u=0;u<m.length;u++){var v=m[u];v.toSVG&&v.toSVG(t)}if(p){var y=p.node().childNodes,x=Array.prototype.slice.call(y);for(u=0;u<x.length;u++){var b=x[u];b.childNodes.length&&f.node().appendChild(b)}}if(h._draggers&&h._draggers.remove(),f.node().style.background=\"\",f.selectAll(\"text\").attr({\"data-unformatted\":null,\"data-math\":null}).each((function(){var t=n.select(this);if(\"hidden\"!==this.style.visibility&&\"none\"!==this.style.display){t.style({visibility:null,display:null});var e=this.style.fontFamily;e&&-1!==e.indexOf('\"')&&t.style(\"font-family\",e.replace(l,\"TOBESTRIPPED\"))}else t.remove()})),h._gradientUrlQueryParts){var _=[];for(var w in h._gradientUrlQueryParts)_.push(w);_.length&&f.selectAll(_.join(\",\")).each((function(){var t=n.select(this),e=this.style.fill;e&&-1!==e.indexOf(\"url(\")&&t.style(\"fill\",e.replace(l,\"TOBESTRIPPED\"));var r=this.style.stroke;r&&-1!==r.indexOf(\"url(\")&&t.style(\"stroke\",r.replace(l,\"TOBESTRIPPED\"))}))}\"pdf\"!==e&&\"eps\"!==e||f.selectAll(\"#MathJax_SVG_glyphs path\").attr(\"stroke-width\",0),f.node().setAttributeNS(s.xmlns,\"xmlns\",s.svg),f.node().setAttributeNS(s.xmlns,\"xmlns:xlink\",s.xlink),\"svg\"===e&&r&&(f.attr(\"width\",r*d),f.attr(\"height\",r*g),f.attr(\"viewBox\",\"0 0 \"+d+\" \"+g));var T=(new window.XMLSerializer).serializeToString(f.node());return T=function(t){var e=n.select(\"body\").append(\"div\").style({display:\"none\"}).html(\"\"),r=t.replace(/(&[^;]*;)/gi,(function(t){return\"&lt;\"===t?\"&#60;\":\"&rt;\"===t?\"&#62;\":-1!==t.indexOf(\"<\")||-1!==t.indexOf(\">\")?\"\":e.html(t).text()}));return e.remove(),r}(T),T=(T=T.replace(/&(?!\\w+;|\\#[0-9]+;| \\#x[0-9A-F]+;)/g,\"&amp;\")).replace(c,\"'\"),a.isIE()&&(T=(T=(T=T.replace(/\"/gi,\"'\")).replace(/(\\('#)([^']*)('\\))/gi,'(\"#$2\")')).replace(/(\\\\')/gi,'\"')),T}},{\"../components/color\":595,\"../components/drawing\":617,\"../constants/xmlns_namespaces\":705,\"../lib\":728,d3:164}],868:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;n.mergeArray(e.text,t,\"tx\"),n.mergeArray(e.hovertext,t,\"htx\");var a=e.marker;if(a){n.mergeArray(a.opacity,t,\"mo\",!0),n.mergeArray(a.color,t,\"mc\");var i=a.line;i&&(n.mergeArray(i.color,t,\"mlc\"),n.mergeArrayCastPositive(i.width,t,\"mlw\"))}}},{\"../../lib\":728}],869:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),a=t(\"../../plots/template_attributes\").hovertemplateAttrs,i=t(\"../../plots/template_attributes\").texttemplateAttrs,o=t(\"../../components/colorscale/attributes\"),s=t(\"../../plots/font_attributes\"),l=t(\"./constants\"),c=t(\"../../lib/extend\").extendFlat,u=s({editType:\"calc\",arrayOk:!0,colorEditType:\"style\"}),h=c({},n.marker.line.width,{dflt:0}),f=c({width:h,editType:\"calc\"},o(\"marker.line\")),p=c({line:f,editType:\"calc\"},o(\"marker\"),{opacity:{valType:\"number\",arrayOk:!0,dflt:1,min:0,max:1,editType:\"style\"}});e.exports={x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:n.text,texttemplate:i({editType:\"plot\"},{keys:l.eventDataKeys}),hovertext:n.hovertext,hovertemplate:a({},{keys:l.eventDataKeys}),textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"none\",arrayOk:!0,editType:\"calc\"},insidetextanchor:{valType:\"enumerated\",values:[\"end\",\"middle\",\"start\"],dflt:\"end\",editType:\"plot\"},textangle:{valType:\"angle\",dflt:\"auto\",editType:\"plot\"},textfont:c({},u,{}),insidetextfont:c({},u,{}),outsidetextfont:c({},u,{}),constraintext:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"both\",\"none\"],dflt:\"both\",editType:\"calc\"},cliponaxis:c({},n.cliponaxis,{}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc+clearAxisTypes\"},base:{valType:\"any\",dflt:null,arrayOk:!0,editType:\"calc\"},offset:{valType:\"number\",dflt:null,arrayOk:!0,editType:\"calc\"},width:{valType:\"number\",dflt:null,min:0,arrayOk:!0,editType:\"calc\"},marker:p,offsetgroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},alignmentgroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},selected:{marker:{opacity:n.selected.marker.opacity,color:n.selected.marker.color,editType:\"style\"},textfont:n.selected.textfont,editType:\"style\"},unselected:{marker:{opacity:n.unselected.marker.opacity,color:n.unselected.marker.color,editType:\"style\"},textfont:n.unselected.textfont,editType:\"style\"},r:n.r,t:n.t,_deprecated:{bardir:{valType:\"enumerated\",editType:\"calc\",values:[\"v\",\"h\"]}}}},{\"../../components/colorscale/attributes\":602,\"../../lib/extend\":719,\"../../plots/font_attributes\":804,\"../../plots/template_attributes\":854,\"../scatter/attributes\":1134,\"./constants\":871}],870:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),a=t(\"../../components/colorscale/helpers\").hasColorscale,i=t(\"../../components/colorscale/calc\"),o=t(\"./arrays_to_calcdata\"),s=t(\"../scatter/calc_selection\");e.exports=function(t,e){var r,l,c=n.getFromId(t,e.xaxis||\"x\"),u=n.getFromId(t,e.yaxis||\"y\"),h={msUTC:!(!e.base&&0!==e.base)};\"h\"===e.orientation?(r=c.makeCalcdata(e,\"x\",h),l=u.makeCalcdata(e,\"y\")):(r=u.makeCalcdata(e,\"y\",h),l=c.makeCalcdata(e,\"x\"));for(var f=Math.min(l.length,r.length),p=new Array(f),d=0;d<f;d++)p[d]={p:l[d],s:r[d]},e.ids&&(p[d].id=String(e.ids[d]));return a(e,\"marker\")&&i(t,e,{vals:e.marker.color,containerStr:\"marker\",cLetter:\"c\"}),a(e,\"marker.line\")&&i(t,e,{vals:e.marker.line.color,containerStr:\"marker.line\",cLetter:\"c\"}),o(p,e),s(p,e),p}},{\"../../components/colorscale/calc\":603,\"../../components/colorscale/helpers\":606,\"../../plots/cartesian/axes\":776,\"../scatter/calc_selection\":1136,\"./arrays_to_calcdata\":868}],871:[function(t,e,r){\"use strict\";e.exports={TEXTPAD:3,eventDataKeys:[\"value\",\"label\"]}},{}],872:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"../../lib\").isArrayOrTypedArray,i=t(\"../../constants/numerical\").BADNUM,o=t(\"../../registry\"),s=t(\"../../plots/cartesian/axes\"),l=t(\"../../plots/cartesian/axis_ids\").getAxisGroup,c=t(\"./sieve.js\");function u(t,e,r,o,u){if(o.length){var b,_,w,T;switch(function(t,e){var r,i;for(r=0;r<e.length;r++){var o,s=e[r],l=s[0].trace,c=\"funnel\"===l.type?l._base:l.base,u=\"h\"===l.orientation?l.xcalendar:l.ycalendar,h=\"category\"===t.type||\"multicategory\"===t.type?function(){return null}:t.d2c;if(a(c)){for(i=0;i<Math.min(c.length,s.length);i++)o=h(c[i],0,u),n(o)?(s[i].b=+o,s[i].hasB=1):s[i].b=0;for(;i<s.length;i++)s[i].b=0}else{o=h(c,0,u);var f=n(o);for(o=f?o:0,i=0;i<s.length;i++)s[i].b=o,f&&(s[i].hasB=1)}}}(r,o),u.mode){case\"overlay\":h(e,r,o,u);break;case\"group\":for(b=[],_=[],w=0;w<o.length;w++)void 0===(T=o[w])[0].trace.offset?_.push(T):b.push(T);_.length&&function(t,e,r,n,a){var o=new c(n,{sepNegVal:!1,overlapNoMerge:!a.norm});(function(t,e,r,n){for(var a=t._fullLayout,i=r.positions,o=r.distinctPositions,s=r.minDiff,c=r.traces,u=c.length,h=i.length!==o.length,f=s*(1-n.gap),m=l(a,e._id)+c[0][0].trace.orientation,v=a._alignmentOpts[m]||{},y=0;y<u;y++){var x,b,_=c[y],w=_[0].trace,T=v[w.alignmentgroup]||{},k=Object.keys(T.offsetGroups||{}).length,A=(x=k?f/k:h?f/u:f)*(1-(n.groupgap||0));b=k?((2*w._offsetIndex+1-k)*x-A)/2:h?((2*y+1-u)*x-A)/2:-A/2;var M=_[0].t;M.barwidth=A,M.poffset=b,M.bargroupwidth=f,M.bardelta=s}r.binWidth=c[0][0].t.barwidth/100,p(r),d(e,r),g(e,r,h)})(t,e,o,a),function(t){for(var e=t.traces,r=0;r<e.length;r++){var n=e[r];if(void 0===n[0].trace.base)for(var a=new c([n],{sepNegVal:!0,overlapNoMerge:!0}),o=0;o<n.length;o++){var s=n[o];if(s.p!==i){var l=a.put(s.p,s.b+s.s);l&&(s.b=l)}}}}(o),a.norm?(v(o),y(r,o,a)):m(r,o)}(t,e,r,_,u),b.length&&h(e,r,b,u);break;case\"stack\":case\"relative\":for(b=[],_=[],w=0;w<o.length;w++)void 0===(T=o[w])[0].trace.base?_.push(T):b.push(T);_.length&&function(t,e,r,n,a){var o=new c(n,{sepNegVal:\"relative\"===a.mode,overlapNoMerge:!(a.norm||\"stack\"===a.mode||\"relative\"===a.mode)});f(e,o,a),function(t,e,r){var n,a,o,l,c,u,h=x(t),f=e.traces;for(l=0;l<f.length;l++)if(n=f[l],\"funnel\"===(a=n[0].trace).type)for(c=0;c<n.length;c++)(u=n[c]).s!==i&&e.put(u.p,-.5*u.s);for(l=0;l<f.length;l++){n=f[l],a=n[0].trace,o=\"funnel\"===a.type;var p=[];for(c=0;c<n.length;c++)if((u=n[c]).s!==i){var d;d=o?u.s:u.s+u.b;var g=e.put(u.p,d),m=g+d;u.b=g,u[h]=m,r.norm||(p.push(m),u.hasB&&p.push(g))}r.norm||(a._extremes[t._id]=s.findExtremes(t,p,{tozero:!0,padded:!0}))}}(r,o,a);for(var l=0;l<n.length;l++)for(var u=n[l],h=0;h<u.length;h++){var p=u[h];if(p.s!==i)p.b+p.s===o.get(p.p,p.s)&&(p._outmost=!0)}a.norm&&y(r,o,a)}(0,e,r,_,u),b.length&&h(e,r,b,u)}!function(t,e){var r,a,i,o=x(e),s={},l=1/0,c=-1/0;for(r=0;r<t.length;r++)for(i=t[r],a=0;a<i.length;a++){var u=i[a].p;n(u)&&(l=Math.min(l,u),c=Math.max(c,u))}var h=1e4/(c-l),f=s.round=function(t){return String(Math.round(h*(t-l)))};for(r=0;r<t.length;r++){(i=t[r])[0].t.extents=s;var p=i[0].t.poffset,d=Array.isArray(p);for(a=0;a<i.length;a++){var g=i[a],m=g[o]-g.w/2;if(n(m)){var v=g[o]+g.w/2,y=f(g.p);s[y]?s[y]=[Math.min(m,s[y][0]),Math.max(v,s[y][1])]:s[y]=[m,v]}g.p0=g.p+(d?p[a]:p),g.p1=g.p0+g.w,g.s0=g.b,g.s1=g.s0+g.s}}}(o,e)}}function h(t,e,r,n){for(var a=0;a<r.length;a++){var i=r[a],o=new c([i],{sepNegVal:!1,overlapNoMerge:!n.norm});f(t,o,n),n.norm?(v(o),y(e,o,n)):m(e,o)}}function f(t,e,r){for(var n=e.minDiff,a=e.traces,i=n*(1-r.gap),o=i*(1-(r.groupgap||0)),s=-o/2,l=0;l<a.length;l++){var c=a[l][0].t;c.barwidth=o,c.poffset=s,c.bargroupwidth=i,c.bardelta=n}e.binWidth=a[0][0].t.barwidth/100,p(e),d(t,e),g(t,e)}function p(t){var e,r,i=t.traces;for(e=0;e<i.length;e++){var o,s=i[e],l=s[0],c=l.trace,u=l.t,h=c._offset||c.offset,f=u.poffset;if(a(h)){for(o=Array.prototype.slice.call(h,0,s.length),r=0;r<o.length;r++)n(o[r])||(o[r]=f);for(r=o.length;r<s.length;r++)o.push(f);u.poffset=o}else void 0!==h&&(u.poffset=h);var p=c._width||c.width,d=u.barwidth;if(a(p)){var g=Array.prototype.slice.call(p,0,s.length);for(r=0;r<g.length;r++)n(g[r])||(g[r]=d);for(r=g.length;r<s.length;r++)g.push(d);if(u.barwidth=g,void 0===h){for(o=[],r=0;r<s.length;r++)o.push(f+(d-g[r])/2);u.poffset=o}}else void 0!==p&&(u.barwidth=p,void 0===h&&(u.poffset=f+(d-p)/2))}}function d(t,e){for(var r=e.traces,n=x(t),a=0;a<r.length;a++)for(var i=r[a],o=i[0].t,s=o.poffset,l=Array.isArray(s),c=o.barwidth,u=Array.isArray(c),h=0;h<i.length;h++){var f=i[h],p=f.w=u?c[h]:c;f[n]=f.p+(l?s[h]:s)+p/2}}function g(t,e,r){var n=e.traces,a=e.minDiff/2;s.minDtick(t,e.minDiff,e.distinctPositions[0],r);for(var i=0;i<n.length;i++){var o,l,c,u,h=n[i],f=h[0],p=f.trace,d=[];for(u=0;u<h.length;u++)l=(o=h[u]).p-a,c=o.p+a,d.push(l,c);if(p.width||p.offset){var g=f.t,m=g.poffset,v=g.barwidth,y=Array.isArray(m),x=Array.isArray(v);for(u=0;u<h.length;u++){o=h[u];var b=y?m[u]:m,_=x?v[u]:v;c=(l=o.p+b)+_,d.push(l,c)}}p._extremes[t._id]=s.findExtremes(t,d,{padded:!1})}}function m(t,e){for(var r=e.traces,n=x(t),a=0;a<r.length;a++){for(var i=r[a],o=i[0].trace,l=[],c=!1,u=0;u<i.length;u++){var h=i[u],f=h.b,p=f+h.s;h[n]=p,l.push(p),h.hasB&&l.push(f),h.hasB&&h.b||(c=!0)}o._extremes[t._id]=s.findExtremes(t,l,{tozero:c,padded:!0})}}function v(t){for(var e=t.traces,r=0;r<e.length;r++)for(var n=e[r],a=0;a<n.length;a++){var o=n[a];o.s!==i&&t.put(o.p,o.b+o.s)}}function y(t,e,r){var a=e.traces,o=x(t),l=\"fraction\"===r.norm?1:100,c=l/1e9,u=t.l2c(t.c2l(0)),h=\"stack\"===r.mode?l:u;function f(e){return n(t.c2l(e))&&(e<u-c||e>h+c||!n(u))}for(var p=0;p<a.length;p++){for(var d=a[p],g=d[0].trace,m=[],v=!1,y=!1,b=0;b<d.length;b++){var _=d[b];if(_.s!==i){var w=Math.abs(l/e.get(_.p,_.s));_.b*=w,_.s*=w;var T=_.b,k=T+_.s;_[o]=k,m.push(k),y=y||f(k),_.hasB&&(m.push(T),y=y||f(T)),_.hasB&&_.b||(v=!0)}}g._extremes[t._id]=s.findExtremes(t,m,{tozero:v,padded:y})}}function x(t){return t._id.charAt(0)}e.exports={crossTraceCalc:function(t,e){for(var r=e.xaxis,n=e.yaxis,a=t._fullLayout,i=t._fullData,s=t.calcdata,l=[],c=[],h=0;h<i.length;h++){var f=i[h];if(!0===f.visible&&o.traceIs(f,\"bar\")&&f.xaxis===r._id&&f.yaxis===n._id&&(\"h\"===f.orientation?l.push(s[h]):c.push(s[h]),f._computePh))for(var p=t.calcdata[h],d=0;d<p.length;d++)\"function\"==typeof p[d].ph0&&(p[d].ph0=p[d].ph0()),\"function\"==typeof p[d].ph1&&(p[d].ph1=p[d].ph1())}var g={mode:a.barmode,norm:a.barnorm,gap:a.bargap,groupgap:a.bargroupgap};u(t,r,n,c,g),u(t,n,r,l,g)},setGroupPositions:u}},{\"../../constants/numerical\":704,\"../../lib\":728,\"../../plots/cartesian/axes\":776,\"../../plots/cartesian/axis_ids\":779,\"../../registry\":859,\"./sieve.js\":882,\"fast-isnumeric\":236}],873:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../components/color\"),i=t(\"../../registry\"),o=t(\"../scatter/xy_defaults\"),s=t(\"./style_defaults\"),l=t(\"../../plots/cartesian/axis_ids\").getAxisGroup,c=t(\"./attributes\"),u=n.coerceFont;function h(t,e,r,n){var a=e.orientation,i=e[{v:\"x\",h:\"y\"}[a]+\"axis\"],o=l(r,i)+a,s=r._alignmentOpts||{},c=n(\"alignmentgroup\"),u=s[o];u||(u=s[o]={});var h=u[c];h?h.traces.push(e):h=u[c]={traces:[e],alignmentIndex:Object.keys(u).length,offsetGroups:{}};var f=n(\"offsetgroup\"),p=h.offsetGroups,d=p[f];f&&(d||(d=p[f]={offsetIndex:Object.keys(p).length}),e._offsetIndex=d.offsetIndex)}function f(t,e,r,a,i,o){var s=!(!1===(o=o||{}).moduleHasSelected),l=!(!1===o.moduleHasUnselected),c=!(!1===o.moduleHasConstrain),h=!(!1===o.moduleHasCliponaxis),f=!(!1===o.moduleHasTextangle),p=!(!1===o.moduleHasInsideanchor),d=!!o.hasPathbar,g=Array.isArray(i)||\"auto\"===i,m=g||\"inside\"===i,v=g||\"outside\"===i;if(m||v){var y=u(a,\"textfont\",r.font),x=n.extendFlat({},y),b=!(t.textfont&&t.textfont.color);if(b&&delete x.color,u(a,\"insidetextfont\",x),d){var _=n.extendFlat({},y);b&&delete _.color,u(a,\"pathbar.textfont\",_)}v&&u(a,\"outsidetextfont\",y),s&&a(\"selected.textfont.color\"),l&&a(\"unselected.textfont.color\"),c&&a(\"constraintext\"),h&&a(\"cliponaxis\"),f&&a(\"textangle\"),a(\"texttemplate\")}m&&p&&a(\"insidetextanchor\")}e.exports={supplyDefaults:function(t,e,r,l){function u(r,a){return n.coerce(t,e,c,r,a)}if(o(t,e,l,u)){u(\"orientation\",e.x&&!e.y?\"h\":\"v\"),u(\"base\"),u(\"offset\"),u(\"width\"),u(\"text\"),u(\"hovertext\"),u(\"hovertemplate\");var h=u(\"textposition\");f(t,e,l,u,h,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),s(t,e,u,r,l);var p=(e.marker.line||{}).color,d=i.getComponentMethod(\"errorbars\",\"supplyDefaults\");d(t,e,p||a.defaultLine,{axis:\"y\"}),d(t,e,p||a.defaultLine,{axis:\"x\",inherit:\"y\"}),n.coerceSelectionMarkerOpacity(e,u)}else e.visible=!1},crossTraceDefaults:function(t,e){var r;function a(t){return n.coerce(r._input,r,c,t)}if(\"group\"===e.barmode)for(var i=0;i<t.length;i++)\"bar\"===(r=t[i]).type&&(r._input,h(0,r,e,a))},handleGroupingDefaults:h,handleText:f}},{\"../../components/color\":595,\"../../lib\":728,\"../../plots/cartesian/axis_ids\":779,\"../../registry\":859,\"../scatter/xy_defaults\":1160,\"./attributes\":869,\"./style_defaults\":884}],874:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){return t.x=\"xVal\"in e?e.xVal:e.x,t.y=\"yVal\"in e?e.yVal:e.y,e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),\"h\"===r.orientation?(t.label=t.y,t.value=t.x):(t.label=t.x,t.value=t.y),t}},{}],875:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"tinycolor2\"),i=t(\"../../lib\").isArrayOrTypedArray;r.coerceString=function(t,e,r){if(\"string\"==typeof e){if(e||!t.noBlank)return e}else if((\"number\"==typeof e||!0===e)&&!t.strict)return String(e);return void 0!==r?r:t.dflt},r.coerceNumber=function(t,e,r){if(n(e)){e=+e;var a=t.min,i=t.max;if(!(void 0!==a&&e<a||void 0!==i&&e>i))return e}return void 0!==r?r:t.dflt},r.coerceColor=function(t,e,r){return a(e).isValid()?e:void 0!==r?r:t.dflt},r.coerceEnumerated=function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt},r.getValue=function(t,e){var r;return Array.isArray(t)?e<t.length&&(r=t[e]):r=t,r},r.getLineWidth=function(t,e){return 0<e.mlw?e.mlw:i(t.marker.line.width)?0:t.marker.line.width}},{\"../../lib\":728,\"fast-isnumeric\":236,tinycolor2:528}],876:[function(t,e,r){\"use strict\";var n=t(\"../../components/fx\"),a=t(\"../../registry\"),i=t(\"../../components/color\"),o=t(\"../../lib\").fillText,s=t(\"./helpers\").getLineWidth,l=t(\"../../plots/cartesian/axes\").hoverLabelText,c=t(\"../../constants/numerical\").BADNUM;function u(t,e,r,a){var i,s,u,h,f,p,d,g=t.cd,m=g[0].trace,v=g[0].t,y=\"closest\"===a,x=\"waterfall\"===m.type,b=t.maxHoverDistance;function _(t){return t[u]-t.w/2}function w(t){return t[u]+t.w/2}var T=y?_:function(t){return Math.min(_(t),t.p-v.bardelta/2)},k=y?w:function(t){return Math.max(w(t),t.p+v.bardelta/2)};function A(t,e){return n.inbox(t-i,e-i,b+Math.min(1,Math.abs(e-t)/d)-1)}function M(t){return A(T(t),k(t))}function S(t){var e=s,r=t.b,a=t[h];if(x){var i=Math.abs(t.rawS)||0;e>0?a+=i:e<0&&(a-=i)}return n.inbox(r-e,a-e,b+(a-e)/(a-r)-1)}\"h\"===m.orientation?(i=r,s=e,u=\"y\",h=\"x\",f=S,p=M):(i=e,s=r,u=\"x\",h=\"y\",p=S,f=M);var E=t[u+\"a\"],C=t[h+\"a\"];d=Math.abs(E.r2c(E.range[1])-E.r2c(E.range[0]));var L=n.getDistanceFunction(a,f,p,(function(t){return(f(t)+p(t))/2}));if(n.getClosest(g,L,t),!1!==t.index&&g[t.index].p!==c){y||(T=function(t){return Math.min(_(t),t.p-v.bargroupwidth/2)},k=function(t){return Math.max(w(t),t.p+v.bargroupwidth/2)});var P=g[t.index],I=m.base?P.b+P.s:P.s;t[h+\"0\"]=t[h+\"1\"]=C.c2p(P[h],!0),t[h+\"LabelVal\"]=I;var z=v.extents[v.extents.round(P.p)];return t[u+\"0\"]=E.c2p(y?T(P):z[0],!0),t[u+\"1\"]=E.c2p(y?k(P):z[1],!0),t[u+\"LabelVal\"]=P.p,t.labelLabel=l(E,t[u+\"LabelVal\"]),t.valueLabel=l(C,t[h+\"LabelVal\"]),t.spikeDistance=(S(P)+function(t){return A(_(t),w(t))}(P))/2-b,t[u+\"Spike\"]=E.c2p(P.p,!0),o(P,m,t),t.hovertemplate=m.hovertemplate,t}}function h(t,e){var r=e.mcc||t.marker.color,n=e.mlcc||t.marker.line.color,a=s(t,e);return i.opacity(r)?r:i.opacity(n)&&a?n:void 0}e.exports={hoverPoints:function(t,e,r,n){var i=u(t,e,r,n);if(i){var o=i.cd,s=o[0].trace,l=o[i.index];return i.color=h(s,l),a.getComponentMethod(\"errorbars\",\"hoverInfo\")(l,s,i),[i]}},hoverOnBars:u,getTraceColor:h}},{\"../../components/color\":595,\"../../components/fx\":635,\"../../constants/numerical\":704,\"../../lib\":728,\"../../plots/cartesian/axes\":776,\"../../registry\":859,\"./helpers\":875}],877:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\").supplyDefaults,crossTraceDefaults:t(\"./defaults\").crossTraceDefaults,supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\"),crossTraceCalc:t(\"./cross_trace_calc\").crossTraceCalc,colorbar:t(\"../scatter/marker_colorbar\"),arraysToCalcdata:t(\"./arrays_to_calcdata\"),plot:t(\"./plot\").plot,style:t(\"./style\").style,styleOnSelect:t(\"./style\").styleOnSelect,hoverPoints:t(\"./hover\").hoverPoints,eventData:t(\"./event_data\"),selectPoints:t(\"./select\"),moduleType:\"trace\",name:\"bar\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"bar-like\",\"cartesian\",\"svg\",\"bar\",\"oriented\",\"errorBarsOK\",\"showLegend\",\"zoomScale\"],animatable:!0,meta:{}}},{\"../../plots/cartesian\":789,\"../scatter/marker_colorbar\":1152,\"./arrays_to_calcdata\":868,\"./attributes\":869,\"./calc\":870,\"./cross_trace_calc\":872,\"./defaults\":873,\"./event_data\":874,\"./hover\":876,\"./layout_attributes\":878,\"./layout_defaults\":879,\"./plot\":880,\"./select\":881,\"./style\":883}],878:[function(t,e,r){\"use strict\";e.exports={barmode:{valType:\"enumerated\",values:[\"stack\",\"group\",\"overlay\",\"relative\"],dflt:\"group\",editType:\"calc\"},barnorm:{valType:\"enumerated\",values:[\"\",\"fraction\",\"percent\"],dflt:\"\",editType:\"calc\"},bargap:{valType:\"number\",min:0,max:1,editType:\"calc\"},bargroupgap:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"}}},{}],879:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),a=t(\"../../plots/cartesian/axes\"),i=t(\"../../lib\"),o=t(\"./layout_attributes\");e.exports=function(t,e,r){function s(r,n){return i.coerce(t,e,o,r,n)}for(var l=!1,c=!1,u=!1,h={},f=s(\"barmode\"),p=0;p<r.length;p++){var d=r[p];if(n.traceIs(d,\"bar\")&&d.visible){if(l=!0,\"group\"===f){var g=d.xaxis+d.yaxis;h[g]&&(u=!0),h[g]=!0}if(d.visible&&\"histogram\"===d.type)\"category\"!==a.getFromId({_fullLayout:e},d[\"v\"===d.orientation?\"xaxis\":\"yaxis\"]).type&&(c=!0)}}l?(\"overlay\"!==f&&s(\"barnorm\"),s(\"bargap\",c&&!u?0:.2),s(\"bargroupgap\")):delete e.barmode}},{\"../../lib\":728,\"../../plots/cartesian/axes\":776,\"../../registry\":859,\"./layout_attributes\":878}],880:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"fast-isnumeric\"),i=t(\"../../lib\"),o=t(\"../../lib/svg_text_utils\"),s=t(\"../../components/color\"),l=t(\"../../components/drawing\"),c=t(\"../../registry\"),u=t(\"../../plots/cartesian/axes\").tickText,h=t(\"./uniform_text\"),f=h.recordMinTextSize,p=h.clearMinTextSize,d=t(\"./style\"),g=t(\"./helpers\"),m=t(\"./constants\"),v=t(\"./attributes\"),y=v.text,x=v.textposition,b=t(\"../../components/fx/helpers\").appendArrayPointValue,_=m.TEXTPAD;function w(t){return t.id}function T(t){if(t.ids)return w}function k(t,e){return t<e?1:-1}function A(t,e,r,n){var a;return!e.uniformtext.mode&&M(r)?(n&&(a=n()),t.transition().duration(r.duration).ease(r.easing).each(\"end\",(function(){a&&a()})).each(\"interrupt\",(function(){a&&a()}))):t}function M(t){return t&&t.duration>0}function S(t){return\"auto\"===t?0:t}function E(t,e){var r=Math.PI/180*e,n=Math.abs(Math.sin(r)),a=Math.abs(Math.cos(r));return{x:t.width*a+t.height*n,y:t.width*n+t.height*a}}function C(t,e,r,n,a,i){var o=!!i.isHorizontal,s=!!i.constrained,l=i.angle||0,c=i.anchor||\"end\",u=\"end\"===c,h=\"start\"===c,f=((i.leftToRight||0)+1)/2,p=1-f,d=a.width,g=a.height,m=Math.abs(e-t),v=Math.abs(n-r),y=m>2*_&&v>2*_?_:0;m-=2*y,v-=2*y;var x=S(l);\"auto\"!==l||d<=m&&g<=v||!(d>m||g>v)||(d>v||g>m)&&d<g==m<v||(x+=90);var b=E(a,x),w=1;s&&(w=Math.min(1,m/b.x,v/b.y));var T=a.left*p+a.right*f,A=(a.top+a.bottom)/2,M=(t+_)*p+(e-_)*f,C=(r+n)/2,L=0,P=0;if(h||u){var I=(o?b.x:b.y)/2,z=o?k(t,e):k(r,n);o?h?(M=t+z*y,L=-z*I):(M=e-z*y,L=z*I):h?(C=r+z*y,P=-z*I):(C=n-z*y,P=z*I)}return{textX:T,textY:A,targetX:M,targetY:C,anchorX:L,anchorY:P,scale:w,rotate:x}}e.exports={plot:function(t,e,r,h,m,v){var w=e.xaxis,L=e.yaxis,P=t._fullLayout;m||(m={mode:P.barmode,norm:P.barmode,gap:P.bargap,groupgap:P.bargroupgap},p(\"bar\",P));var I=i.makeTraceGroups(h,r,\"trace bars\").each((function(r){var c=n.select(this),h=r[0].trace,p=\"waterfall\"===h.type,I=\"funnel\"===h.type,z=\"bar\"===h.type||I,O=0;p&&h.connector.visible&&\"between\"===h.connector.mode&&(O=h.connector.line.width/2);var D=\"h\"===h.orientation,R=M(m),F=i.ensureSingle(c,\"g\",\"points\"),B=T(h),N=F.selectAll(\"g.point\").data(i.identity,B);N.enter().append(\"g\").classed(\"point\",!0),N.exit().remove(),N.each((function(c,p){var T,M,I=n.select(this),F=function(t,e,r,n){var a=[],i=[],o=n?e:r,s=n?r:e;return a[0]=o.c2p(t.s0,!0),i[0]=s.c2p(t.p0,!0),a[1]=o.c2p(t.s1,!0),i[1]=s.c2p(t.p1,!0),n?[a,i]:[i,a]}(c,w,L,D),B=F[0][0],N=F[0][1],j=F[1][0],V=F[1][1],U=0==(D?N-B:V-j);if(U&&z&&g.getLineWidth(h,c)&&(U=!1),U||(U=!(a(B)&&a(N)&&a(j)&&a(V))),c.isBlank=U,U&&(D?N=B:V=j),O&&!U&&(D?(B-=k(B,N)*O,N+=k(B,N)*O):(j-=k(j,V)*O,V+=k(j,V)*O)),\"waterfall\"===h.type){if(!U){var q=h[c.dir].marker;T=q.line.width,M=q.color}}else T=g.getLineWidth(h,c),M=c.mc||h.marker.color;function H(t){var e=n.round(T/2%1,2);return 0===m.gap&&0===m.groupgap?n.round(Math.round(t)-e,2):t}if(!t._context.staticPlot){var G=s.opacity(M)<1||T>.01?H:function(t,e,r){return r&&t===e?t:Math.abs(t-e)>=2?H(t):t>e?Math.ceil(t):Math.floor(t)};B=G(B,N,D),N=G(N,B,D),j=G(j,V,!D),V=G(V,j,!D)}var Y=A(i.ensureSingle(I,\"path\"),P,m,v);if(Y.style(\"vector-effect\",\"non-scaling-stroke\").attr(\"d\",isNaN((N-B)*(V-j))?\"M0,0Z\":\"M\"+B+\",\"+j+\"V\"+V+\"H\"+N+\"V\"+j+\"Z\").call(l.setClipUrl,e.layerClipId,t),!P.uniformtext.mode&&R){var W=l.makePointStyleFns(h);l.singlePointStyle(c,Y,h,W,t)}!function(t,e,r,n,a,s,c,h,p,m,v){var w,T=e.xaxis,M=e.yaxis,L=t._fullLayout;function P(e,r,n){return i.ensureSingle(e,\"text\").text(r).attr({class:\"bartext bartext-\"+w,\"text-anchor\":\"middle\",\"data-notex\":1}).call(l.font,n).call(o.convertToTspans,t)}var I=n[0].trace,z=\"h\"===I.orientation,O=function(t,e,r,n,a){var o,s=e[0].trace;o=s.texttemplate?function(t,e,r,n,a){var o=e[0].trace,s=i.castOption(o,r,\"texttemplate\");if(!s)return\"\";var l,c,h,f,p=\"waterfall\"===o.type,d=\"funnel\"===o.type;\"h\"===o.orientation?(l=\"y\",c=a,h=\"x\",f=n):(l=\"x\",c=n,h=\"y\",f=a);function g(t){return u(f,+t,!0).text}var m=e[r],v={};v.label=m.p,v.labelLabel=v[l+\"Label\"]=(y=m.p,u(c,y,!0).text);var y;var x=i.castOption(o,m.i,\"text\");(0===x||x)&&(v.text=x);v.value=m.s,v.valueLabel=v[h+\"Label\"]=g(m.s);var _={};b(_,o,m.i),p&&(v.delta=+m.rawS||m.s,v.deltaLabel=g(v.delta),v.final=m.v,v.finalLabel=g(v.final),v.initial=v.final-v.delta,v.initialLabel=g(v.initial));d&&(v.value=m.s,v.valueLabel=g(v.value),v.percentInitial=m.begR,v.percentInitialLabel=i.formatPercent(m.begR),v.percentPrevious=m.difR,v.percentPreviousLabel=i.formatPercent(m.difR),v.percentTotal=m.sumR,v.percenTotalLabel=i.formatPercent(m.sumR));var w=i.castOption(o,m.i,\"customdata\");w&&(v.customdata=w);return i.texttemplateString(s,v,t._d3locale,_,v,o._meta||{})}(t,e,r,n,a):s.textinfo?function(t,e,r,n){var a=t[0].trace,o=\"h\"===a.orientation,s=\"waterfall\"===a.type,l=\"funnel\"===a.type;function c(t){return u(o?r:n,+t,!0).text}var h,f=a.textinfo,p=t[e],d=f.split(\"+\"),g=[],m=function(t){return-1!==d.indexOf(t)};m(\"label\")&&g.push((v=t[e].p,u(o?n:r,v,!0).text));var v;m(\"text\")&&(0===(h=i.castOption(a,p.i,\"text\"))||h)&&g.push(h);if(s){var y=+p.rawS||p.s,x=p.v,b=x-y;m(\"initial\")&&g.push(c(b)),m(\"delta\")&&g.push(c(y)),m(\"final\")&&g.push(c(x))}if(l){m(\"value\")&&g.push(c(p.s));var _=0;m(\"percent initial\")&&_++,m(\"percent previous\")&&_++,m(\"percent total\")&&_++;var w=_>1;m(\"percent initial\")&&(h=i.formatPercent(p.begR),w&&(h+=\" of initial\"),g.push(h)),m(\"percent previous\")&&(h=i.formatPercent(p.difR),w&&(h+=\" of previous\"),g.push(h)),m(\"percent total\")&&(h=i.formatPercent(p.sumR),w&&(h+=\" of total\"),g.push(h))}return g.join(\"<br>\")}(e,r,n,a):g.getValue(s.text,r);return g.coerceString(y,o)}(L,n,a,T,M);w=function(t,e){var r=g.getValue(t.textposition,e);return g.coerceEnumerated(x,r)}(I,a);var D=\"stack\"===m.mode||\"relative\"===m.mode,R=n[a],F=!D||R._outmost;if(!O||\"none\"===w||(R.isBlank||s===c||h===p)&&(\"auto\"===w||\"inside\"===w))return void r.select(\"text\").remove();var B=L.font,N=d.getBarColor(n[a],I),j=d.getInsideTextFont(I,a,B,N),V=d.getOutsideTextFont(I,a,B),U=r.datum();z?\"log\"===T.type&&U.s0<=0&&(s=T.range[0]<T.range[1]?0:T._length):\"log\"===M.type&&U.s0<=0&&(h=M.range[0]<M.range[1]?M._length:0);var q,H,G,Y,W,Z=Math.abs(c-s)-2*_,X=Math.abs(p-h)-2*_;\"outside\"===w&&(F||R.hasB||(w=\"inside\"));if(\"auto\"===w)if(F){w=\"inside\",W=i.ensureUniformFontSize(t,j),q=P(r,O,W),H=l.bBox(q.node()),G=H.width,Y=H.height;var J=G<=Z&&Y<=X,K=G<=X&&Y<=Z,Q=z?Z>=G*(X/Y):X>=Y*(Z/G);G>0&&Y>0&&(J||K||Q)?w=\"inside\":(w=\"outside\",q.remove(),q=null)}else w=\"inside\";if(!q){W=i.ensureUniformFontSize(t,\"outside\"===w?V:j);var $=(q=P(r,O,W)).attr(\"transform\");if(q.attr(\"transform\",\"\"),H=l.bBox(q.node()),G=H.width,Y=H.height,q.attr(\"transform\",$),G<=0||Y<=0)return void q.remove()}var tt,et,rt=I.textangle;\"outside\"===w?(et=\"both\"===I.constraintext||\"outside\"===I.constraintext,tt=function(t,e,r,n,a,i){var o,s=!!i.isHorizontal,l=!!i.constrained,c=i.angle||0,u=a.width,h=a.height,f=Math.abs(e-t),p=Math.abs(n-r);o=s?p>2*_?_:0:f>2*_?_:0;var d=1;l&&(d=s?Math.min(1,p/h):Math.min(1,f/u));var g=S(c),m=E(a,g),v=(s?m.x:m.y)/2,y=(a.left+a.right)/2,x=(a.top+a.bottom)/2,b=(t+e)/2,w=(r+n)/2,T=0,A=0,M=s?k(e,t):k(r,n);s?(b=e-M*o,T=M*v):(w=n+M*o,A=-M*v);return{textX:y,textY:x,targetX:b,targetY:w,anchorX:T,anchorY:A,scale:d,rotate:g}}(s,c,h,p,H,{isHorizontal:z,constrained:et,angle:rt})):(et=\"both\"===I.constraintext||\"inside\"===I.constraintext,tt=C(s,c,h,p,H,{isHorizontal:z,constrained:et,angle:rt,anchor:I.insidetextanchor}));tt.fontSize=W.size,f(I.type,tt,L),R.transform=tt,A(q,L,m,v).attr(\"transform\",i.getTextTransform(tt))}(t,e,I,r,p,B,N,j,V,m,v),e.layerClipId&&l.hideOutsideRangePoint(c,I.select(\"text\"),w,L,h.xcalendar,h.ycalendar)}));var j=!1===h.cliponaxis;l.setClipUrl(c,j?null:e.layerClipId,t)}));c.getComponentMethod(\"errorbars\",\"plot\")(t,I,e,m)},toMoveInsideBar:C}},{\"../../components/color\":595,\"../../components/drawing\":617,\"../../components/fx/helpers\":631,\"../../lib\":728,\"../../lib/svg_text_utils\":752,\"../../plots/cartesian/axes\":776,\"../../registry\":859,\"./attributes\":869,\"./constants\":871,\"./helpers\":875,\"./style\":883,\"./uniform_text\":885,d3:164,\"fast-isnumeric\":236}],881:[function(t,e,r){\"use strict\";function n(t,e,r,n,a){var i=e.c2p(n?t.s0:t.p0,!0),o=e.c2p(n?t.s1:t.p1,!0),s=r.c2p(n?t.p0:t.s0,!0),l=r.c2p(n?t.p1:t.s1,!0);return a?[(i+o)/2,(s+l)/2]:n?[o,(s+l)/2]:[(i+o)/2,l]}e.exports=function(t,e){var r,a=t.cd,i=t.xaxis,o=t.yaxis,s=a[0].trace,l=\"funnel\"===s.type,c=\"h\"===s.orientation,u=[];if(!1===e)for(r=0;r<a.length;r++)a[r].selected=0;else for(r=0;r<a.length;r++){var h=a[r],f=\"ct\"in h?h.ct:n(h,i,o,c,l);e.contains(f,!1,r,t)?(u.push({pointNumber:r,x:i.c2d(h.x),y:o.c2d(h.y)}),h.selected=1):h.selected=0}return u}},{}],882:[function(t,e,r){\"use strict\";e.exports=i;var n=t(\"../../lib\").distinctVals,a=t(\"../../constants/numerical\").BADNUM;function i(t,e){this.traces=t,this.sepNegVal=e.sepNegVal,this.overlapNoMerge=e.overlapNoMerge;for(var r=1/0,i=[],o=0;o<t.length;o++){for(var s=t[o],l=0;l<s.length;l++){var c=s[l];c.p!==a&&i.push(c.p)}s[0]&&s[0].width1&&(r=Math.min(s[0].width1,r))}this.positions=i;var u=n(i);this.distinctPositions=u.vals,1===u.vals.length&&r!==1/0?this.minDiff=r:this.minDiff=Math.min(u.minDiff,r),this.binWidth=this.minDiff,this.bins={}}i.prototype.put=function(t,e){var r=this.getLabel(t,e),n=this.bins[r]||0;return this.bins[r]=n+e,n},i.prototype.get=function(t,e){var r=this.getLabel(t,e);return this.bins[r]||0},i.prototype.getLabel=function(t,e){return(e<0&&this.sepNegVal?\"v\":\"^\")+(this.overlapNoMerge?t:Math.round(t/this.binWidth))}},{\"../../constants/numerical\":704,\"../../lib\":728}],883:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../components/color\"),i=t(\"../../components/drawing\"),o=t(\"../../lib\"),s=t(\"../../registry\"),l=t(\"./uniform_text\").resizeText,c=t(\"./attributes\"),u=c.textfont,h=c.insidetextfont,f=c.outsidetextfont,p=t(\"./helpers\");function d(t,e,r){i.pointStyle(t.selectAll(\"path\"),e,r),g(t,e,r)}function g(t,e,r){t.selectAll(\"text\").each((function(t){var a=n.select(this),s=o.ensureUniformFontSize(r,m(a,t,e,r));i.font(a,s)}))}function m(t,e,r,n){var a=n._fullLayout.font,i=r.textfont;if(t.classed(\"bartext-inside\")){var o=_(e,r);i=y(r,e.i,a,o)}else t.classed(\"bartext-outside\")&&(i=x(r,e.i,a));return i}function v(t,e,r){return b(u,t.textfont,e,r)}function y(t,e,r,n){var i=v(t,e,r);return(void 0===t._input.textfont||void 0===t._input.textfont.color||Array.isArray(t.textfont.color)&&void 0===t.textfont.color[e])&&(i={color:a.contrast(n),family:i.family,size:i.size}),b(h,t.insidetextfont,e,i)}function x(t,e,r){var n=v(t,e,r);return b(f,t.outsidetextfont,e,n)}function b(t,e,r,n){e=e||{};var a=p.getValue(e.family,r),i=p.getValue(e.size,r),o=p.getValue(e.color,r);return{family:p.coerceString(t.family,a,n.family),size:p.coerceNumber(t.size,i,n.size),color:p.coerceColor(t.color,o,n.color)}}function _(t,e){return\"waterfall\"===e.type?e[t.dir].marker.color:t.mc||e.marker.color}e.exports={style:function(t){var e=n.select(t).selectAll(\"g.barlayer\").selectAll(\"g.trace\");l(t,e,\"bar\");var r=e.size(),a=t._fullLayout;e.style(\"opacity\",(function(t){return t[0].trace.opacity})).each((function(t){(\"stack\"===a.barmode&&r>1||0===a.bargap&&0===a.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr(\"shape-rendering\",\"crispEdges\")})),e.selectAll(\"g.points\").each((function(e){d(n.select(this),e[0].trace,t)})),s.getComponentMethod(\"errorbars\",\"style\")(e)},styleTextPoints:g,styleOnSelect:function(t,e,r){var a=e[0].trace;a.selectedpoints?function(t,e,r){i.selectedPointStyle(t.selectAll(\"path\"),e),function(t,e,r){t.each((function(t){var a,s=n.select(this);if(t.selected){a=o.ensureUniformFontSize(r,m(s,t,e,r));var l=e.selected.textfont&&e.selected.textfont.color;l&&(a.color=l),i.font(s,a)}else i.selectedTextStyle(s,e)}))}(t.selectAll(\"text\"),e,r)}(r,a,t):(d(r,a,t),s.getComponentMethod(\"errorbars\",\"style\")(r))},getInsideTextFont:y,getOutsideTextFont:x,getBarColor:_,resizeText:l}},{\"../../components/color\":595,\"../../components/drawing\":617,\"../../lib\":728,\"../../registry\":859,\"./attributes\":869,\"./helpers\":875,\"./uniform_text\":885,d3:164}],884:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),a=t(\"../../components/colorscale/helpers\").hasColorscale,i=t(\"../../components/colorscale/defaults\");e.exports=function(t,e,r,o,s){r(\"marker.color\",o),a(t,\"marker\")&&i(t,e,s,r,{prefix:\"marker.\",cLetter:\"c\"}),r(\"marker.line.color\",n.defaultLine),a(t,\"marker.line\")&&i(t,e,s,r,{prefix:\"marker.line.\",cLetter:\"c\"}),r(\"marker.line.width\"),r(\"marker.opacity\"),r(\"selected.marker.color\"),r(\"unselected.marker.color\")}},{\"../../components/color\":595,\"../../components/colorscale/defaults\":605,\"../../components/colorscale/helpers\":606}],885:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../lib\");function i(t){return\"_\"+t+\"Text_minsize\"}e.exports={recordMinTextSize:function(t,e,r){if(r.uniformtext.mode){var n=i(t),a=r.uniformtext.minsize,o=e.scale*e.fontSize;e.hide=o<a,r[n]=r[n]||1/0,e.hide||(r[n]=Math.min(r[n],Math.max(o,a)))}},clearMinTextSize:function(t,e){e[i(t)]=void 0},resizeText:function(t,e,r){var i=t._fullLayout,o=i[\"_\"+r+\"Text_minsize\"];if(o){var s,l=\"hide\"===i.uniformtext.mode;switch(r){case\"funnelarea\":case\"pie\":case\"sunburst\":s=\"g.slice\";break;case\"treemap\":s=\"g.slice, g.pathbar\";break;default:s=\"g.points > g.point\"}e.selectAll(s).each((function(t){var e=t.transform;e&&(e.scale=l&&e.hide?0:o/e.fontSize,n.select(this).select(\"text\").attr(\"transform\",a.getTextTransform(e)))}))}}}},{\"../../lib\":728,d3:164}],886:[function(t,e,r){\"use strict\";var n=t(\"../../plots/template_attributes\").hovertemplateAttrs,a=t(\"../../lib/extend\").extendFlat,i=t(\"../scatterpolar/attributes\"),o=t(\"../bar/attributes\");e.exports={r:i.r,theta:i.theta,r0:i.r0,dr:i.dr,theta0:i.theta0,dtheta:i.dtheta,thetaunit:i.thetaunit,base:a({},o.base,{}),offset:a({},o.offset,{}),width:a({},o.width,{}),text:a({},o.text,{}),hovertext:a({},o.hovertext,{}),marker:o.marker,hoverinfo:i.hoverinfo,hovertemplate:n(),selected:o.selected,unselected:o.unselected}},{\"../../lib/extend\":719,\"../../plots/template_attributes\":854,\"../bar/attributes\":869,\"../scatterpolar/attributes\":1207}],887:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/helpers\").hasColorscale,a=t(\"../../components/colorscale/calc\"),i=t(\"../bar/arrays_to_calcdata\"),o=t(\"../bar/cross_trace_calc\").setGroupPositions,s=t(\"../scatter/calc_selection\"),l=t(\"../../registry\").traceIs,c=t(\"../../lib\").extendFlat;e.exports={calc:function(t,e){for(var r=t._fullLayout,o=e.subplot,l=r[o].radialaxis,c=r[o].angularaxis,u=l.makeCalcdata(e,\"r\"),h=c.makeCalcdata(e,\"theta\"),f=e._length,p=new Array(f),d=u,g=h,m=0;m<f;m++)p[m]={p:g[m],s:d[m]};function v(t){var r=e[t];void 0!==r&&(e[\"_\"+t]=Array.isArray(r)?c.makeCalcdata(e,t):c.d2c(r,e.thetaunit))}return\"linear\"===c.type&&(v(\"width\"),v(\"offset\")),n(e,\"marker\")&&a(t,e,{vals:e.marker.color,containerStr:\"marker\",cLetter:\"c\"}),n(e,\"marker.line\")&&a(t,e,{vals:e.marker.line.color,containerStr:\"marker.line\",cLetter:\"c\"}),i(p,e),s(p,e),p},crossTraceCalc:function(t,e,r){for(var n=t.calcdata,a=[],i=0;i<n.length;i++){var s=n[i],u=s[0].trace;!0===u.visible&&l(u,\"bar\")&&u.subplot===r&&a.push(s)}var h=c({},e.radialaxis,{_id:\"x\"}),f=e.angularaxis;o(t,f,h,a,{mode:e.barmode,norm:e.barnorm,gap:e.bargap,groupgap:e.bargroupgap})}}},{\"../../components/colorscale/calc\":603,\"../../components/colorscale/helpers\":606,\"../../lib\":728,\"../../registry\":859,\"../bar/arrays_to_calcdata\":868,\"../bar/cross_trace_calc\":872,\"../scatter/calc_selection\":1136}],888:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../scatterpolar/defaults\").handleRThetaDefaults,i=t(\"../bar/style_defaults\"),o=t(\"./attributes\");e.exports=function(t,e,r,s){function l(r,a){return n.coerce(t,e,o,r,a)}a(t,e,s,l)?(l(\"thetaunit\"),l(\"base\"),l(\"offset\"),l(\"width\"),l(\"text\"),l(\"hovertext\"),l(\"hovertemplate\"),i(t,e,l,r,s),n.coerceSelectionMarkerOpacity(e,l)):e.visible=!1}},{\"../../lib\":728,\"../bar/style_defaults\":884,\"../scatterpolar/defaults\":1209,\"./attributes\":886}],889:[function(t,e,r){\"use strict\";var n=t(\"../../components/fx\"),a=t(\"../../lib\"),i=t(\"../bar/hover\").getTraceColor,o=a.fillText,s=t(\"../scatterpolar/hover\").makeHoverPointText,l=t(\"../../plots/polar/helpers\").isPtInsidePolygon;e.exports=function(t,e,r){var c=t.cd,u=c[0].trace,h=t.subplot,f=h.radialAxis,p=h.angularAxis,d=h.vangles,g=d?l:a.isPtInsideSector,m=t.maxHoverDistance,v=p._period||2*Math.PI,y=Math.abs(f.g2p(Math.sqrt(e*e+r*r))),x=Math.atan2(r,e);f.range[0]>f.range[1]&&(x+=Math.PI);if(n.getClosest(c,(function(t){return g(y,x,[t.rp0,t.rp1],[t.thetag0,t.thetag1],d)?m+Math.min(1,Math.abs(t.thetag1-t.thetag0)/v)-1+(t.rp1-y)/(t.rp1-t.rp0)-1:1/0}),t),!1!==t.index){var b=c[t.index];t.x0=t.x1=b.ct[0],t.y0=t.y1=b.ct[1];var _=a.extendFlat({},b,{r:b.s,theta:b.p});return o(b,u,t),s(_,u,h,t),t.hovertemplate=u.hovertemplate,t.color=i(u,b),t.xLabelVal=t.yLabelVal=void 0,b.s<0&&(t.idealAlign=\"left\"),[t]}}},{\"../../components/fx\":635,\"../../lib\":728,\"../../plots/polar/helpers\":841,\"../bar/hover\":876,\"../scatterpolar/hover\":1211}],890:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"barpolar\",basePlotModule:t(\"../../plots/polar\"),categories:[\"polar\",\"bar\",\"showLegend\"],attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\"),supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\").calc,crossTraceCalc:t(\"./calc\").crossTraceCalc,plot:t(\"./plot\"),colorbar:t(\"../scatter/marker_colorbar\"),formatLabels:t(\"../scatterpolar/format_labels\"),style:t(\"../bar/style\").style,styleOnSelect:t(\"../bar/style\").styleOnSelect,hoverPoints:t(\"./hover\"),selectPoints:t(\"../bar/select\"),meta:{}}},{\"../../plots/polar\":842,\"../bar/select\":881,\"../bar/style\":883,\"../scatter/marker_colorbar\":1152,\"../scatterpolar/format_labels\":1210,\"./attributes\":886,\"./calc\":887,\"./defaults\":888,\"./hover\":889,\"./layout_attributes\":891,\"./layout_defaults\":892,\"./plot\":893}],891:[function(t,e,r){\"use strict\";e.exports={barmode:{valType:\"enumerated\",values:[\"stack\",\"overlay\"],dflt:\"stack\",editType:\"calc\"},bargap:{valType:\"number\",dflt:.1,min:0,max:1,editType:\"calc\"}}},{}],892:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"./layout_attributes\");e.exports=function(t,e,r){var i,o={};function s(r,o){return n.coerce(t[i]||{},e[i],a,r,o)}for(var l=0;l<r.length;l++){var c=r[l];\"barpolar\"===c.type&&!0===c.visible&&(o[i=c.subplot]||(s(\"barmode\"),s(\"bargap\"),o[i]=1))}}},{\"../../lib\":728,\"./layout_attributes\":891}],893:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"fast-isnumeric\"),i=t(\"../../lib\"),o=t(\"../../components/drawing\"),s=t(\"../../plots/polar/helpers\");e.exports=function(t,e,r){var l=e.xaxis,c=e.yaxis,u=e.radialAxis,h=e.angularAxis,f=function(t){var e=t.cxx,r=t.cyy;if(t.vangles)return function(n,a,o,l){var c,u;i.angleDelta(o,l)>0?(c=o,u=l):(c=l,u=o);var h=[s.findEnclosingVertexAngles(c,t.vangles)[0],(c+u)/2,s.findEnclosingVertexAngles(u,t.vangles)[1]];return s.pathPolygonAnnulus(n,a,c,u,h,e,r)};return function(t,n,a,o){return i.pathAnnulus(t,n,a,o,e,r)}}(e),p=e.layers.frontplot.select(\"g.barlayer\");i.makeTraceGroups(p,r,\"trace bars\").each((function(){var r=n.select(this),s=i.ensureSingle(r,\"g\",\"points\").selectAll(\"g.point\").data(i.identity);s.enter().append(\"g\").style(\"vector-effect\",\"non-scaling-stroke\").style(\"stroke-miterlimit\",2).classed(\"point\",!0),s.exit().remove(),s.each((function(t){var e,r=n.select(this),o=t.rp0=u.c2p(t.s0),s=t.rp1=u.c2p(t.s1),p=t.thetag0=h.c2g(t.p0),d=t.thetag1=h.c2g(t.p1);if(a(o)&&a(s)&&a(p)&&a(d)&&o!==s&&p!==d){var g=u.c2g(t.s1),m=(p+d)/2;t.ct=[l.c2p(g*Math.cos(m)),c.c2p(g*Math.sin(m))],e=f(o,s,p,d)}else e=\"M0,0Z\";i.ensureSingle(r,\"path\").attr(\"d\",e)})),o.setClipUrl(r,e._hasClipOnAxisFalse?e.clipIds.forTraces:null,t)}))}},{\"../../components/drawing\":617,\"../../lib\":728,\"../../plots/polar/helpers\":841,d3:164,\"fast-isnumeric\":236}],894:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),a=t(\"../bar/attributes\"),i=t(\"../../components/color/attributes\"),o=t(\"../../plots/template_attributes\").hovertemplateAttrs,s=t(\"../../lib/extend\").extendFlat,l=n.marker,c=l.line;e.exports={y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},x0:{valType:\"any\",editType:\"calc+clearAxisTypes\"},y0:{valType:\"any\",editType:\"calc+clearAxisTypes\"},dx:{valType:\"number\",editType:\"calc\"},dy:{valType:\"number\",editType:\"calc\"},name:{valType:\"string\",editType:\"calc+clearAxisTypes\"},q1:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},median:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},q3:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},lowerfence:{valType:\"data_array\",editType:\"calc\"},upperfence:{valType:\"data_array\",editType:\"calc\"},notched:{valType:\"boolean\",editType:\"calc\"},notchwidth:{valType:\"number\",min:0,max:.5,dflt:.25,editType:\"calc\"},notchspan:{valType:\"data_array\",editType:\"calc\"},boxpoints:{valType:\"enumerated\",values:[\"all\",\"outliers\",\"suspectedoutliers\",!1],editType:\"calc\"},jitter:{valType:\"number\",min:0,max:1,editType:\"calc\"},pointpos:{valType:\"number\",min:-2,max:2,editType:\"calc\"},boxmean:{valType:\"enumerated\",values:[!0,\"sd\",!1],editType:\"calc\"},mean:{valType:\"data_array\",editType:\"calc\"},sd:{valType:\"data_array\",editType:\"calc\"},orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc+clearAxisTypes\"},quartilemethod:{valType:\"enumerated\",values:[\"linear\",\"exclusive\",\"inclusive\"],dflt:\"linear\",editType:\"calc\"},width:{valType:\"number\",min:0,dflt:0,editType:\"calc\"},marker:{outliercolor:{valType:\"color\",dflt:\"rgba(0, 0, 0, 0)\",editType:\"style\"},symbol:s({},l.symbol,{arrayOk:!1,editType:\"plot\"}),opacity:s({},l.opacity,{arrayOk:!1,dflt:1,editType:\"style\"}),size:s({},l.size,{arrayOk:!1,editType:\"calc\"}),color:s({},l.color,{arrayOk:!1,editType:\"style\"}),line:{color:s({},c.color,{arrayOk:!1,dflt:i.defaultLine,editType:\"style\"}),width:s({},c.width,{arrayOk:!1,dflt:0,editType:\"style\"}),outliercolor:{valType:\"color\",editType:\"style\"},outlierwidth:{valType:\"number\",min:0,dflt:1,editType:\"style\"},editType:\"style\"},editType:\"plot\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,dflt:2,editType:\"style\"},editType:\"plot\"},fillcolor:n.fillcolor,whiskerwidth:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"calc\"},offsetgroup:a.offsetgroup,alignmentgroup:a.alignmentgroup,selected:{marker:n.selected.marker,editType:\"style\"},unselected:{marker:n.unselected.marker,editType:\"style\"},text:s({},n.text,{}),hovertext:s({},n.hovertext,{}),hovertemplate:o({}),hoveron:{valType:\"flaglist\",flags:[\"boxes\",\"points\"],dflt:\"boxes+points\",editType:\"style\"}}},{\"../../components/color/attributes\":594,\"../../lib/extend\":719,\"../../plots/template_attributes\":854,\"../bar/attributes\":869,\"../scatter/attributes\":1134}],895:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"../../plots/cartesian/axes\"),i=t(\"../../lib\"),o=t(\"../../constants/numerical\").BADNUM,s=i._;e.exports=function(t,e){var r,l,v,y,x,b,_=t._fullLayout,w=a.getFromId(t,e.xaxis||\"x\"),T=a.getFromId(t,e.yaxis||\"y\"),k=[],A=\"violin\"===e.type?\"_numViolins\":\"_numBoxes\";\"h\"===e.orientation?(v=w,y=\"x\",x=T,b=\"y\"):(v=T,y=\"y\",x=w,b=\"x\");var M,S,E,C,L,P,I=function(t,e,r,a){var o,s=e+\"0\"in t,l=\"d\"+e in t;if(e in t||s&&l)return r.makeCalcdata(t,e);o=s?t[e+\"0\"]:\"name\"in t&&(\"category\"===r.type||n(t.name)&&-1!==[\"linear\",\"log\"].indexOf(r.type)||i.isDateTime(t.name)&&\"date\"===r.type)?t.name:a;for(var c=\"multicategory\"===r.type?r.r2c_just_indices(o):r.d2c(o,0,t[e+\"calendar\"]),u=t._length,h=new Array(u),f=0;f<u;f++)h[f]=c;return h}(e,b,x,_[A]),z=i.distinctVals(I),O=z.vals,D=z.minDiff/2,R=\"all\"===(e.boxpoints||e.points)?i.identity:function(t){return t.v<M.lf||t.v>M.uf};if(e._hasPreCompStats){var F=e[y],B=function(t){return v.d2c((e[t]||[])[r])},N=1/0,j=-1/0;for(r=0;r<e._length;r++){var V=I[r];if(n(V)){if((M={}).pos=M[b]=V,M.q1=B(\"q1\"),M.med=B(\"median\"),M.q3=B(\"q3\"),S=[],F&&i.isArrayOrTypedArray(F[r]))for(l=0;l<F[r].length;l++)(P=v.d2c(F[r][l]))!==o&&(c(L={v:P,i:[r,l]},e,[r,l]),S.push(L));if(M.pts=S.sort(u),C=(E=M[y]=S.map(h)).length,M.med!==o&&M.q1!==o&&M.q3!==o&&M.med>=M.q1&&M.q3>=M.med){var U=B(\"lowerfence\");M.lf=U!==o&&U<=M.q1?U:f(M,E,C);var q=B(\"upperfence\");M.uf=q!==o&&q>=M.q3?q:p(M,E,C);var H=B(\"mean\");M.mean=H!==o?H:C?i.mean(E,C):(M.q1+M.q3)/2;var G=B(\"sd\");M.sd=H!==o&&G>=0?G:C?i.stdev(E,C,M.mean):M.q3-M.q1,M.lo=d(M),M.uo=g(M);var Y=B(\"notchspan\");Y=Y!==o&&Y>0?Y:m(M,C),M.ln=M.med-Y,M.un=M.med+Y;var W=M.lf,Z=M.uf;e.boxpoints&&E.length&&(W=Math.min(W,E[0]),Z=Math.max(Z,E[C-1])),e.notched&&(W=Math.min(W,M.ln),Z=Math.max(Z,M.un)),M.min=W,M.max=Z}else{var X;i.warn([\"Invalid input - make sure that q1 <= median <= q3\",\"q1 = \"+M.q1,\"median = \"+M.med,\"q3 = \"+M.q3].join(\"\\n\")),X=M.med!==o?M.med:M.q1!==o?M.q3!==o?(M.q1+M.q3)/2:M.q1:M.q3!==o?M.q3:0,M.med=X,M.q1=M.q3=X,M.lf=M.uf=X,M.mean=M.sd=X,M.ln=M.un=X,M.min=M.max=X}N=Math.min(N,M.min),j=Math.max(j,M.max),M.pts2=S.filter(R),k.push(M)}}e._extremes[v._id]=a.findExtremes(v,[N,j],{padded:!0})}else{var J=v.makeCalcdata(e,y),K=function(t,e){for(var r=t.length,n=new Array(r+1),a=0;a<r;a++)n[a]=t[a]-e;return n[r]=t[r-1]+e,n}(O,D),Q=O.length,$=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=[];return e}(Q);for(r=0;r<e._length;r++)if(P=J[r],n(P)){var tt=i.findBin(I[r],K);tt>=0&&tt<Q&&(c(L={v:P,i:r},e,r),$[tt].push(L))}var et=1/0,rt=-1/0,nt=e.quartilemethod,at=\"exclusive\"===nt,it=\"inclusive\"===nt;for(r=0;r<Q;r++)if($[r].length>0){var ot,st;if((M={}).pos=M[b]=O[r],S=M.pts=$[r].sort(u),C=(E=M[y]=S.map(h)).length,M.min=E[0],M.max=E[C-1],M.mean=i.mean(E,C),M.sd=i.stdev(E,C,M.mean),M.med=i.interp(E,.5),C%2&&(at||it))at?(ot=E.slice(0,C/2),st=E.slice(C/2+1)):it&&(ot=E.slice(0,C/2+1),st=E.slice(C/2)),M.q1=i.interp(ot,.5),M.q3=i.interp(st,.5);else M.q1=i.interp(E,.25),M.q3=i.interp(E,.75);M.lf=f(M,E,C),M.uf=p(M,E,C),M.lo=d(M),M.uo=g(M);var lt=m(M,C);M.ln=M.med-lt,M.un=M.med+lt,et=Math.min(et,M.ln),rt=Math.max(rt,M.un),M.pts2=S.filter(R),k.push(M)}e._extremes[v._id]=a.findExtremes(v,e.notched?J.concat([et,rt]):J,{padded:!0})}return function(t,e){if(i.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r<t.length;r++){for(var n=t[r].pts||[],a={},o=0;o<n.length;o++)a[n[o].i]=o;i.tagSelected(n,e,a)}}(k,e),k.length>0?(k[0].t={num:_[A],dPos:D,posLetter:b,valLetter:y,labels:{med:s(t,\"median:\"),min:s(t,\"min:\"),q1:s(t,\"q1:\"),q3:s(t,\"q3:\"),max:s(t,\"max:\"),mean:\"sd\"===e.boxmean?s(t,\"mean \\xb1 \\u03c3:\"):s(t,\"mean:\"),lf:s(t,\"lower fence:\"),uf:s(t,\"upper fence:\")}},_[A]++,k):[{t:{empty:!0}}]};var l={text:\"tx\",hovertext:\"htx\"};function c(t,e,r){for(var n in l)i.isArrayOrTypedArray(e[n])&&(Array.isArray(r)?i.isArrayOrTypedArray(e[n][r[0]])&&(t[l[n]]=e[n][r[0]][r[1]]):t[l[n]]=e[n][r])}function u(t,e){return t.v-e.v}function h(t){return t.v}function f(t,e,r){return 0===r?t.q1:Math.min(t.q1,e[Math.min(i.findBin(2.5*t.q1-1.5*t.q3,e,!0)+1,r-1)])}function p(t,e,r){return 0===r?t.q3:Math.max(t.q3,e[Math.max(i.findBin(2.5*t.q3-1.5*t.q1,e),0)])}function d(t){return 4*t.q1-3*t.q3}function g(t){return 4*t.q3-3*t.q1}function m(t,e){return 0===e?0:1.57*(t.q3-t.q1)/Math.sqrt(e)}},{\"../../constants/numerical\":704,\"../../lib\":728,\"../../plots/cartesian/axes\":776,\"fast-isnumeric\":236}],896:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),a=t(\"../../lib\"),i=t(\"../../plots/cartesian/axis_ids\").getAxisGroup,o=[\"v\",\"h\"];function s(t,e,r,o){var s,l,c,u=e.calcdata,h=e._fullLayout,f=o._id,p=f.charAt(0),d=[],g=0;for(s=0;s<r.length;s++)for(c=u[r[s]],l=0;l<c.length;l++)d.push(o.c2l(c[l].pos,!0)),g+=(c[l].pts2||[]).length;if(d.length){var m=a.distinctVals(d),v=m.minDiff/2;n.minDtick(o,m.minDiff,m.vals[0],!0);var y=h[\"violin\"===t?\"_numViolins\":\"_numBoxes\"],x=\"group\"===h[t+\"mode\"]&&y>1,b=1-h[t+\"gap\"],_=1-h[t+\"groupgap\"];for(s=0;s<r.length;s++){var w,T,k,A,M,S,E=(c=u[r[s]])[0].trace,C=c[0].t,L=E.width,P=E.side;if(L)w=T=A=L/2,k=0;else if(w=v,x){var I=i(h,o._id)+E.orientation,z=(h._alignmentOpts[I]||{})[E.alignmentgroup]||{},O=Object.keys(z.offsetGroups||{}).length,D=O||y;T=w*b*_/D,k=2*w*(((O?E._offsetIndex:C.num)+.5)/D-.5)*b,A=w*b/D}else T=w*b*_,k=0,A=w;C.dPos=w,C.bPos=k,C.bdPos=T,C.wHover=A;var R,F,B,N,j,V,U=k+T,q=Boolean(L);if(\"positive\"===P?(M=w*(L?1:.5),R=U,S=R=k):\"negative\"===P?(M=R=k,S=w*(L?1:.5),F=U):(M=S=w,R=F=U),(E.boxpoints||E.points)&&g>0){var H=E.pointpos,G=E.jitter,Y=E.marker.size/2,W=0;H+G>=0&&((W=U*(H+G))>M?(q=!0,j=Y,B=W):W>R&&(j=Y,B=M)),W<=M&&(B=M);var Z=0;H-G<=0&&((Z=-U*(H-G))>S?(q=!0,V=Y,N=Z):Z>F&&(V=Y,N=S)),Z<=S&&(N=S)}else B=M,N=S;var X=new Array(c.length);for(l=0;l<c.length;l++)X[l]=c[l].pos;E._extremes[f]=n.findExtremes(o,X,{padded:q,vpadminus:N,vpadplus:B,vpadLinearized:!0,ppadminus:{x:V,y:j}[p],ppadplus:{x:j,y:V}[p]})}}}e.exports={crossTraceCalc:function(t,e){for(var r=t.calcdata,n=e.xaxis,a=e.yaxis,i=0;i<o.length;i++){for(var l=o[i],c=\"h\"===l?a:n,u=[],h=0;h<r.length;h++){var f=r[h],p=f[0].t,d=f[0].trace;!0!==d.visible||\"box\"!==d.type&&\"candlestick\"!==d.type||p.empty||(d.orientation||\"v\")!==l||d.xaxis!==n._id||d.yaxis!==a._id||u.push(h)}s(\"box\",t,u,c)}},setPositionOffset:s}},{\"../../lib\":728,\"../../plots/cartesian/axes\":776,\"../../plots/cartesian/axis_ids\":779}],897:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../registry\"),i=t(\"../../components/color\"),o=t(\"../bar/defaults\").handleGroupingDefaults,s=t(\"../../plots/cartesian/axis_autotype\"),l=t(\"./attributes\");function c(t,e,r,i){function o(t){var e=0;return t&&t.length&&(e+=1,n.isArrayOrTypedArray(t[0])&&t[0].length&&(e+=1)),e}function c(e){return n.validate(t[e],l[e])}var u,h=r(\"y\"),f=r(\"x\");if(\"box\"===e.type){var p=r(\"q1\"),d=r(\"median\"),g=r(\"q3\");e._hasPreCompStats=p&&p.length&&d&&d.length&&g&&g.length,u=Math.min(n.minRowLength(p),n.minRowLength(d),n.minRowLength(g))}var m,v,y=o(h),x=o(f),b=y&&n.minRowLength(h),_=x&&n.minRowLength(f);if(e._hasPreCompStats)switch(String(x)+String(y)){case\"00\":var w=c(\"x0\")||c(\"dx\");m=(c(\"y0\")||c(\"dy\"))&&!w?\"h\":\"v\",v=u;break;case\"10\":m=\"v\",v=Math.min(u,_);break;case\"20\":m=\"h\",v=Math.min(u,f.length);break;case\"01\":m=\"h\",v=Math.min(u,b);break;case\"02\":m=\"v\",v=Math.min(u,h.length);break;case\"12\":m=\"v\",v=Math.min(u,_,h.length);break;case\"21\":m=\"h\",v=Math.min(u,f.length,b);break;case\"11\":v=0;break;case\"22\":var T,k=!1;for(T=0;T<f.length;T++)if(\"category\"===s(f[T])){k=!0;break}if(k)m=\"v\",v=Math.min(u,_,h.length);else{for(T=0;T<h.length;T++)if(\"category\"===s(h[T])){k=!0;break}k?(m=\"h\",v=Math.min(u,f.length,b)):(m=\"v\",v=Math.min(u,_,h.length))}}else y>0?(m=\"v\",v=x>0?Math.min(_,b):Math.min(b)):x>0?(m=\"h\",v=Math.min(_)):v=0;if(v){e._length=v;var A=r(\"orientation\",m);e._hasPreCompStats?\"v\"===A&&0===x?(r(\"x0\",0),r(\"dx\",1)):\"h\"===A&&0===y&&(r(\"y0\",0),r(\"dy\",1)):\"v\"===A&&0===x?r(\"x0\"):\"h\"===A&&0===y&&r(\"y0\"),a.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\"],i)}else e.visible=!1}function u(t,e,r,a){var i=a.prefix,o=n.coerce2(t,e,l,\"marker.outliercolor\"),s=r(\"marker.line.outliercolor\"),c=\"outliers\";e._hasPreCompStats?c=\"all\":(o||s)&&(c=\"suspectedoutliers\");var u=r(i+\"points\",c);u?(r(\"jitter\",\"all\"===u?.3:0),r(\"pointpos\",\"all\"===u?-1.5:0),r(\"marker.symbol\"),r(\"marker.opacity\"),r(\"marker.size\"),r(\"marker.color\",e.line.color),r(\"marker.line.color\"),r(\"marker.line.width\"),\"suspectedoutliers\"===u&&(r(\"marker.line.outliercolor\",e.marker.color),r(\"marker.line.outlierwidth\")),r(\"selected.marker.color\"),r(\"unselected.marker.color\"),r(\"selected.marker.size\"),r(\"unselected.marker.size\"),r(\"text\"),r(\"hovertext\")):delete e.marker;var h=r(\"hoveron\");\"all\"!==h&&-1===h.indexOf(\"points\")||r(\"hovertemplate\"),n.coerceSelectionMarkerOpacity(e,r)}e.exports={supplyDefaults:function(t,e,r,a){function o(r,a){return n.coerce(t,e,l,r,a)}if(c(t,e,o,a),!1!==e.visible){var s=e._hasPreCompStats;s&&(o(\"lowerfence\"),o(\"upperfence\")),o(\"line.color\",(t.marker||{}).color||r),o(\"line.width\"),o(\"fillcolor\",i.addOpacity(e.line.color,.5));var h=!1;if(s){var f=o(\"mean\"),p=o(\"sd\");f&&f.length&&(h=!0,p&&p.length&&(h=\"sd\"))}o(\"boxmean\",h),o(\"whiskerwidth\"),o(\"width\"),o(\"quartilemethod\");var d=!1;if(s){var g=o(\"notchspan\");g&&g.length&&(d=!0)}else n.validate(t.notchwidth,l.notchwidth)&&(d=!0);o(\"notched\",d)&&o(\"notchwidth\"),u(t,e,o,{prefix:\"box\"})}},crossTraceDefaults:function(t,e){var r,a;function i(t){return n.coerce(a._input,a,l,t)}for(var s=0;s<t.length;s++){var c=(a=t[s]).type;\"box\"!==c&&\"violin\"!==c||(r=a._input,\"group\"===e[c+\"mode\"]&&o(r,a,e,i))}},handleSampleDefaults:c,handlePointsDefaults:u}},{\"../../components/color\":595,\"../../lib\":728,\"../../plots/cartesian/axis_autotype\":777,\"../../registry\":859,\"../bar/defaults\":873,\"./attributes\":894}],898:[function(t,e,r){\"use strict\";e.exports=function(t,e){return e.hoverOnBox&&(t.hoverOnBox=e.hoverOnBox),\"xVal\"in e&&(t.x=e.xVal),\"yVal\"in e&&(t.y=e.yVal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t}},{}],899:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),a=t(\"../../lib\"),i=t(\"../../components/fx\"),o=t(\"../../components/color\"),s=a.fillText;function l(t,e,r,s){var l,c,u,h,f,p,d,g,m,v,y,x,b,_,w=t.cd,T=t.xa,k=t.ya,A=w[0].trace,M=w[0].t,S=\"violin\"===A.type,E=[],C=M.bdPos,L=M.wHover,P=function(t){return u.c2l(t.pos)+M.bPos-u.c2l(p)};S&&\"both\"!==A.side?(\"positive\"===A.side&&(m=function(t){var e=P(t);return i.inbox(e,e+L,v)},x=C,b=0),\"negative\"===A.side&&(m=function(t){var e=P(t);return i.inbox(e-L,e,v)},x=0,b=C)):(m=function(t){var e=P(t);return i.inbox(e-L,e+L,v)},x=b=C),_=S?function(t){return i.inbox(t.span[0]-f,t.span[1]-f,v)}:function(t){return i.inbox(t.min-f,t.max-f,v)},\"h\"===A.orientation?(f=e,p=r,d=_,g=m,l=\"y\",u=k,c=\"x\",h=T):(f=r,p=e,d=m,g=_,l=\"x\",u=T,c=\"y\",h=k);var I=Math.min(1,C/Math.abs(u.r2c(u.range[1])-u.r2c(u.range[0])));function z(t){return(d(t)+g(t))/2}v=t.maxHoverDistance-I,y=t.maxSpikeDistance-I;var O=i.getDistanceFunction(s,d,g,z);if(i.getClosest(w,O,t),!1===t.index)return[];var D=w[t.index],R=A.line.color,F=(A.marker||{}).color;o.opacity(R)&&A.line.width?t.color=R:o.opacity(F)&&A.boxpoints?t.color=F:t.color=A.fillcolor,t[l+\"0\"]=u.c2p(D.pos+M.bPos-b,!0),t[l+\"1\"]=u.c2p(D.pos+M.bPos+x,!0),t[l+\"LabelVal\"]=D.pos;var B=l+\"Spike\";t.spikeDistance=z(D)*y/v,t[B]=u.c2p(D.pos,!0);var N={},j=[\"med\",\"q1\",\"q3\",\"min\",\"max\"];(A.boxmean||(A.meanline||{}).visible)&&j.push(\"mean\"),(A.boxpoints||A.points)&&j.push(\"lf\",\"uf\");for(var V=0;V<j.length;V++){var U=j[V];if(U in D&&!(D[U]in N)){N[D[U]]=!0;var q=D[U],H=h.c2p(q,!0),G=a.extendFlat({},t);G.attr=U,G[c+\"0\"]=G[c+\"1\"]=H,G[c+\"LabelVal\"]=q,G[c+\"Label\"]=(M.labels?M.labels[U]+\" \":\"\")+n.hoverLabelText(h,q),G.hoverOnBox=!0,\"mean\"===U&&\"sd\"in D&&\"sd\"===A.boxmean&&(G[c+\"err\"]=D.sd),t.name=\"\",t.spikeDistance=void 0,t[B]=void 0,G.hovertemplate=!1,E.push(G)}}return E}function c(t,e,r){for(var n,o,l,c=t.cd,u=t.xa,h=t.ya,f=c[0].trace,p=u.c2p(e),d=h.c2p(r),g=i.quadrature((function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(u.c2p(t.x)-p)-e,1-3/e)}),(function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(h.c2p(t.y)-d)-e,1-3/e)})),m=!1,v=0;v<c.length;v++){o=c[v];for(var y=0;y<(o.pts||[]).length;y++){var x=g(l=o.pts[y]);x<=t.distance&&(t.distance=x,m=[v,y])}}if(!m)return!1;l=(o=c[m[0]]).pts[m[1]];var b,_=u.c2p(l.x,!0),w=h.c2p(l.y,!0),T=l.mrc||1;return n=a.extendFlat({},t,{index:l.i,color:(f.marker||{}).color,name:f.name,x0:_-T,x1:_+T,y0:w-T,y1:w+T,spikeDistance:t.distance,hovertemplate:f.hovertemplate}),\"h\"===f.orientation?(b=h,n.xLabelVal=l.x,n.yLabelVal=o.pos):(b=u,n.xLabelVal=o.pos,n.yLabelVal=l.y),n[b._id.charAt(0)+\"Spike\"]=b.c2p(o.pos,!0),s(l,f,n),n}e.exports={hoverPoints:function(t,e,r,n){var a,i=t.cd[0].trace.hoveron,o=[];return-1!==i.indexOf(\"boxes\")&&(o=o.concat(l(t,e,r,n))),-1!==i.indexOf(\"points\")&&(a=c(t,e,r)),\"closest\"===n?a?[a]:o:a?(o.push(a),o):o},hoverOnBoxes:l,hoverOnPoints:c}},{\"../../components/color\":595,\"../../components/fx\":635,\"../../lib\":728,\"../../plots/cartesian/axes\":776}],900:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\").supplyDefaults,crossTraceDefaults:t(\"./defaults\").crossTraceDefaults,supplyLayoutDefaults:t(\"./layout_defaults\").supplyLayoutDefaults,calc:t(\"./calc\"),crossTraceCalc:t(\"./cross_trace_calc\").crossTraceCalc,plot:t(\"./plot\").plot,style:t(\"./style\").style,styleOnSelect:t(\"./style\").styleOnSelect,hoverPoints:t(\"./hover\").hoverPoints,eventData:t(\"./event_data\"),selectPoints:t(\"./select\"),moduleType:\"trace\",name:\"box\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"symbols\",\"oriented\",\"box-violin\",\"showLegend\",\"boxLayout\",\"zoomScale\"],meta:{}}},{\"../../plots/cartesian\":789,\"./attributes\":894,\"./calc\":895,\"./cross_trace_calc\":896,\"./defaults\":897,\"./event_data\":898,\"./hover\":899,\"./layout_attributes\":901,\"./layout_defaults\":902,\"./plot\":903,\"./select\":904,\"./style\":905}],901:[function(t,e,r){\"use strict\";e.exports={boxmode:{valType:\"enumerated\",values:[\"group\",\"overlay\"],dflt:\"overlay\",editType:\"calc\"},boxgap:{valType:\"number\",min:0,max:1,dflt:.3,editType:\"calc\"},boxgroupgap:{valType:\"number\",min:0,max:1,dflt:.3,editType:\"calc\"}}},{}],902:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),a=t(\"../../lib\"),i=t(\"./layout_attributes\");function o(t,e,r,a,i){for(var o=i+\"Layout\",s=!1,l=0;l<r.length;l++){var c=r[l];if(n.traceIs(c,o)){s=!0;break}}s&&(a(i+\"mode\"),a(i+\"gap\"),a(i+\"groupgap\"))}e.exports={supplyLayoutDefaults:function(t,e,r){o(0,0,r,(function(r,n){return a.coerce(t,e,i,r,n)}),\"box\")},_supply:o}},{\"../../lib\":728,\"../../registry\":859,\"./layout_attributes\":901}],903:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../lib\"),i=t(\"../../components/drawing\");function o(t,e,r,i){var o,s,l=\"h\"===r.orientation,c=e.val,u=e.pos,h=!!u.rangebreaks,f=i.bPos,p=i.wdPos||0,d=i.bPosPxOffset||0,g=r.whiskerwidth||0,m=r.notched||!1,v=m?1-2*r.notchwidth:1;Array.isArray(i.bdPos)?(o=i.bdPos[0],s=i.bdPos[1]):(o=i.bdPos,s=i.bdPos);var y=t.selectAll(\"path.box\").data(\"violin\"!==r.type||r.box.visible?a.identity:[]);y.enter().append(\"path\").style(\"vector-effect\",\"non-scaling-stroke\").attr(\"class\",\"box\"),y.exit().remove(),y.each((function(t){if(t.empty)return\"M0,0Z\";var e=u.c2l(t.pos+f,!0),i=u.l2p(e-o)+d,y=u.l2p(e+s)+d,x=h?(i+y)/2:u.l2p(e)+d,b=r.whiskerwidth,_=h?i*b+(1-b)*x:u.l2p(e-p)+d,w=h?y*b+(1-b)*x:u.l2p(e+p)+d,T=u.l2p(e-o*v)+d,k=u.l2p(e+s*v)+d,A=c.c2p(t.q1,!0),M=c.c2p(t.q3,!0),S=a.constrain(c.c2p(t.med,!0),Math.min(A,M)+1,Math.max(A,M)-1),E=void 0===t.lf||!1===r.boxpoints,C=c.c2p(E?t.min:t.lf,!0),L=c.c2p(E?t.max:t.uf,!0),P=c.c2p(t.ln,!0),I=c.c2p(t.un,!0);l?n.select(this).attr(\"d\",\"M\"+S+\",\"+T+\"V\"+k+\"M\"+A+\",\"+i+\"V\"+y+(m?\"H\"+P+\"L\"+S+\",\"+k+\"L\"+I+\",\"+y:\"\")+\"H\"+M+\"V\"+i+(m?\"H\"+I+\"L\"+S+\",\"+T+\"L\"+P+\",\"+i:\"\")+\"ZM\"+A+\",\"+x+\"H\"+C+\"M\"+M+\",\"+x+\"H\"+L+(0===g?\"\":\"M\"+C+\",\"+_+\"V\"+w+\"M\"+L+\",\"+_+\"V\"+w)):n.select(this).attr(\"d\",\"M\"+T+\",\"+S+\"H\"+k+\"M\"+i+\",\"+A+\"H\"+y+(m?\"V\"+P+\"L\"+k+\",\"+S+\"L\"+y+\",\"+I:\"\")+\"V\"+M+\"H\"+i+(m?\"V\"+I+\"L\"+T+\",\"+S+\"L\"+i+\",\"+P:\"\")+\"ZM\"+x+\",\"+A+\"V\"+C+\"M\"+x+\",\"+M+\"V\"+L+(0===g?\"\":\"M\"+_+\",\"+C+\"H\"+w+\"M\"+_+\",\"+L+\"H\"+w))}))}function s(t,e,r,n){var o=e.x,s=e.y,l=n.bdPos,c=n.bPos,u=r.boxpoints||r.points;a.seedPseudoRandom();var h=t.selectAll(\"g.points\").data(u?function(t){return t.forEach((function(t){t.t=n,t.trace=r})),t}:[]);h.enter().append(\"g\").attr(\"class\",\"points\"),h.exit().remove();var f=h.selectAll(\"path\").data((function(t){var e,n,i=t.pts2,o=Math.max((t.max-t.min)/10,t.q3-t.q1),s=1e-9*o,h=.01*o,f=[],p=0;if(r.jitter){if(0===o)for(p=1,f=new Array(i.length),e=0;e<i.length;e++)f[e]=1;else for(e=0;e<i.length;e++){var d=Math.max(0,e-5),g=i[d].v,m=Math.min(i.length-1,e+5),v=i[m].v;\"all\"!==u&&(i[e].v<t.lf?v=Math.min(v,t.lf):g=Math.max(g,t.uf));var y=Math.sqrt(h*(m-d)/(v-g+s))||0;y=a.constrain(Math.abs(y),0,1),f.push(y),p=Math.max(y,p)}n=2*r.jitter/(p||1)}for(e=0;e<i.length;e++){var x=i[e],b=x.v,_=r.jitter?n*f[e]*(a.pseudoRandom()-.5):0,w=t.pos+c+l*(r.pointpos+_);\"h\"===r.orientation?(x.y=w,x.x=b):(x.x=w,x.y=b),\"suspectedoutliers\"===u&&b<t.uo&&b>t.lo&&(x.so=!0)}return i}));f.enter().append(\"path\").classed(\"point\",!0),f.exit().remove(),f.call(i.translatePoints,o,s)}function l(t,e,r,i){var o,s,l=e.val,c=e.pos,u=!!c.rangebreaks,h=i.bPos,f=i.bPosPxOffset||0,p=r.boxmean||(r.meanline||{}).visible;Array.isArray(i.bdPos)?(o=i.bdPos[0],s=i.bdPos[1]):(o=i.bdPos,s=i.bdPos);var d=t.selectAll(\"path.mean\").data(\"box\"===r.type&&r.boxmean||\"violin\"===r.type&&r.box.visible&&r.meanline.visible?a.identity:[]);d.enter().append(\"path\").attr(\"class\",\"mean\").style({fill:\"none\",\"vector-effect\":\"non-scaling-stroke\"}),d.exit().remove(),d.each((function(t){var e=c.c2l(t.pos+h,!0),a=c.l2p(e-o)+f,i=c.l2p(e+s)+f,d=u?(a+i)/2:c.l2p(e)+f,g=l.c2p(t.mean,!0),m=l.c2p(t.mean-t.sd,!0),v=l.c2p(t.mean+t.sd,!0);\"h\"===r.orientation?n.select(this).attr(\"d\",\"M\"+g+\",\"+a+\"V\"+i+(\"sd\"===p?\"m0,0L\"+m+\",\"+d+\"L\"+g+\",\"+a+\"L\"+v+\",\"+d+\"Z\":\"\")):n.select(this).attr(\"d\",\"M\"+a+\",\"+g+\"H\"+i+(\"sd\"===p?\"m0,0L\"+d+\",\"+m+\"L\"+a+\",\"+g+\"L\"+d+\",\"+v+\"Z\":\"\"))}))}e.exports={plot:function(t,e,r,i){var c=e.xaxis,u=e.yaxis;a.makeTraceGroups(i,r,\"trace boxes\").each((function(t){var e,r,a=n.select(this),i=t[0],h=i.t,f=i.trace;(h.wdPos=h.bdPos*f.whiskerwidth,!0!==f.visible||h.empty)?a.remove():(\"h\"===f.orientation?(e=u,r=c):(e=c,r=u),o(a,{pos:e,val:r},f,h),s(a,{x:c,y:u},f,h),l(a,{pos:e,val:r},f,h))}))},plotBoxAndWhiskers:o,plotPoints:s,plotBoxMean:l}},{\"../../components/drawing\":617,\"../../lib\":728,d3:164}],904:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r,n,a=t.cd,i=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r<a.length;r++)for(n=0;n<(a[r].pts||[]).length;n++)a[r].pts[n].selected=0;else for(r=0;r<a.length;r++)for(n=0;n<(a[r].pts||[]).length;n++){var l=a[r].pts[n],c=i.c2p(l.x),u=o.c2p(l.y);e.contains([c,u],null,l.i,t)?(s.push({pointNumber:l.i,x:i.c2d(l.x),y:o.c2d(l.y)}),l.selected=1):l.selected=0}return s}},{}],905:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../components/color\"),i=t(\"../../components/drawing\");e.exports={style:function(t,e,r){var o=r||n.select(t).selectAll(\"g.trace.boxes\");o.style(\"opacity\",(function(t){return t[0].trace.opacity})),o.each((function(e){var r=n.select(this),o=e[0].trace,s=o.line.width;function l(t,e,r,n){t.style(\"stroke-width\",e+\"px\").call(a.stroke,r).call(a.fill,n)}var c=r.selectAll(\"path.box\");if(\"candlestick\"===o.type)c.each((function(t){if(!t.empty){var e=n.select(this),r=o[t.dir];l(e,r.line.width,r.line.color,r.fillcolor),e.style(\"opacity\",o.selectedpoints&&!t.selected?.3:1)}}));else{l(c,s,o.line.color,o.fillcolor),r.selectAll(\"path.mean\").style({\"stroke-width\":s,\"stroke-dasharray\":2*s+\"px,\"+s+\"px\"}).call(a.stroke,o.line.color);var u=r.selectAll(\"path.point\");i.pointStyle(u,o,t)}}))},styleOnSelect:function(t,e,r){var n=e[0].trace,a=r.selectAll(\"path.point\");n.selectedpoints?i.selectedPointStyle(a,n):i.pointStyle(a,n,t)}}},{\"../../components/color\":595,\"../../components/drawing\":617,d3:164}],906:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").extendFlat,a=t(\"../ohlc/attributes\"),i=t(\"../box/attributes\");function o(t){return{line:{color:n({},i.line.color,{dflt:t}),width:i.line.width,editType:\"style\"},fillcolor:i.fillcolor,editType:\"style\"}}e.exports={x:a.x,open:a.open,high:a.high,low:a.low,close:a.close,line:{width:n({},i.line.width,{}),editType:\"style\"},increasing:o(a.increasing.line.color.dflt),decreasing:o(a.decreasing.line.color.dflt),text:a.text,hovertext:a.hovertext,whiskerwidth:n({},i.whiskerwidth,{dflt:0}),hoverlabel:a.hoverlabel}},{\"../../lib\":728,\"../box/attributes\":894,\"../ohlc/attributes\":1080}],907:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),i=t(\"../ohlc/calc\").calcCommon;function o(t,e,r,n){return{min:r,q1:Math.min(t,n),med:n,q3:Math.max(t,n),max:e}}e.exports=function(t,e){var r=t._fullLayout,s=a.getFromId(t,e.xaxis),l=a.getFromId(t,e.yaxis),c=s.makeCalcdata(e,\"x\"),u=i(t,e,c,l,o);return u.length?(n.extendFlat(u[0].t,{num:r._numBoxes,dPos:n.distinctVals(c).minDiff/2,posLetter:\"x\",valLetter:\"y\"}),r._numBoxes++,u):[{t:{empty:!0}}]}},{\"../../lib\":728,\"../../plots/cartesian/axes\":776,\"../ohlc/calc\":1081}],908:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../components/color\"),i=t(\"../ohlc/ohlc_defaults\"),o=t(\"./attributes\");function s(t,e,r,n){var i=r(n+\".line.color\");r(n+\".line.width\",e.line.width),r(n+\".fillcolor\",a.addOpacity(i,.5))}e.exports=function(t,e,r,a){function l(r,a){return n.coerce(t,e,o,r,a)}i(t,e,l,a)?(l(\"line.width\"),s(t,e,l,\"increasing\"),s(t,e,l,\"decreasing\"),l(\"text\"),l(\"hovertext\"),l(\"whiskerwidth\"),a._requestRangeslider[e.xaxis]=!0):e.visible=!1}},{\"../../components/color\":595,\"../../lib\":728,\"../ohlc/ohlc_defaults\":1085,\"./attributes\":906}],909:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"candlestick\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"showLegend\",\"candlestick\",\"boxLayout\"],meta:{},attributes:t(\"./attributes\"),layoutAttributes:t(\"../box/layout_attributes\"),supplyLayoutDefaults:t(\"../box/layout_defaults\").supplyLayoutDefaults,crossTraceCalc:t(\"../box/cross_trace_calc\").crossTraceCalc,supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\"),plot:t(\"../box/plot\").plot,layerName:\"boxlayer\",style:t(\"../box/style\").style,hoverPoints:t(\"../ohlc/hover\").hoverPoints,selectPoints:t(\"../ohlc/select\")}},{\"../../plots/cartesian\":789,\"../box/cross_trace_calc\":896,\"../box/layout_attributes\":901,\"../box/layout_defaults\":902,\"../box/plot\":903,\"../box/style\":905,\"../ohlc/hover\":1083,\"../ohlc/select\":1087,\"./attributes\":906,\"./calc\":907,\"./defaults\":908}],910:[function(t,e,r){\"use strict\";var n=t(\"./axis_defaults\"),a=t(\"../../plot_api/plot_template\");e.exports=function(t,e,r,i,o){i(\"a\")||(i(\"da\"),i(\"a0\")),i(\"b\")||(i(\"db\"),i(\"b0\")),function(t,e,r,i){[\"aaxis\",\"baxis\"].forEach((function(o){var s=o.charAt(0),l=t[o]||{},c=a.newContainer(e,o),u={tickfont:\"x\",id:s+\"axis\",letter:s,font:e.font,name:o,data:t[s],calendar:e.calendar,dfltColor:i,bgColor:r.paper_bgcolor,fullLayout:r};n(l,c,u),c._categories=c._categories||[],t[o]||\"-\"===l.type||(t[o]={type:l.type})}))}(t,e,r,o)}},{\"../../plot_api/plot_template\":766,\"./axis_defaults\":915}],911:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isArrayOrTypedArray;e.exports=function(t){return function t(e,r){if(!n(e)||r>=10)return null;for(var a=1/0,i=-1/0,o=e.length,s=0;s<o;s++){var l=e[s];if(n(l)){var c=t(l,r+1);c&&(a=Math.min(c[0],a),i=Math.max(c[1],i))}else a=Math.min(l,a),i=Math.max(l,i)}return[a,i]}(t,0)}},{\"../../lib\":728}],912:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),a=t(\"./axis_attributes\"),i=t(\"../../components/color/attributes\"),o=n({editType:\"calc\"});o.family.dflt='\"Open Sans\", verdana, arial, sans-serif',o.size.dflt=12,o.color.dflt=i.defaultLine,e.exports={carpet:{valType:\"string\",editType:\"calc\"},x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},a:{valType:\"data_array\",editType:\"calc\"},a0:{valType:\"number\",dflt:0,editType:\"calc\"},da:{valType:\"number\",dflt:1,editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},b0:{valType:\"number\",dflt:0,editType:\"calc\"},db:{valType:\"number\",dflt:1,editType:\"calc\"},cheaterslope:{valType:\"number\",dflt:1,editType:\"calc\"},aaxis:a,baxis:a,font:o,color:{valType:\"color\",dflt:i.defaultLine,editType:\"plot\"},transforms:void 0}},{\"../../components/color/attributes\":594,\"../../plots/font_attributes\":804,\"./axis_attributes\":914}],913:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isArrayOrTypedArray;e.exports=function(t,e,r,a){var i,o,s,l,c,u,h,f,p,d,g,m,v,y=n(r)?\"a\":\"b\",x=(\"a\"===y?t.aaxis:t.baxis).smoothing,b=\"a\"===y?t.a2i:t.b2j,_=\"a\"===y?r:a,w=\"a\"===y?a:r,T=\"a\"===y?e.a.length:e.b.length,k=\"a\"===y?e.b.length:e.a.length,A=Math.floor(\"a\"===y?t.b2j(w):t.a2i(w)),M=\"a\"===y?function(e){return t.evalxy([],e,A)}:function(e){return t.evalxy([],A,e)};x&&(s=Math.max(0,Math.min(k-2,A)),l=A-s,o=\"a\"===y?function(e,r){return t.dxydi([],e,s,r,l)}:function(e,r){return t.dxydj([],s,e,l,r)});var S=b(_[0]),E=b(_[1]),C=S<E?1:-1,L=1e-8*(E-S),P=C>0?Math.floor:Math.ceil,I=C>0?Math.ceil:Math.floor,z=C>0?Math.min:Math.max,O=C>0?Math.max:Math.min,D=P(S+L),R=I(E-L),F=[[h=M(S)]];for(i=D;i*C<R*C;i+=C)c=[],g=O(S,i),v=(m=z(E,i+C))-g,u=Math.max(0,Math.min(T-2,Math.floor(.5*(g+m)))),f=M(m),x&&(p=o(u,g-u),d=o(u,m-u),c.push([h[0]+p[0]/3*v,h[1]+p[1]/3*v]),c.push([f[0]-d[0]/3*v,f[1]-d[1]/3*v])),c.push(f),F.push(c),h=f;return F}},{\"../../lib\":728}],914:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),a=t(\"../../components/color/attributes\"),i=t(\"../../plots/cartesian/layout_attributes\"),o=t(\"../../plot_api/edit_types\").overrideAll;t(\"../../constants/docs\").FORMAT_LINK,t(\"../../constants/docs\").TIME_FORMAT_LINK;e.exports={color:{valType:\"color\",editType:\"calc\"},smoothing:{valType:\"number\",dflt:1,min:0,max:1.3,editType:\"calc\"},title:{text:{valType:\"string\",dflt:\"\",editType:\"calc\"},font:n({editType:\"calc\"}),offset:{valType:\"number\",dflt:10,editType:\"calc\"},editType:\"calc\"},type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"date\",\"category\"],dflt:\"-\",editType:\"calc\"},autorange:{valType:\"enumerated\",values:[!0,!1,\"reversed\"],dflt:!0,editType:\"calc\"},rangemode:{valType:\"enumerated\",values:[\"normal\",\"tozero\",\"nonnegative\"],dflt:\"normal\",editType:\"calc\"},range:{valType:\"info_array\",editType:\"calc\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}]},fixedrange:{valType:\"boolean\",dflt:!1,editType:\"calc\"},cheatertype:{valType:\"enumerated\",values:[\"index\",\"value\"],dflt:\"value\",editType:\"calc\"},tickmode:{valType:\"enumerated\",values:[\"linear\",\"array\"],dflt:\"array\",editType:\"calc\"},nticks:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},tickvals:{valType:\"data_array\",editType:\"calc\"},ticktext:{valType:\"data_array\",editType:\"calc\"},showticklabels:{valType:\"enumerated\",values:[\"start\",\"end\",\"both\",\"none\"],dflt:\"start\",editType:\"calc\"},tickfont:n({editType:\"calc\"}),tickangle:{valType:\"angle\",dflt:\"auto\",editType:\"calc\"},tickprefix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showtickprefix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},ticksuffix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showticksuffix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},showexponent:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},exponentformat:{valType:\"enumerated\",values:[\"none\",\"e\",\"E\",\"power\",\"SI\",\"B\"],dflt:\"B\",editType:\"calc\"},separatethousands:{valType:\"boolean\",dflt:!1,editType:\"calc\"},tickformat:{valType:\"string\",dflt:\"\",editType:\"calc\"},tickformatstops:o(i.tickformatstops,\"calc\",\"from-root\"),categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},labelpadding:{valType:\"integer\",dflt:10,editType:\"calc\"},labelprefix:{valType:\"string\",editType:\"calc\"},labelsuffix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showline:{valType:\"boolean\",dflt:!1,editType:\"calc\"},linecolor:{valType:\"color\",dflt:a.defaultLine,editType:\"calc\"},linewidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},gridcolor:{valType:\"color\",editType:\"calc\"},gridwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},showgrid:{valType:\"boolean\",dflt:!0,editType:\"calc\"},minorgridcount:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},minorgridwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},minorgridcolor:{valType:\"color\",dflt:a.lightLine,editType:\"calc\"},startline:{valType:\"boolean\",editType:\"calc\"},startlinecolor:{valType:\"color\",editType:\"calc\"},startlinewidth:{valType:\"number\",dflt:1,editType:\"calc\"},endline:{valType:\"boolean\",editType:\"calc\"},endlinewidth:{valType:\"number\",dflt:1,editType:\"calc\"},endlinecolor:{valType:\"color\",editType:\"calc\"},tick0:{valType:\"number\",min:0,dflt:0,editType:\"calc\"},dtick:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},arraytick0:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},arraydtick:{valType:\"integer\",min:1,dflt:1,editType:\"calc\"},_deprecated:{title:{valType:\"string\",editType:\"calc\"},titlefont:n({editType:\"calc\"}),titleoffset:{valType:\"number\",dflt:10,editType:\"calc\"}},editType:\"calc\"}},{\"../../components/color/attributes\":594,\"../../constants/docs\":699,\"../../plot_api/edit_types\":759,\"../../plots/cartesian/layout_attributes\":790,\"../../plots/font_attributes\":804}],915:[function(t,e,r){\"use strict\";var n=t(\"./attributes\"),a=t(\"../../components/color\").addOpacity,i=t(\"../../registry\"),o=t(\"../../lib\"),s=t(\"../../plots/cartesian/tick_value_defaults\"),l=t(\"../../plots/cartesian/tick_label_defaults\"),c=t(\"../../plots/cartesian/category_order_defaults\"),u=t(\"../../plots/cartesian/set_convert\"),h=t(\"../../plots/cartesian/axis_autotype\");e.exports=function(t,e,r){var f=r.letter,p=r.font||{},d=n[f+\"axis\"];function g(r,n){return o.coerce(t,e,d,r,n)}function m(r,n){return o.coerce2(t,e,d,r,n)}r.name&&(e._name=r.name,e._id=r.name);var v=g(\"type\");(\"-\"===v&&(r.data&&function(t,e){if(\"-\"!==t.type)return;var r=t._id.charAt(0),n=t[r+\"calendar\"];t.type=h(e,n)}(e,r.data),\"-\"===e.type?e.type=\"linear\":v=t.type=e.type),g(\"smoothing\"),g(\"cheatertype\"),g(\"showticklabels\"),g(\"labelprefix\",f+\" = \"),g(\"labelsuffix\"),g(\"showtickprefix\"),g(\"showticksuffix\"),g(\"separatethousands\"),g(\"tickformat\"),g(\"exponentformat\"),g(\"showexponent\"),g(\"categoryorder\"),g(\"tickmode\"),g(\"tickvals\"),g(\"ticktext\"),g(\"tick0\"),g(\"dtick\"),\"array\"===e.tickmode&&(g(\"arraytick0\"),g(\"arraydtick\")),g(\"labelpadding\"),e._hovertitle=f,\"date\"===v)&&i.getComponentMethod(\"calendars\",\"handleDefaults\")(t,e,\"calendar\",r.calendar);u(e,r.fullLayout),e.c2p=o.identity;var y=g(\"color\",r.dfltColor),x=y===t.color?y:p.color;g(\"title.text\")&&(o.coerceFont(g,\"title.font\",{family:p.family,size:Math.round(1.2*p.size),color:x}),g(\"title.offset\")),g(\"tickangle\"),g(\"autorange\",!e.isValidRange(t.range))&&g(\"rangemode\"),g(\"range\"),e.cleanRange(),g(\"fixedrange\"),s(t,e,g,v),l(t,e,g,v,r),c(t,e,g,{data:r.data,dataAttr:f});var b=m(\"gridcolor\",a(y,.3)),_=m(\"gridwidth\"),w=g(\"showgrid\");w||(delete e.gridcolor,delete e.gridwidth);var T=m(\"startlinecolor\",y),k=m(\"startlinewidth\",_);g(\"startline\",e.showgrid||!!T||!!k)||(delete e.startlinecolor,delete e.startlinewidth);var A=m(\"endlinecolor\",y),M=m(\"endlinewidth\",_);return g(\"endline\",e.showgrid||!!A||!!M)||(delete e.endlinecolor,delete e.endlinewidth),w?(g(\"minorgridcount\"),g(\"minorgridwidth\",_),g(\"minorgridcolor\",a(b,.06)),e.minorgridcount||(delete e.minorgridwidth,delete e.minorgridcolor)):(delete e.gridcolor,delete e.gridWidth),\"none\"===e.showticklabels&&(delete e.tickfont,delete e.tickangle,delete e.showexponent,delete e.exponentformat,delete e.tickformat,delete e.showticksuffix,delete e.showtickprefix),e.showticksuffix||delete e.ticksuffix,e.showtickprefix||delete e.tickprefix,g(\"tickmode\"),e}},{\"../../components/color\":595,\"../../lib\":728,\"../../plots/cartesian/axis_autotype\":777,\"../../plots/cartesian/category_order_defaults\":780,\"../../plots/cartesian/set_convert\":796,\"../../plots/cartesian/tick_label_defaults\":797,\"../../plots/cartesian/tick_value_defaults\":799,\"../../registry\":859,\"./attributes\":912}],916:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),a=t(\"../../lib\").isArray1D,i=t(\"./cheater_basis\"),o=t(\"./array_minmax\"),s=t(\"./calc_gridlines\"),l=t(\"./calc_labels\"),c=t(\"./calc_clippath\"),u=t(\"../heatmap/clean_2d_array\"),h=t(\"./smooth_fill_2d_array\"),f=t(\"../heatmap/convert_column_xyz\"),p=t(\"./set_convert\");e.exports=function(t,e){var r=n.getFromId(t,e.xaxis),d=n.getFromId(t,e.yaxis),g=e.aaxis,m=e.baxis,v=e.x,y=e.y,x=[];v&&a(v)&&x.push(\"x\"),y&&a(y)&&x.push(\"y\"),x.length&&f(e,g,m,\"a\",\"b\",x);var b=e._a=e._a||e.a,_=e._b=e._b||e.b;v=e._x||e.x,y=e._y||e.y;var w={};if(e._cheater){var T=\"index\"===g.cheatertype?b.length:b,k=\"index\"===m.cheatertype?_.length:_;v=i(T,k,e.cheaterslope)}e._x=v=u(v),e._y=y=u(y),h(v,b,_),h(y,b,_),p(e),e.setScale();var A=o(v),M=o(y),S=.5*(A[1]-A[0]),E=.5*(A[1]+A[0]),C=.5*(M[1]-M[0]),L=.5*(M[1]+M[0]);return A=[E-1.3*S,E+1.3*S],M=[L-1.3*C,L+1.3*C],e._extremes[r._id]=n.findExtremes(r,A,{padded:!0}),e._extremes[d._id]=n.findExtremes(d,M,{padded:!0}),s(e,\"a\",\"b\"),s(e,\"b\",\"a\"),l(e,g),l(e,m),w.clipsegments=c(e._xctrl,e._yctrl,g,m),w.x=v,w.y=y,w.a=b,w.b=_,[w]}},{\"../../lib\":728,\"../../plots/cartesian/axes\":776,\"../heatmap/clean_2d_array\":1015,\"../heatmap/convert_column_xyz\":1017,\"./array_minmax\":911,\"./calc_clippath\":917,\"./calc_gridlines\":918,\"./calc_labels\":919,\"./cheater_basis\":921,\"./set_convert\":934,\"./smooth_fill_2d_array\":935}],917:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){var a,i,o,s=[],l=!!r.smoothing,c=!!n.smoothing,u=t[0].length-1,h=t.length-1;for(a=0,i=[],o=[];a<=u;a++)i[a]=t[0][a],o[a]=e[0][a];for(s.push({x:i,y:o,bicubic:l}),a=0,i=[],o=[];a<=h;a++)i[a]=t[a][u],o[a]=e[a][u];for(s.push({x:i,y:o,bicubic:c}),a=u,i=[],o=[];a>=0;a--)i[u-a]=t[h][a],o[u-a]=e[h][a];for(s.push({x:i,y:o,bicubic:l}),a=h,i=[],o=[];a>=0;a--)i[h-a]=t[a][0],o[h-a]=e[a][0];return s.push({x:i,y:o,bicubic:c}),s}},{}],918:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),a=t(\"../../lib/extend\").extendFlat;e.exports=function(t,e,r){var i,o,s,l,c,u,h,f,p,d,g,m,v,y,x=t[\"_\"+e],b=t[e+\"axis\"],_=b._gridlines=[],w=b._minorgridlines=[],T=b._boundarylines=[],k=t[\"_\"+r],A=t[r+\"axis\"];\"array\"===b.tickmode&&(b.tickvals=x.slice());var M=t._xctrl,S=t._yctrl,E=M[0].length,C=M.length,L=t._a.length,P=t._b.length;n.prepTicks(b),\"array\"===b.tickmode&&delete b.tickvals;var I=b.smoothing?3:1;function z(n){var a,i,o,s,l,c,u,h,p,d,g,m,v=[],y=[],x={};if(\"b\"===e)for(i=t.b2j(n),o=Math.floor(Math.max(0,Math.min(P-2,i))),s=i-o,x.length=P,x.crossLength=L,x.xy=function(e){return t.evalxy([],e,i)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},a=0;a<L;a++)c=Math.min(L-2,a),u=a-c,h=t.evalxy([],a,i),A.smoothing&&a>0&&(p=t.dxydi([],a-1,o,0,s),v.push(l[0]+p[0]/3),y.push(l[1]+p[1]/3),d=t.dxydi([],a-1,o,1,s),v.push(h[0]-d[0]/3),y.push(h[1]-d[1]/3)),v.push(h[0]),y.push(h[1]),l=h;else for(a=t.a2i(n),c=Math.floor(Math.max(0,Math.min(L-2,a))),u=a-c,x.length=L,x.crossLength=P,x.xy=function(e){return t.evalxy([],a,e)},x.dxy=function(e,r){return t.dxydj([],c,e,u,r)},i=0;i<P;i++)o=Math.min(P-2,i),s=i-o,h=t.evalxy([],a,i),A.smoothing&&i>0&&(g=t.dxydj([],c,i-1,u,0),v.push(l[0]+g[0]/3),y.push(l[1]+g[1]/3),m=t.dxydj([],c,i-1,u,1),v.push(h[0]-m[0]/3),y.push(h[1]-m[1]/3)),v.push(h[0]),y.push(h[1]),l=h;return x.axisLetter=e,x.axis=b,x.crossAxis=A,x.value=n,x.constvar=r,x.index=f,x.x=v,x.y=y,x.smoothing=A.smoothing,x}function O(n){var a,i,o,s,l,c=[],u=[],h={};if(h.length=x.length,h.crossLength=k.length,\"b\"===e)for(o=Math.max(0,Math.min(P-2,n)),l=Math.min(1,Math.max(0,n-o)),h.xy=function(e){return t.evalxy([],e,n)},h.dxy=function(e,r){return t.dxydi([],e,o,r,l)},a=0;a<E;a++)c[a]=M[n*I][a],u[a]=S[n*I][a];else for(i=Math.max(0,Math.min(L-2,n)),s=Math.min(1,Math.max(0,n-i)),h.xy=function(e){return t.evalxy([],n,e)},h.dxy=function(e,r){return t.dxydj([],i,e,s,r)},a=0;a<C;a++)c[a]=M[a][n*I],u[a]=S[a][n*I];return h.axisLetter=e,h.axis=b,h.crossAxis=A,h.value=x[n],h.constvar=r,h.index=n,h.x=c,h.y=u,h.smoothing=A.smoothing,h}if(\"array\"===b.tickmode){for(l=5e-15,u=(c=[Math.floor((x.length-1-b.arraytick0)/b.arraydtick*(1+l)),Math.ceil(-b.arraytick0/b.arraydtick/(1+l))].sort((function(t,e){return t-e})))[0]-1,h=c[1]+1,f=u;f<h;f++)(o=b.arraytick0+b.arraydtick*f)<0||o>x.length-1||_.push(a(O(o),{color:b.gridcolor,width:b.gridwidth}));for(f=u;f<h;f++)if(s=b.arraytick0+b.arraydtick*f,g=Math.min(s+b.arraydtick,x.length-1),!(s<0||s>x.length-1||g<0||g>x.length-1))for(m=x[s],v=x[g],i=0;i<b.minorgridcount;i++)(y=g-s)<=0||(d=m+(v-m)*(i+1)/(b.minorgridcount+1)*(b.arraydtick/y))<x[0]||d>x[x.length-1]||w.push(a(z(d),{color:b.minorgridcolor,width:b.minorgridwidth}));b.startline&&T.push(a(O(0),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&T.push(a(O(x.length-1),{color:b.endlinecolor,width:b.endlinewidth}))}else{for(l=5e-15,u=(c=[Math.floor((x[x.length-1]-b.tick0)/b.dtick*(1+l)),Math.ceil((x[0]-b.tick0)/b.dtick/(1+l))].sort((function(t,e){return t-e})))[0],h=c[1],f=u;f<=h;f++)p=b.tick0+b.dtick*f,_.push(a(z(p),{color:b.gridcolor,width:b.gridwidth}));for(f=u-1;f<h+1;f++)for(p=b.tick0+b.dtick*f,i=0;i<b.minorgridcount;i++)(d=p+b.dtick*(i+1)/(b.minorgridcount+1))<x[0]||d>x[x.length-1]||w.push(a(z(d),{color:b.minorgridcolor,width:b.minorgridwidth}));b.startline&&T.push(a(z(x[0]),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&T.push(a(z(x[x.length-1]),{color:b.endlinecolor,width:b.endlinewidth}))}}},{\"../../lib/extend\":719,\"../../plots/cartesian/axes\":776}],919:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),a=t(\"../../lib/extend\").extendFlat;e.exports=function(t,e){var r,i,o,s=e._labels=[],l=e._gridlines;for(r=0;r<l.length;r++)o=l[r],-1!==[\"start\",\"both\"].indexOf(e.showticklabels)&&(i=n.tickText(e,o.value),a(i,{prefix:void 0,suffix:void 0,endAnchor:!0,xy:o.xy(0),dxy:o.dxy(0,0),axis:o.axis,length:o.crossAxis.length,font:o.axis.tickfont,isFirst:0===r,isLast:r===l.length-1}),s.push(i)),-1!==[\"end\",\"both\"].indexOf(e.showticklabels)&&(i=n.tickText(e,o.value),a(i,{endAnchor:!1,xy:o.xy(o.crossLength-1),dxy:o.dxy(o.crossLength-2,1),axis:o.axis,length:o.crossAxis.length,font:o.axis.tickfont,isFirst:0===r,isLast:r===l.length-1}),s.push(i))}},{\"../../lib/extend\":719,\"../../plots/cartesian/axes\":776}],920:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){var a=t[0]-e[0],i=t[1]-e[1],o=r[0]-e[0],s=r[1]-e[1],l=Math.pow(a*a+i*i,.25),c=Math.pow(o*o+s*s,.25),u=(c*c*a-l*l*o)*n,h=(c*c*i-l*l*s)*n,f=c*(l+c)*3,p=l*(l+c)*3;return[[e[0]+(f&&u/f),e[1]+(f&&h/f)],[e[0]-(p&&u/p),e[1]-(p&&h/p)]]}},{}],921:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isArrayOrTypedArray;e.exports=function(t,e,r){var a,i,o,s,l,c,u=[],h=n(t)?t.length:t,f=n(e)?e.length:e,p=n(t)?t:null,d=n(e)?e:null;p&&(o=(p.length-1)/(p[p.length-1]-p[0])/(h-1)),d&&(s=(d.length-1)/(d[d.length-1]-d[0])/(f-1));var g=1/0,m=-1/0;for(i=0;i<f;i++)for(u[i]=[],l=d?(d[i]-d[0])*s:i/(f-1),a=0;a<h;a++)c=(p?(p[a]-p[0])*o:a/(h-1))-l*r,g=Math.min(c,g),m=Math.max(c,m),u[i][a]=c;var v=1/(m-g),y=-g*v;for(i=0;i<f;i++)for(a=0;a<h;a++)u[i][a]=v*u[i][a]+y;return u}},{\"../../lib\":728}],922:[function(t,e,r){\"use strict\";var n=t(\"./catmull_rom\"),a=t(\"../../lib\").ensureArray;function i(t,e,r){var n=-.5*r[0]+1.5*e[0],a=-.5*r[1]+1.5*e[1];return[(2*n+t[0])/3,(2*a+t[1])/3]}e.exports=function(t,e,r,o,s,l){var c,u,h,f,p,d,g,m,v,y,x=r[0].length,b=r.length,_=s?3*x-2:x,w=l?3*b-2:b;for(t=a(t,w),e=a(e,w),h=0;h<w;h++)t[h]=a(t[h],_),e[h]=a(e[h],_);for(u=0,f=0;u<b;u++,f+=l?3:1)for(p=t[f],d=e[f],g=r[u],m=o[u],c=0,h=0;c<x;c++,h+=s?3:1)p[h]=g[c],d[h]=m[c];if(s)for(u=0,f=0;u<b;u++,f+=l?3:1){for(c=1,h=3;c<x-1;c++,h+=3)v=n([r[u][c-1],o[u][c-1]],[r[u][c],o[u][c]],[r[u][c+1],o[u][c+1]],s),t[f][h-1]=v[0][0],e[f][h-1]=v[0][1],t[f][h+1]=v[1][0],e[f][h+1]=v[1][1];y=i([t[f][0],e[f][0]],[t[f][2],e[f][2]],[t[f][3],e[f][3]]),t[f][1]=y[0],e[f][1]=y[1],y=i([t[f][_-1],e[f][_-1]],[t[f][_-3],e[f][_-3]],[t[f][_-4],e[f][_-4]]),t[f][_-2]=y[0],e[f][_-2]=y[1]}if(l)for(h=0;h<_;h++){for(f=3;f<w-3;f+=3)v=n([t[f-3][h],e[f-3][h]],[t[f][h],e[f][h]],[t[f+3][h],e[f+3][h]],l),t[f-1][h]=v[0][0],e[f-1][h]=v[0][1],t[f+1][h]=v[1][0],e[f+1][h]=v[1][1];y=i([t[0][h],e[0][h]],[t[2][h],e[2][h]],[t[3][h],e[3][h]]),t[1][h]=y[0],e[1][h]=y[1],y=i([t[w-1][h],e[w-1][h]],[t[w-3][h],e[w-3][h]],[t[w-4][h],e[w-4][h]]),t[w-2][h]=y[0],e[w-2][h]=y[1]}if(s&&l)for(f=1;f<w;f+=(f+1)%3==0?2:1){for(h=3;h<_-3;h+=3)v=n([t[f][h-3],e[f][h-3]],[t[f][h],e[f][h]],[t[f][h+3],e[f][h+3]],s),t[f][h-1]=.5*(t[f][h-1]+v[0][0]),e[f][h-1]=.5*(e[f][h-1]+v[0][1]),t[f][h+1]=.5*(t[f][h+1]+v[1][0]),e[f][h+1]=.5*(e[f][h+1]+v[1][1]);y=i([t[f][0],e[f][0]],[t[f][2],e[f][2]],[t[f][3],e[f][3]]),t[f][1]=.5*(t[f][1]+y[0]),e[f][1]=.5*(e[f][1]+y[1]),y=i([t[f][_-1],e[f][_-1]],[t[f][_-3],e[f][_-3]],[t[f][_-4],e[f][_-4]]),t[f][_-2]=.5*(t[f][_-2]+y[0]),e[f][_-2]=.5*(e[f][_-2]+y[1])}return[t,e]}},{\"../../lib\":728,\"./catmull_rom\":920}],923:[function(t,e,r){\"use strict\";e.exports={RELATIVE_CULL_TOLERANCE:1e-6}},{}],924:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){return e&&r?function(e,r,n,a,i){var o,s,l,c,u,h;e||(e=[]),r*=3,n*=3;var f=a*a,p=1-a,d=p*p,g=p*a*2,m=-3*d,v=3*(d-g),y=3*(g-f),x=3*f,b=i*i,_=b*i,w=1-i,T=w*w,k=T*w;for(h=0;h<t.length;h++)o=m*(u=t[h])[n][r]+v*u[n][r+1]+y*u[n][r+2]+x*u[n][r+3],s=m*u[n+1][r]+v*u[n+1][r+1]+y*u[n+1][r+2]+x*u[n+1][r+3],l=m*u[n+2][r]+v*u[n+2][r+1]+y*u[n+2][r+2]+x*u[n+2][r+3],c=m*u[n+3][r]+v*u[n+3][r+1]+y*u[n+3][r+2]+x*u[n+3][r+3],e[h]=k*o+3*(T*i*s+w*b*l)+_*c;return e}:e?function(e,r,n,a,i){var o,s,l,c;e||(e=[]),r*=3;var u=a*a,h=1-a,f=h*h,p=h*a*2,d=-3*f,g=3*(f-p),m=3*(p-u),v=3*u,y=1-i;for(l=0;l<t.length;l++)o=d*(c=t[l])[n][r]+g*c[n][r+1]+m*c[n][r+2]+v*c[n][r+3],s=d*c[n+1][r]+g*c[n+1][r+1]+m*c[n+1][r+2]+v*c[n+1][r+3],e[l]=y*o+i*s;return e}:r?function(e,r,n,a,i){var o,s,l,c,u,h;e||(e=[]),n*=3;var f=i*i,p=f*i,d=1-i,g=d*d,m=g*d;for(u=0;u<t.length;u++)o=(h=t[u])[n][r+1]-h[n][r],s=h[n+1][r+1]-h[n+1][r],l=h[n+2][r+1]-h[n+2][r],c=h[n+3][r+1]-h[n+3][r],e[u]=m*o+3*(g*i*s+d*f*l)+p*c;return e}:function(e,r,n,a,i){var o,s,l,c;e||(e=[]);var u=1-i;for(l=0;l<t.length;l++)o=(c=t[l])[n][r+1]-c[n][r],s=c[n+1][r+1]-c[n+1][r],e[l]=u*o+i*s;return e}}},{}],925:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){return e&&r?function(e,r,n,a,i){var o,s,l,c,u,h;e||(e=[]),r*=3,n*=3;var f=a*a,p=f*a,d=1-a,g=d*d,m=g*d,v=i*i,y=1-i,x=y*y,b=y*i*2,_=-3*x,w=3*(x-b),T=3*(b-v),k=3*v;for(h=0;h<t.length;h++)o=_*(u=t[h])[n][r]+w*u[n+1][r]+T*u[n+2][r]+k*u[n+3][r],s=_*u[n][r+1]+w*u[n+1][r+1]+T*u[n+2][r+1]+k*u[n+3][r+1],l=_*u[n][r+2]+w*u[n+1][r+2]+T*u[n+2][r+2]+k*u[n+3][r+2],c=_*u[n][r+3]+w*u[n+1][r+3]+T*u[n+2][r+3]+k*u[n+3][r+3],e[h]=m*o+3*(g*a*s+d*f*l)+p*c;return e}:e?function(e,r,n,a,i){var o,s,l,c,u,h;e||(e=[]),r*=3;var f=i*i,p=f*i,d=1-i,g=d*d,m=g*d;for(u=0;u<t.length;u++)o=(h=t[u])[n+1][r]-h[n][r],s=h[n+1][r+1]-h[n][r+1],l=h[n+1][r+2]-h[n][r+2],c=h[n+1][r+3]-h[n][r+3],e[u]=m*o+3*(g*i*s+d*f*l)+p*c;return e}:r?function(e,r,n,a,i){var o,s,l,c;e||(e=[]),n*=3;var u=1-a,h=i*i,f=1-i,p=f*f,d=f*i*2,g=-3*p,m=3*(p-d),v=3*(d-h),y=3*h;for(l=0;l<t.length;l++)o=g*(c=t[l])[n][r]+m*c[n+1][r]+v*c[n+2][r]+y*c[n+3][r],s=g*c[n][r+1]+m*c[n+1][r+1]+v*c[n+2][r+1]+y*c[n+3][r+1],e[l]=u*o+a*s;return e}:function(e,r,n,a,i){var o,s,l,c;e||(e=[]);var u=1-a;for(l=0;l<t.length;l++)o=(c=t[l])[n+1][r]-c[n][r],s=c[n+1][r+1]-c[n][r+1],e[l]=u*o+a*s;return e}}},{}],926:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,a){var i=e-2,o=r-2;return n&&a?function(e,r,n){var a,s,l,c,u,h;e||(e=[]);var f=Math.max(0,Math.min(Math.floor(r),i)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-f)),g=Math.max(0,Math.min(1,n-p));f*=3,p*=3;var m=d*d,v=m*d,y=1-d,x=y*y,b=x*y,_=g*g,w=_*g,T=1-g,k=T*T,A=k*T;for(h=0;h<t.length;h++)a=b*(u=t[h])[p][f]+3*(x*d*u[p][f+1]+y*m*u[p][f+2])+v*u[p][f+3],s=b*u[p+1][f]+3*(x*d*u[p+1][f+1]+y*m*u[p+1][f+2])+v*u[p+1][f+3],l=b*u[p+2][f]+3*(x*d*u[p+2][f+1]+y*m*u[p+2][f+2])+v*u[p+2][f+3],c=b*u[p+3][f]+3*(x*d*u[p+3][f+1]+y*m*u[p+3][f+2])+v*u[p+3][f+3],e[h]=A*a+3*(k*g*s+T*_*l)+w*c;return e}:n?function(e,r,n){e||(e=[]);var a,s,l,c,u,h,f=Math.max(0,Math.min(Math.floor(r),i)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-f)),g=Math.max(0,Math.min(1,n-p));f*=3;var m=d*d,v=m*d,y=1-d,x=y*y,b=x*y,_=1-g;for(u=0;u<t.length;u++)a=_*(h=t[u])[p][f]+g*h[p+1][f],s=_*h[p][f+1]+g*h[p+1][f+1],l=_*h[p][f+2]+g*h[p+1][f+1],c=_*h[p][f+3]+g*h[p+1][f+1],e[u]=b*a+3*(x*d*s+y*m*l)+v*c;return e}:a?function(e,r,n){e||(e=[]);var a,s,l,c,u,h,f=Math.max(0,Math.min(Math.floor(r),i)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-f)),g=Math.max(0,Math.min(1,n-p));p*=3;var m=g*g,v=m*g,y=1-g,x=y*y,b=x*y,_=1-d;for(u=0;u<t.length;u++)a=_*(h=t[u])[p][f]+d*h[p][f+1],s=_*h[p+1][f]+d*h[p+1][f+1],l=_*h[p+2][f]+d*h[p+2][f+1],c=_*h[p+3][f]+d*h[p+3][f+1],e[u]=b*a+3*(x*g*s+y*m*l)+v*c;return e}:function(e,r,n){e||(e=[]);var a,s,l,c,u=Math.max(0,Math.min(Math.floor(r),i)),h=Math.max(0,Math.min(Math.floor(n),o)),f=Math.max(0,Math.min(1,r-u)),p=Math.max(0,Math.min(1,n-h)),d=1-p,g=1-f;for(l=0;l<t.length;l++)a=g*(c=t[l])[h][u]+f*c[h][u+1],s=g*c[h+1][u]+f*c[h+1][u+1],e[l]=d*a+p*s;return e}}},{}],927:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"./xy_defaults\"),i=t(\"./ab_defaults\"),o=t(\"./attributes\"),s=t(\"../../components/color/attributes\");e.exports=function(t,e,r,l){function c(r,a){return n.coerce(t,e,o,r,a)}e._clipPathId=\"clip\"+e.uid+\"carpet\";var u=c(\"color\",s.defaultLine);(n.coerceFont(c,\"font\"),c(\"carpet\"),i(t,e,l,c,u),e.a&&e.b)?(e.a.length<3&&(e.aaxis.smoothing=0),e.b.length<3&&(e.baxis.smoothing=0),a(t,e,c)||(e.visible=!1),e._cheater&&c(\"cheaterslope\")):e.visible=!1}},{\"../../components/color/attributes\":594,\"../../lib\":728,\"./ab_defaults\":910,\"./attributes\":912,\"./xy_defaults\":936}],928:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),plot:t(\"./plot\"),calc:t(\"./calc\"),animatable:!0,isContainer:!0,moduleType:\"trace\",name:\"carpet\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"carpet\",\"carpetAxis\",\"notLegendIsolatable\",\"noMultiCategory\",\"noHover\",\"noSortingByValue\"],meta:{}}},{\"../../plots/cartesian\":789,\"./attributes\":912,\"./calc\":916,\"./defaults\":927,\"./plot\":933}],929:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r,n=t._fullData.length,a=0;a<n;a++){var i=t._fullData[a];if(i.index!==e.index&&(\"carpet\"===i.type&&(r||(r=i),i.carpet===e.carpet)))return i}return r}},{}],930:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){if(0===t.length)return\"\";var n,a=[],i=r?3:1;for(n=0;n<t.length;n+=i)a.push(t[n]+\",\"+e[n]),r&&n<t.length-i&&(a.push(\"C\"),a.push([t[n+1]+\",\"+e[n+1],t[n+2]+\",\"+e[n+2]+\" \"].join(\" \")));return a.join(r?\"\":\"L\")}},{}],931:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isArrayOrTypedArray;e.exports=function(t,e,r){var a;for(n(t)?t.length>e.length&&(t=t.slice(0,e.length)):t=[],a=0;a<e.length;a++)t[a]=r(e[a]);return t}},{\"../../lib\":728}],932:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,a,i){var o=a[0]*t.dpdx(e),s=a[1]*t.dpdy(r),l=1,c=1;if(i){var u=Math.sqrt(a[0]*a[0]+a[1]*a[1]),h=Math.sqrt(i[0]*i[0]+i[1]*i[1]),f=(a[0]*i[0]+a[1]*i[1])/u/h;c=Math.max(0,f)}var p=180*Math.atan2(s,o)/Math.PI;return p<-90?(p+=180,l=-l):p>90&&(p-=180,l=-l),{angle:p,flip:l,p:t.c2p(n,e,r),offsetMultplier:c}}},{}],933:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../components/drawing\"),i=t(\"./map_1d_array\"),o=t(\"./makepath\"),s=t(\"./orient_text\"),l=t(\"../../lib/svg_text_utils\"),c=t(\"../../lib\"),u=t(\"../../constants/alignment\");function h(t,e,r,a,s,l){var c=\"const-\"+s+\"-lines\",u=r.selectAll(\".\"+c).data(l);u.enter().append(\"path\").classed(c,!0).style(\"vector-effect\",\"non-scaling-stroke\"),u.each((function(r){var a=r,s=a.x,l=a.y,c=i([],s,t.c2p),u=i([],l,e.c2p),h=\"M\"+o(c,u,a.smoothing);n.select(this).attr(\"d\",h).style(\"stroke-width\",a.width).style(\"stroke\",a.color).style(\"fill\",\"none\")})),u.exit().remove()}function f(t,e,r,i,o,c,u,h){var f=c.selectAll(\"text.\"+h).data(u);f.enter().append(\"text\").classed(h,!0);var p=0,d={};return f.each((function(o,c){var u;if(\"auto\"===o.axis.tickangle)u=s(i,e,r,o.xy,o.dxy);else{var h=(o.axis.tickangle+180)*Math.PI/180;u=s(i,e,r,o.xy,[Math.cos(h),Math.sin(h)])}c||(d={angle:u.angle,flip:u.flip});var f=(o.endAnchor?-1:1)*u.flip,g=n.select(this).attr({\"text-anchor\":f>0?\"start\":\"end\",\"data-notex\":1}).call(a.font,o.font).text(o.text).call(l.convertToTspans,t),m=a.bBox(this);g.attr(\"transform\",\"translate(\"+u.p[0]+\",\"+u.p[1]+\") rotate(\"+u.angle+\")translate(\"+o.axis.labelpadding*f+\",\"+.3*m.height+\")\"),p=Math.max(p,m.width+o.axis.labelpadding)})),f.exit().remove(),d.maxExtent=p,d}e.exports=function(t,e,r,a){var l=e.xaxis,u=e.yaxis,p=t._fullLayout._clips;c.makeTraceGroups(a,r,\"trace\").each((function(e){var r=n.select(this),a=e[0],d=a.trace,m=d.aaxis,v=d.baxis,y=c.ensureSingle(r,\"g\",\"minorlayer\"),x=c.ensureSingle(r,\"g\",\"majorlayer\"),b=c.ensureSingle(r,\"g\",\"boundarylayer\"),_=c.ensureSingle(r,\"g\",\"labellayer\");r.style(\"opacity\",d.opacity),h(l,u,x,m,\"a\",m._gridlines),h(l,u,x,v,\"b\",v._gridlines),h(l,u,y,m,\"a\",m._minorgridlines),h(l,u,y,v,\"b\",v._minorgridlines),h(l,u,b,m,\"a-boundary\",m._boundarylines),h(l,u,b,v,\"b-boundary\",v._boundarylines);var w=f(t,l,u,d,a,_,m._labels,\"a-label\"),T=f(t,l,u,d,a,_,v._labels,\"b-label\");!function(t,e,r,n,a,i,o,l){var u,h,f,p,d=c.aggNums(Math.min,null,r.a),m=c.aggNums(Math.max,null,r.a),v=c.aggNums(Math.min,null,r.b),y=c.aggNums(Math.max,null,r.b);u=.5*(d+m),h=v,f=r.ab2xy(u,h,!0),p=r.dxyda_rough(u,h),void 0===o.angle&&c.extendFlat(o,s(r,a,i,f,r.dxydb_rough(u,h)));g(t,e,r,n,f,p,r.aaxis,a,i,o,\"a-title\"),u=d,h=.5*(v+y),f=r.ab2xy(u,h,!0),p=r.dxydb_rough(u,h),void 0===l.angle&&c.extendFlat(l,s(r,a,i,f,r.dxyda_rough(u,h)));g(t,e,r,n,f,p,r.baxis,a,i,l,\"b-title\")}(t,_,d,a,l,u,w,T),function(t,e,r,n,a){var s,l,u,h,f=r.select(\"#\"+t._clipPathId);f.size()||(f=r.append(\"clipPath\").classed(\"carpetclip\",!0));var p=c.ensureSingle(f,\"path\",\"carpetboundary\"),d=e.clipsegments,g=[];for(h=0;h<d.length;h++)s=d[h],l=i([],s.x,n.c2p),u=i([],s.y,a.c2p),g.push(o(l,u,s.bicubic));var m=\"M\"+g.join(\"L\")+\"Z\";f.attr(\"id\",t._clipPathId),p.attr(\"d\",m)}(d,a,p,l,u)}))};var p=u.LINE_SPACING,d=(1-u.MID_SHIFT)/p+1;function g(t,e,r,i,o,c,u,h,f,g,m){var v=[];u.title.text&&v.push(u.title.text);var y=e.selectAll(\"text.\"+m).data(v),x=g.maxExtent;y.enter().append(\"text\").classed(m,!0),y.each((function(){var e=s(r,h,f,o,c);-1===[\"start\",\"both\"].indexOf(u.showticklabels)&&(x=0);var i=u.title.font.size;x+=i+u.title.offset;var m=(g.angle+(g.flip<0?180:0)-e.angle+450)%360,v=m>90&&m<270,y=n.select(this);y.text(u.title.text).call(l.convertToTspans,t),v&&(x=(-l.lineCount(y)+d)*p*i-x),y.attr(\"transform\",\"translate(\"+e.p[0]+\",\"+e.p[1]+\") rotate(\"+e.angle+\") translate(0,\"+x+\")\").classed(\"user-select-none\",!0).attr(\"text-anchor\",\"middle\").call(a.font,u.title.font)})),y.exit().remove()}},{\"../../components/drawing\":617,\"../../constants/alignment\":697,\"../../lib\":728,\"../../lib/svg_text_utils\":752,\"./makepath\":930,\"./map_1d_array\":931,\"./orient_text\":932,d3:164}],934:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),a=t(\"../../lib/search\").findBin,i=t(\"./compute_control_points\"),o=t(\"./create_spline_evaluator\"),s=t(\"./create_i_derivative_evaluator\"),l=t(\"./create_j_derivative_evaluator\");e.exports=function(t){var e=t._a,r=t._b,c=e.length,u=r.length,h=t.aaxis,f=t.baxis,p=e[0],d=e[c-1],g=r[0],m=r[u-1],v=e[e.length-1]-e[0],y=r[r.length-1]-r[0],x=v*n.RELATIVE_CULL_TOLERANCE,b=y*n.RELATIVE_CULL_TOLERANCE;p-=x,d+=x,g-=b,m+=b,t.isVisible=function(t,e){return t>p&&t<d&&e>g&&e<m},t.isOccluded=function(t,e){return t<p||t>d||e<g||e>m},t.setScale=function(){var e=t._x,r=t._y,n=i(t._xctrl,t._yctrl,e,r,h.smoothing,f.smoothing);t._xctrl=n[0],t._yctrl=n[1],t.evalxy=o([t._xctrl,t._yctrl],c,u,h.smoothing,f.smoothing),t.dxydi=s([t._xctrl,t._yctrl],h.smoothing,f.smoothing),t.dxydj=l([t._xctrl,t._yctrl],h.smoothing,f.smoothing)},t.i2a=function(t){var r=Math.max(0,Math.floor(t[0]),c-2),n=t[0]-r;return(1-n)*e[r]+n*e[r+1]},t.j2b=function(t){var e=Math.max(0,Math.floor(t[1]),c-2),n=t[1]-e;return(1-n)*r[e]+n*r[e+1]},t.ij2ab=function(e){return[t.i2a(e[0]),t.j2b(e[1])]},t.a2i=function(t){var r=Math.max(0,Math.min(a(t,e),c-2)),n=e[r],i=e[r+1];return Math.max(0,Math.min(c-1,r+(t-n)/(i-n)))},t.b2j=function(t){var e=Math.max(0,Math.min(a(t,r),u-2)),n=r[e],i=r[e+1];return Math.max(0,Math.min(u-1,e+(t-n)/(i-n)))},t.ab2ij=function(e){return[t.a2i(e[0]),t.b2j(e[1])]},t.i2c=function(e,r){return t.evalxy([],e,r)},t.ab2xy=function(n,a,i){if(!i&&(n<e[0]||n>e[c-1]|a<r[0]||a>r[u-1]))return[!1,!1];var o=t.a2i(n),s=t.b2j(a),l=t.evalxy([],o,s);if(i){var h,f,p,d,g=0,m=0,v=[];n<e[0]?(h=0,f=0,g=(n-e[0])/(e[1]-e[0])):n>e[c-1]?(h=c-2,f=1,g=(n-e[c-1])/(e[c-1]-e[c-2])):f=o-(h=Math.max(0,Math.min(c-2,Math.floor(o)))),a<r[0]?(p=0,d=0,m=(a-r[0])/(r[1]-r[0])):a>r[u-1]?(p=u-2,d=1,m=(a-r[u-1])/(r[u-1]-r[u-2])):d=s-(p=Math.max(0,Math.min(u-2,Math.floor(s)))),g&&(t.dxydi(v,h,p,f,d),l[0]+=v[0]*g,l[1]+=v[1]*g),m&&(t.dxydj(v,h,p,f,d),l[0]+=v[0]*m,l[1]+=v[1]*m)}return l},t.c2p=function(t,e,r){return[e.c2p(t[0]),r.c2p(t[1])]},t.p2x=function(t,e,r){return[e.p2c(t[0]),r.p2c(t[1])]},t.dadi=function(t){var r=Math.max(0,Math.min(e.length-2,t));return e[r+1]-e[r]},t.dbdj=function(t){var e=Math.max(0,Math.min(r.length-2,t));return r[e+1]-r[e]},t.dxyda=function(e,r,n,a){var i=t.dxydi(null,e,r,n,a),o=t.dadi(e,n);return[i[0]/o,i[1]/o]},t.dxydb=function(e,r,n,a){var i=t.dxydj(null,e,r,n,a),o=t.dbdj(r,a);return[i[0]/o,i[1]/o]},t.dxyda_rough=function(e,r,n){var a=v*(n||.1),i=t.ab2xy(e+a,r,!0),o=t.ab2xy(e-a,r,!0);return[.5*(i[0]-o[0])/a,.5*(i[1]-o[1])/a]},t.dxydb_rough=function(e,r,n){var a=y*(n||.1),i=t.ab2xy(e,r+a,!0),o=t.ab2xy(e,r-a,!0);return[.5*(i[0]-o[0])/a,.5*(i[1]-o[1])/a]},t.dpdx=function(t){return t._m},t.dpdy=function(t){return t._m}}},{\"../../lib/search\":747,\"./compute_control_points\":922,\"./constants\":923,\"./create_i_derivative_evaluator\":924,\"./create_j_derivative_evaluator\":925,\"./create_spline_evaluator\":926}],935:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e,r){var a,i,o,s=[],l=[],c=t[0].length,u=t.length;function h(e,r){var n,a=0,i=0;return e>0&&void 0!==(n=t[r][e-1])&&(i++,a+=n),e<c-1&&void 0!==(n=t[r][e+1])&&(i++,a+=n),r>0&&void 0!==(n=t[r-1][e])&&(i++,a+=n),r<u-1&&void 0!==(n=t[r+1][e])&&(i++,a+=n),a/Math.max(1,i)}var f,p,d,g,m,v,y,x,b,_,w,T=0;for(a=0;a<c;a++)for(i=0;i<u;i++)void 0===t[i][a]&&(s.push(a),l.push(i),t[i][a]=h(a,i)),T=Math.max(T,Math.abs(t[i][a]));if(!s.length)return t;var k=0,A=0,M=s.length;do{for(k=0,o=0;o<M;o++){a=s[o],i=l[o];var S,E,C,L,P,I,z=0,O=0;0===a?(C=e[P=Math.min(c-1,2)],L=e[1],S=t[i][P],O+=(E=t[i][1])+(E-S)*(e[0]-L)/(L-C),z++):a===c-1&&(C=e[P=Math.max(0,c-3)],L=e[c-2],S=t[i][P],O+=(E=t[i][c-2])+(E-S)*(e[c-1]-L)/(L-C),z++),(0===a||a===c-1)&&i>0&&i<u-1&&(f=r[i+1]-r[i],O+=((p=r[i]-r[i-1])*t[i+1][a]+f*t[i-1][a])/(p+f),z++),0===i?(C=r[I=Math.min(u-1,2)],L=r[1],S=t[I][a],O+=(E=t[1][a])+(E-S)*(r[0]-L)/(L-C),z++):i===u-1&&(C=r[I=Math.max(0,u-3)],L=r[u-2],S=t[I][a],O+=(E=t[u-2][a])+(E-S)*(r[u-1]-L)/(L-C),z++),(0===i||i===u-1)&&a>0&&a<c-1&&(f=e[a+1]-e[a],O+=((p=e[a]-e[a-1])*t[i][a+1]+f*t[i][a-1])/(p+f),z++),z?O/=z:(d=e[a+1]-e[a],g=e[a]-e[a-1],x=(m=r[i+1]-r[i])*(v=r[i]-r[i-1])*(m+v),O=((y=d*g*(d+g))*(v*t[i+1][a]+m*t[i-1][a])+x*(g*t[i][a+1]+d*t[i][a-1]))/(x*(g+d)+y*(v+m))),k+=(_=(b=O-t[i][a])/T)*_,w=z?0:.85,t[i][a]+=b*(1+w)}k=Math.sqrt(k)}while(A++<100&&k>1e-5);return n.log(\"Smoother converged to\",k,\"after\",A,\"iterations\"),t}},{\"../../lib\":728}],936:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isArray1D;e.exports=function(t,e,r){var a=r(\"x\"),i=a&&a.length,o=r(\"y\"),s=o&&o.length;if(!i&&!s)return!1;if(e._cheater=!a,i&&!n(a)||s&&!n(o))e._length=null;else{var l=i?a.length:1/0;s&&(l=Math.min(l,o.length)),e.a&&e.a.length&&(l=Math.min(l,e.a.length)),e.b&&e.b.length&&(l=Math.min(l,e.b.length)),e._length=l}return!0}},{\"../../lib\":728}],937:[function(t,e,r){\"use strict\";var n=t(\"../../plots/template_attributes\").hovertemplateAttrs,a=t(\"../scattergeo/attributes\"),i=t(\"../../components/colorscale/attributes\"),o=t(\"../../plots/attributes\"),s=t(\"../../components/color/attributes\").defaultLine,l=t(\"../../lib/extend\").extendFlat,c=a.marker.line;e.exports=l({locations:{valType:\"data_array\",editType:\"calc\"},locationmode:a.locationmode,z:{valType:\"data_array\",editType:\"calc\"},geojson:l({},a.geojson,{}),featureidkey:a.featureidkey,text:l({},a.text,{}),hovertext:l({},a.hovertext,{}),marker:{line:{color:l({},c.color,{dflt:s}),width:l({},c.width,{dflt:1}),editType:\"calc\"},opacity:{valType:\"number\",arrayOk:!0,min:0,max:1,dflt:1,editType:\"style\"},editType:\"calc\"},selected:{marker:{opacity:a.selected.marker.opacity,editType:\"plot\"},editType:\"plot\"},unselected:{marker:{opacity:a.unselected.marker.opacity,editType:\"plot\"},editType:\"plot\"},hoverinfo:l({},o.hoverinfo,{editType:\"calc\",flags:[\"location\",\"z\",\"text\",\"name\"]}),hovertemplate:n(),showlegend:l({},o.showlegend,{dflt:!1})},i(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))},{\"../../components/color/attributes\":594,\"../../components/colorscale/attributes\":602,\"../../lib/extend\":719,\"../../plots/attributes\":773,\"../../plots/template_attributes\":854,\"../scattergeo/attributes\":1175}],938:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"../../constants/numerical\").BADNUM,i=t(\"../../components/colorscale/calc\"),o=t(\"../scatter/arrays_to_calcdata\"),s=t(\"../scatter/calc_selection\");function l(t){return t&&\"string\"==typeof t}e.exports=function(t,e){var r,c=e._length,u=new Array(c);r=e.geojson?function(t){return l(t)||n(t)}:l;for(var h=0;h<c;h++){var f=u[h]={},p=e.locations[h],d=e.z[h];r(p)&&n(d)?(f.loc=p,f.z=d):(f.loc=null,f.z=a),f.index=h}return o(u,e),i(t,e,{vals:e.z,containerStr:\"\",cLetter:\"z\"}),s(u,e),u}},{\"../../components/colorscale/calc\":603,\"../../constants/numerical\":704,\"../scatter/arrays_to_calcdata\":1133,\"../scatter/calc_selection\":1136,\"fast-isnumeric\":236}],939:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../components/colorscale/defaults\"),i=t(\"./attributes\");e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}var l=s(\"locations\"),c=s(\"z\");if(l&&l.length&&n.isArrayOrTypedArray(c)&&c.length){e._length=Math.min(l.length,c.length);var u,h=s(\"geojson\");(\"string\"==typeof h&&\"\"!==h||n.isPlainObject(h))&&(u=\"geojson-id\"),\"geojson-id\"===s(\"locationmode\",u)&&s(\"featureidkey\"),s(\"text\"),s(\"hovertext\"),s(\"hovertemplate\"),s(\"marker.line.width\")&&s(\"marker.line.color\"),s(\"marker.opacity\"),a(t,e,o,s,{prefix:\"\",cLetter:\"z\"}),n.coerceSelectionMarkerOpacity(e,s)}else e.visible=!1}},{\"../../components/colorscale/defaults\":605,\"../../lib\":728,\"./attributes\":937}],940:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,a){t.location=e.location,t.z=e.z;var i=n[a];return i.fIn&&i.fIn.properties&&(t.properties=i.fIn.properties),t.ct=i.ct,t}},{}],941:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),a=t(\"./attributes\"),i=t(\"../../lib\").fillText;e.exports=function(t,e,r){var o,s,l,c,u=t.cd,h=u[0].trace,f=t.subplot;for(s=0;s<u.length;s++)if(c=!1,(o=u[s])._polygons){for(l=0;l<o._polygons.length;l++)o._polygons[l].contains([e,r])&&(c=!c),o._polygons[l].contains([e+360,r])&&(c=!c);if(c)break}if(c&&o)return t.x0=t.x1=t.xa.c2p(o.ct),t.y0=t.y1=t.ya.c2p(o.ct),t.index=o.index,t.location=o.loc,t.z=o.z,t.zLabel=n.tickText(f.mockAxis,f.mockAxis.c2l(o.z),\"hover\").text,t.hovertemplate=o.hovertemplate,function(t,e,r){if(e.hovertemplate)return;var n=r.hi||e.hoverinfo,o=String(r.loc),s=\"all\"===n?a.hoverinfo.flags:n.split(\"+\"),l=-1!==s.indexOf(\"name\"),c=-1!==s.indexOf(\"location\"),u=-1!==s.indexOf(\"z\"),h=-1!==s.indexOf(\"text\"),f=[];!l&&c?t.nameOverride=o:(l&&(t.nameOverride=e.name),c&&f.push(o));u&&f.push(t.zLabel);h&&i(r,e,f);t.extraText=f.join(\"<br>\")}(t,h,o,f.mockAxis),[t]}},{\"../../lib\":728,\"../../plots/cartesian/axes\":776,\"./attributes\":937}],942:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../heatmap/colorbar\"),calc:t(\"./calc\"),calcGeoJSON:t(\"./plot\").calcGeoJSON,plot:t(\"./plot\").plot,style:t(\"./style\").style,styleOnSelect:t(\"./style\").styleOnSelect,hoverPoints:t(\"./hover\"),eventData:t(\"./event_data\"),selectPoints:t(\"./select\"),moduleType:\"trace\",name:\"choropleth\",basePlotModule:t(\"../../plots/geo\"),categories:[\"geo\",\"noOpacity\",\"showLegend\"],meta:{}}},{\"../../plots/geo\":808,\"../heatmap/colorbar\":1016,\"./attributes\":937,\"./calc\":938,\"./defaults\":939,\"./event_data\":940,\"./hover\":941,\"./plot\":943,\"./select\":944,\"./style\":945}],943:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../lib\"),i=t(\"../../lib/geo_location_utils\"),o=t(\"../../lib/topojson_utils\").getTopojsonFeatures,s=t(\"../../plots/cartesian/autorange\").findExtremes,l=t(\"./style\").style;e.exports={calcGeoJSON:function(t,e){for(var r=t[0].trace,n=e[r.geo],a=n._subplot,l=r.locationmode,c=r._length,u=\"geojson-id\"===l?i.extractTraceFeature(t):o(r,a.topojson),h=[],f=[],p=0;p<c;p++){var d=t[p],g=\"geojson-id\"===l?d.fOut:i.locationToFeature(l,d.loc,u);if(g){d.geojson=g,d.ct=g.properties.ct,d._polygons=i.feature2polygons(g);var m=i.computeBbox(g);h.push(m[0],m[2]),f.push(m[1],m[3])}else d.geojson=null}if(\"geojson\"===n.fitbounds&&\"geojson-id\"===l){var v=i.computeBbox(i.getTraceGeojson(r));h=[v[0],v[2]],f=[v[1],v[3]]}var y={padded:!0};r._extremes.lon=s(n.lonaxis._ax,h,y),r._extremes.lat=s(n.lataxis._ax,f,y)},plot:function(t,e,r){var i=e.layers.backplot.select(\".choroplethlayer\");a.makeTraceGroups(i,r,\"trace choropleth\").each((function(e){var r=n.select(this).selectAll(\"path.choroplethlocation\").data(a.identity);r.enter().append(\"path\").classed(\"choroplethlocation\",!0),r.exit().remove(),l(t,e)}))}}},{\"../../lib\":728,\"../../lib/geo_location_utils\":722,\"../../lib/topojson_utils\":755,\"../../plots/cartesian/autorange\":775,\"./style\":945,d3:164}],944:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r,n,a,i,o,s=t.cd,l=t.xaxis,c=t.yaxis,u=[];if(!1===e)for(r=0;r<s.length;r++)s[r].selected=0;else for(r=0;r<s.length;r++)(a=(n=s[r]).ct)&&(i=l.c2p(a),o=c.c2p(a),e.contains([i,o],null,r,t)?(u.push({pointNumber:r,lon:a[0],lat:a[1]}),n.selected=1):n.selected=0);return u}},{}],945:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../components/color\"),i=t(\"../../components/drawing\"),o=t(\"../../components/colorscale\");function s(t,e){var r=e[0].trace,s=e[0].node3.selectAll(\".choroplethlocation\"),l=r.marker||{},c=l.line||{},u=o.makeColorScaleFuncFromTrace(r);s.each((function(t){n.select(this).attr(\"fill\",u(t.z)).call(a.stroke,t.mlc||c.color).call(i.dashLine,\"\",t.mlw||c.width||0).style(\"opacity\",l.opacity)})),i.selectedPointStyle(s,r,t)}e.exports={style:function(t,e){e&&s(t,e)},styleOnSelect:function(t,e){var r=e[0].node3,n=e[0].trace;n.selectedpoints?i.selectedPointStyle(r.selectAll(\".choroplethlocation\"),n,t):s(t,e)}}},{\"../../components/color\":595,\"../../components/colorscale\":607,\"../../components/drawing\":617,d3:164}],946:[function(t,e,r){\"use strict\";var n=t(\"../choropleth/attributes\"),a=t(\"../../components/colorscale/attributes\"),i=t(\"../../plots/template_attributes\").hovertemplateAttrs,o=t(\"../../plots/attributes\"),s=t(\"../../lib/extend\").extendFlat;e.exports=s({locations:{valType:\"data_array\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},geojson:{valType:\"any\",editType:\"calc\"},featureidkey:s({},n.featureidkey,{}),below:{valType:\"string\",editType:\"plot\"},text:n.text,hovertext:n.hovertext,marker:{line:{color:s({},n.marker.line.color,{editType:\"plot\"}),width:s({},n.marker.line.width,{editType:\"plot\"}),editType:\"calc\"},opacity:s({},n.marker.opacity,{editType:\"plot\"}),editType:\"calc\"},selected:{marker:{opacity:s({},n.selected.marker.opacity,{editType:\"plot\"}),editType:\"plot\"},editType:\"plot\"},unselected:{marker:{opacity:s({},n.unselected.marker.opacity,{editType:\"plot\"}),editType:\"plot\"},editType:\"plot\"},hoverinfo:n.hoverinfo,hovertemplate:i({},{keys:[\"properties\"]}),showlegend:s({},o.showlegend,{dflt:!1})},a(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))},{\"../../components/colorscale/attributes\":602,\"../../lib/extend\":719,\"../../plots/attributes\":773,\"../../plots/template_attributes\":854,\"../choropleth/attributes\":937}],947:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"../../lib\"),i=t(\"../../components/colorscale\"),o=t(\"../../components/drawing\"),s=t(\"../../lib/geojson_utils\").makeBlank,l=t(\"../../lib/geo_location_utils\");function c(t){var e,r=t[0].trace,n=r._opts;if(r.selectedpoints){for(var i=o.makeSelectedPointStyleFns(r),s=0;s<t.length;s++){var l=t[s];l.fOut&&(l.fOut.properties.mo2=i.selectedOpacityFn(l))}e={type:\"identity\",property:\"mo2\"}}else e=a.isArrayOrTypedArray(r.marker.opacity)?{type:\"identity\",property:\"mo\"}:r.marker.opacity;return a.extendFlat(n.fill.paint,{\"fill-opacity\":e}),a.extendFlat(n.line.paint,{\"line-opacity\":e}),n}e.exports={convert:function(t){var e=t[0].trace,r=!0===e.visible&&0!==e._length,o={layout:{visibility:\"none\"},paint:{}},u={layout:{visibility:\"none\"},paint:{}},h=e._opts={fill:o,line:u,geojson:s()};if(!r)return h;var f=l.extractTraceFeature(t);if(!f)return h;var p,d,g,m=i.makeColorScaleFuncFromTrace(e),v=e.marker,y=v.line||{};a.isArrayOrTypedArray(v.opacity)&&(p=function(t){var e=t.mo;return n(e)?+a.constrain(e,0,1):0}),a.isArrayOrTypedArray(y.color)&&(d=function(t){return t.mlc}),a.isArrayOrTypedArray(y.width)&&(g=function(t){return t.mlw});for(var x=0;x<t.length;x++){var b=t[x],_=b.fOut;if(_){var w=_.properties;w.fc=m(b.z),p&&(w.mo=p(b)),d&&(w.mlc=d(b)),g&&(w.mlw=g(b)),b.ct=w.ct,b._polygons=l.feature2polygons(_)}}var T=p?{type:\"identity\",property:\"mo\"}:v.opacity;return a.extendFlat(o.paint,{\"fill-color\":{type:\"identity\",property:\"fc\"},\"fill-opacity\":T}),a.extendFlat(u.paint,{\"line-color\":d?{type:\"identity\",property:\"mlc\"}:y.color,\"line-width\":g?{type:\"identity\",property:\"mlw\"}:y.width,\"line-opacity\":T}),o.layout.visibility=\"visible\",u.layout.visibility=\"visible\",h.geojson={type:\"FeatureCollection\",features:f},c(t),h},convertOnSelect:c}},{\"../../components/colorscale\":607,\"../../components/drawing\":617,\"../../lib\":728,\"../../lib/geo_location_utils\":722,\"../../lib/geojson_utils\":723,\"fast-isnumeric\":236}],948:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../components/colorscale/defaults\"),i=t(\"./attributes\");e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}var l=s(\"locations\"),c=s(\"z\"),u=s(\"geojson\");n.isArrayOrTypedArray(l)&&l.length&&n.isArrayOrTypedArray(c)&&c.length&&(\"string\"==typeof u&&\"\"!==u||n.isPlainObject(u))?(s(\"featureidkey\"),e._length=Math.min(l.length,c.length),s(\"below\"),s(\"text\"),s(\"hovertext\"),s(\"hovertemplate\"),s(\"marker.line.width\")&&s(\"marker.line.color\"),s(\"marker.opacity\"),a(t,e,o,s,{prefix:\"\",cLetter:\"z\"}),n.coerceSelectionMarkerOpacity(e,s)):e.visible=!1}},{\"../../components/colorscale/defaults\":605,\"../../lib\":728,\"./attributes\":946}],949:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../heatmap/colorbar\"),calc:t(\"../choropleth/calc\"),plot:t(\"./plot\"),hoverPoints:t(\"../choropleth/hover\"),eventData:t(\"../choropleth/event_data\"),selectPoints:t(\"../choropleth/select\"),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.updateOnSelect(e)},getBelow:function(t,e){for(var r=e.getMapLayers(),n=r.length-2;n>=0;n--){var a=r[n].id;if(\"string\"==typeof a&&0===a.indexOf(\"water\"))for(var i=n+1;i<r.length;i++)if(\"string\"==typeof(a=r[i].id)&&-1===a.indexOf(\"plotly-\"))return a}},moduleType:\"trace\",name:\"choroplethmapbox\",basePlotModule:t(\"../../plots/mapbox\"),categories:[\"mapbox\",\"gl\",\"noOpacity\",\"showLegend\"],meta:{hr_name:\"choropleth_mapbox\"}}},{\"../../plots/mapbox\":833,\"../choropleth/calc\":938,\"../choropleth/event_data\":940,\"../choropleth/hover\":941,\"../choropleth/select\":944,\"../heatmap/colorbar\":1016,\"./attributes\":946,\"./defaults\":948,\"./plot\":950}],950:[function(t,e,r){\"use strict\";var n=t(\"./convert\").convert,a=t(\"./convert\").convertOnSelect,i=t(\"../../plots/mapbox/constants\").traceLayerPrefix;function o(t,e){this.type=\"choroplethmapbox\",this.subplot=t,this.uid=e,this.sourceId=\"source-\"+e,this.layerList=[[\"fill\",i+e+\"-fill\"],[\"line\",i+e+\"-line\"]],this.below=null}var s=o.prototype;s.update=function(t){this._update(n(t))},s.updateOnSelect=function(t){this._update(a(t))},s._update=function(t){var e=this.subplot,r=this.layerList,n=e.belowLookup[\"trace-\"+this.uid];e.map.getSource(this.sourceId).setData(t.geojson),n!==this.below&&(this._removeLayers(),this._addLayers(t,n),this.below=n);for(var a=0;a<r.length;a++){var i=r[a],o=i[0],s=i[1],l=t[o];e.setOptions(s,\"setLayoutProperty\",l.layout),\"visible\"===l.layout.visibility&&e.setOptions(s,\"setPaintProperty\",l.paint)}},s._addLayers=function(t,e){for(var r=this.subplot,n=this.layerList,a=this.sourceId,i=0;i<n.length;i++){var o=n[i],s=o[0],l=t[s];r.addLayer({type:s,id:o[1],source:a,layout:l.layout,paint:l.paint},e)}},s._removeLayers=function(){for(var t=this.subplot.map,e=this.layerList,r=e.length-1;r>=0;r--)t.removeLayer(e[r][1])},s.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},e.exports=function(t,e){var r=e[0].trace,a=new o(t,r.uid),i=a.sourceId,s=n(e),l=a.below=t.belowLookup[\"trace-\"+r.uid];return t.map.addSource(i,{type:\"geojson\",data:s.geojson}),a._addLayers(s,l),e[0].trace._glTrace=a,a}},{\"../../plots/mapbox/constants\":831,\"./convert\":947}],951:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/attributes\"),a=t(\"../../plots/template_attributes\").hovertemplateAttrs,i=t(\"../mesh3d/attributes\"),o=t(\"../../plots/attributes\"),s=t(\"../../lib/extend\").extendFlat,l={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},z:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},u:{valType:\"data_array\",editType:\"calc\"},v:{valType:\"data_array\",editType:\"calc\"},w:{valType:\"data_array\",editType:\"calc\"},sizemode:{valType:\"enumerated\",values:[\"scaled\",\"absolute\"],editType:\"calc\",dflt:\"scaled\"},sizeref:{valType:\"number\",editType:\"calc\",min:0},anchor:{valType:\"enumerated\",editType:\"calc\",values:[\"tip\",\"tail\",\"cm\",\"center\"],dflt:\"cm\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertemplate:a({editType:\"calc\"},{keys:[\"norm\"]}),showlegend:s({},o.showlegend,{dflt:!1})};s(l,n(\"\",{colorAttr:\"u/v/w norm\",showScaleDflt:!0,editTypeOverride:\"calc\"}));[\"opacity\",\"lightposition\",\"lighting\"].forEach((function(t){l[t]=i[t]})),l.hoverinfo=s({},o.hoverinfo,{editType:\"calc\",flags:[\"x\",\"y\",\"z\",\"u\",\"v\",\"w\",\"norm\",\"text\",\"name\"],dflt:\"x+y+z+norm+text+name\"}),l.transforms=void 0,e.exports=l},{\"../../components/colorscale/attributes\":602,\"../../lib/extend\":719,\"../../plots/attributes\":773,\"../../plots/template_attributes\":854,\"../mesh3d/attributes\":1075}],952:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/calc\");e.exports=function(t,e){for(var r=e.u,a=e.v,i=e.w,o=Math.min(e.x.length,e.y.length,e.z.length,r.length,a.length,i.length),s=-1/0,l=1/0,c=0;c<o;c++){var u=r[c],h=a[c],f=i[c],p=Math.sqrt(u*u+h*h+f*f);s=Math.max(s,p),l=Math.min(l,p)}e._len=o,e._normMax=s,n(t,e,{vals:[l,s],containerStr:\"\",cLetter:\"c\"})}},{\"../../components/colorscale/calc\":603}],953:[function(t,e,r){\"use strict\";var n=t(\"gl-cone3d\"),a=t(\"gl-cone3d\").createConeMesh,i=t(\"../../lib\").simpleMap,o=t(\"../../lib/gl_format_color\").parseColorScale,s=t(\"../../components/colorscale\").extractOpts,l=t(\"../../plots/gl3d/zip3\");function c(t,e){this.scene=t,this.uid=e,this.mesh=null,this.data=null}var u=c.prototype;u.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index,r=this.data.x[e],n=this.data.y[e],a=this.data.z[e],i=this.data.u[e],o=this.data.v[e],s=this.data.w[e];t.traceCoordinate=[r,n,a,i,o,s,Math.sqrt(i*i+o*o+s*s)];var l=this.data.hovertext||this.data.text;return Array.isArray(l)&&void 0!==l[e]?t.textLabel=l[e]:l&&(t.textLabel=l),!0}};var h={xaxis:0,yaxis:1,zaxis:2},f={tip:1,tail:0,cm:.25,center:.5},p={tip:1,tail:1,cm:.75,center:.5};function d(t,e){var r=t.fullSceneLayout,a=t.dataScale,c={};function u(t,e){var n=r[e],o=a[h[e]];return i(t,(function(t){return n.d2l(t)*o}))}c.vectors=l(u(e.u,\"xaxis\"),u(e.v,\"yaxis\"),u(e.w,\"zaxis\"),e._len),c.positions=l(u(e.x,\"xaxis\"),u(e.y,\"yaxis\"),u(e.z,\"zaxis\"),e._len);var d=s(e);c.colormap=o(e),c.vertexIntensityBounds=[d.min/e._normMax,d.max/e._normMax],c.coneOffset=f[e.anchor],\"scaled\"===e.sizemode?c.coneSize=e.sizeref||.5:c.coneSize=e.sizeref&&e._normMax?e.sizeref/e._normMax:.5;var g=n(c),m=e.lightposition;return g.lightPosition=[m.x,m.y,m.z],g.ambient=e.lighting.ambient,g.diffuse=e.lighting.diffuse,g.specular=e.lighting.specular,g.roughness=e.lighting.roughness,g.fresnel=e.lighting.fresnel,g.opacity=e.opacity,e._pad=p[e.anchor]*g.vectorScale*g.coneScale*e._normMax,g}u.update=function(t){this.data=t;var e=d(this.scene,t);this.mesh.update(e)},u.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,n=d(t,e),i=a(r,n),o=new c(t,e.uid);return o.mesh=i,o.data=e,i._trace=o,t.glplot.add(i),o}},{\"../../components/colorscale\":607,\"../../lib\":728,\"../../lib/gl_format_color\":725,\"../../plots/gl3d/zip3\":829,\"gl-cone3d\":254}],954:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../components/colorscale/defaults\"),i=t(\"./attributes\");e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}var l=s(\"u\"),c=s(\"v\"),u=s(\"w\"),h=s(\"x\"),f=s(\"y\"),p=s(\"z\");l&&l.length&&c&&c.length&&u&&u.length&&h&&h.length&&f&&f.length&&p&&p.length?(s(\"sizeref\"),s(\"sizemode\"),s(\"anchor\"),s(\"lighting.ambient\"),s(\"lighting.diffuse\"),s(\"lighting.specular\"),s(\"lighting.roughness\"),s(\"lighting.fresnel\"),s(\"lightposition.x\"),s(\"lightposition.y\"),s(\"lightposition.z\"),a(t,e,o,s,{prefix:\"\",cLetter:\"c\"}),s(\"text\"),s(\"hovertext\"),s(\"hovertemplate\"),e._length=null):e.visible=!1}},{\"../../components/colorscale/defaults\":605,\"../../lib\":728,\"./attributes\":951}],955:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"cone\",basePlotModule:t(\"../../plots/gl3d\"),categories:[\"gl3d\",\"showLegend\"],attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:{min:\"cmin\",max:\"cmax\"},calc:t(\"./calc\"),plot:t(\"./convert\"),eventData:function(t,e){return t.norm=e.traceCoordinate[6],t},meta:{}}},{\"../../plots/gl3d\":818,\"./attributes\":951,\"./calc\":952,\"./convert\":953,\"./defaults\":954}],956:[function(t,e,r){\"use strict\";var n=t(\"../heatmap/attributes\"),a=t(\"../scatter/attributes\"),i=t(\"../../components/colorscale/attributes\"),o=t(\"../../components/drawing/attributes\").dash,s=t(\"../../plots/font_attributes\"),l=t(\"../../lib/extend\").extendFlat,c=t(\"../../constants/filter_ops\"),u=c.COMPARISON_OPS2,h=c.INTERVAL_OPS,f=(t(\"../../constants/docs\").FORMAT_LINK,a.line);e.exports=l({z:n.z,x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:n.text,hovertext:n.hovertext,transpose:n.transpose,xtype:n.xtype,ytype:n.ytype,zhoverformat:n.zhoverformat,hovertemplate:n.hovertemplate,hoverongaps:n.hoverongaps,connectgaps:l({},n.connectgaps,{}),fillcolor:{valType:\"color\",editType:\"calc\"},autocontour:{valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:{\"contours.start\":void 0,\"contours.end\":void 0,\"contours.size\":void 0}},ncontours:{valType:\"integer\",dflt:15,min:1,editType:\"calc\"},contours:{type:{valType:\"enumerated\",values:[\"levels\",\"constraint\"],dflt:\"levels\",editType:\"calc\"},start:{valType:\"number\",dflt:null,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},end:{valType:\"number\",dflt:null,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},size:{valType:\"number\",dflt:null,min:0,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},coloring:{valType:\"enumerated\",values:[\"fill\",\"heatmap\",\"lines\",\"none\"],dflt:\"fill\",editType:\"calc\"},showlines:{valType:\"boolean\",dflt:!0,editType:\"plot\"},showlabels:{valType:\"boolean\",dflt:!1,editType:\"plot\"},labelfont:s({editType:\"plot\",colorEditType:\"style\"}),labelformat:{valType:\"string\",dflt:\"\",editType:\"plot\"},operation:{valType:\"enumerated\",values:[].concat(u).concat(h),dflt:\"=\",editType:\"calc\"},value:{valType:\"any\",dflt:0,editType:\"calc\"},editType:\"calc\",impliedEdits:{autocontour:!1}},line:{color:l({},f.color,{editType:\"style+colorbars\"}),width:{valType:\"number\",min:0,editType:\"style+colorbars\"},dash:o,smoothing:l({},f.smoothing,{}),editType:\"plot\"}},i(\"\",{cLetter:\"z\",autoColorDflt:!1,editTypeOverride:\"calc\"}))},{\"../../components/colorscale/attributes\":602,\"../../components/drawing/attributes\":616,\"../../constants/docs\":699,\"../../constants/filter_ops\":700,\"../../lib/extend\":719,\"../../plots/font_attributes\":804,\"../heatmap/attributes\":1013,\"../scatter/attributes\":1134}],957:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale\"),a=t(\"../heatmap/calc\"),i=t(\"./set_contours\"),o=t(\"./end_plus\");e.exports=function(t,e){var r=a(t,e),s=r[0].z;i(e,s);var l,c=e.contours,u=n.extractOpts(e);if(\"heatmap\"===c.coloring&&u.auto&&!1===e.autocontour){var h=c.start,f=o(c),p=c.size||1,d=Math.floor((f-h)/p)+1;isFinite(p)||(p=1,d=1);var g=h-p/2;l=[g,g+d*p]}else l=s;return n.calc(t,e,{vals:l,cLetter:\"z\"}),r}},{\"../../components/colorscale\":607,\"../heatmap/calc\":1014,\"./end_plus\":967,\"./set_contours\":975}],958:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r,n=t[0],a=n.z;switch(e.type){case\"levels\":var i=Math.min(a[0][0],a[0][1]);for(r=0;r<t.length;r++){var o=t[r];o.prefixBoundary=!o.edgepaths.length&&(i>o.level||o.starts.length&&i===o.level)}break;case\"constraint\":if(n.prefixBoundary=!1,n.edgepaths.length)return;var s=n.x.length,l=n.y.length,c=-1/0,u=1/0;for(r=0;r<l;r++)u=Math.min(u,a[r][0]),u=Math.min(u,a[r][s-1]),c=Math.max(c,a[r][0]),c=Math.max(c,a[r][s-1]);for(r=1;r<s-1;r++)u=Math.min(u,a[0][r]),u=Math.min(u,a[l-1][r]),c=Math.max(c,a[0][r]),c=Math.max(c,a[l-1][r]);var h,f,p=e.value;switch(e._operation){case\">\":p>c&&(n.prefixBoundary=!0);break;case\"<\":(p<u||n.starts.length&&p===u)&&(n.prefixBoundary=!0);break;case\"[]\":h=Math.min(p[0],p[1]),((f=Math.max(p[0],p[1]))<u||h>c||n.starts.length&&f===u)&&(n.prefixBoundary=!0);break;case\"][\":h=Math.min(p[0],p[1]),f=Math.max(p[0],p[1]),h<u&&f>c&&(n.prefixBoundary=!0)}}}},{}],959:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale\"),a=t(\"./make_color_map\"),i=t(\"./end_plus\");e.exports={min:\"zmin\",max:\"zmax\",calc:function(t,e,r){var o=e.contours,s=e.line,l=o.size||1,c=o.coloring,u=a(e,{isColorbar:!0});if(\"heatmap\"===c){var h=n.extractOpts(e);r._fillgradient=h.reversescale?n.flipScale(h.colorscale):h.colorscale,r._zrange=[h.min,h.max]}else\"fill\"===c&&(r._fillcolor=u);r._line={color:\"lines\"===c?u:s.color,width:!1!==o.showlines?s.width:0,dash:s.dash},r._levels={start:o.start,end:i(o),size:l}}}},{\"../../components/colorscale\":607,\"./end_plus\":967,\"./make_color_map\":972}],960:[function(t,e,r){\"use strict\";e.exports={BOTTOMSTART:[1,9,13,104,713],TOPSTART:[4,6,7,104,713],LEFTSTART:[8,12,14,208,1114],RIGHTSTART:[2,3,11,208,1114],NEWDELTA:[null,[-1,0],[0,-1],[-1,0],[1,0],null,[0,-1],[-1,0],[0,1],[0,1],null,[0,1],[1,0],[1,0],[0,-1]],CHOOSESADDLE:{104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},SADDLEREMAINDER:{1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11},LABELDISTANCE:2,LABELINCREASE:10,LABELMIN:3,LABELMAX:10,LABELOPTIMIZER:{EDGECOST:1,ANGLECOST:1,NEIGHBORCOST:5,SAMELEVELFACTOR:10,SAMELEVELDISTANCE:5,MAXCOST:100,INITIALSEARCHPOINTS:10,ITERATIONS:5}}},{}],961:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"./label_defaults\"),i=t(\"../../components/color\"),o=i.addOpacity,s=i.opacity,l=t(\"../../constants/filter_ops\"),c=l.CONSTRAINT_REDUCTION,u=l.COMPARISON_OPS2;e.exports=function(t,e,r,i,l,h){var f,p,d,g=e.contours,m=r(\"contours.operation\");(g._operation=c[m],function(t,e){var r;-1===u.indexOf(e.operation)?(t(\"contours.value\",[0,1]),Array.isArray(e.value)?e.value.length>2?e.value=e.value.slice(2):0===e.length?e.value=[0,1]:e.length<2?(r=parseFloat(e.value[0]),e.value=[r,r+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:n(e.value)&&(r=parseFloat(e.value),e.value=[r,r+1])):(t(\"contours.value\",0),n(e.value)||(Array.isArray(e.value)?e.value=parseFloat(e.value[0]):e.value=0))}(r,g),\"=\"===m?f=g.showlines=!0:(f=r(\"contours.showlines\"),d=r(\"fillcolor\",o((t.line||{}).color||l,.5))),f)&&(p=r(\"line.color\",d&&s(d)?o(e.fillcolor,1):l),r(\"line.width\",2),r(\"line.dash\"));r(\"line.smoothing\"),a(r,i,p,h)}},{\"../../components/color\":595,\"../../constants/filter_ops\":700,\"./label_defaults\":971,\"fast-isnumeric\":236}],962:[function(t,e,r){\"use strict\";var n=t(\"../../constants/filter_ops\"),a=t(\"fast-isnumeric\");function i(t,e){var r,i=Array.isArray(e);function o(t){return a(t)?+t:null}return-1!==n.COMPARISON_OPS2.indexOf(t)?r=o(i?e[0]:e):-1!==n.INTERVAL_OPS.indexOf(t)?r=i?[o(e[0]),o(e[1])]:[o(e),o(e)]:-1!==n.SET_OPS.indexOf(t)&&(r=i?e.map(o):[o(e)]),r}function o(t){return function(e){e=i(t,e);var r=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return{start:r,end:n,size:n-r}}}function s(t){return function(e){return{start:e=i(t,e),end:1/0,size:1/0}}}e.exports={\"[]\":o(\"[]\"),\"][\":o(\"][\"),\">\":s(\">\"),\"<\":s(\"<\"),\"=\":s(\"=\")}},{\"../../constants/filter_ops\":700,\"fast-isnumeric\":236}],963:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){var a=n(\"contours.start\"),i=n(\"contours.end\"),o=!1===a||!1===i,s=r(\"contours.size\");!(o?e.autocontour=!0:r(\"autocontour\",!1))&&s||r(\"ncontours\")}},{}],964:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");function a(t){return n.extendFlat({},t,{edgepaths:n.extendDeep([],t.edgepaths),paths:n.extendDeep([],t.paths),starts:n.extendDeep([],t.starts)})}e.exports=function(t,e){var r,i,o,s=function(t){return t.reverse()},l=function(t){return t};switch(e){case\"=\":case\"<\":return t;case\">\":for(1!==t.length&&n.warn(\"Contour data invalid for the specified inequality operation.\"),i=t[0],r=0;r<i.edgepaths.length;r++)i.edgepaths[r]=s(i.edgepaths[r]);for(r=0;r<i.paths.length;r++)i.paths[r]=s(i.paths[r]);for(r=0;r<i.starts.length;r++)i.starts[r]=s(i.starts[r]);return t;case\"][\":var c=s;s=l,l=c;case\"[]\":for(2!==t.length&&n.warn(\"Contour data invalid for the specified inequality range operation.\"),i=a(t[0]),o=a(t[1]),r=0;r<i.edgepaths.length;r++)i.edgepaths[r]=s(i.edgepaths[r]);for(r=0;r<i.paths.length;r++)i.paths[r]=s(i.paths[r]);for(r=0;r<i.starts.length;r++)i.starts[r]=s(i.starts[r]);for(;o.edgepaths.length;)i.edgepaths.push(l(o.edgepaths.shift()));for(;o.paths.length;)i.paths.push(l(o.paths.shift()));for(;o.starts.length;)i.starts.push(l(o.starts.shift()));return[i]}}},{\"../../lib\":728}],965:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../heatmap/xyz_defaults\"),i=t(\"./constraint_defaults\"),o=t(\"./contours_defaults\"),s=t(\"./style_defaults\"),l=t(\"./attributes\");e.exports=function(t,e,r,c){function u(r,a){return n.coerce(t,e,l,r,a)}if(a(t,e,u,c)){u(\"text\"),u(\"hovertext\"),u(\"hovertemplate\"),u(\"hoverongaps\");var h=\"constraint\"===u(\"contours.type\");u(\"connectgaps\",n.isArray1D(e.z)),h?i(t,e,u,c,r):(o(t,e,u,(function(r){return n.coerce2(t,e,l,r)})),s(t,e,u,c))}else e.visible=!1}},{\"../../lib\":728,\"../heatmap/xyz_defaults\":1027,\"./attributes\":956,\"./constraint_defaults\":961,\"./contours_defaults\":963,\"./style_defaults\":977}],966:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"./constraint_mapping\"),i=t(\"./end_plus\");e.exports=function(t,e,r){for(var o=\"constraint\"===t.type?a[t._operation](t.value):t,s=o.size,l=[],c=i(o),u=r.trace._carpetTrace,h=u?{xaxis:u.aaxis,yaxis:u.baxis,x:r.a,y:r.b}:{xaxis:e.xaxis,yaxis:e.yaxis,x:r.x,y:r.y},f=o.start;f<c;f+=s)if(l.push(n.extendFlat({level:f,crossings:{},starts:[],edgepaths:[],paths:[],z:r.z,smoothing:r.trace.line.smoothing},h)),l.length>1e3){n.warn(\"Too many contours, clipping at 1000\",t);break}return l}},{\"../../lib\":728,\"./constraint_mapping\":962,\"./end_plus\":967}],967:[function(t,e,r){\"use strict\";e.exports=function(t){return t.end+t.size/1e6}},{}],968:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"./constants\");function i(t,e,r,n){return Math.abs(t[0]-e[0])<r&&Math.abs(t[1]-e[1])<n}function o(t,e,r,o,l){var c,u=e.join(\",\"),h=t.crossings[u],f=function(t,e,r){var n=0,i=0;t>20&&e?208===t||1114===t?n=0===r[0]?1:-1:i=0===r[1]?1:-1:-1!==a.BOTTOMSTART.indexOf(t)?i=1:-1!==a.LEFTSTART.indexOf(t)?n=1:-1!==a.TOPSTART.indexOf(t)?i=-1:n=-1;return[n,i]}(h,r,e),p=[s(t,e,[-f[0],-f[1]])],d=t.z.length,g=t.z[0].length,m=e.slice(),v=f.slice();for(c=0;c<1e4;c++){if(h>20?(h=a.CHOOSESADDLE[h][(f[0]||f[1])<0?0:1],t.crossings[u]=a.SADDLEREMAINDER[h]):delete t.crossings[u],!(f=a.NEWDELTA[h])){n.log(\"Found bad marching index:\",h,e,t.level);break}p.push(s(t,e,f)),e[0]+=f[0],e[1]+=f[1],u=e.join(\",\"),i(p[p.length-1],p[p.length-2],o,l)&&p.pop();var y=f[0]&&(e[0]<0||e[0]>g-2)||f[1]&&(e[1]<0||e[1]>d-2);if(e[0]===m[0]&&e[1]===m[1]&&f[0]===v[0]&&f[1]===v[1]||r&&y)break;h=t.crossings[u]}1e4===c&&n.log(\"Infinite loop in contour?\");var x,b,_,w,T,k,A,M,S,E,C,L,P,I,z,O=i(p[0],p[p.length-1],o,l),D=0,R=.2*t.smoothing,F=[],B=0;for(c=1;c<p.length;c++)L=p[c],P=p[c-1],I=void 0,z=void 0,I=L[2]-P[2],z=L[3]-P[3],D+=A=Math.sqrt(I*I+z*z),F.push(A);var N=D/F.length*R;function j(t){return p[t%p.length]}for(c=p.length-2;c>=B;c--)if((x=F[c])<N){for(_=0,b=c-1;b>=B&&x+F[b]<N;b--)x+=F[b];if(O&&c===p.length-2)for(_=0;_<b&&x+F[_]<N;_++)x+=F[_];T=c-b+_+1,k=Math.floor((c+b+_+2)/2),w=O||c!==p.length-2?O||-1!==b?T%2?j(k):[(j(k)[0]+j(k+1)[0])/2,(j(k)[1]+j(k+1)[1])/2]:p[0]:p[p.length-1],p.splice(b+1,c-b+1,w),c=b+1,_&&(B=_),O&&(c===p.length-2?p[_]=p[p.length-1]:0===c&&(p[p.length-1]=p[0]))}for(p.splice(0,B),c=0;c<p.length;c++)p[c].length=2;if(!(p.length<2))if(O)p.pop(),t.paths.push(p);else{r||n.log(\"Unclosed interior contour?\",t.level,m.join(\",\"),p.join(\"L\"));var V=!1;for(M=0;M<t.edgepaths.length;M++)if(E=t.edgepaths[M],!V&&i(E[0],p[p.length-1],o,l)){p.pop(),V=!0;var U=!1;for(S=0;S<t.edgepaths.length;S++)if(i((C=t.edgepaths[S])[C.length-1],p[0],o,l)){U=!0,p.shift(),t.edgepaths.splice(M,1),S===M?t.paths.push(p.concat(C)):(S>M&&S--,t.edgepaths[S]=C.concat(p,E));break}U||(t.edgepaths[M]=p.concat(E))}for(M=0;M<t.edgepaths.length&&!V;M++)i((E=t.edgepaths[M])[E.length-1],p[0],o,l)&&(p.shift(),t.edgepaths[M]=E.concat(p),V=!0);V||t.edgepaths.push(p)}}function s(t,e,r){var n=e[0]+Math.max(r[0],0),a=e[1]+Math.max(r[1],0),i=t.z[a][n],o=t.xaxis,s=t.yaxis;if(r[1]){var l=(t.level-i)/(t.z[a][n+1]-i);return[o.c2p((1-l)*t.x[n]+l*t.x[n+1],!0),s.c2p(t.y[a],!0),n+l,a]}var c=(t.level-i)/(t.z[a+1][n]-i);return[o.c2p(t.x[n],!0),s.c2p((1-c)*t.y[a]+c*t.y[a+1],!0),n,a+c]}e.exports=function(t,e,r){var a,i,s,l;for(e=e||.01,r=r||.01,i=0;i<t.length;i++){for(s=t[i],l=0;l<s.starts.length;l++)o(s,s.starts[l],\"edge\",e,r);for(a=0;Object.keys(s.crossings).length&&a<1e4;)a++,o(s,Object.keys(s.crossings)[0].split(\",\").map(Number),void 0,e,r);1e4===a&&n.log(\"Infinite loop in contour?\")}}},{\"../../lib\":728,\"./constants\":960}],969:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),a=t(\"../heatmap/hover\");e.exports=function(t,e,r,i,o){var s=a(t,e,r,i,o,!0);return s&&s.forEach((function(t){var e=t.trace;\"constraint\"===e.contours.type&&(e.fillcolor&&n.opacity(e.fillcolor)?t.color=n.addOpacity(e.fillcolor,1):e.contours.showlines&&n.opacity(e.line.color)&&(t.color=n.addOpacity(e.line.color,1)))})),s}},{\"../../components/color\":595,\"../heatmap/hover\":1020}],970:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\"),plot:t(\"./plot\").plot,style:t(\"./style\"),colorbar:t(\"./colorbar\"),hoverPoints:t(\"./hover\"),moduleType:\"trace\",name:\"contour\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"2dMap\",\"contour\",\"showLegend\"],meta:{}}},{\"../../plots/cartesian\":789,\"./attributes\":956,\"./calc\":957,\"./colorbar\":959,\"./defaults\":965,\"./hover\":969,\"./plot\":974,\"./style\":976}],971:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e,r,a){if(a||(a={}),t(\"contours.showlabels\")){var i=e.font;n.coerceFont(t,\"contours.labelfont\",{family:i.family,size:i.size,color:r}),t(\"contours.labelformat\")}!1!==a.hasHover&&t(\"zhoverformat\")}},{\"../../lib\":728}],972:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../components/colorscale\"),i=t(\"./end_plus\");e.exports=function(t){var e=t.contours,r=e.start,o=i(e),s=e.size||1,l=Math.floor((o-r)/s)+1,c=\"lines\"===e.coloring?0:1,u=a.extractOpts(t);isFinite(s)||(s=1,l=1);var h,f,p=u.reversescale?a.flipScale(u.colorscale):u.colorscale,d=p.length,g=new Array(d),m=new Array(d);if(\"heatmap\"===e.coloring){var v=u.min,y=u.max;for(f=0;f<d;f++)h=p[f],g[f]=h[0]*(y-v)+v,m[f]=h[1];var x=n.extent([v,y,e.start,e.start+s*(l-1)]),b=x[v<y?0:1],_=x[v<y?1:0];b!==v&&(g.splice(0,0,b),m.splice(0,0,m[0])),_!==y&&(g.push(_),m.push(m[m.length-1]))}else for(f=0;f<d;f++)h=p[f],g[f]=(h[0]*(l+c-1)-c/2)*s+r,m[f]=h[1];return a.makeColorScaleFunc({domain:g,range:m},{noNumericCheck:!0})}},{\"../../components/colorscale\":607,\"./end_plus\":967,d3:164}],973:[function(t,e,r){\"use strict\";var n=t(\"./constants\");function a(t,e){var r=(e[0][0]>t?0:1)+(e[0][1]>t?0:2)+(e[1][1]>t?0:4)+(e[1][0]>t?0:8);return 5===r||10===r?t>(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4?5===r?713:1114:5===r?104:208:15===r?0:r}e.exports=function(t){var e,r,i,o,s,l,c,u,h,f=t[0].z,p=f.length,d=f[0].length,g=2===p||2===d;for(r=0;r<p-1;r++)for(o=[],0===r&&(o=o.concat(n.BOTTOMSTART)),r===p-2&&(o=o.concat(n.TOPSTART)),e=0;e<d-1;e++)for(i=o.slice(),0===e&&(i=i.concat(n.LEFTSTART)),e===d-2&&(i=i.concat(n.RIGHTSTART)),s=e+\",\"+r,l=[[f[r][e],f[r][e+1]],[f[r+1][e],f[r+1][e+1]]],h=0;h<t.length;h++)(c=a((u=t[h]).level,l))&&(u.crossings[s]=c,-1!==i.indexOf(c)&&(u.starts.push([e,r]),g&&-1!==i.indexOf(c,i.indexOf(c)+1)&&u.starts.push([e,r])))}},{\"./constants\":960}],974:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../lib\"),i=t(\"../../components/drawing\"),o=t(\"../../components/colorscale\"),s=t(\"../../lib/svg_text_utils\"),l=t(\"../../plots/cartesian/axes\"),c=t(\"../../plots/cartesian/set_convert\"),u=t(\"../heatmap/plot\"),h=t(\"./make_crossings\"),f=t(\"./find_all_paths\"),p=t(\"./empty_pathinfo\"),d=t(\"./convert_to_constraints\"),g=t(\"./close_boundaries\"),m=t(\"./constants\"),v=m.LABELOPTIMIZER;function y(t,e){var r,n,o,s,l,c,u,h=\"\",f=0,p=t.edgepaths.map((function(t,e){return e})),d=!0;function g(t){return Math.abs(t[1]-e[2][1])<.01}function m(t){return Math.abs(t[0]-e[0][0])<.01}function v(t){return Math.abs(t[0]-e[2][0])<.01}for(;p.length;){for(c=i.smoothopen(t.edgepaths[f],t.smoothing),h+=d?c:c.replace(/^M/,\"L\"),p.splice(p.indexOf(f),1),r=t.edgepaths[f][t.edgepaths[f].length-1],s=-1,o=0;o<4;o++){if(!r){a.log(\"Missing end?\",f,t);break}for(u=r,Math.abs(u[1]-e[0][1])<.01&&!v(r)?n=e[1]:m(r)?n=e[0]:g(r)?n=e[3]:v(r)&&(n=e[2]),l=0;l<t.edgepaths.length;l++){var y=t.edgepaths[l][0];Math.abs(r[0]-n[0])<.01?Math.abs(r[0]-y[0])<.01&&(y[1]-r[1])*(n[1]-y[1])>=0&&(n=y,s=l):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-y[1])<.01&&(y[0]-r[0])*(n[0]-y[0])>=0&&(n=y,s=l):a.log(\"endpt to newendpt is not vert. or horz.\",r,n,y)}if(r=n,s>=0)break;h+=\"L\"+n}if(s===t.edgepaths.length){a.log(\"unclosed perimeter path\");break}f=s,(d=-1===p.indexOf(f))&&(f=p[0],h+=\"Z\")}for(f=0;f<t.paths.length;f++)h+=i.smoothclosed(t.paths[f],t.smoothing);return h}function x(t,e,r,n){var i=e.width/2,o=e.height/2,s=t.x,l=t.y,c=t.theta,u=Math.cos(c)*i,h=Math.sin(c)*i,f=(s>n.center?n.right-s:s-n.left)/(u+Math.abs(Math.sin(c)*o)),p=(l>n.middle?n.bottom-l:l-n.top)/(Math.abs(h)+Math.cos(c)*o);if(f<1||p<1)return 1/0;var d=v.EDGECOST*(1/(f-1)+1/(p-1));d+=v.ANGLECOST*c*c;for(var g=s-u,m=l-h,y=s+u,x=l+h,b=0;b<r.length;b++){var _=r[b],w=Math.cos(_.theta)*_.width/2,T=Math.sin(_.theta)*_.width/2,k=2*a.segmentDistance(g,m,y,x,_.x-w,_.y-T,_.x+w,_.y+T)/(e.height+_.height),A=_.level===e.level,M=A?v.SAMELEVELDISTANCE:1;if(k<=M)return 1/0;d+=v.NEIGHBORCOST*(A?v.SAMELEVELFACTOR:1)/(k-M)}return d}function b(t){var e,r,n=t.trace._emptypoints,a=[],i=t.z.length,o=t.z[0].length,s=[];for(e=0;e<o;e++)s.push(1);for(e=0;e<i;e++)a.push(s.slice());for(e=0;e<n.length;e++)a[(r=n[e])[0]][r[1]]=0;return t.zmask=a,a}r.plot=function(t,e,o,s){var l=e.xaxis,c=e.yaxis;a.makeTraceGroups(s,o,\"contour\").each((function(o){var s=n.select(this),v=o[0],x=v.trace,_=v.x,w=v.y,T=x.contours,k=p(T,e,v),A=a.ensureSingle(s,\"g\",\"heatmapcoloring\"),M=[];\"heatmap\"===T.coloring&&(M=[o]),u(t,e,M,A),h(k),f(k);var S=l.c2p(_[0],!0),E=l.c2p(_[_.length-1],!0),C=c.c2p(w[0],!0),L=c.c2p(w[w.length-1],!0),P=[[S,L],[E,L],[E,C],[S,C]],I=k;\"constraint\"===T.type&&(I=d(k,T._operation)),function(t,e,r){var n=a.ensureSingle(t,\"g\",\"contourbg\").selectAll(\"path\").data(\"fill\"===r.coloring?[0]:[]);n.enter().append(\"path\"),n.exit().remove(),n.attr(\"d\",\"M\"+e.join(\"L\")+\"Z\").style(\"stroke\",\"none\")}(s,P,T),function(t,e,r,i){var o=\"fill\"===i.coloring||\"constraint\"===i.type&&\"=\"!==i._operation,s=\"M\"+r.join(\"L\")+\"Z\";o&&g(e,i);var l=a.ensureSingle(t,\"g\",\"contourfill\").selectAll(\"path\").data(o?e:[]);l.enter().append(\"path\"),l.exit().remove(),l.each((function(t){var e=(t.prefixBoundary?s:\"\")+y(t,r);e?n.select(this).attr(\"d\",e).style(\"stroke\",\"none\"):n.select(this).remove()}))}(s,I,P,T),function(t,e,o,s,l){var c=a.ensureSingle(t,\"g\",\"contourlines\"),u=!1!==l.showlines,h=l.showlabels,f=u&&h,p=r.createLines(c,u||h,e),d=r.createLineClip(c,f,o,s.trace.uid),g=t.selectAll(\"g.contourlabels\").data(h?[0]:[]);if(g.exit().remove(),g.enter().append(\"g\").classed(\"contourlabels\",!0),h){var v=[],y=[];a.clearLocationCache();var x=r.labelFormatter(o,s),b=i.tester.append(\"text\").attr(\"data-notex\",1).call(i.font,l.labelfont),_=e[0].xaxis,w=e[0].yaxis,T=_._length,k=w._length,A=_.range,M=w.range,S=a.aggNums(Math.min,null,s.x),E=a.aggNums(Math.max,null,s.x),C=a.aggNums(Math.min,null,s.y),L=a.aggNums(Math.max,null,s.y),P=Math.max(_.c2p(S,!0),0),I=Math.min(_.c2p(E,!0),T),z=Math.max(w.c2p(L,!0),0),O=Math.min(w.c2p(C,!0),k),D={};A[0]<A[1]?(D.left=P,D.right=I):(D.left=I,D.right=P),M[0]<M[1]?(D.top=z,D.bottom=O):(D.top=O,D.bottom=z),D.middle=(D.top+D.bottom)/2,D.center=(D.left+D.right)/2,v.push([[D.left,D.top],[D.right,D.top],[D.right,D.bottom],[D.left,D.bottom]]);var R=Math.sqrt(T*T+k*k),F=m.LABELDISTANCE*R/Math.max(1,e.length/m.LABELINCREASE);p.each((function(t){var e=r.calcTextOpts(t.level,x,b,o);n.select(this).selectAll(\"path\").each((function(){var t=a.getVisibleSegment(this,D,e.height/2);if(t&&!(t.len<(e.width+e.height)*m.LABELMIN))for(var n=Math.min(Math.ceil(t.len/F),m.LABELMAX),i=0;i<n;i++){var o=r.findBestTextLocation(this,t,e,y,D);if(!o)break;r.addLabelData(o,e,y,v)}}))})),b.remove(),r.drawLabels(g,y,o,d,f?v:null)}h&&!u&&p.remove()}(s,k,t,v,T),function(t,e,r,n,o){var s=n.trace,l=r._fullLayout._clips,c=\"clip\"+s.uid,u=l.selectAll(\"#\"+c).data(s.connectgaps?[]:[0]);if(u.enter().append(\"clipPath\").classed(\"contourclip\",!0).attr(\"id\",c),u.exit().remove(),!1===s.connectgaps){var p={level:.9,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:e.xaxis,yaxis:e.yaxis,x:n.x,y:n.y,z:b(n),smoothing:0};h([p]),f([p]),g([p],{type:\"levels\"}),a.ensureSingle(u,\"path\",\"\").attr(\"d\",(p.prefixBoundary?\"M\"+o.join(\"L\")+\"Z\":\"\")+y(p,o))}else c=null;i.setClipUrl(t,c,r)}(s,e,t,v,P)}))},r.createLines=function(t,e,r){var n=r[0].smoothing,a=t.selectAll(\"g.contourlevel\").data(e?r:[]);if(a.exit().remove(),a.enter().append(\"g\").classed(\"contourlevel\",!0),e){var o=a.selectAll(\"path.openline\").data((function(t){return t.pedgepaths||t.edgepaths}));o.exit().remove(),o.enter().append(\"path\").classed(\"openline\",!0),o.attr(\"d\",(function(t){return i.smoothopen(t,n)})).style(\"stroke-miterlimit\",1).style(\"vector-effect\",\"non-scaling-stroke\");var s=a.selectAll(\"path.closedline\").data((function(t){return t.ppaths||t.paths}));s.exit().remove(),s.enter().append(\"path\").classed(\"closedline\",!0),s.attr(\"d\",(function(t){return i.smoothclosed(t,n)})).style(\"stroke-miterlimit\",1).style(\"vector-effect\",\"non-scaling-stroke\")}return a},r.createLineClip=function(t,e,r,n){var a=e?\"clipline\"+n:null,o=r._fullLayout._clips.selectAll(\"#\"+a).data(e?[0]:[]);return o.exit().remove(),o.enter().append(\"clipPath\").classed(\"contourlineclip\",!0).attr(\"id\",a),i.setClipUrl(t,a,r),o},r.labelFormatter=function(t,e){var r=t._fullLayout,n=e.trace,a=n.contours,i={type:\"linear\",_id:\"ycontour\",showexponent:\"all\",exponentformat:\"B\"};if(a.labelformat)i.tickformat=a.labelformat,c(i,r);else{var s=o.extractOpts(n);if(s&&s.colorbar&&s.colorbar._axis)i=s.colorbar._axis;else{if(\"constraint\"===a.type){var u=a.value;Array.isArray(u)?i.range=[u[0],u[u.length-1]]:i.range=[u,u]}else i.range=[a.start,a.end],i.nticks=(a.end-a.start)/a.size;i.range[0]===i.range[1]&&(i.range[1]+=i.range[0]||1),i.nticks||(i.nticks=1e3),c(i,r),l.prepTicks(i),i._tmin=null,i._tmax=null}}return function(t){return l.tickText(i,t).text}},r.calcTextOpts=function(t,e,r,n){var a=e(t);r.text(a).call(s.convertToTspans,n);var o=r.node(),l=i.bBox(o,!0);return{text:a,width:l.width,height:l.height,fontSize:+o.style[\"font-size\"].replace(\"px\",\"\"),level:t,dy:(l.top+l.bottom)/2}},r.findBestTextLocation=function(t,e,r,n,i){var o,s,l,c,u,h=r.width;e.isClosed?(s=e.len/v.INITIALSEARCHPOINTS,o=e.min+s/2,l=e.max):(s=(e.len-h)/(v.INITIALSEARCHPOINTS+1),o=e.min+s+h/2,l=e.max-(s+h)/2);for(var f=1/0,p=0;p<v.ITERATIONS;p++){for(var d=o;d<l;d+=s){var g=a.getTextLocation(t,e.total,d,h),m=x(g,r,n,i);m<f&&(f=m,u=g,c=d)}if(f>2*v.MAXCOST)break;p&&(s/=2),l=(o=c-s/2)+1.5*s}if(f<=v.MAXCOST)return u},r.addLabelData=function(t,e,r,n){var a=e.fontSize,i=e.width+a/3,o=Math.max(0,e.height-a/3),s=t.x,l=t.y,c=t.theta,u=Math.sin(c),h=Math.cos(c),f=function(t,e){return[s+t*h-e*u,l+t*u+e*h]},p=[f(-i/2,-o/2),f(-i/2,o/2),f(i/2,o/2),f(i/2,-o/2)];r.push({text:e.text,x:s,y:l,dy:e.dy,theta:c,level:e.level,width:i,height:o}),n.push(p)},r.drawLabels=function(t,e,r,i,o){var l=t.selectAll(\"text\").data(e,(function(t){return t.text+\",\"+t.x+\",\"+t.y+\",\"+t.theta}));if(l.exit().remove(),l.enter().append(\"text\").attr({\"data-notex\":1,\"text-anchor\":\"middle\"}).each((function(t){var e=t.x+Math.sin(t.theta)*t.dy,a=t.y-Math.cos(t.theta)*t.dy;n.select(this).text(t.text).attr({x:e,y:a,transform:\"rotate(\"+180*t.theta/Math.PI+\" \"+e+\" \"+a+\")\"}).call(s.convertToTspans,r)})),o){for(var c=\"\",u=0;u<o.length;u++)c+=\"M\"+o[u].join(\"L\")+\"Z\";a.ensureSingle(i,\"path\",\"\").attr(\"d\",c)}}},{\"../../components/colorscale\":607,\"../../components/drawing\":617,\"../../lib\":728,\"../../lib/svg_text_utils\":752,\"../../plots/cartesian/axes\":776,\"../../plots/cartesian/set_convert\":796,\"../heatmap/plot\":1024,\"./close_boundaries\":958,\"./constants\":960,\"./convert_to_constraints\":964,\"./empty_pathinfo\":966,\"./find_all_paths\":968,\"./make_crossings\":973,d3:164}],975:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),a=t(\"../../lib\");function i(t,e,r){var a={type:\"linear\",range:[t,e]};return n.autoTicks(a,(e-t)/(r||15)),a}e.exports=function(t,e){var r=t.contours;if(t.autocontour){var o=t.zmin,s=t.zmax;(t.zauto||void 0===o)&&(o=a.aggNums(Math.min,null,e)),(t.zauto||void 0===s)&&(s=a.aggNums(Math.max,null,e));var l=i(o,s,t.ncontours);r.size=l.dtick,r.start=n.tickFirst(l),l.range.reverse(),r.end=n.tickFirst(l),r.start===o&&(r.start+=r.size),r.end===s&&(r.end-=r.size),r.start>r.end&&(r.start=r.end=(r.start+r.end)/2),t._input.contours||(t._input.contours={}),a.extendFlat(t._input.contours,{start:r.start,end:r.end,size:r.size}),t._input.autocontour=!0}else if(\"constraint\"!==r.type){var c,u=r.start,h=r.end,f=t._input.contours;if(u>h&&(r.start=f.start=h,h=r.end=f.end=u,u=r.start),!(r.size>0))c=u===h?1:i(u,h,t.ncontours).dtick,f.size=r.size=c}}},{\"../../lib\":728,\"../../plots/cartesian/axes\":776}],976:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../components/drawing\"),i=t(\"../heatmap/style\"),o=t(\"./make_color_map\");e.exports=function(t){var e=n.select(t).selectAll(\"g.contour\");e.style(\"opacity\",(function(t){return t[0].trace.opacity})),e.each((function(t){var e=n.select(this),r=t[0].trace,i=r.contours,s=r.line,l=i.size||1,c=i.start,u=\"constraint\"===i.type,h=!u&&\"lines\"===i.coloring,f=!u&&\"fill\"===i.coloring,p=h||f?o(r):null;e.selectAll(\"g.contourlevel\").each((function(t){n.select(this).selectAll(\"path\").call(a.lineGroupStyle,s.width,h?p(t.level):s.color,s.dash)}));var d=i.labelfont;if(e.selectAll(\"g.contourlabels text\").each((function(t){a.font(n.select(this),{family:d.family,size:d.size,color:d.color||(h?p(t.level):s.color)})})),u)e.selectAll(\"g.contourfill path\").style(\"fill\",r.fillcolor);else if(f){var g;e.selectAll(\"g.contourfill path\").style(\"fill\",(function(t){return void 0===g&&(g=t.level),p(t.level+.5*l)})),void 0===g&&(g=c),e.selectAll(\"g.contourbg path\").style(\"fill\",p(g-.5*l))}})),i(t)}},{\"../../components/drawing\":617,\"../heatmap/style\":1025,\"./make_color_map\":972,d3:164}],977:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/defaults\"),a=t(\"./label_defaults\");e.exports=function(t,e,r,i,o){var s,l=r(\"contours.coloring\"),c=\"\";\"fill\"===l&&(s=r(\"contours.showlines\")),!1!==s&&(\"lines\"!==l&&(c=r(\"line.color\",\"#000\")),r(\"line.width\",.5),r(\"line.dash\")),\"none\"!==l&&(!0!==t.showlegend&&(e.showlegend=!1),e._dfltShowLegend=!1,n(t,e,i,r,{prefix:\"\",cLetter:\"z\"})),r(\"line.smoothing\"),a(r,i,c,o)}},{\"../../components/colorscale/defaults\":605,\"./label_defaults\":971}],978:[function(t,e,r){\"use strict\";var n=t(\"../heatmap/attributes\"),a=t(\"../contour/attributes\"),i=t(\"../../components/colorscale/attributes\"),o=t(\"../../lib/extend\").extendFlat,s=a.contours;e.exports=o({carpet:{valType:\"string\",editType:\"calc\"},z:n.z,a:n.x,a0:n.x0,da:n.dx,b:n.y,b0:n.y0,db:n.dy,text:n.text,hovertext:n.hovertext,transpose:n.transpose,atype:n.xtype,btype:n.ytype,fillcolor:a.fillcolor,autocontour:a.autocontour,ncontours:a.ncontours,contours:{type:s.type,start:s.start,end:s.end,size:s.size,coloring:{valType:\"enumerated\",values:[\"fill\",\"lines\",\"none\"],dflt:\"fill\",editType:\"calc\"},showlines:s.showlines,showlabels:s.showlabels,labelfont:s.labelfont,labelformat:s.labelformat,operation:s.operation,value:s.value,editType:\"calc\",impliedEdits:{autocontour:!1}},line:{color:a.line.color,width:a.line.width,dash:a.line.dash,smoothing:a.line.smoothing,editType:\"plot\"},transforms:void 0},i(\"\",{cLetter:\"z\",autoColorDflt:!1}))},{\"../../components/colorscale/attributes\":602,\"../../lib/extend\":719,\"../contour/attributes\":956,\"../heatmap/attributes\":1013}],979:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/calc\"),a=t(\"../../lib\"),i=t(\"../heatmap/convert_column_xyz\"),o=t(\"../heatmap/clean_2d_array\"),s=t(\"../heatmap/interp2d\"),l=t(\"../heatmap/find_empties\"),c=t(\"../heatmap/make_bound_array\"),u=t(\"./defaults\"),h=t(\"../carpet/lookup_carpetid\"),f=t(\"../contour/set_contours\");e.exports=function(t,e){var r=e._carpetTrace=h(t,e);if(r&&r.visible&&\"legendonly\"!==r.visible){if(!e.a||!e.b){var p=t.data[r.index],d=t.data[e.index];d.a||(d.a=p.a),d.b||(d.b=p.b),u(d,e,e._defaultColor,t._fullLayout)}var g=function(t,e){var r,u,h,f,p,d,g,m=e._carpetTrace,v=m.aaxis,y=m.baxis;v._minDtick=0,y._minDtick=0,a.isArray1D(e.z)&&i(e,v,y,\"a\",\"b\",[\"z\"]);r=e._a=e._a||e.a,f=e._b=e._b||e.b,r=r?v.makeCalcdata(e,\"_a\"):[],f=f?y.makeCalcdata(e,\"_b\"):[],u=e.a0||0,h=e.da||1,p=e.b0||0,d=e.db||1,g=e._z=o(e._z||e.z,e.transpose),e._emptypoints=l(g),s(g,e._emptypoints);var x=a.maxRowLength(g),b=\"scaled\"===e.xtype?\"\":r,_=c(e,b,u,h,x,v),w=\"scaled\"===e.ytype?\"\":f,T=c(e,w,p,d,g.length,y),k={a:_,b:T,z:g};\"levels\"===e.contours.type&&\"none\"!==e.contours.coloring&&n(t,e,{vals:g,containerStr:\"\",cLetter:\"z\"});return[k]}(t,e);return f(e,e._z),g}}},{\"../../components/colorscale/calc\":603,\"../../lib\":728,\"../carpet/lookup_carpetid\":929,\"../contour/set_contours\":975,\"../heatmap/clean_2d_array\":1015,\"../heatmap/convert_column_xyz\":1017,\"../heatmap/find_empties\":1019,\"../heatmap/interp2d\":1022,\"../heatmap/make_bound_array\":1023,\"./defaults\":980}],980:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../heatmap/xyz_defaults\"),i=t(\"./attributes\"),o=t(\"../contour/constraint_defaults\"),s=t(\"../contour/contours_defaults\"),l=t(\"../contour/style_defaults\");e.exports=function(t,e,r,c){function u(r,a){return n.coerce(t,e,i,r,a)}if(u(\"carpet\"),t.a&&t.b){if(!a(t,e,u,c,\"a\",\"b\"))return void(e.visible=!1);u(\"text\"),\"constraint\"===u(\"contours.type\")?o(t,e,u,c,r,{hasHover:!1}):(s(t,e,u,(function(r){return n.coerce2(t,e,i,r)})),l(t,e,u,c,{hasHover:!1}))}else e._defaultColor=r,e._length=null}},{\"../../lib\":728,\"../contour/constraint_defaults\":961,\"../contour/contours_defaults\":963,\"../contour/style_defaults\":977,\"../heatmap/xyz_defaults\":1027,\"./attributes\":978}],981:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../contour/colorbar\"),calc:t(\"./calc\"),plot:t(\"./plot\"),style:t(\"../contour/style\"),moduleType:\"trace\",name:\"contourcarpet\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"carpet\",\"contour\",\"symbols\",\"showLegend\",\"hasLines\",\"carpetDependent\",\"noHover\",\"noSortingByValue\"],meta:{}}},{\"../../plots/cartesian\":789,\"../contour/colorbar\":959,\"../contour/style\":976,\"./attributes\":978,\"./calc\":979,\"./defaults\":980,\"./plot\":982}],982:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../carpet/map_1d_array\"),i=t(\"../carpet/makepath\"),o=t(\"../../components/drawing\"),s=t(\"../../lib\"),l=t(\"../contour/make_crossings\"),c=t(\"../contour/find_all_paths\"),u=t(\"../contour/plot\"),h=t(\"../contour/constants\"),f=t(\"../contour/convert_to_constraints\"),p=t(\"../contour/empty_pathinfo\"),d=t(\"../contour/close_boundaries\"),g=t(\"../carpet/lookup_carpetid\"),m=t(\"../carpet/axis_aligned_line\");function v(t,e,r){var n=t.getPointAtLength(e),a=t.getPointAtLength(r),i=a.x-n.x,o=a.y-n.y,s=Math.sqrt(i*i+o*o);return[i/s,o/s]}function y(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function x(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}e.exports=function(t,e,r,b){var _=e.xaxis,w=e.yaxis;s.makeTraceGroups(b,r,\"contour\").each((function(r){var b=n.select(this),T=r[0],k=T.trace,A=k._carpetTrace=g(t,k),M=t.calcdata[A.index][0];if(A.visible&&\"legendonly\"!==A.visible){var S=T.a,E=T.b,C=k.contours,L=p(C,e,T),P=\"constraint\"===C.type,I=C._operation,z=P?\"=\"===I?\"lines\":\"fill\":C.coloring,O=[[S[0],E[E.length-1]],[S[S.length-1],E[E.length-1]],[S[S.length-1],E[0]],[S[0],E[0]]];l(L);var D=1e-8*(S[S.length-1]-S[0]),R=1e-8*(E[E.length-1]-E[0]);c(L,D,R);var F,B,N,j,V=L;\"constraint\"===C.type&&(V=f(L,I)),function(t,e){var r,n,a,i,o,s,l,c,u;for(r=0;r<t.length;r++){for(i=t[r],o=i.pedgepaths=[],s=i.ppaths=[],n=0;n<i.edgepaths.length;n++){for(u=i.edgepaths[n],l=[],a=0;a<u.length;a++)l[a]=e(u[a]);o.push(l)}for(n=0;n<i.paths.length;n++){for(u=i.paths[n],c=[],a=0;a<u.length;a++)c[a]=e(u[a]);s.push(c)}}}(L,H);var U=[];for(j=M.clipsegments.length-1;j>=0;j--)F=M.clipsegments[j],B=a([],F.x,_.c2p),N=a([],F.y,w.c2p),B.reverse(),N.reverse(),U.push(i(B,N,F.bicubic));var q=\"M\"+U.join(\"L\")+\"Z\";!function(t,e,r,n,o,l){var c,u,h,f,p=s.ensureSingle(t,\"g\",\"contourbg\").selectAll(\"path\").data(\"fill\"!==l||o?[]:[0]);p.enter().append(\"path\"),p.exit().remove();var d=[];for(f=0;f<e.length;f++)c=e[f],u=a([],c.x,r.c2p),h=a([],c.y,n.c2p),d.push(i(u,h,c.bicubic));p.attr(\"d\",\"M\"+d.join(\"L\")+\"Z\").style(\"stroke\",\"none\")}(b,M.clipsegments,_,w,P,z),function(t,e,r,a,i,l,c,u,h,f,p){var g=\"fill\"===f;g&&d(i,t.contours);var v=s.ensureSingle(e,\"g\",\"contourfill\").selectAll(\"path\").data(g?i:[]);v.enter().append(\"path\"),v.exit().remove(),v.each((function(t){var e=(t.prefixBoundary?p:\"\")+function(t,e,r,n,a,i,l,c){var u,h,f,p,d,g,v,y=\"\",x=e.edgepaths.map((function(t,e){return e})),b=!0,_=1e-4*Math.abs(r[0][0]-r[2][0]),w=1e-4*Math.abs(r[0][1]-r[2][1]);function T(t){return Math.abs(t[1]-r[0][1])<w}function k(t){return Math.abs(t[1]-r[2][1])<w}function A(t){return Math.abs(t[0]-r[0][0])<_}function M(t){return Math.abs(t[0]-r[2][0])<_}function S(t,e){var r,n,o,s,u=\"\";for(T(t)&&!M(t)||k(t)&&!A(t)?(s=a.aaxis,o=m(a,i,[t[0],e[0]],.5*(t[1]+e[1]))):(s=a.baxis,o=m(a,i,.5*(t[0]+e[0]),[t[1],e[1]])),r=1;r<o.length;r++)for(u+=s.smoothing?\"C\":\"L\",n=0;n<o[r].length;n++){var h=o[r][n];u+=[l.c2p(h[0]),c.c2p(h[1])]+\" \"}return u}u=0,h=null;for(;x.length;){var E=e.edgepaths[u][0];for(h&&(y+=S(h,E)),v=o.smoothopen(e.edgepaths[u].map(n),e.smoothing),y+=b?v:v.replace(/^M/,\"L\"),x.splice(x.indexOf(u),1),h=e.edgepaths[u][e.edgepaths[u].length-1],d=-1,p=0;p<4;p++){if(!h){s.log(\"Missing end?\",u,e);break}for(T(h)&&!M(h)?f=r[1]:A(h)?f=r[0]:k(h)?f=r[3]:M(h)&&(f=r[2]),g=0;g<e.edgepaths.length;g++){var C=e.edgepaths[g][0];Math.abs(h[0]-f[0])<_?Math.abs(h[0]-C[0])<_&&(C[1]-h[1])*(f[1]-C[1])>=0&&(f=C,d=g):Math.abs(h[1]-f[1])<w?Math.abs(h[1]-C[1])<w&&(C[0]-h[0])*(f[0]-C[0])>=0&&(f=C,d=g):s.log(\"endpt to newendpt is not vert. or horz.\",h,f,C)}if(d>=0)break;y+=S(h,f),h=f}if(d===e.edgepaths.length){s.log(\"unclosed perimeter path\");break}u=d,(b=-1===x.indexOf(u))&&(u=x[0],y+=S(h,f)+\"Z\",h=null)}for(u=0;u<e.paths.length;u++)y+=o.smoothclosed(e.paths[u].map(n),e.smoothing);return y}(0,t,l,c,u,h,r,a);e?n.select(this).attr(\"d\",e).style(\"stroke\",\"none\"):n.select(this).remove()}))}(k,b,_,w,V,O,H,A,M,z,q),function(t,e,r,a,i,l,c){var f=s.ensureSingle(t,\"g\",\"contourlines\"),p=!1!==i.showlines,d=i.showlabels,g=p&&d,m=u.createLines(f,p||d,e),b=u.createLineClip(f,g,r,a.trace.uid),_=t.selectAll(\"g.contourlabels\").data(d?[0]:[]);if(_.exit().remove(),_.enter().append(\"g\").classed(\"contourlabels\",!0),d){var w=l.xaxis,T=l.yaxis,k=w._length,A=T._length,M=[[[0,0],[k,0],[k,A],[0,A]]],S=[];s.clearLocationCache();var E=u.labelFormatter(r,a),C=o.tester.append(\"text\").attr(\"data-notex\",1).call(o.font,i.labelfont),L={left:0,right:k,center:k/2,top:0,bottom:A,middle:A/2},P=Math.sqrt(k*k+A*A),I=h.LABELDISTANCE*P/Math.max(1,e.length/h.LABELINCREASE);m.each((function(t){var e=u.calcTextOpts(t.level,E,C,r);n.select(this).selectAll(\"path\").each((function(r){var n=s.getVisibleSegment(this,L,e.height/2);if(n&&(function(t,e,r,n,a,i){for(var o,s=0;s<r.pedgepaths.length;s++)e===r.pedgepaths[s]&&(o=r.edgepaths[s]);if(!o)return;var l=a.a[0],c=a.a[a.a.length-1],u=a.b[0],h=a.b[a.b.length-1];function f(t,e){var r,n=0;return(Math.abs(t[0]-l)<.1||Math.abs(t[0]-c)<.1)&&(r=y(a.dxydb_rough(t[0],t[1],.1)),n=Math.max(n,i*x(e,r)/2)),(Math.abs(t[1]-u)<.1||Math.abs(t[1]-h)<.1)&&(r=y(a.dxyda_rough(t[0],t[1],.1)),n=Math.max(n,i*x(e,r)/2)),n}var p=v(t,0,1),d=v(t,n.total,n.total-1),g=f(o[0],p),m=n.total-f(o[o.length-1],d);n.min<g&&(n.min=g);n.max>m&&(n.max=m);n.len=n.max-n.min}(this,r,t,n,c,e.height),!(n.len<(e.width+e.height)*h.LABELMIN)))for(var a=Math.min(Math.ceil(n.len/I),h.LABELMAX),i=0;i<a;i++){var o=u.findBestTextLocation(this,n,e,S,L);if(!o)break;u.addLabelData(o,e,S,M)}}))})),C.remove(),u.drawLabels(_,S,r,b,g?M:null)}d&&!p&&m.remove()}(b,L,t,T,C,e,A),o.setClipUrl(b,A._clipPathId,t)}function H(t){var e=A.ab2xy(t[0],t[1],!0);return[_.c2p(e[0]),w.c2p(e[1])]}}))}},{\"../../components/drawing\":617,\"../../lib\":728,\"../carpet/axis_aligned_line\":913,\"../carpet/lookup_carpetid\":929,\"../carpet/makepath\":930,\"../carpet/map_1d_array\":931,\"../contour/close_boundaries\":958,\"../contour/constants\":960,\"../contour/convert_to_constraints\":964,\"../contour/empty_pathinfo\":966,\"../contour/find_all_paths\":968,\"../contour/make_crossings\":973,\"../contour/plot\":974,d3:164}],983:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/attributes\"),a=t(\"../../plots/template_attributes\").hovertemplateAttrs,i=t(\"../../plots/attributes\"),o=t(\"../scattermapbox/attributes\"),s=t(\"../../lib/extend\").extendFlat;e.exports=s({lon:o.lon,lat:o.lat,z:{valType:\"data_array\",editType:\"calc\"},radius:{valType:\"number\",editType:\"plot\",arrayOk:!0,min:1,dflt:30},below:{valType:\"string\",editType:\"plot\"},text:o.text,hovertext:o.hovertext,hoverinfo:s({},i.hoverinfo,{flags:[\"lon\",\"lat\",\"z\",\"text\",\"name\"]}),hovertemplate:a(),showlegend:s({},i.showlegend,{dflt:!1})},n(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))},{\"../../components/colorscale/attributes\":602,\"../../lib/extend\":719,\"../../plots/attributes\":773,\"../../plots/template_attributes\":854,\"../scattermapbox/attributes\":1198}],984:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"../../lib\").isArrayOrTypedArray,i=t(\"../../constants/numerical\").BADNUM,o=t(\"../../components/colorscale/calc\"),s=t(\"../../lib\")._;e.exports=function(t,e){for(var r=e._length,l=new Array(r),c=e.z,u=a(c)&&c.length,h=0;h<r;h++){var f=l[h]={},p=e.lon[h],d=e.lat[h];if(f.lonlat=n(p)&&n(d)?[+p,+d]:[i,i],u){var g=c[h];f.z=n(g)?g:i}}return o(t,e,{vals:u?c:[0,1],containerStr:\"\",cLetter:\"z\"}),r&&(l[0].t={labels:{lat:s(t,\"lat:\")+\" \",lon:s(t,\"lon:\")+\" \"}}),l}},{\"../../components/colorscale/calc\":603,\"../../constants/numerical\":704,\"../../lib\":728,\"fast-isnumeric\":236}],985:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"../../lib\"),i=t(\"../../components/color\"),o=t(\"../../components/colorscale\"),s=t(\"../../constants/numerical\").BADNUM,l=t(\"../../lib/geojson_utils\").makeBlank;e.exports=function(t){var e=t[0].trace,r=!0===e.visible&&0!==e._length,c=e._opts={heatmap:{layout:{visibility:\"none\"},paint:{}},geojson:l()};if(!r)return c;var u,h=[],f=e.z,p=e.radius,d=a.isArrayOrTypedArray(f)&&f.length,g=a.isArrayOrTypedArray(p);for(u=0;u<t.length;u++){var m=t[u],v=m.lonlat;if(v[0]!==s){var y={};if(d){var x=m.z;y.z=x!==s?x:0}g&&(y.r=n(p[u])&&p[u]>0?+p[u]:0),h.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:v},properties:y})}}var b=o.extractOpts(e),_=b.reversescale?o.flipScale(b.colorscale):b.colorscale,w=_[0][1],T=[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,i.opacity(w)<1?w:i.addOpacity(w,0)];for(u=1;u<_.length;u++)T.push(_[u][0],_[u][1]);var k=[\"interpolate\",[\"linear\"],[\"get\",\"z\"],b.min,0,b.max,1];return a.extendFlat(c.heatmap.paint,{\"heatmap-weight\":d?k:1/(b.max-b.min),\"heatmap-color\":T,\"heatmap-radius\":g?{type:\"identity\",property:\"r\"}:e.radius,\"heatmap-opacity\":e.opacity}),c.geojson={type:\"FeatureCollection\",features:h},c.heatmap.layout.visibility=\"visible\",c}},{\"../../components/color\":595,\"../../components/colorscale\":607,\"../../constants/numerical\":704,\"../../lib\":728,\"../../lib/geojson_utils\":723,\"fast-isnumeric\":236}],986:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../components/colorscale/defaults\"),i=t(\"./attributes\");e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}var l=s(\"lon\")||[],c=s(\"lat\")||[],u=Math.min(l.length,c.length);u?(e._length=u,s(\"z\"),s(\"radius\"),s(\"below\"),s(\"text\"),s(\"hovertext\"),s(\"hovertemplate\"),a(t,e,o,s,{prefix:\"\",cLetter:\"z\"})):e.visible=!1}},{\"../../components/colorscale/defaults\":605,\"../../lib\":728,\"./attributes\":983}],987:[function(t,e,r){\"use strict\";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.z=e.z,t}},{}],988:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),i=t(\"../scattermapbox/hover\");e.exports=function(t,e,r){var o=i(t,e,r);if(o){var s=o[0],l=s.cd,c=l[0].trace,u=l[s.index];if(delete s.color,\"z\"in u){var h=s.subplot.mockAxis;s.z=u.z,s.zLabel=a.tickText(h,h.c2l(u.z),\"hover\").text}return s.extraText=function(t,e,r){if(t.hovertemplate)return;var a=(e.hi||t.hoverinfo).split(\"+\"),i=-1!==a.indexOf(\"all\"),o=-1!==a.indexOf(\"lon\"),s=-1!==a.indexOf(\"lat\"),l=e.lonlat,c=[];function u(t){return t+\"\\xb0\"}i||o&&s?c.push(\"(\"+u(l[0])+\", \"+u(l[1])+\")\"):o?c.push(r.lon+u(l[0])):s&&c.push(r.lat+u(l[1]));(i||-1!==a.indexOf(\"text\"))&&n.fillText(e,t,c);return c.join(\"<br>\")}(c,u,l[0].t.labels),[s]}}},{\"../../lib\":728,\"../../plots/cartesian/axes\":776,\"../scattermapbox/hover\":1203}],989:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../heatmap/colorbar\"),formatLabels:t(\"../scattermapbox/format_labels\"),calc:t(\"./calc\"),plot:t(\"./plot\"),hoverPoints:t(\"./hover\"),eventData:t(\"./event_data\"),getBelow:function(t,e){for(var r=e.getMapLayers(),n=0;n<r.length;n++){var a=r[n],i=a.id;if(\"symbol\"===a.type&&\"string\"==typeof i&&-1===i.indexOf(\"plotly-\"))return i}},moduleType:\"trace\",name:\"densitymapbox\",basePlotModule:t(\"../../plots/mapbox\"),categories:[\"mapbox\",\"gl\",\"showLegend\"],meta:{hr_name:\"density_mapbox\"}}},{\"../../plots/mapbox\":833,\"../heatmap/colorbar\":1016,\"../scattermapbox/format_labels\":1202,\"./attributes\":983,\"./calc\":984,\"./defaults\":986,\"./event_data\":987,\"./hover\":988,\"./plot\":990}],990:[function(t,e,r){\"use strict\";var n=t(\"./convert\"),a=t(\"../../plots/mapbox/constants\").traceLayerPrefix;function i(t,e){this.type=\"densitymapbox\",this.subplot=t,this.uid=e,this.sourceId=\"source-\"+e,this.layerList=[[\"heatmap\",a+e+\"-heatmap\"]],this.below=null}var o=i.prototype;o.update=function(t){var e=this.subplot,r=this.layerList,a=n(t),i=e.belowLookup[\"trace-\"+this.uid];e.map.getSource(this.sourceId).setData(a.geojson),i!==this.below&&(this._removeLayers(),this._addLayers(a,i),this.below=i);for(var o=0;o<r.length;o++){var s=r[o],l=s[0],c=s[1],u=a[l];e.setOptions(c,\"setLayoutProperty\",u.layout),\"visible\"===u.layout.visibility&&e.setOptions(c,\"setPaintProperty\",u.paint)}},o._addLayers=function(t,e){for(var r=this.subplot,n=this.layerList,a=this.sourceId,i=0;i<n.length;i++){var o=n[i],s=o[0],l=t[s];r.addLayer({type:s,id:o[1],source:a,layout:l.layout,paint:l.paint},e)}},o._removeLayers=function(){for(var t=this.subplot.map,e=this.layerList,r=e.length-1;r>=0;r--)t.removeLayer(e[r][1])},o.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},e.exports=function(t,e){var r=e[0].trace,a=new i(t,r.uid),o=a.sourceId,s=n(e),l=a.below=t.belowLookup[\"trace-\"+r.uid];return t.map.addSource(o,{type:\"geojson\",data:s.geojson}),a._addLayers(s,l),a}},{\"../../plots/mapbox/constants\":831,\"./convert\":985}],991:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;n.mergeArray(e.text,t,\"tx\"),n.mergeArray(e.hovertext,t,\"htx\");var a=e.marker;if(a){n.mergeArray(a.opacity,t,\"mo\"),n.mergeArray(a.color,t,\"mc\");var i=a.line;i&&(n.mergeArray(i.color,t,\"mlc\"),n.mergeArrayCastPositive(i.width,t,\"mlw\"))}}},{\"../../lib\":728}],992:[function(t,e,r){\"use strict\";var n=t(\"../bar/attributes\"),a=t(\"../scatter/attributes\").line,i=t(\"../../plots/attributes\"),o=t(\"../../plots/template_attributes\").hovertemplateAttrs,s=t(\"../../plots/template_attributes\").texttemplateAttrs,l=t(\"./constants\"),c=t(\"../../lib/extend\").extendFlat,u=t(\"../../components/color\");e.exports={x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,hovertext:n.hovertext,hovertemplate:o({},{keys:l.eventDataKeys}),hoverinfo:c({},i.hoverinfo,{flags:[\"name\",\"x\",\"y\",\"text\",\"percent initial\",\"percent previous\",\"percent total\"]}),textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"percent initial\",\"percent previous\",\"percent total\",\"value\"],extras:[\"none\"],editType:\"plot\",arrayOk:!1},texttemplate:s({editType:\"plot\"},{keys:l.eventDataKeys.concat([\"label\",\"value\"])}),text:n.text,textposition:c({},n.textposition,{dflt:\"auto\"}),insidetextanchor:c({},n.insidetextanchor,{dflt:\"middle\"}),textangle:c({},n.textangle,{dflt:0}),textfont:n.textfont,insidetextfont:n.insidetextfont,outsidetextfont:n.outsidetextfont,constraintext:n.constraintext,cliponaxis:n.cliponaxis,orientation:c({},n.orientation,{}),offset:c({},n.offset,{arrayOk:!1}),width:c({},n.width,{arrayOk:!1}),marker:n.marker,connector:{fillcolor:{valType:\"color\",editType:\"style\"},line:{color:c({},a.color,{dflt:u.defaultLine}),width:c({},a.width,{dflt:0,editType:\"plot\"}),dash:a.dash,editType:\"style\"},visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup}},{\"../../components/color\":595,\"../../lib/extend\":719,\"../../plots/attributes\":773,\"../../plots/template_attributes\":854,\"../bar/attributes\":869,\"../scatter/attributes\":1134,\"./constants\":994}],993:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),a=t(\"./arrays_to_calcdata\"),i=t(\"../scatter/calc_selection\"),o=t(\"../../constants/numerical\").BADNUM;function s(t){return t===o?0:t}e.exports=function(t,e){var r,l,c,u,h=n.getFromId(t,e.xaxis||\"x\"),f=n.getFromId(t,e.yaxis||\"y\");\"h\"===e.orientation?(r=h.makeCalcdata(e,\"x\"),l=f.makeCalcdata(e,\"y\")):(r=f.makeCalcdata(e,\"y\"),l=h.makeCalcdata(e,\"x\"));var p,d=Math.min(l.length,r.length),g=new Array(d);for(e._base=[],c=0;c<d;c++){r[c]<0&&(r[c]=o);var m=!1;r[c]!==o&&c+1<d&&r[c+1]!==o&&(m=!0),u=g[c]={p:l[c],s:r[c],cNext:m},e._base[c]=-.5*u.s,e.ids&&(u.id=String(e.ids[c])),0===c&&(g[0].vTotal=0),g[0].vTotal+=s(u.s),u.begR=s(u.s)/s(g[0].s)}for(c=0;c<d;c++)(u=g[c]).s!==o&&(u.sumR=u.s/g[0].vTotal,u.difR=void 0!==p?u.s/p:1,p=u.s);return a(g,e),i(g,e),g}},{\"../../constants/numerical\":704,\"../../plots/cartesian/axes\":776,\"../scatter/calc_selection\":1136,\"./arrays_to_calcdata\":991}],994:[function(t,e,r){\"use strict\";e.exports={eventDataKeys:[\"percentInitial\",\"percentPrevious\",\"percentTotal\"]}},{}],995:[function(t,e,r){\"use strict\";var n=t(\"../bar/cross_trace_calc\").setGroupPositions;e.exports=function(t,e){var r,a,i=t._fullLayout,o=t._fullData,s=t.calcdata,l=e.xaxis,c=e.yaxis,u=[],h=[],f=[];for(a=0;a<o.length;a++){var p=o[a],d=\"h\"===p.orientation;!0===p.visible&&p.xaxis===l._id&&p.yaxis===c._id&&\"funnel\"===p.type&&(r=s[a],d?f.push(r):h.push(r),u.push(r))}var g={mode:i.funnelmode,norm:i.funnelnorm,gap:i.funnelgap,groupgap:i.funnelgroupgap};for(n(t,l,c,h,g),n(t,c,l,f,g),a=0;a<u.length;a++){r=u[a];for(var m=0;m<r.length;m++)m+1<r.length&&(r[m].nextP0=r[m+1].p0,r[m].nextS0=r[m+1].s0,r[m].nextP1=r[m+1].p1,r[m].nextS1=r[m+1].s1)}}},{\"../bar/cross_trace_calc\":872}],996:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../bar/defaults\").handleGroupingDefaults,i=t(\"../bar/defaults\").handleText,o=t(\"../scatter/xy_defaults\"),s=t(\"./attributes\"),l=t(\"../../components/color\");e.exports={supplyDefaults:function(t,e,r,a){function c(r,a){return n.coerce(t,e,s,r,a)}if(o(t,e,a,c)){c(\"orientation\",e.y&&!e.x?\"v\":\"h\"),c(\"offset\"),c(\"width\");var u=c(\"text\");c(\"hovertext\"),c(\"hovertemplate\");var h=c(\"textposition\");i(t,e,a,c,h,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),\"none\"===e.textposition||e.texttemplate||c(\"textinfo\",Array.isArray(u)?\"text+value\":\"value\");var f=c(\"marker.color\",r);if(c(\"marker.line.color\",l.defaultLine),c(\"marker.line.width\"),c(\"connector.visible\"))c(\"connector.fillcolor\",function(t){var e=n.isArrayOrTypedArray(t)?\"#000\":t;return l.addOpacity(e,.5*l.opacity(e))}(f)),c(\"connector.line.width\")&&(c(\"connector.line.color\"),c(\"connector.line.dash\"))}else e.visible=!1},crossTraceDefaults:function(t,e){var r,i;function o(t){return n.coerce(i._input,i,s,t)}if(\"group\"===e.funnelmode)for(var l=0;l<t.length;l++)r=(i=t[l])._input,a(r,i,e,o)}}},{\"../../components/color\":595,\"../../lib\":728,\"../bar/defaults\":873,\"../scatter/xy_defaults\":1160,\"./attributes\":992}],997:[function(t,e,r){\"use strict\";e.exports=function(t,e){return t.x=\"xVal\"in e?e.xVal:e.x,t.y=\"yVal\"in e?e.yVal:e.y,\"percentInitial\"in e&&(t.percentInitial=e.percentInitial),\"percentPrevious\"in e&&(t.percentPrevious=e.percentPrevious),\"percentTotal\"in e&&(t.percentTotal=e.percentTotal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t}},{}],998:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\").opacity,a=t(\"../bar/hover\").hoverOnBars,i=t(\"../../lib\").formatPercent;e.exports=function(t,e,r,o){var s=a(t,e,r,o);if(s){var l=s.cd,c=l[0].trace,u=\"h\"===c.orientation,h=l[s.index];s[(u?\"x\":\"y\")+\"LabelVal\"]=h.s,s.percentInitial=h.begR,s.percentInitialLabel=i(h.begR,1),s.percentPrevious=h.difR,s.percentPreviousLabel=i(h.difR,1),s.percentTotal=h.sumR,s.percentTotalLabel=i(h.sumR,1);var f=h.hi||c.hoverinfo,p=[];if(f&&\"none\"!==f&&\"skip\"!==f){var d=\"all\"===f,g=f.split(\"+\"),m=function(t){return d||-1!==g.indexOf(t)};m(\"percent initial\")&&p.push(s.percentInitialLabel+\" of initial\"),m(\"percent previous\")&&p.push(s.percentPreviousLabel+\" of previous\"),m(\"percent total\")&&p.push(s.percentTotalLabel+\" of total\")}return s.extraText=p.join(\"<br>\"),s.color=function(t,e){var r=t.marker,a=e.mc||r.color,i=e.mlc||r.line.color,o=e.mlw||r.line.width;if(n(a))return a;if(n(i)&&o)return i}(c,h),[s]}}},{\"../../components/color\":595,\"../../lib\":728,\"../bar/hover\":876}],999:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\").supplyDefaults,crossTraceDefaults:t(\"./defaults\").crossTraceDefaults,supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\"),crossTraceCalc:t(\"./cross_trace_calc\"),plot:t(\"./plot\"),style:t(\"./style\").style,hoverPoints:t(\"./hover\"),eventData:t(\"./event_data\"),selectPoints:t(\"../bar/select\"),moduleType:\"trace\",name:\"funnel\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"bar-like\",\"cartesian\",\"svg\",\"oriented\",\"showLegend\",\"zoomScale\"],meta:{}}},{\"../../plots/cartesian\":789,\"../bar/select\":881,\"./attributes\":992,\"./calc\":993,\"./cross_trace_calc\":995,\"./defaults\":996,\"./event_data\":997,\"./hover\":998,\"./layout_attributes\":1e3,\"./layout_defaults\":1001,\"./plot\":1002,\"./style\":1003}],1e3:[function(t,e,r){\"use strict\";e.exports={funnelmode:{valType:\"enumerated\",values:[\"stack\",\"group\",\"overlay\"],dflt:\"stack\",editType:\"calc\"},funnelgap:{valType:\"number\",min:0,max:1,editType:\"calc\"},funnelgroupgap:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"}}},{}],1001:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"./layout_attributes\");e.exports=function(t,e,r){var i=!1;function o(r,i){return n.coerce(t,e,a,r,i)}for(var s=0;s<r.length;s++){var l=r[s];if(l.visible&&\"funnel\"===l.type){i=!0;break}}i&&(o(\"funnelmode\"),o(\"funnelgap\",.2),o(\"funnelgroupgap\"))}},{\"../../lib\":728,\"./layout_attributes\":1e3}],1002:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../lib\"),i=t(\"../../components/drawing\"),o=t(\"../../constants/numerical\").BADNUM,s=t(\"../bar/plot\"),l=t(\"../bar/uniform_text\").clearMinTextSize;function c(t,e,r,n){var a=[],i=[],o=n?e:r,s=n?r:e;return a[0]=o.c2p(t.s0,!0),i[0]=s.c2p(t.p0,!0),a[1]=o.c2p(t.s1,!0),i[1]=s.c2p(t.p1,!0),a[2]=o.c2p(t.nextS0,!0),i[2]=s.c2p(t.nextP0,!0),a[3]=o.c2p(t.nextS1,!0),i[3]=s.c2p(t.nextP1,!0),n?[a,i]:[i,a]}e.exports=function(t,e,r,u){var h=t._fullLayout;l(\"funnel\",h),function(t,e,r,s){var l=e.xaxis,u=e.yaxis;a.makeTraceGroups(s,r,\"trace bars\").each((function(r){var s=n.select(this),h=r[0].trace,f=a.ensureSingle(s,\"g\",\"regions\");if(h.connector&&h.connector.visible){var p=\"h\"===h.orientation,d=f.selectAll(\"g.region\").data(a.identity);d.enter().append(\"g\").classed(\"region\",!0),d.exit().remove();var g=d.size();d.each((function(r,s){if(s===g-1||r.cNext){var h=c(r,l,u,p),f=h[0],d=h[1],m=\"\";f[0]!==o&&d[0]!==o&&f[1]!==o&&d[1]!==o&&f[2]!==o&&d[2]!==o&&f[3]!==o&&d[3]!==o&&(m+=p?\"M\"+f[0]+\",\"+d[1]+\"L\"+f[2]+\",\"+d[2]+\"H\"+f[3]+\"L\"+f[1]+\",\"+d[1]+\"Z\":\"M\"+f[1]+\",\"+d[1]+\"L\"+f[2]+\",\"+d[3]+\"V\"+d[2]+\"L\"+f[1]+\",\"+d[0]+\"Z\"),\"\"===m&&(m=\"M0,0Z\"),a.ensureSingle(n.select(this),\"path\").attr(\"d\",m).call(i.setClipUrl,e.layerClipId,t)}}))}else f.remove()}))}(t,e,r,u),function(t,e,r,o){var s=e.xaxis,l=e.yaxis;a.makeTraceGroups(o,r,\"trace bars\").each((function(r){var o=n.select(this),u=r[0].trace,h=a.ensureSingle(o,\"g\",\"lines\");if(u.connector&&u.connector.visible&&u.connector.line.width){var f=\"h\"===u.orientation,p=h.selectAll(\"g.line\").data(a.identity);p.enter().append(\"g\").classed(\"line\",!0),p.exit().remove();var d=p.size();p.each((function(r,o){if(o===d-1||r.cNext){var u=c(r,s,l,f),h=u[0],p=u[1],g=\"\";void 0!==h[3]&&void 0!==p[3]&&(f?(g+=\"M\"+h[0]+\",\"+p[1]+\"L\"+h[2]+\",\"+p[2],g+=\"M\"+h[1]+\",\"+p[1]+\"L\"+h[3]+\",\"+p[2]):(g+=\"M\"+h[1]+\",\"+p[1]+\"L\"+h[2]+\",\"+p[3],g+=\"M\"+h[1]+\",\"+p[0]+\"L\"+h[2]+\",\"+p[2])),\"\"===g&&(g=\"M0,0Z\"),a.ensureSingle(n.select(this),\"path\").attr(\"d\",g).call(i.setClipUrl,e.layerClipId,t)}}))}else h.remove()}))}(t,e,r,u),s.plot(t,e,r,u,{mode:h.funnelmode,norm:h.funnelmode,gap:h.funnelgap,groupgap:h.funnelgroupgap})}},{\"../../components/drawing\":617,\"../../constants/numerical\":704,\"../../lib\":728,\"../bar/plot\":880,\"../bar/uniform_text\":885,d3:164}],1003:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../components/drawing\"),i=t(\"../../components/color\"),o=t(\"../../constants/interactions\").DESELECTDIM,s=t(\"../bar/style\"),l=t(\"../bar/uniform_text\").resizeText,c=s.styleTextPoints;e.exports={style:function(t,e,r){var s=r||n.select(t).selectAll(\"g.funnellayer\").selectAll(\"g.trace\");l(t,s,\"funnel\"),s.style(\"opacity\",(function(t){return t[0].trace.opacity})),s.each((function(e){var r=n.select(this),s=e[0].trace;r.selectAll(\".point > path\").each((function(t){if(!t.isBlank){var e=s.marker;n.select(this).call(i.fill,t.mc||e.color).call(i.stroke,t.mlc||e.line.color).call(a.dashLine,e.line.dash,t.mlw||e.line.width).style(\"opacity\",s.selectedpoints&&!t.selected?o:1)}})),c(r,s,t),r.selectAll(\".regions\").each((function(){n.select(this).selectAll(\"path\").style(\"stroke-width\",0).call(i.fill,s.connector.fillcolor)})),r.selectAll(\".lines\").each((function(){var t=s.connector.line;a.lineGroupStyle(n.select(this).selectAll(\"path\"),t.width,t.color,t.dash)}))}))}}},{\"../../components/color\":595,\"../../components/drawing\":617,\"../../constants/interactions\":703,\"../bar/style\":883,\"../bar/uniform_text\":885,d3:164}],1004:[function(t,e,r){\"use strict\";var n=t(\"../pie/attributes\"),a=t(\"../../plots/attributes\"),i=t(\"../../plots/domain\").attributes,o=t(\"../../plots/template_attributes\").hovertemplateAttrs,s=t(\"../../plots/template_attributes\").texttemplateAttrs,l=t(\"../../lib/extend\").extendFlat;e.exports={labels:n.labels,label0:n.label0,dlabel:n.dlabel,values:n.values,marker:{colors:n.marker.colors,line:{color:l({},n.marker.line.color,{dflt:null}),width:l({},n.marker.line.width,{dflt:1}),editType:\"calc\"},editType:\"calc\"},text:n.text,hovertext:n.hovertext,scalegroup:l({},n.scalegroup,{}),textinfo:l({},n.textinfo,{flags:[\"label\",\"text\",\"value\",\"percent\"]}),texttemplate:s({editType:\"plot\"},{keys:[\"label\",\"color\",\"value\",\"text\",\"percent\"]}),hoverinfo:l({},a.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),hovertemplate:o({},{keys:[\"label\",\"color\",\"value\",\"text\",\"percent\"]}),textposition:l({},n.textposition,{values:[\"inside\",\"none\"],dflt:\"inside\"}),textfont:n.textfont,insidetextfont:n.insidetextfont,title:{text:n.title.text,font:n.title.font,position:l({},n.title.position,{values:[\"top left\",\"top center\",\"top right\"],dflt:\"top center\"}),editType:\"plot\"},domain:i({name:\"funnelarea\",trace:!0,editType:\"calc\"}),aspectratio:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},baseratio:{valType:\"number\",min:0,max:1,dflt:.333,editType:\"plot\"}}},{\"../../lib/extend\":719,\"../../plots/attributes\":773,\"../../plots/domain\":803,\"../../plots/template_attributes\":854,\"../pie/attributes\":1108}],1005:[function(t,e,r){\"use strict\";var n=t(\"../../plots/plots\");r.name=\"funnelarea\",r.plot=function(t,e,a,i){n.plotBasePlot(r.name,t,e,a,i)},r.clean=function(t,e,a,i){n.cleanBasePlot(r.name,t,e,a,i)}},{\"../../plots/plots\":839}],1006:[function(t,e,r){\"use strict\";var n=t(\"../pie/calc\");e.exports={calc:function(t,e){return n.calc(t,e)},crossTraceCalc:function(t){n.crossTraceCalc(t,{type:\"funnelarea\"})}}},{\"../pie/calc\":1110}],1007:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"./attributes\"),i=t(\"../../plots/domain\").defaults,o=t(\"../bar/defaults\").handleText,s=t(\"../pie/defaults\").handleLabelsAndValues;e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,a,r,i)}var u=c(\"labels\"),h=c(\"values\"),f=s(u,h),p=f.len;if(e._hasLabels=f.hasLabels,e._hasValues=f.hasValues,!e._hasLabels&&e._hasValues&&(c(\"label0\"),c(\"dlabel\")),p){e._length=p,c(\"marker.line.width\")&&c(\"marker.line.color\",l.paper_bgcolor),c(\"marker.colors\"),c(\"scalegroup\");var d,g=c(\"text\"),m=c(\"texttemplate\");if(m||(d=c(\"textinfo\",Array.isArray(g)?\"text+percent\":\"percent\")),c(\"hovertext\"),c(\"hovertemplate\"),m||d&&\"none\"!==d){var v=c(\"textposition\");o(t,e,l,c,v,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}i(e,l,c),c(\"title.text\")&&(c(\"title.position\"),n.coerceFont(c,\"title.font\",l.font)),c(\"aspectratio\"),c(\"baseratio\")}else e.visible=!1}},{\"../../lib\":728,\"../../plots/domain\":803,\"../bar/defaults\":873,\"../pie/defaults\":1111,\"./attributes\":1004}],1008:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"funnelarea\",basePlotModule:t(\"./base_plot\"),categories:[\"pie-like\",\"funnelarea\",\"showLegend\"],attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\"),supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\").calc,crossTraceCalc:t(\"./calc\").crossTraceCalc,plot:t(\"./plot\"),style:t(\"./style\"),styleOne:t(\"../pie/style_one\"),meta:{}}},{\"../pie/style_one\":1119,\"./attributes\":1004,\"./base_plot\":1005,\"./calc\":1006,\"./defaults\":1007,\"./layout_attributes\":1009,\"./layout_defaults\":1010,\"./plot\":1011,\"./style\":1012}],1009:[function(t,e,r){\"use strict\";var n=t(\"../pie/layout_attributes\").hiddenlabels;e.exports={hiddenlabels:n,funnelareacolorway:{valType:\"colorlist\",editType:\"calc\"},extendfunnelareacolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}},{\"../pie/layout_attributes\":1115}],1010:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"./layout_attributes\");e.exports=function(t,e){function r(r,i){return n.coerce(t,e,a,r,i)}r(\"hiddenlabels\"),r(\"funnelareacolorway\",e.colorway),r(\"extendfunnelareacolors\")}},{\"../../lib\":728,\"./layout_attributes\":1009}],1011:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../components/drawing\"),i=t(\"../../lib\"),o=t(\"../../lib/svg_text_utils\"),s=t(\"../bar/plot\").toMoveInsideBar,l=t(\"../bar/uniform_text\"),c=l.recordMinTextSize,u=l.clearMinTextSize,h=t(\"../pie/helpers\"),f=t(\"../pie/plot\"),p=f.attachFxHandlers,d=f.determineInsideTextFont,g=f.layoutAreas,m=f.prerenderTitles,v=f.positionTitleOutside,y=f.formatSliceLabel;function x(t,e){return\"l\"+(e[0]-t[0])+\",\"+(e[1]-t[1])}e.exports=function(t,e){var r=t._fullLayout;u(\"funnelarea\",r),m(e,t),g(e,r._size),i.makeTraceGroups(r._funnelarealayer,e,\"trace\").each((function(e){var l=n.select(this),u=e[0],f=u.trace;!function(t){if(!t.length)return;var e=t[0],r=e.trace,n=r.aspectratio,a=r.baseratio;a>.999&&(a=.999);var i,o=Math.pow(a,2),s=e.vTotal,l=s,c=s*o/(1-o)/s;function u(){var t,e={x:t=Math.sqrt(c),y:-t};return[e.x,e.y]}var h,f,p=[];for(p.push(u()),h=t.length-1;h>-1;h--)if(!(f=t[h]).hidden){var d=f.v/l;c+=d,p.push(u())}var g=1/0,m=-1/0;for(h=0;h<p.length;h++)i=p[h],g=Math.min(g,i[1]),m=Math.max(m,i[1]);for(h=0;h<p.length;h++)p[h][1]-=(m+g)/2;var v=p[p.length-1][0],y=e.r,x=(m-g)/2,b=y/v,_=y/x*n;for(e.r=_*x,h=0;h<p.length;h++)p[h][0]*=b,p[h][1]*=_;var w=[-(i=p[0])[0],i[1]],T=[i[0],i[1]],k=0;for(h=t.length-1;h>-1;h--)if(!(f=t[h]).hidden){var A=p[k+=1][0],M=p[k][1];f.TL=[-A,M],f.TR=[A,M],f.BL=w,f.BR=T,f.pxmid=(S=f.TR,E=f.BR,[.5*(S[0]+E[0]),.5*(S[1]+E[1])]),w=f.TL,T=f.TR}var S,E}(e),l.each((function(){var l=n.select(this).selectAll(\"g.slice\").data(e);l.enter().append(\"g\").classed(\"slice\",!0),l.exit().remove(),l.each((function(l,g){if(l.hidden)n.select(this).selectAll(\"path,g\").remove();else{l.pointNumber=l.i,l.curveNumber=f.index;var m=u.cx,v=u.cy,b=n.select(this),_=b.selectAll(\"path.surface\").data([l]);_.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":\"all\"}),b.call(p,t,e);var w=\"M\"+(m+l.TR[0])+\",\"+(v+l.TR[1])+x(l.TR,l.BR)+x(l.BR,l.BL)+x(l.BL,l.TL)+\"Z\";_.attr(\"d\",w),y(t,l,u);var T=h.castOption(f.textposition,l.pts),k=b.selectAll(\"g.slicetext\").data(l.text&&\"none\"!==T?[0]:[]);k.enter().append(\"g\").classed(\"slicetext\",!0),k.exit().remove(),k.each((function(){var u=i.ensureSingle(n.select(this),\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),h=i.ensureUniformFontSize(t,d(f,l,r.font));u.text(l.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(a.font,h).call(o.convertToTspans,t);var p,y,x,b=a.bBox(u.node()),_=Math.min(l.BL[1],l.BR[1])+v,w=Math.max(l.TL[1],l.TR[1])+v;y=Math.max(l.TL[0],l.BL[0])+m,x=Math.min(l.TR[0],l.BR[0])+m,(p=s(y,x,_,w,b,{isHorizontal:!0,constrained:!0,angle:0,anchor:\"middle\"})).fontSize=h.size,c(f.type,p,r),e[g].transform=p,u.attr(\"transform\",i.getTextTransform(p))}))}}));var g=n.select(this).selectAll(\"g.titletext\").data(f.title.text?[0]:[]);g.enter().append(\"g\").classed(\"titletext\",!0),g.exit().remove(),g.each((function(){var e=i.ensureSingle(n.select(this),\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),s=f.title.text;f._meta&&(s=i.templateString(s,f._meta)),e.text(s).attr({class:\"titletext\",transform:\"\",\"text-anchor\":\"middle\"}).call(a.font,f.title.font).call(o.convertToTspans,t);var l=v(u,r._size);e.attr(\"transform\",\"translate(\"+l.x+\",\"+l.y+\")\"+(l.scale<1?\"scale(\"+l.scale+\")\":\"\")+\"translate(\"+l.tx+\",\"+l.ty+\")\")}))}))}))}},{\"../../components/drawing\":617,\"../../lib\":728,\"../../lib/svg_text_utils\":752,\"../bar/plot\":880,\"../bar/uniform_text\":885,\"../pie/helpers\":1113,\"../pie/plot\":1117,d3:164}],1012:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../pie/style_one\"),i=t(\"../bar/uniform_text\").resizeText;e.exports=function(t){var e=t._fullLayout._funnelarealayer.selectAll(\".trace\");i(t,e,\"funnelarea\"),e.each((function(t){var e=t[0].trace,r=n.select(this);r.style({opacity:e.opacity}),r.selectAll(\"path.surface\").each((function(t){n.select(this).call(a,t,e)}))}))}},{\"../bar/uniform_text\":885,\"../pie/style_one\":1119,d3:164}],1013:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),a=t(\"../../plots/attributes\"),i=t(\"../../plots/template_attributes\").hovertemplateAttrs,o=t(\"../../components/colorscale/attributes\"),s=(t(\"../../constants/docs\").FORMAT_LINK,t(\"../../lib/extend\").extendFlat);e.exports=s({z:{valType:\"data_array\",editType:\"calc\"},x:s({},n.x,{impliedEdits:{xtype:\"array\"}}),x0:s({},n.x0,{impliedEdits:{xtype:\"scaled\"}}),dx:s({},n.dx,{impliedEdits:{xtype:\"scaled\"}}),y:s({},n.y,{impliedEdits:{ytype:\"array\"}}),y0:s({},n.y0,{impliedEdits:{ytype:\"scaled\"}}),dy:s({},n.dy,{impliedEdits:{ytype:\"scaled\"}}),text:{valType:\"data_array\",editType:\"calc\"},hovertext:{valType:\"data_array\",editType:\"calc\"},transpose:{valType:\"boolean\",dflt:!1,editType:\"calc\"},xtype:{valType:\"enumerated\",values:[\"array\",\"scaled\"],editType:\"calc+clearAxisTypes\"},ytype:{valType:\"enumerated\",values:[\"array\",\"scaled\"],editType:\"calc+clearAxisTypes\"},zsmooth:{valType:\"enumerated\",values:[\"fast\",\"best\",!1],dflt:!1,editType:\"calc\"},hoverongaps:{valType:\"boolean\",dflt:!0,editType:\"none\"},connectgaps:{valType:\"boolean\",editType:\"calc\"},xgap:{valType:\"number\",dflt:0,min:0,editType:\"plot\"},ygap:{valType:\"number\",dflt:0,min:0,editType:\"plot\"},zhoverformat:{valType:\"string\",dflt:\"\",editType:\"none\"},hovertemplate:i(),showlegend:s({},a.showlegend,{dflt:!1})},{transforms:void 0},o(\"\",{cLetter:\"z\",autoColorDflt:!1}))},{\"../../components/colorscale/attributes\":602,\"../../constants/docs\":699,\"../../lib/extend\":719,\"../../plots/attributes\":773,\"../../plots/template_attributes\":854,\"../scatter/attributes\":1134}],1014:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),a=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),o=t(\"../histogram2d/calc\"),s=t(\"../../components/colorscale/calc\"),l=t(\"./convert_column_xyz\"),c=t(\"./clean_2d_array\"),u=t(\"./interp2d\"),h=t(\"./find_empties\"),f=t(\"./make_bound_array\"),p=t(\"../../constants/numerical\").BADNUM;function d(t){for(var e=[],r=t.length,n=0;n<r;n++){var a=t[n];a!==p&&e.push(a)}return e}e.exports=function(t,e){var r,g,m,v,y,x,b,_,w,T=i.getFromId(t,e.xaxis||\"x\"),k=i.getFromId(t,e.yaxis||\"y\"),A=n.traceIs(e,\"contour\"),M=n.traceIs(e,\"histogram\"),S=n.traceIs(e,\"gl2d\"),E=A?\"best\":e.zsmooth;if(T._minDtick=0,k._minDtick=0,M)r=(w=o(t,e)).x,g=w.x0,m=w.dx,v=w.y,y=w.y0,x=w.dy,b=w.z;else{var C=e.z;a.isArray1D(C)?(l(e,T,k,\"x\",\"y\",[\"z\"]),r=e._x,v=e._y,C=e._z):(r=e._x=e.x?T.makeCalcdata(e,\"x\"):[],v=e._y=e.y?k.makeCalcdata(e,\"y\"):[]),g=e.x0,m=e.dx,y=e.y0,x=e.dy,b=c(C,e,T,k)}function L(t){E=e._input.zsmooth=e.zsmooth=!1,a.warn('cannot use zsmooth: \"fast\": '+t)}if((T.rangebreaks||k.rangebreaks)&&(b=function(t,e,r){for(var n=[],a=-1,i=0;i<r.length;i++)if(e[i]!==p){a++,n[a]=[];for(var o=0;o<r[i].length;o++)t[o]!==p&&n[a].push(r[i][o])}return n}(r,v,b),M||(r=d(r),v=d(v),e._x=r,e._y=v)),M||!A&&!e.connectgaps||(e._emptypoints=h(b),u(b,e._emptypoints)),\"fast\"===E)if(\"log\"===T.type||\"log\"===k.type)L(\"log axis found\");else if(!M){if(r.length){var P=(r[r.length-1]-r[0])/(r.length-1),I=Math.abs(P/100);for(_=0;_<r.length-1;_++)if(Math.abs(r[_+1]-r[_]-P)>I){L(\"x scale is not linear\");break}}if(v.length&&\"fast\"===E){var z=(v[v.length-1]-v[0])/(v.length-1),O=Math.abs(z/100);for(_=0;_<v.length-1;_++)if(Math.abs(v[_+1]-v[_]-z)>O){L(\"y scale is not linear\");break}}}var D=a.maxRowLength(b),R=\"scaled\"===e.xtype?\"\":r,F=f(e,R,g,m,D,T),B=\"scaled\"===e.ytype?\"\":v,N=f(e,B,y,x,b.length,k);S||(e._extremes[T._id]=i.findExtremes(T,F),e._extremes[k._id]=i.findExtremes(k,N));var j={x:F,y:N,z:b,text:e._text||e.text,hovertext:e._hovertext||e.hovertext};if(R&&R.length===F.length-1&&(j.xCenter=R),B&&B.length===N.length-1&&(j.yCenter=B),M&&(j.xRanges=w.xRanges,j.yRanges=w.yRanges,j.pts=w.pts),A||s(t,e,{vals:b,cLetter:\"z\"}),A&&e.contours&&\"heatmap\"===e.contours.coloring){var V={type:\"contour\"===e.type?\"heatmap\":\"histogram2d\",xcalendar:e.xcalendar,ycalendar:e.ycalendar};j.xfill=f(V,R,g,m,D,T),j.yfill=f(V,B,y,x,b.length,k)}return[j]}},{\"../../components/colorscale/calc\":603,\"../../constants/numerical\":704,\"../../lib\":728,\"../../plots/cartesian/axes\":776,\"../../registry\":859,\"../histogram2d/calc\":1046,\"./clean_2d_array\":1015,\"./convert_column_xyz\":1017,\"./find_empties\":1019,\"./interp2d\":1022,\"./make_bound_array\":1023}],1015:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"../../lib\"),i=t(\"../../constants/numerical\").BADNUM;e.exports=function(t,e,r,o){var s,l,c,u,h,f;function p(t){if(n(t))return+t}if(e&&e.transpose){for(s=0,h=0;h<t.length;h++)s=Math.max(s,t[h].length);if(0===s)return!1;c=function(t){return t.length},u=function(t,e,r){return(t[r]||[])[e]}}else s=t.length,c=function(t,e){return t[e].length},u=function(t,e,r){return(t[e]||[])[r]};var d=function(t,e,r){return e===i||r===i?i:u(t,e,r)};function g(t){if(e&&\"carpet\"!==e.type&&\"contourcarpet\"!==e.type&&t&&\"category\"===t.type&&e[\"_\"+t._id.charAt(0)].length){var r=t._id.charAt(0),n={},o=e[\"_\"+r+\"CategoryMap\"]||e[r];for(h=0;h<o.length;h++)n[o[h]]=h;return function(e){var r=n[t._categories[e]];return r+1?r:i}}return a.identity}var m=g(r),v=g(o);o&&\"category\"===o.type&&(s=o._categories.length);var y=new Array(s);for(h=0;h<s;h++)for(l=r&&\"category\"===r.type?r._categories.length:c(t,h),y[h]=new Array(l),f=0;f<l;f++)y[h][f]=p(d(t,v(h),m(f)));return y}},{\"../../constants/numerical\":704,\"../../lib\":728,\"fast-isnumeric\":236}],1016:[function(t,e,r){\"use strict\";e.exports={min:\"zmin\",max:\"zmax\"}},{}],1017:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../constants/numerical\").BADNUM;e.exports=function(t,e,r,i,o,s){var l,c,u,h,f=t._length,p=e.makeCalcdata(t,i),d=r.makeCalcdata(t,o),g=t.text,m=void 0!==g&&n.isArray1D(g),v=t.hovertext,y=void 0!==v&&n.isArray1D(v),x=n.distinctVals(p),b=x.vals,_=n.distinctVals(d),w=_.vals,T=[],k=w.length,A=b.length;for(l=0;l<s.length;l++)T[l]=n.init2dArray(k,A);m&&(u=n.init2dArray(k,A)),y&&(h=n.init2dArray(k,A));var M=n.init2dArray(k,A);for(l=0;l<f;l++)if(p[l]!==a&&d[l]!==a){var S=n.findBin(p[l]+x.minDiff/2,b),E=n.findBin(d[l]+_.minDiff/2,w);for(c=0;c<s.length;c++){var C=t[s[c]];T[c][E][S]=C[l],M[E][S]=l}m&&(u[E][S]=g[l]),y&&(h[E][S]=v[l])}for(t[\"_\"+i]=b,t[\"_\"+o]=w,c=0;c<s.length;c++)t[\"_\"+s[c]]=T[c];m&&(t._text=u),y&&(t._hovertext=h),e&&\"category\"===e.type&&(t[\"_\"+i+\"CategoryMap\"]=b.map((function(t){return e._categories[t]}))),r&&\"category\"===r.type&&(t[\"_\"+o+\"CategoryMap\"]=w.map((function(t){return r._categories[t]}))),t._after2before=M}},{\"../../constants/numerical\":704,\"../../lib\":728}],1018:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"./xyz_defaults\"),i=t(\"./style_defaults\"),o=t(\"../../components/colorscale/defaults\"),s=t(\"./attributes\");e.exports=function(t,e,r,l){function c(r,a){return n.coerce(t,e,s,r,a)}a(t,e,c,l)?(c(\"text\"),c(\"hovertext\"),c(\"hovertemplate\"),i(t,e,c,l),c(\"hoverongaps\"),c(\"connectgaps\",n.isArray1D(e.z)&&!1!==e.zsmooth),o(t,e,l,c,{prefix:\"\",cLetter:\"z\"})):e.visible=!1}},{\"../../components/colorscale/defaults\":605,\"../../lib\":728,\"./attributes\":1013,\"./style_defaults\":1026,\"./xyz_defaults\":1027}],1019:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").maxRowLength;e.exports=function(t){var e,r,a,i,o,s,l,c,u=[],h={},f=[],p=t[0],d=[],g=[0,0,0],m=n(t);for(r=0;r<t.length;r++)for(e=d,d=p,p=t[r+1]||[],a=0;a<m;a++)void 0===d[a]&&((s=(void 0!==d[a-1]?1:0)+(void 0!==d[a+1]?1:0)+(void 0!==e[a]?1:0)+(void 0!==p[a]?1:0))?(0===r&&s++,0===a&&s++,r===t.length-1&&s++,a===d.length-1&&s++,s<4&&(h[[r,a]]=[r,a,s]),u.push([r,a,s])):f.push([r,a]));for(;f.length;){for(l={},c=!1,o=f.length-1;o>=0;o--)(s=((h[[(r=(i=f[o])[0])-1,a=i[1]]]||g)[2]+(h[[r+1,a]]||g)[2]+(h[[r,a-1]]||g)[2]+(h[[r,a+1]]||g)[2])/20)&&(l[i]=[r,a,s],f.splice(o,1),c=!0);if(!c)throw\"findEmpties iterated with no new neighbors\";for(i in l)h[i]=l[i],u.push(l[i])}return u.sort((function(t,e){return e[2]-t[2]}))}},{\"../../lib\":728}],1020:[function(t,e,r){\"use strict\";var n=t(\"../../components/fx\"),a=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),o=t(\"../../components/colorscale\").extractOpts;e.exports=function(t,e,r,s,l,c){var u,h,f,p,d=t.cd[0],g=d.trace,m=t.xa,v=t.ya,y=d.x,x=d.y,b=d.z,_=d.xCenter,w=d.yCenter,T=d.zmask,k=g.zhoverformat,A=y,M=x;if(!1!==t.index){try{f=Math.round(t.index[1]),p=Math.round(t.index[0])}catch(e){return void a.error(\"Error hovering on heatmap, pointNumber must be [row,col], found:\",t.index)}if(f<0||f>=b[0].length||p<0||p>b.length)return}else{if(n.inbox(e-y[0],e-y[y.length-1],0)>0||n.inbox(r-x[0],r-x[x.length-1],0)>0)return;if(c){var S;for(A=[2*y[0]-y[1]],S=1;S<y.length;S++)A.push((y[S]+y[S-1])/2);for(A.push([2*y[y.length-1]-y[y.length-2]]),M=[2*x[0]-x[1]],S=1;S<x.length;S++)M.push((x[S]+x[S-1])/2);M.push([2*x[x.length-1]-x[x.length-2]])}f=Math.max(0,Math.min(A.length-2,a.findBin(e,A))),p=Math.max(0,Math.min(M.length-2,a.findBin(r,M)))}var E=m.c2p(y[f]),C=m.c2p(y[f+1]),L=v.c2p(x[p]),P=v.c2p(x[p+1]);c?(C=E,u=y[f],P=L,h=x[p]):(u=_?_[f]:(y[f]+y[f+1])/2,h=w?w[p]:(x[p]+x[p+1])/2,m&&\"category\"===m.type&&(u=y[f]),v&&\"category\"===v.type&&(h=x[p]),g.zsmooth&&(E=C=m.c2p(u),L=P=v.c2p(h)));var I=b[p][f];if(T&&!T[p][f]&&(I=void 0),void 0!==I||g.hoverongaps){var z;Array.isArray(d.hovertext)&&Array.isArray(d.hovertext[p])?z=d.hovertext[p][f]:Array.isArray(d.text)&&Array.isArray(d.text[p])&&(z=d.text[p][f]);var O=o(g),D={type:\"linear\",range:[O.min,O.max],hoverformat:k,_separators:m._separators,_numFormat:m._numFormat},R=i.tickText(D,I,\"hover\").text;return[a.extendFlat(t,{index:g._after2before?g._after2before[p][f]:[p,f],distance:t.maxHoverDistance,spikeDistance:t.maxSpikeDistance,x0:E,x1:C,y0:L,y1:P,xLabelVal:u,yLabelVal:h,zLabelVal:I,zLabel:R,text:z})]}}},{\"../../components/colorscale\":607,\"../../components/fx\":635,\"../../lib\":728,\"../../plots/cartesian/axes\":776}],1021:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\"),plot:t(\"./plot\"),colorbar:t(\"./colorbar\"),style:t(\"./style\"),hoverPoints:t(\"./hover\"),moduleType:\"trace\",name:\"heatmap\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"2dMap\",\"showLegend\"],meta:{}}},{\"../../plots/cartesian\":789,\"./attributes\":1013,\"./calc\":1014,\"./colorbar\":1016,\"./defaults\":1018,\"./hover\":1020,\"./plot\":1024,\"./style\":1025}],1022:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=[[-1,0],[1,0],[0,-1],[0,1]];function i(t){return.5-.25*Math.min(1,.5*t)}function o(t,e,r){var n,i,o,s,l,c,u,h,f,p,d,g,m,v=0;for(s=0;s<e.length;s++){for(i=(n=e[s])[0],o=n[1],d=t[i][o],p=0,f=0,l=0;l<4;l++)(u=t[i+(c=a[l])[0]])&&void 0!==(h=u[o+c[1]])&&(0===p?g=m=h:(g=Math.min(g,h),m=Math.max(m,h)),f++,p+=h);if(0===f)throw\"iterateInterp2d order is wrong: no defined neighbors\";t[i][o]=p/f,void 0===d?f<4&&(v=1):(t[i][o]=(1+r)*t[i][o]-r*d,m>g&&(v=Math.max(v,Math.abs(t[i][o]-d)/(m-g))))}return v}e.exports=function(t,e){var r,a=1;for(o(t,e),r=0;r<e.length&&!(e[r][2]<4);r++);for(e=e.slice(r),r=0;r<100&&a>.01;r++)a=o(t,e,i(a));return a>.01&&n.log(\"interp2d didn't converge quickly\",a),t}},{\"../../lib\":728}],1023:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),a=t(\"../../lib\").isArrayOrTypedArray;e.exports=function(t,e,r,i,o,s){var l,c,u,h=[],f=n.traceIs(t,\"contour\"),p=n.traceIs(t,\"histogram\"),d=n.traceIs(t,\"gl2d\");if(a(e)&&e.length>1&&!p&&\"category\"!==s.type){var g=e.length;if(!(g<=o))return f?e.slice(0,o):e.slice(0,o+1);if(f||d)h=e.slice(0,o);else if(1===o)h=[e[0]-.5,e[0]+.5];else{for(h=[1.5*e[0]-.5*e[1]],u=1;u<g;u++)h.push(.5*(e[u-1]+e[u]));h.push(1.5*e[g-1]-.5*e[g-2])}if(g<o){var m=h[h.length-1],v=m-h[h.length-2];for(u=g;u<o;u++)m+=v,h.push(m)}}else{var y=t[s._id.charAt(0)+\"calendar\"];if(p)l=s.r2c(r,0,y);else if(a(e)&&1===e.length)l=e[0];else if(void 0===r)l=0;else{l=(\"log\"===s.type?s.d2c:s.r2c)(r,0,y)}for(c=i||1,u=f||d?0:-.5;u<o;u++)h.push(l+c*u)}return h}},{\"../../lib\":728,\"../../registry\":859}],1024:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"tinycolor2\"),i=t(\"../../registry\"),o=t(\"../../lib\"),s=t(\"../../components/colorscale\").makeColorScaleFuncFromTrace,l=t(\"../../constants/xmlns_namespaces\");function c(t,e){var r=e.length-2,n=o.constrain(o.findBin(t,e),0,r),a=e[n],i=e[n+1],s=o.constrain(n+(t-a)/(i-a)-.5,0,r),l=Math.round(s),c=Math.abs(s-l);return s&&s!==r&&c?{bin0:l,frac:c,bin1:Math.round(l+c/(s-l))}:{bin0:l,bin1:l,frac:0}}function u(t,e){var r=e.length-1,n=o.constrain(o.findBin(t,e),0,r),a=e[n],i=(t-a)/(e[n+1]-a)||0;return i<=0?{bin0:n,bin1:n,frac:0}:i<.5?{bin0:n,bin1:n+1,frac:i}:{bin0:n+1,bin1:n,frac:1-i}}function h(t,e,r){t[e]=r[0],t[e+1]=r[1],t[e+2]=r[2],t[e+3]=Math.round(255*r[3])}e.exports=function(t,e,r,f){var p=e.xaxis,d=e.yaxis;o.makeTraceGroups(f,r,\"hm\").each((function(e){var r,f,g,m,v,y,x=n.select(this),b=e[0],_=b.trace,w=b.z,T=b.x,k=b.y,A=b.xCenter,M=b.yCenter,S=i.traceIs(_,\"contour\"),E=S?\"best\":_.zsmooth,C=w.length,L=o.maxRowLength(w),P=!1,I=!1;for(y=0;void 0===r&&y<T.length-1;)r=p.c2p(T[y]),y++;for(y=T.length-1;void 0===f&&y>0;)f=p.c2p(T[y]),y--;for(f<r&&(g=f,f=r,r=g,P=!0),y=0;void 0===m&&y<k.length-1;)m=d.c2p(k[y]),y++;for(y=k.length-1;void 0===v&&y>0;)v=d.c2p(k[y]),y--;if(v<m&&(g=m,m=v,v=g,I=!0),S&&(A=T,M=k,T=b.xfill,k=b.yfill),\"fast\"!==E){var z=\"best\"===E?0:.5;r=Math.max(-z*p._length,r),f=Math.min((1+z)*p._length,f),m=Math.max(-z*d._length,m),v=Math.min((1+z)*d._length,v)}var O=Math.round(f-r),D=Math.round(v-m);if(O<=0||D<=0){x.selectAll(\"image\").data([]).exit().remove()}else{var R,F;\"fast\"===E?(R=L,F=C):(R=O,F=D);var B=document.createElement(\"canvas\");B.width=R,B.height=F;var N,j,V=B.getContext(\"2d\"),U=s(_,{noNumericCheck:!0,returnArray:!0});\"fast\"===E?(N=P?function(t){return L-1-t}:o.identity,j=I?function(t){return C-1-t}:o.identity):(N=function(t){return o.constrain(Math.round(p.c2p(T[t])-r),0,O)},j=function(t){return o.constrain(Math.round(d.c2p(k[t])-m),0,D)});var q,H,G,Y,W,Z=j(0),X=[Z,Z],J=P?0:1,K=I?0:1,Q=0,$=0,tt=0,et=0;if(E){var rt,nt=0;try{rt=new Uint8Array(O*D*4)}catch(t){rt=new Array(O*D*4)}if(\"best\"===E){var at,it,ot,st=A||T,lt=M||k,ct=new Array(st.length),ut=new Array(lt.length),ht=new Array(O),ft=A?u:c,pt=M?u:c;for(y=0;y<st.length;y++)ct[y]=Math.round(p.c2p(st[y])-r);for(y=0;y<lt.length;y++)ut[y]=Math.round(d.c2p(lt[y])-m);for(y=0;y<O;y++)ht[y]=ft(y,ct);for(H=0;H<D;H++)for(it=w[(at=pt(H,ut)).bin0],ot=w[at.bin1],y=0;y<O;y++,nt+=4)h(rt,nt,W=kt(it,ot,ht[y],at))}else for(H=0;H<C;H++)for(Y=w[H],X=j(H),y=0;y<O;y++)W=Tt(Y[y],1),h(rt,nt=4*(X*O+N(y)),W);var dt=V.createImageData(O,D);try{dt.data.set(rt)}catch(t){var gt=dt.data,mt=gt.length;for(H=0;H<mt;H++)gt[H]=rt[H]}V.putImageData(dt,0,0)}else{var vt=_.xgap,yt=_.ygap,xt=Math.floor(vt/2),bt=Math.floor(yt/2);for(H=0;H<C;H++)if(Y=w[H],X.reverse(),X[K]=j(H+1),X[0]!==X[1]&&void 0!==X[0]&&void 0!==X[1])for(q=[G=N(0),G],y=0;y<L;y++)q.reverse(),q[J]=N(y+1),q[0]!==q[1]&&void 0!==q[0]&&void 0!==q[1]&&(W=Tt(Y[y],(q[1]-q[0])*(X[1]-X[0])),V.fillStyle=\"rgba(\"+W.join(\",\")+\")\",V.fillRect(q[0]+xt,X[0]+bt,q[1]-q[0]-vt,X[1]-X[0]-yt))}$=Math.round($/Q),tt=Math.round(tt/Q),et=Math.round(et/Q);var _t=a(\"rgb(\"+$+\",\"+tt+\",\"+et+\")\");t._hmpixcount=(t._hmpixcount||0)+Q,t._hmlumcount=(t._hmlumcount||0)+Q*_t.getLuminance();var wt=x.selectAll(\"image\").data(e);wt.enter().append(\"svg:image\").attr({xmlns:l.svg,preserveAspectRatio:\"none\"}),wt.attr({height:D,width:O,x:r,y:m,\"xlink:href\":B.toDataURL(\"image/png\")})}function Tt(t,e){if(void 0!==t){var r=U(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),Q+=e,$+=r[0]*e,tt+=r[1]*e,et+=r[2]*e,r}return[0,0,0,0]}function kt(t,e,r,n){var a=t[r.bin0];if(void 0===a)return Tt(void 0,1);var i,o=t[r.bin1],s=e[r.bin0],l=e[r.bin1],c=o-a||0,u=s-a||0;return i=void 0===o?void 0===l?0:void 0===s?2*(l-a):2*(2*l-s-a)/3:void 0===l?void 0===s?0:2*(2*a-o-s)/3:void 0===s?2*(2*l-o-a)/3:l+a-o-s,Tt(a+r.frac*c+n.frac*(u+r.frac*i))}}))}},{\"../../components/colorscale\":607,\"../../constants/xmlns_namespaces\":705,\"../../lib\":728,\"../../registry\":859,d3:164,tinycolor2:528}],1025:[function(t,e,r){\"use strict\";var n=t(\"d3\");e.exports=function(t){n.select(t).selectAll(\".hm image\").style(\"opacity\",(function(t){return t.trace.opacity}))}},{d3:164}],1026:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){!1===r(\"zsmooth\")&&(r(\"xgap\"),r(\"ygap\")),r(\"zhoverformat\")}},{}],1027:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"../../lib\"),i=t(\"../../registry\");function o(t,e){var r=e(t);return\"scaled\"===(r?e(t+\"type\",\"array\"):\"scaled\")&&(e(t+\"0\"),e(\"d\"+t)),r}e.exports=function(t,e,r,s,l,c){var u,h,f=r(\"z\");if(l=l||\"x\",c=c||\"y\",void 0===f||!f.length)return 0;if(a.isArray1D(t.z)){u=r(l),h=r(c);var p=a.minRowLength(u),d=a.minRowLength(h);if(0===p||0===d)return 0;e._length=Math.min(p,d,f.length)}else{if(u=o(l,r),h=o(c,r),!function(t){for(var e,r=!0,i=!1,o=!1,s=0;s<t.length;s++){if(e=t[s],!a.isArrayOrTypedArray(e)){r=!1;break}e.length>0&&(i=!0);for(var l=0;l<e.length;l++)if(n(e[l])){o=!0;break}}return r&&i&&o}(f))return 0;r(\"transpose\"),e._length=null}return\"heatmapgl\"===t.type||\"contourgl\"===t.type||i.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[l,c],s),!0}},{\"../../lib\":728,\"../../registry\":859,\"fast-isnumeric\":236}],1028:[function(t,e,r){\"use strict\";for(var n=t(\"../heatmap/attributes\"),a=t(\"../../components/colorscale/attributes\"),i=t(\"../../lib/extend\").extendFlat,o=t(\"../../plot_api/edit_types\").overrideAll,s=[\"z\",\"x\",\"x0\",\"dx\",\"y\",\"y0\",\"dy\",\"text\",\"transpose\",\"xtype\",\"ytype\"],l={},c=0;c<s.length;c++){var u=s[c];l[u]=n[u]}i(l,a(\"\",{cLetter:\"z\",autoColorDflt:!1})),e.exports=o(l,\"calc\",\"nested\")},{\"../../components/colorscale/attributes\":602,\"../../lib/extend\":719,\"../../plot_api/edit_types\":759,\"../heatmap/attributes\":1013}],1029:[function(t,e,r){\"use strict\";var n=t(\"gl-heatmap2d\"),a=t(\"../../plots/cartesian/axes\"),i=t(\"../../lib/str2rgbarray\");function o(t,e){this.scene=t,this.uid=e,this.type=\"heatmapgl\",this.name=\"\",this.hoverinfo=\"all\",this.xData=[],this.yData=[],this.zData=[],this.textLabels=[],this.idToIndex=[],this.bounds=[0,0,0,0],this.options={z:[],x:[],y:[],shape:[0,0],colorLevels:[0],colorValues:[0,0,0,1]},this.heatmap=n(t.glplot,this.options),this.heatmap._trace=this}var s=o.prototype;s.handlePick=function(t){var e=this.options,r=e.shape,n=t.pointId,a=n%r[0],i=Math.floor(n/r[0]),o=n;return{trace:this,dataCoord:t.dataCoord,traceCoord:[e.x[a],e.y[i],e.z[o]],textLabel:this.textLabels[n],name:this.name,pointIndex:[i,a],hoverinfo:this.hoverinfo}},s.update=function(t,e){var r=e[0];this.index=t.index,this.name=t.name,this.hoverinfo=t.hoverinfo;var n=r.z;this.options.z=[].concat.apply([],n);var o=n[0].length,s=n.length;this.options.shape=[o,s],this.options.x=r.x,this.options.y=r.y;var l=function(t){for(var e=t.colorscale,r=t.zmin,n=t.zmax,a=e.length,o=new Array(a),s=new Array(4*a),l=0;l<a;l++){var c=e[l],u=i(c[1]);o[l]=r+c[0]*(n-r);for(var h=0;h<4;h++)s[4*l+h]=u[h]}return{colorLevels:o,colorValues:s}}(t);this.options.colorLevels=l.colorLevels,this.options.colorValues=l.colorValues,this.textLabels=[].concat.apply([],t.text),this.heatmap.update(this.options);var c=this.scene.xaxis,u=this.scene.yaxis;t._extremes[c._id]=a.findExtremes(c,r.x),t._extremes[u._id]=a.findExtremes(u,r.y)},s.dispose=function(){this.heatmap.dispose()},e.exports=function(t,e,r){var n=new o(t,e.uid);return n.update(e,r),n}},{\"../../lib/str2rgbarray\":751,\"../../plots/cartesian/axes\":776,\"gl-heatmap2d\":263}],1030:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../heatmap/xyz_defaults\"),i=t(\"../../components/colorscale/defaults\"),o=t(\"./attributes\");e.exports=function(t,e,r,s){function l(r,a){return n.coerce(t,e,o,r,a)}a(t,e,l,s)?(l(\"text\"),i(t,e,s,l,{prefix:\"\",cLetter:\"z\"})):e.visible=!1}},{\"../../components/colorscale/defaults\":605,\"../../lib\":728,\"../heatmap/xyz_defaults\":1027,\"./attributes\":1028}],1031:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../heatmap/colorbar\"),calc:t(\"../heatmap/calc\"),plot:t(\"./convert\"),moduleType:\"trace\",name:\"heatmapgl\",basePlotModule:t(\"../../plots/gl2d\"),categories:[\"gl\",\"gl2d\",\"2dMap\"],meta:{}}},{\"../../plots/gl2d\":816,\"../heatmap/calc\":1014,\"../heatmap/colorbar\":1016,\"./attributes\":1028,\"./convert\":1029,\"./defaults\":1030}],1032:[function(t,e,r){\"use strict\";var n=t(\"../bar/attributes\"),a=t(\"../../plots/template_attributes\").hovertemplateAttrs,i=t(\"./bin_attributes\"),o=t(\"./constants\"),s=t(\"../../lib/extend\").extendFlat;e.exports={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},text:s({},n.text,{}),hovertext:s({},n.hovertext,{}),orientation:n.orientation,histfunc:{valType:\"enumerated\",values:[\"count\",\"sum\",\"avg\",\"min\",\"max\"],dflt:\"count\",editType:\"calc\"},histnorm:{valType:\"enumerated\",values:[\"\",\"percent\",\"probability\",\"density\",\"probability density\"],dflt:\"\",editType:\"calc\"},cumulative:{enabled:{valType:\"boolean\",dflt:!1,editType:\"calc\"},direction:{valType:\"enumerated\",values:[\"increasing\",\"decreasing\"],dflt:\"increasing\",editType:\"calc\"},currentbin:{valType:\"enumerated\",values:[\"include\",\"exclude\",\"half\"],dflt:\"include\",editType:\"calc\"},editType:\"calc\"},nbinsx:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},xbins:i(\"x\",!0),nbinsy:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},ybins:i(\"y\",!0),autobinx:{valType:\"boolean\",dflt:null,editType:\"calc\"},autobiny:{valType:\"boolean\",dflt:null,editType:\"calc\"},bingroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},hovertemplate:a({},{keys:o.eventDataKeys}),marker:n.marker,offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup,selected:n.selected,unselected:n.unselected,_deprecated:{bardir:n._deprecated.bardir}}},{\"../../lib/extend\":719,\"../../plots/template_attributes\":854,\"../bar/attributes\":869,\"./bin_attributes\":1034,\"./constants\":1038}],1033:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r=t.length,n=0,a=0;a<r;a++)e[a]?(t[a]/=e[a],n+=t[a]):t[a]=null;return n}},{}],1034:[function(t,e,r){\"use strict\";e.exports=function(t,e){return{start:{valType:\"any\",editType:\"calc\"},end:{valType:\"any\",editType:\"calc\"},size:{valType:\"any\",editType:\"calc\"},editType:\"calc\"}}},{}],1035:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\");e.exports={count:function(t,e,r){return r[t]++,1},sum:function(t,e,r,a){var i=a[e];return n(i)?(i=Number(i),r[t]+=i,i):0},avg:function(t,e,r,a,i){var o=a[e];return n(o)&&(o=Number(o),r[t]+=o,i[t]++),0},min:function(t,e,r,a){var i=a[e];if(n(i)){if(i=Number(i),!n(r[t]))return r[t]=i,i;if(r[t]>i){var o=i-r[t];return r[t]=i,o}}return 0},max:function(t,e,r,a){var i=a[e];if(n(i)){if(i=Number(i),!n(r[t]))return r[t]=i,i;if(r[t]<i){var o=i-r[t];return r[t]=i,o}}return 0}}},{\"fast-isnumeric\":236}],1036:[function(t,e,r){\"use strict\";var n=t(\"../../constants/numerical\"),a=n.ONEAVGYEAR,i=n.ONEAVGMONTH,o=n.ONEDAY,s=n.ONEHOUR,l=n.ONEMIN,c=n.ONESEC,u=t(\"../../plots/cartesian/axes\").tickIncrement;function h(t,e,r,n){if(t*e<=0)return 1/0;for(var a=Math.abs(e-t),i=\"date\"===r.type,o=f(a,i),s=0;s<10;s++){var l=f(80*o,i);if(o===l)break;if(!p(l,t,e,i,r,n))break;o=l}return o}function f(t,e){return e&&t>c?t>o?t>1.1*a?a:t>1.1*i?i:o:t>s?s:t>l?l:c:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function p(t,e,r,n,i,s){if(n&&t>o){var l=d(e,i,s),c=d(r,i,s),u=t===a?0:1;return l[u]!==c[u]}return Math.floor(r/t)-Math.floor(e/t)>.1}function d(t,e,r){var n=e.c2d(t,a,r).split(\"-\");return\"\"===n[0]&&(n.unshift(),n[0]=\"-\"+n[0]),n}e.exports=function(t,e,r,n,i){var s,l,c=-1.1*e,f=-.1*e,p=t-f,d=r[0],g=r[1],m=Math.min(h(d+f,d+p,n,i),h(g+f,g+p,n,i)),v=Math.min(h(d+c,d+f,n,i),h(g+c,g+f,n,i));if(m>v&&v<Math.abs(g-d)/4e3?(s=m,l=!1):(s=Math.min(m,v),l=!0),\"date\"===n.type&&s>o){var y=s===a?1:6,x=s===a?\"M12\":\"M1\";return function(e,r){var o=n.c2d(e,a,i),s=o.indexOf(\"-\",y);s>0&&(o=o.substr(0,s));var c=n.d2c(o,0,i);if(c<e){var h=u(c,x,!1,i);(c+h)/2<e+t&&(c=h)}return r&&l?u(c,x,!0,i):c}}return function(e,r){var n=s*Math.round(e/s);return n+s/10<e&&n+.9*s<e+t&&(n+=s),r&&l&&(n-=s),n}}},{\"../../constants/numerical\":704,\"../../plots/cartesian/axes\":776}],1037:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"../../lib\"),i=t(\"../../registry\"),o=t(\"../../plots/cartesian/axes\"),s=t(\"../bar/arrays_to_calcdata\"),l=t(\"./bin_functions\"),c=t(\"./norm_functions\"),u=t(\"./average\"),h=t(\"./bin_label_vals\");function f(t,e,r,s,l){var c,u,h,p,d,g,m,v=s+\"bins\",y=t._fullLayout,x=e[\"_\"+s+\"bingroup\"],b=y._histogramBinOpts[x],_=\"overlay\"===y.barmode,w=function(t){return r.r2c(t,0,p)},T=function(t){return r.c2r(t,0,p)},k=\"date\"===r.type?function(t){return t||0===t?a.cleanDate(t,null,p):null}:function(t){return n(t)?Number(t):null};function A(t,e,r){e[t+\"Found\"]?(e[t]=k(e[t]),null===e[t]&&(e[t]=r[t])):(g[t]=e[t]=r[t],a.nestedProperty(u[0],v+\".\"+t).set(r[t]))}if(e[\"_\"+s+\"autoBinFinished\"])delete e[\"_\"+s+\"autoBinFinished\"];else{u=b.traces;var M=[],S=!0,E=!1,C=!1;for(c=0;c<u.length;c++)if((h=u[c]).visible){var L=b.dirs[c];d=h[\"_\"+L+\"pos0\"]=r.makeCalcdata(h,L),M=a.concat(M,d),delete h[\"_\"+s+\"autoBinFinished\"],!0===e.visible&&(S?S=!1:(delete h._autoBin,h[\"_\"+s+\"autoBinFinished\"]=1),i.traceIs(h,\"2dMap\")&&(E=!0),\"histogram2dcontour\"===h.type&&(C=!0))}p=u[0][s+\"calendar\"];var P=o.autoBin(M,r,b.nbins,E,p,b.sizeFound&&b.size),I=u[0]._autoBin={};if(g=I[b.dirs[0]]={},C&&(b.size||(P.start=T(o.tickIncrement(w(P.start),P.size,!0,p))),void 0===b.end&&(P.end=T(o.tickIncrement(w(P.end),P.size,!1,p)))),_&&!i.traceIs(e,\"2dMap\")&&0===P._dataSpan&&\"category\"!==r.type&&\"multicategory\"!==r.type){if(l)return[P,d,!0];P=function(t,e,r,n,i){var o,s,l,c=t._fullLayout,u=function(t,e){for(var r=e.xaxis,n=e.yaxis,a=e.orientation,i=[],o=t._fullData,s=0;s<o.length;s++){var l=o[s];\"histogram\"===l.type&&!0===l.visible&&l.orientation===a&&l.xaxis===r&&l.yaxis===n&&i.push(l)}return i}(t,e),h=!1,p=1/0,d=[e];for(o=0;o<u.length;o++)if((s=u[o])===e)h=!0;else if(h){var g=f(t,s,r,n,!0),m=g[0],v=g[2];s[\"_\"+n+\"autoBinFinished\"]=1,s[\"_\"+n+\"pos0\"]=g[1],v?d.push(s):p=Math.min(p,m.size)}else l=c._histogramBinOpts[s[\"_\"+n+\"bingroup\"]],p=Math.min(p,l.size||s[i].size);var y=new Array(d.length);for(o=0;o<d.length;o++)for(var x=d[o][\"_\"+n+\"pos0\"],b=0;b<x.length;b++)if(void 0!==x[b]){y[o]=x[b];break}isFinite(p)||(p=a.distinctVals(y).minDiff);for(o=0;o<d.length;o++){var _=(s=d[o])[n+\"calendar\"],w={start:r.c2r(y[o]-p/2,0,_),end:r.c2r(y[o]+p/2,0,_),size:p};s._input[i]=s[i]=w,(l=c._histogramBinOpts[s[\"_\"+n+\"bingroup\"]])&&a.extendFlat(l,w)}return e[i]}(t,e,r,s,v)}(m=h.cumulative||{}).enabled&&\"include\"!==m.currentbin&&(\"decreasing\"===m.direction?P.start=T(o.tickIncrement(w(P.start),P.size,!0,p)):P.end=T(o.tickIncrement(w(P.end),P.size,!1,p))),b.size=P.size,b.sizeFound||(g.size=P.size,a.nestedProperty(u[0],v+\".size\").set(P.size)),A(\"start\",b,P),A(\"end\",b,P)}d=e[\"_\"+s+\"pos0\"],delete e[\"_\"+s+\"pos0\"];var z=e._input[v]||{},O=a.extendFlat({},b),D=b.start,R=r.r2l(z.start),F=void 0!==R;if((b.startFound||F)&&R!==r.r2l(D)){var B=F?R:a.aggNums(Math.min,null,d),N={type:\"category\"===r.type||\"multicategory\"===r.type?\"linear\":r.type,r2l:r.r2l,dtick:b.size,tick0:D,calendar:p,range:[B,o.tickIncrement(B,b.size,!1,p)].map(r.l2r)},j=o.tickFirst(N);j>r.r2l(B)&&(j=o.tickIncrement(j,b.size,!0,p)),O.start=r.l2r(j),F||a.nestedProperty(e,v+\".start\").set(O.start)}var V=b.end,U=r.r2l(z.end),q=void 0!==U;if((b.endFound||q)&&U!==r.r2l(V)){var H=q?U:a.aggNums(Math.max,null,d);O.end=r.l2r(H),q||a.nestedProperty(e,v+\".start\").set(O.end)}var G=\"autobin\"+s;return!1===e._input[G]&&(e._input[v]=a.extendFlat({},e[v]||{}),delete e._input[G],delete e[G]),[O,d]}e.exports={calc:function(t,e){var r,i,p,d,g=[],m=[],v=o.getFromId(t,\"h\"===e.orientation?e.yaxis:e.xaxis),y=\"h\"===e.orientation?\"y\":\"x\",x={x:\"y\",y:\"x\"}[y],b=e[y+\"calendar\"],_=e.cumulative,w=f(t,e,v,y),T=w[0],k=w[1],A=\"string\"==typeof T.size,M=[],S=A?M:T,E=[],C=[],L=[],P=0,I=e.histnorm,z=e.histfunc,O=-1!==I.indexOf(\"density\");_.enabled&&O&&(I=I.replace(/ ?density$/,\"\"),O=!1);var D,R=\"max\"===z||\"min\"===z?null:0,F=l.count,B=c[I],N=!1,j=function(t){return v.r2c(t,0,b)};for(a.isArrayOrTypedArray(e[x])&&\"count\"!==z&&(D=e[x],N=\"avg\"===z,F=l[z]),r=j(T.start),p=j(T.end)+(r-o.tickIncrement(r,T.size,!1,b))/1e6;r<p&&g.length<1e6&&(i=o.tickIncrement(r,T.size,!1,b),g.push((r+i)/2),m.push(R),L.push([]),M.push(r),O&&E.push(1/(i-r)),N&&C.push(0),!(i<=r));)r=i;M.push(r),A||\"date\"!==v.type||(S={start:j(S.start),end:j(S.end),size:S.size}),t._fullLayout._roundFnOpts||(t._fullLayout._roundFnOpts={});var V=e[\"_\"+y+\"bingroup\"],U={leftGap:1/0,rightGap:1/0};V&&(t._fullLayout._roundFnOpts[V]||(t._fullLayout._roundFnOpts[V]=U),U=t._fullLayout._roundFnOpts[V]);var q,H=m.length,G=!0,Y=U.leftGap,W=U.rightGap,Z={};for(r=0;r<k.length;r++){var X=k[r];(d=a.findBin(X,S))>=0&&d<H&&(P+=F(d,r,m,D,C),G&&L[d].length&&X!==k[L[d][0]]&&(G=!1),L[d].push(r),Z[r]=d,Y=Math.min(Y,X-M[d]),W=Math.min(W,M[d+1]-X))}U.leftGap=Y,U.rightGap=W,G||(q=function(e,r){return function(){var n=t._fullLayout._roundFnOpts[V];return h(n.leftGap,n.rightGap,M,v,b)(e,r)}}),N&&(P=u(m,C)),B&&B(m,P,E),_.enabled&&function(t,e,r){var n,a,i;function o(e){i=t[e],t[e]/=2}function s(e){a=t[e],t[e]=i+a/2,i+=a}if(\"half\"===r)if(\"increasing\"===e)for(o(0),n=1;n<t.length;n++)s(n);else for(o(t.length-1),n=t.length-2;n>=0;n--)s(n);else if(\"increasing\"===e){for(n=1;n<t.length;n++)t[n]+=t[n-1];\"exclude\"===r&&(t.unshift(0),t.pop())}else{for(n=t.length-2;n>=0;n--)t[n]+=t[n+1];\"exclude\"===r&&(t.push(0),t.shift())}}(m,_.direction,_.currentbin);var J=Math.min(g.length,m.length),K=[],Q=0,$=J-1;for(r=0;r<J;r++)if(m[r]){Q=r;break}for(r=J-1;r>=Q;r--)if(m[r]){$=r;break}for(r=Q;r<=$;r++)if(n(g[r])&&n(m[r])){var tt={p:g[r],s:m[r],b:0};_.enabled||(tt.pts=L[r],G?tt.ph0=tt.ph1=L[r].length?k[L[r][0]]:g[r]:(e._computePh=!0,tt.ph0=q(M[r]),tt.ph1=q(M[r+1],!0))),K.push(tt)}return 1===K.length&&(K[0].width1=o.tickIncrement(K[0].p,T.size,!1,b)-K[0].p),s(K,e),a.isArrayOrTypedArray(e.selectedpoints)&&a.tagSelected(K,e,Z),K},calcAllAutoBins:f}},{\"../../lib\":728,\"../../plots/cartesian/axes\":776,\"../../registry\":859,\"../bar/arrays_to_calcdata\":868,\"./average\":1033,\"./bin_functions\":1035,\"./bin_label_vals\":1036,\"./norm_functions\":1044,\"fast-isnumeric\":236}],1038:[function(t,e,r){\"use strict\";e.exports={eventDataKeys:[\"binNumber\"]}},{}],1039:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../plots/cartesian/axis_ids\"),i=t(\"../../registry\").traceIs,o=t(\"../bar/defaults\").handleGroupingDefaults,s=n.nestedProperty,l=a.getAxisGroup,c=[{aStr:{x:\"xbins.start\",y:\"ybins.start\"},name:\"start\"},{aStr:{x:\"xbins.end\",y:\"ybins.end\"},name:\"end\"},{aStr:{x:\"xbins.size\",y:\"ybins.size\"},name:\"size\"},{aStr:{x:\"nbinsx\",y:\"nbinsy\"},name:\"nbins\"}],u=[\"x\",\"y\"];e.exports=function(t,e){var r,h,f,p,d,g,m,v=e._histogramBinOpts={},y=[],x={},b=[];function _(t,e){return n.coerce(r._input,r,r._module.attributes,t,e)}function w(t){return\"v\"===t.orientation?\"x\":\"y\"}function T(t,r,i){var o=t.uid+\"__\"+i;r||(r=o);var s=function(t,r){return a.getFromTrace({_fullLayout:e},t,r).type}(t,i),l=t[i+\"calendar\"]||\"\",c=v[r],u=!0;c&&(s===c.axType&&l===c.calendar?(u=!1,c.traces.push(t),c.dirs.push(i)):(r=o,s!==c.axType&&n.warn([\"Attempted to group the bins of trace\",t.index,\"set on a\",\"type:\"+s,\"axis\",\"with bins on\",\"type:\"+c.axType,\"axis.\"].join(\" \")),l!==c.calendar&&n.warn([\"Attempted to group the bins of trace\",t.index,\"set with a\",l,\"calendar\",\"with bins\",c.calendar?\"on a \"+c.calendar+\" calendar\":\"w/o a set calendar\"].join(\" \")))),u&&(v[r]={traces:[t],dirs:[i],axType:s,calendar:t[i+\"calendar\"]||\"\"}),t[\"_\"+i+\"bingroup\"]=r}for(d=0;d<t.length;d++)r=t[d],i(r,\"histogram\")&&(y.push(r),delete r._xautoBinFinished,delete r._yautoBinFinished,i(r,\"2dMap\")||o(r._input,r,e,_));var k=e._alignmentOpts||{};for(d=0;d<y.length;d++){if(r=y[d],f=\"\",!i(r,\"2dMap\")){if(p=w(r),\"group\"===e.barmode&&r.alignmentgroup){var A=r[p+\"axis\"],M=l(e,A)+r.orientation;(k[M]||{})[r.alignmentgroup]&&(f=M)}f||\"overlay\"===e.barmode||(f=l(e,r.xaxis)+l(e,r.yaxis)+w(r))}f?(x[f]||(x[f]=[]),x[f].push(r)):b.push(r)}for(f in x)if(1!==(h=x[f]).length){var S=!1;for(d=0;d<h.length;d++){r=h[d],S=_(\"bingroup\");break}for(f=S||f,d=0;d<h.length;d++){var E=(r=h[d])._input.bingroup;E&&E!==f&&n.warn([\"Trace\",r.index,\"must match\",\"within bingroup\",f+\".\",\"Ignoring its bingroup:\",E,\"setting.\"].join(\" \")),r.bingroup=f,T(r,f,w(r))}}else b.push(h[0]);for(d=0;d<b.length;d++){r=b[d];var C=_(\"bingroup\");if(i(r,\"2dMap\"))for(m=0;m<2;m++){var L=_((p=u[m])+\"bingroup\",C?C+\"__\"+p:null);T(r,L,p)}else T(r,C,w(r))}for(f in v){var P=v[f];for(h=P.traces,g=0;g<c.length;g++){var I,z,O=c[g],D=O.name;if(\"nbins\"!==D||!P.sizeFound){for(d=0;d<h.length;d++){if(r=h[d],p=P.dirs[d],I=O.aStr[p],void 0!==s(r._input,I).get()){P[D]=_(I),P[D+\"Found\"]=!0;break}(z=(r._autoBin||{})[p]||{})[D]&&s(r,I).set(z[D])}if(\"start\"===D||\"end\"===D)for(;d<h.length;d++)(r=h[d])[\"_\"+p+\"bingroup\"]&&_(I,(z=(r._autoBin||{})[p]||{})[D]);\"nbins\"!==D||P.sizeFound||P.nbinsFound||(r=h[0],P[D]=_(I))}}}}},{\"../../lib\":728,\"../../plots/cartesian/axis_ids\":779,\"../../registry\":859,\"../bar/defaults\":873}],1040:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),a=t(\"../../lib\"),i=t(\"../../components/color\"),o=t(\"../bar/style_defaults\"),s=t(\"./attributes\");e.exports=function(t,e,r,l){function c(r,n){return a.coerce(t,e,s,r,n)}var u=c(\"x\"),h=c(\"y\");c(\"cumulative.enabled\")&&(c(\"cumulative.direction\"),c(\"cumulative.currentbin\")),c(\"text\"),c(\"hovertext\"),c(\"hovertemplate\");var f=c(\"orientation\",h&&!u?\"h\":\"v\"),p=\"v\"===f?\"x\":\"y\",d=\"v\"===f?\"y\":\"x\",g=u&&h?Math.min(a.minRowLength(u)&&a.minRowLength(h)):a.minRowLength(e[p]||[]);if(g){e._length=g,n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\"],l),e[d]&&c(\"histfunc\"),c(\"histnorm\"),c(\"autobin\"+p),o(t,e,c,r,l),a.coerceSelectionMarkerOpacity(e,c);var m=(e.marker.line||{}).color,v=n.getComponentMethod(\"errorbars\",\"supplyDefaults\");v(t,e,m||i.defaultLine,{axis:\"y\"}),v(t,e,m||i.defaultLine,{axis:\"x\",inherit:\"y\"})}else e.visible=!1}},{\"../../components/color\":595,\"../../lib\":728,\"../../registry\":859,\"../bar/style_defaults\":884,\"./attributes\":1032}],1041:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,a){if(t.x=\"xVal\"in e?e.xVal:e.x,t.y=\"yVal\"in e?e.yVal:e.y,\"zLabelVal\"in e&&(t.z=e.zLabelVal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),!(r.cumulative||{}).enabled){var i,o=Array.isArray(a)?n[0].pts[a[0]][a[1]]:n[a].pts;if(t.pointNumbers=o,t.binNumber=t.pointNumber,delete t.pointNumber,delete t.pointIndex,r._indexToPoints){i=[];for(var s=0;s<o.length;s++)i=i.concat(r._indexToPoints[o[s]])}else i=o;t.pointIndices=i}return t}},{}],1042:[function(t,e,r){\"use strict\";var n=t(\"../bar/hover\").hoverPoints,a=t(\"../../plots/cartesian/axes\").hoverLabelText;e.exports=function(t,e,r,i){var o=n(t,e,r,i);if(o){var s=(t=o[0]).cd[t.index],l=t.cd[0].trace;if(!l.cumulative.enabled){var c=\"h\"===l.orientation?\"y\":\"x\";t[c+\"Label\"]=a(t[c+\"a\"],s.ph0,s.ph1)}return o}}},{\"../../plots/cartesian/axes\":776,\"../bar/hover\":876}],1043:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),layoutAttributes:t(\"../bar/layout_attributes\"),supplyDefaults:t(\"./defaults\"),crossTraceDefaults:t(\"./cross_trace_defaults\"),supplyLayoutDefaults:t(\"../bar/layout_defaults\"),calc:t(\"./calc\").calc,crossTraceCalc:t(\"../bar/cross_trace_calc\").crossTraceCalc,plot:t(\"../bar/plot\").plot,layerName:\"barlayer\",style:t(\"../bar/style\").style,styleOnSelect:t(\"../bar/style\").styleOnSelect,colorbar:t(\"../scatter/marker_colorbar\"),hoverPoints:t(\"./hover\"),selectPoints:t(\"../bar/select\"),eventData:t(\"./event_data\"),moduleType:\"trace\",name:\"histogram\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"bar-like\",\"cartesian\",\"svg\",\"bar\",\"histogram\",\"oriented\",\"errorBarsOK\",\"showLegend\"],meta:{}}},{\"../../plots/cartesian\":789,\"../bar/cross_trace_calc\":872,\"../bar/layout_attributes\":878,\"../bar/layout_defaults\":879,\"../bar/plot\":880,\"../bar/select\":881,\"../bar/style\":883,\"../scatter/marker_colorbar\":1152,\"./attributes\":1032,\"./calc\":1037,\"./cross_trace_defaults\":1039,\"./defaults\":1040,\"./event_data\":1041,\"./hover\":1042}],1044:[function(t,e,r){\"use strict\";e.exports={percent:function(t,e){for(var r=t.length,n=100/e,a=0;a<r;a++)t[a]*=n},probability:function(t,e){for(var r=t.length,n=0;n<r;n++)t[n]/=e},density:function(t,e,r,n){var a=t.length;n=n||1;for(var i=0;i<a;i++)t[i]*=r[i]*n},\"probability density\":function(t,e,r,n){var a=t.length;n&&(e/=n);for(var i=0;i<a;i++)t[i]*=r[i]/e}}},{}],1045:[function(t,e,r){\"use strict\";var n=t(\"../histogram/attributes\"),a=t(\"../histogram/bin_attributes\"),i=t(\"../heatmap/attributes\"),o=t(\"../../plots/attributes\"),s=t(\"../../plots/template_attributes\").hovertemplateAttrs,l=t(\"../../components/colorscale/attributes\"),c=t(\"../../lib/extend\").extendFlat;e.exports=c({x:n.x,y:n.y,z:{valType:\"data_array\",editType:\"calc\"},marker:{color:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"},histnorm:n.histnorm,histfunc:n.histfunc,nbinsx:n.nbinsx,xbins:a(\"x\"),nbinsy:n.nbinsy,ybins:a(\"y\"),autobinx:n.autobinx,autobiny:n.autobiny,bingroup:c({},n.bingroup,{}),xbingroup:c({},n.bingroup,{}),ybingroup:c({},n.bingroup,{}),xgap:i.xgap,ygap:i.ygap,zsmooth:i.zsmooth,zhoverformat:i.zhoverformat,hovertemplate:s({},{keys:\"z\"}),showlegend:c({},o.showlegend,{dflt:!1})},l(\"\",{cLetter:\"z\",autoColorDflt:!1}))},{\"../../components/colorscale/attributes\":602,\"../../lib/extend\":719,\"../../plots/attributes\":773,\"../../plots/template_attributes\":854,\"../heatmap/attributes\":1013,\"../histogram/attributes\":1032,\"../histogram/bin_attributes\":1034}],1046:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),i=t(\"../histogram/bin_functions\"),o=t(\"../histogram/norm_functions\"),s=t(\"../histogram/average\"),l=t(\"../histogram/bin_label_vals\"),c=t(\"../histogram/calc\").calcAllAutoBins;function u(t,e,r,n){var a,i=new Array(t);if(n)for(a=0;a<t;a++)i[a]=1/(e[a+1]-e[a]);else{var o=1/r;for(a=0;a<t;a++)i[a]=o}return i}function h(t,e){return{start:t(e.start),end:t(e.end),size:e.size}}function f(t,e,r,n,a,i){var o,s=t.length-1,c=new Array(s),u=l(r,n,t,a,i);for(o=0;o<s;o++){var h=(e||[])[o];c[o]=void 0===h?[u(t[o]),u(t[o+1],!0)]:[h,h]}return c}e.exports=function(t,e){var r,l,p,d,g=a.getFromId(t,e.xaxis),m=a.getFromId(t,e.yaxis),v=e.xcalendar,y=e.ycalendar,x=function(t){return g.r2c(t,0,v)},b=function(t){return m.r2c(t,0,y)},_=c(t,e,g,\"x\"),w=_[0],T=_[1],k=c(t,e,m,\"y\"),A=k[0],M=k[1],S=e._length;T.length>S&&T.splice(S,T.length-S),M.length>S&&M.splice(S,M.length-S);var E=[],C=[],L=[],P=\"string\"==typeof w.size,I=\"string\"==typeof A.size,z=[],O=[],D=P?z:w,R=I?O:A,F=0,B=[],N=[],j=e.histnorm,V=e.histfunc,U=-1!==j.indexOf(\"density\"),q=\"max\"===V||\"min\"===V?null:0,H=i.count,G=o[j],Y=!1,W=[],Z=[],X=\"z\"in e?e.z:\"marker\"in e&&Array.isArray(e.marker.color)?e.marker.color:\"\";X&&\"count\"!==V&&(Y=\"avg\"===V,H=i[V]);var J=w.size,K=x(w.start),Q=x(w.end)+(K-a.tickIncrement(K,J,!1,v))/1e6;for(r=K;r<Q;r=a.tickIncrement(r,J,!1,v))C.push(q),z.push(r),Y&&L.push(0);z.push(r);var $,tt=C.length,et=(r-K)/tt,rt=($=K+et/2,g.c2r($,0,v)),nt=A.size,at=b(A.start),it=b(A.end)+(at-a.tickIncrement(at,nt,!1,y))/1e6;for(r=at;r<it;r=a.tickIncrement(r,nt,!1,y)){E.push(C.slice()),O.push(r);var ot=new Array(tt);for(l=0;l<tt;l++)ot[l]=[];N.push(ot),Y&&B.push(L.slice())}O.push(r);var st=E.length,lt=(r-at)/st,ct=function(t){return m.c2r(t,0,y)}(at+lt/2);U&&(W=u(C.length,D,et,P),Z=u(E.length,R,lt,I)),P||\"date\"!==g.type||(D=h(x,D)),I||\"date\"!==m.type||(R=h(b,R));var ut=!0,ht=!0,ft=new Array(tt),pt=new Array(st),dt=1/0,gt=1/0,mt=1/0,vt=1/0;for(r=0;r<S;r++){var yt=T[r],xt=M[r];p=n.findBin(yt,D),d=n.findBin(xt,R),p>=0&&p<tt&&d>=0&&d<st&&(F+=H(p,r,E[d],X,B[d]),N[d][p].push(r),ut&&(void 0===ft[p]?ft[p]=yt:ft[p]!==yt&&(ut=!1)),ht&&(void 0===pt[d]?pt[d]=xt:pt[d]!==xt&&(ht=!1)),dt=Math.min(dt,yt-z[p]),gt=Math.min(gt,z[p+1]-yt),mt=Math.min(mt,xt-O[d]),vt=Math.min(vt,O[d+1]-xt))}if(Y)for(d=0;d<st;d++)F+=s(E[d],B[d]);if(G)for(d=0;d<st;d++)G(E[d],F,W,Z[d]);return{x:T,xRanges:f(z,ut&&ft,dt,gt,g,v),x0:rt,dx:et,y:M,yRanges:f(O,ht&&pt,mt,vt,m,y),y0:ct,dy:lt,z:E,pts:N}}},{\"../../lib\":728,\"../../plots/cartesian/axes\":776,\"../histogram/average\":1033,\"../histogram/bin_functions\":1035,\"../histogram/bin_label_vals\":1036,\"../histogram/calc\":1037,\"../histogram/norm_functions\":1044}],1047:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"./sample_defaults\"),i=t(\"../heatmap/style_defaults\"),o=t(\"../../components/colorscale/defaults\"),s=t(\"./attributes\");e.exports=function(t,e,r,l){function c(r,a){return n.coerce(t,e,s,r,a)}a(t,e,c,l),!1!==e.visible&&(i(t,e,c,l),o(t,e,l,c,{prefix:\"\",cLetter:\"z\"}),c(\"hovertemplate\"))}},{\"../../components/colorscale/defaults\":605,\"../../lib\":728,\"../heatmap/style_defaults\":1026,\"./attributes\":1045,\"./sample_defaults\":1050}],1048:[function(t,e,r){\"use strict\";var n=t(\"../heatmap/hover\"),a=t(\"../../plots/cartesian/axes\").hoverLabelText;e.exports=function(t,e,r,i,o,s){var l=n(t,e,r,i,o,s);if(l){var c=(t=l[0]).index,u=c[0],h=c[1],f=t.cd[0],p=f.xRanges[h],d=f.yRanges[u];return t.xLabel=a(t.xa,p[0],p[1]),t.yLabel=a(t.ya,d[0],d[1]),l}}},{\"../../plots/cartesian/axes\":776,\"../heatmap/hover\":1020}],1049:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),crossTraceDefaults:t(\"../histogram/cross_trace_defaults\"),calc:t(\"../heatmap/calc\"),plot:t(\"../heatmap/plot\"),layerName:\"heatmaplayer\",colorbar:t(\"../heatmap/colorbar\"),style:t(\"../heatmap/style\"),hoverPoints:t(\"./hover\"),eventData:t(\"../histogram/event_data\"),moduleType:\"trace\",name:\"histogram2d\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"2dMap\",\"histogram\",\"showLegend\"],meta:{}}},{\"../../plots/cartesian\":789,\"../heatmap/calc\":1014,\"../heatmap/colorbar\":1016,\"../heatmap/plot\":1024,\"../heatmap/style\":1025,\"../histogram/cross_trace_defaults\":1039,\"../histogram/event_data\":1041,\"./attributes\":1045,\"./defaults\":1047,\"./hover\":1048}],1050:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),a=t(\"../../lib\");e.exports=function(t,e,r,i){var o=r(\"x\"),s=r(\"y\"),l=a.minRowLength(o),c=a.minRowLength(s);l&&c?(e._length=Math.min(l,c),n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\"],i),(r(\"z\")||r(\"marker.color\"))&&r(\"histfunc\"),r(\"histnorm\"),r(\"autobinx\"),r(\"autobiny\")):e.visible=!1}},{\"../../lib\":728,\"../../registry\":859}],1051:[function(t,e,r){\"use strict\";var n=t(\"../histogram2d/attributes\"),a=t(\"../contour/attributes\"),i=t(\"../../components/colorscale/attributes\"),o=t(\"../../lib/extend\").extendFlat;e.exports=o({x:n.x,y:n.y,z:n.z,marker:n.marker,histnorm:n.histnorm,histfunc:n.histfunc,nbinsx:n.nbinsx,xbins:n.xbins,nbinsy:n.nbinsy,ybins:n.ybins,autobinx:n.autobinx,autobiny:n.autobiny,bingroup:n.bingroup,xbingroup:n.xbingroup,ybingroup:n.ybingroup,autocontour:a.autocontour,ncontours:a.ncontours,contours:a.contours,line:{color:a.line.color,width:o({},a.line.width,{dflt:.5}),dash:a.line.dash,smoothing:a.line.smoothing,editType:\"plot\"},zhoverformat:n.zhoverformat,hovertemplate:n.hovertemplate},i(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))},{\"../../components/colorscale/attributes\":602,\"../../lib/extend\":719,\"../contour/attributes\":956,\"../histogram2d/attributes\":1045}],1052:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../histogram2d/sample_defaults\"),i=t(\"../contour/contours_defaults\"),o=t(\"../contour/style_defaults\"),s=t(\"./attributes\");e.exports=function(t,e,r,l){function c(r,a){return n.coerce(t,e,s,r,a)}a(t,e,c,l),!1!==e.visible&&(i(t,e,c,(function(r){return n.coerce2(t,e,s,r)})),o(t,e,c,l),c(\"hovertemplate\"))}},{\"../../lib\":728,\"../contour/contours_defaults\":963,\"../contour/style_defaults\":977,\"../histogram2d/sample_defaults\":1050,\"./attributes\":1051}],1053:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),crossTraceDefaults:t(\"../histogram/cross_trace_defaults\"),calc:t(\"../contour/calc\"),plot:t(\"../contour/plot\").plot,layerName:\"contourlayer\",style:t(\"../contour/style\"),colorbar:t(\"../contour/colorbar\"),hoverPoints:t(\"../contour/hover\"),moduleType:\"trace\",name:\"histogram2dcontour\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"2dMap\",\"contour\",\"histogram\",\"showLegend\"],meta:{}}},{\"../../plots/cartesian\":789,\"../contour/calc\":957,\"../contour/colorbar\":959,\"../contour/hover\":969,\"../contour/plot\":974,\"../contour/style\":976,\"../histogram/cross_trace_defaults\":1039,\"./attributes\":1051,\"./defaults\":1052}],1054:[function(t,e,r){\"use strict\";for(var n=t(\"../../plots/attributes\"),a=t(\"../../plots/template_attributes\").hovertemplateAttrs,i=t(\"../../lib/extend\").extendFlat,o=t(\"./constants\").colormodel,s=[\"rgb\",\"rgba\",\"hsl\",\"hsla\"],l=[],c=[],u=0;u<s.length;u++)l.push(\"For the `\"+s[u]+\"` colormodel, it is [\"+o[s[u]].min.join(\", \")+\"].\"),c.push(\"For the `\"+s[u]+\"` colormodel, it is [\"+o[s[u]].max.join(\", \")+\"].\");e.exports=i({z:{valType:\"data_array\",editType:\"calc\"},colormodel:{valType:\"enumerated\",values:s,dflt:\"rgb\",editType:\"calc\"},zmin:{valType:\"info_array\",items:[{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"}],editType:\"calc\"},zmax:{valType:\"info_array\",items:[{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"}],editType:\"calc\"},x0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},y0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dx:{valType:\"number\",dflt:1,editType:\"calc\"},dy:{valType:\"number\",dflt:1,editType:\"calc\"},text:{valType:\"data_array\",editType:\"plot\"},hovertext:{valType:\"data_array\",editType:\"plot\"},hoverinfo:i({},n.hoverinfo,{flags:[\"x\",\"y\",\"z\",\"color\",\"name\",\"text\"],dflt:\"x+y+z+text+name\"}),hovertemplate:a({},{keys:[\"z\",\"color\",\"colormodel\"]}),transforms:void 0})},{\"../../lib/extend\":719,\"../../plots/attributes\":773,\"../../plots/template_attributes\":854,\"./constants\":1056}],1055:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"./constants\"),i=t(\"fast-isnumeric\"),o=t(\"../../plots/cartesian/axes\"),s=t(\"../../lib\").maxRowLength;function l(t,e,r,a){return function(i){return n.constrain((i-t)*e,r,a)}}function c(t,e){return function(r){return n.constrain(r,t,e)}}e.exports=function(t,e){var r,n=o.getFromId(t,e.xaxis||\"x\"),u=o.getFromId(t,e.yaxis||\"y\"),h=n.d2c(e.x0)-e.dx/2,f=u.d2c(e.y0)-e.dy/2,p=e.z.length,d=s(e.z),g=[h,h+d*e.dx],m=[f,f+p*e.dy];if(n&&\"log\"===n.type)for(r=0;r<d;r++)g.push(h+r*e.dx);if(u&&\"log\"===u.type)for(r=0;r<p;r++)m.push(f+r*e.dy);return e._extremes[n._id]=o.findExtremes(n,g),e._extremes[u._id]=o.findExtremes(u,m),e._scaler=function(t){var e=t.colormodel,r=e.length,n=a.colormodel[e];t._sArray=[];for(var o=0;o<r;o++)n.min[o]!==t.zmin[o]||n.max[o]!==t.zmax[o]?t._sArray.push(l(t.zmin[o],(n.max[o]-n.min[o])/(t.zmax[o]-t.zmin[o]),n.min[o],n.max[o])):t._sArray.push(c(n.min[o],n.max[o]));return function(e){for(var n=e.slice(0,r),a=0;a<r;a++){var o=n[a];if(!i(o))return!1;n[a]=t._sArray[a](o)}return n}}(e),[{x0:h,y0:f,z:e.z,w:d,h:p}]}},{\"../../lib\":728,\"../../plots/cartesian/axes\":776,\"./constants\":1056,\"fast-isnumeric\":236}],1056:[function(t,e,r){\"use strict\";e.exports={colormodel:{rgb:{min:[0,0,0],max:[255,255,255],fmt:function(t){return t.slice(0,3)},suffix:[\"\",\"\",\"\"]},rgba:{min:[0,0,0,0],max:[255,255,255,1],fmt:function(t){return t.slice(0,4)},suffix:[\"\",\"\",\"\",\"\"]},hsl:{min:[0,0,0],max:[360,100,100],fmt:function(t){var e=t.slice(0,3);return e[1]=e[1]+\"%\",e[2]=e[2]+\"%\",e},suffix:[\"\\xb0\",\"%\",\"%\"]},hsla:{min:[0,0,0,0],max:[360,100,100,1],fmt:function(t){var e=t.slice(0,4);return e[1]=e[1]+\"%\",e[2]=e[2]+\"%\",e},suffix:[\"\\xb0\",\"%\",\"%\",\"\"]}}}},{}],1057:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"./attributes\"),i=t(\"./constants\");e.exports=function(t,e){function r(r,i){return n.coerce(t,e,a,r,i)}var o=r(\"z\");if(void 0!==o&&o.length&&o[0]&&o[0].length){r(\"x0\"),r(\"y0\"),r(\"dx\"),r(\"dy\");var s=r(\"colormodel\");r(\"zmin\",i.colormodel[s].min),r(\"zmax\",i.colormodel[s].max),r(\"text\"),r(\"hovertext\"),r(\"hovertemplate\"),e._length=null}else e.visible=!1}},{\"../../lib\":728,\"./attributes\":1054,\"./constants\":1056}],1058:[function(t,e,r){\"use strict\";e.exports=function(t,e){return\"xVal\"in e&&(t.x=e.xVal),\"yVal\"in e&&(t.y=e.yVal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t.color=e.color,t.colormodel=e.trace.colormodel,t}},{}],1059:[function(t,e,r){\"use strict\";var n=t(\"../../components/fx\"),a=t(\"../../lib\"),i=t(\"./constants\");e.exports=function(t,e,r){var o=t.cd[0],s=o.trace,l=t.xa,c=t.ya;if(!(n.inbox(e-o.x0,e-(o.x0+o.w*s.dx),0)>0||n.inbox(r-o.y0,r-(o.y0+o.h*s.dy),0)>0)){var u=Math.floor((e-o.x0)/s.dx),h=Math.floor(Math.abs(r-o.y0)/s.dy);if(o.z[h][u]){var f,p=o.hi||s.hoverinfo;if(p){var d=p.split(\"+\");-1!==d.indexOf(\"all\")&&(d=[\"color\"]),-1!==d.indexOf(\"color\")&&(f=!0)}var g,m=s.colormodel,v=m.length,y=s._scaler(o.z[h][u]),x=i.colormodel[m].suffix,b=[];(s.hovertemplate||f)&&(b.push(\"[\"+[y[0]+x[0],y[1]+x[1],y[2]+x[2]].join(\", \")),4===v&&b.push(\", \"+y[3]+x[3]),b.push(\"]\"),b=b.join(\"\"),t.extraText=m.toUpperCase()+\": \"+b),Array.isArray(s.hovertext)&&Array.isArray(s.hovertext[h])?g=s.hovertext[h][u]:Array.isArray(s.text)&&Array.isArray(s.text[h])&&(g=s.text[h][u]);var _=c.c2p(o.y0+(h+.5)*s.dy),w=o.x0+(u+.5)*s.dx,T=o.y0+(h+.5)*s.dy,k=\"[\"+o.z[h][u].slice(0,s.colormodel.length).join(\", \")+\"]\";return[a.extendFlat(t,{index:[h,u],x0:l.c2p(o.x0+u*s.dx),x1:l.c2p(o.x0+(u+1)*s.dx),y0:_,y1:_,color:y,xVal:w,xLabelVal:w,yVal:T,yLabelVal:T,zLabelVal:k,text:g,hovertemplateLabels:{zLabel:k,colorLabel:b,\"color[0]Label\":y[0]+x[0],\"color[1]Label\":y[1]+x[1],\"color[2]Label\":y[2]+x[2],\"color[3]Label\":y[3]+x[3]}})]}}}},{\"../../components/fx\":635,\"../../lib\":728,\"./constants\":1056}],1060:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\"),plot:t(\"./plot\"),style:t(\"./style\"),hoverPoints:t(\"./hover\"),eventData:t(\"./event_data\"),moduleType:\"trace\",name:\"image\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"2dMap\",\"noSortingByValue\"],animatable:!1,meta:{}}},{\"../../plots/cartesian\":789,\"./attributes\":1054,\"./calc\":1055,\"./defaults\":1057,\"./event_data\":1058,\"./hover\":1059,\"./plot\":1061,\"./style\":1062}],1061:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../lib\"),i=t(\"../../constants/xmlns_namespaces\"),o=t(\"./constants\");e.exports=function(t,e,r,s){var l=e.xaxis,c=e.yaxis;a.makeTraceGroups(s,r,\"im\").each((function(t){var e,r,s,u,h,f,p=n.select(this),d=t[0],g=d.trace,m=d.z,v=d.x0,y=d.y0,x=d.w,b=d.h,_=g.dx,w=g.dy;for(f=0;void 0===e&&f<x;)e=l.c2p(v+f*_),f++;for(f=x;void 0===r&&f>0;)r=l.c2p(v+f*_),f--;for(f=0;void 0===u&&f<b;)u=c.c2p(y+f*w),f++;for(f=b;void 0===h&&f>0;)h=c.c2p(y+f*w),f--;r<e&&(s=r,r=e,e=s),h<u&&(s=u,u=h,h=s);e=Math.max(-.5*l._length,e),r=Math.min(1.5*l._length,r),u=Math.max(-.5*c._length,u),h=Math.min(1.5*c._length,h);var T=Math.round(r-e),k=Math.round(h-u);if(T<=0||k<=0){p.selectAll(\"image\").data([]).exit().remove()}else{var A=document.createElement(\"canvas\");A.width=T,A.height=k;var M,S=A.getContext(\"2d\"),E=function(t){return a.constrain(Math.round(l.c2p(v+t*_)-e),0,T)},C=function(t){return a.constrain(Math.round(c.c2p(y+t*w)-u),0,k)},L=o.colormodel[g.colormodel].fmt;for(f=0;f<d.w;f++){var P=E(f),I=E(f+1);if(I!==P&&!isNaN(I)&&!isNaN(P))for(var z=0;z<d.h;z++){var O=C(z),D=C(z+1);D===O||isNaN(D)||isNaN(O)||!m[z][f]||(M=g._scaler(m[z][f]),S.fillStyle=M?g.colormodel+\"(\"+L(M).join(\",\")+\")\":\"rgba(0,0,0,0)\",S.fillRect(P,O,I-P,D-O))}}var R=p.selectAll(\"image\").data(t);R.enter().append(\"svg:image\").attr({xmlns:i.svg,preserveAspectRatio:\"none\"}),R.attr({height:k,width:T,x:e,y:u,\"xlink:href\":A.toDataURL(\"image/png\")})}}))}},{\"../../constants/xmlns_namespaces\":705,\"../../lib\":728,\"./constants\":1056,d3:164}],1062:[function(t,e,r){\"use strict\";var n=t(\"d3\");e.exports=function(t){n.select(t).selectAll(\".im image\").style(\"opacity\",(function(t){return t.trace.opacity}))}},{d3:164}],1063:[function(t,e,r){\"use strict\";var n=t(\"../../lib/extend\").extendFlat,a=t(\"../../lib/extend\").extendDeep,i=t(\"../../plot_api/edit_types\").overrideAll,o=t(\"../../plots/font_attributes\"),s=t(\"../../components/color/attributes\"),l=t(\"../../plots/domain\").attributes,c=t(\"../../plots/cartesian/layout_attributes\"),u=t(\"../../plot_api/plot_template\").templatedArray,h=t(\"../../constants/delta.js\"),f=(t(\"../../constants/docs\").FORMAT_LINK,o({editType:\"plot\",colorEditType:\"plot\"})),p={color:{valType:\"color\",editType:\"plot\"},line:{color:{valType:\"color\",dflt:s.defaultLine,editType:\"plot\"},width:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"calc\"},thickness:{valType:\"number\",min:0,max:1,dflt:1,editType:\"plot\"},editType:\"calc\"},d={valType:\"info_array\",items:[{valType:\"number\",editType:\"plot\"},{valType:\"number\",editType:\"plot\"}],editType:\"plot\"},g=u(\"step\",a({},p,{range:d}));e.exports={mode:{valType:\"flaglist\",editType:\"calc\",flags:[\"number\",\"delta\",\"gauge\"],dflt:\"number\"},value:{valType:\"number\",editType:\"calc\",anim:!0},align:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],editType:\"plot\"},domain:l({name:\"indicator\",trace:!0,editType:\"calc\"}),title:{text:{valType:\"string\",editType:\"plot\"},align:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],editType:\"plot\"},font:n({},f,{}),editType:\"plot\"},number:{valueformat:{valType:\"string\",dflt:\"\",editType:\"plot\"},font:n({},f,{}),prefix:{valType:\"string\",dflt:\"\",editType:\"plot\"},suffix:{valType:\"string\",dflt:\"\",editType:\"plot\"},editType:\"plot\"},delta:{reference:{valType:\"number\",editType:\"calc\"},position:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"left\",\"right\"],dflt:\"bottom\",editType:\"plot\"},relative:{valType:\"boolean\",editType:\"plot\",dflt:!1},valueformat:{valType:\"string\",editType:\"plot\"},increasing:{symbol:{valType:\"string\",dflt:h.INCREASING.SYMBOL,editType:\"plot\"},color:{valType:\"color\",dflt:h.INCREASING.COLOR,editType:\"plot\"},editType:\"plot\"},decreasing:{symbol:{valType:\"string\",dflt:h.DECREASING.SYMBOL,editType:\"plot\"},color:{valType:\"color\",dflt:h.DECREASING.COLOR,editType:\"plot\"},editType:\"plot\"},font:n({},f,{}),editType:\"calc\"},gauge:{shape:{valType:\"enumerated\",editType:\"plot\",dflt:\"angular\",values:[\"angular\",\"bullet\"]},bar:a({},p,{color:{dflt:\"green\"}}),bgcolor:{valType:\"color\",editType:\"plot\"},bordercolor:{valType:\"color\",dflt:s.defaultLine,editType:\"plot\"},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},axis:i({range:d,visible:n({},c.visible,{dflt:!0}),tickmode:c.tickmode,nticks:c.nticks,tick0:c.tick0,dtick:c.dtick,tickvals:c.tickvals,ticktext:c.ticktext,ticks:n({},c.ticks,{dflt:\"outside\"}),ticklen:c.ticklen,tickwidth:c.tickwidth,tickcolor:c.tickcolor,showticklabels:c.showticklabels,tickfont:o({}),tickangle:c.tickangle,tickformat:c.tickformat,tickformatstops:c.tickformatstops,tickprefix:c.tickprefix,showtickprefix:c.showtickprefix,ticksuffix:c.ticksuffix,showticksuffix:c.showticksuffix,separatethousands:c.separatethousands,exponentformat:c.exponentformat,showexponent:c.showexponent,editType:\"plot\"},\"plot\"),steps:g,threshold:{line:{color:n({},p.line.color,{}),width:n({},p.line.width,{dflt:1}),editType:\"plot\"},thickness:n({},p.thickness,{dflt:.85}),value:{valType:\"number\",editType:\"calc\",dflt:!1},editType:\"plot\"},editType:\"plot\"}}},{\"../../components/color/attributes\":594,\"../../constants/delta.js\":698,\"../../constants/docs\":699,\"../../lib/extend\":719,\"../../plot_api/edit_types\":759,\"../../plot_api/plot_template\":766,\"../../plots/cartesian/layout_attributes\":790,\"../../plots/domain\":803,\"../../plots/font_attributes\":804}],1064:[function(t,e,r){\"use strict\";var n=t(\"../../plots/plots\");r.name=\"indicator\",r.plot=function(t,e,a,i){n.plotBasePlot(r.name,t,e,a,i)},r.clean=function(t,e,a,i){n.cleanBasePlot(r.name,t,e,a,i)}},{\"../../plots/plots\":839}],1065:[function(t,e,r){\"use strict\";e.exports={calc:function(t,e){var r=[],n=e.value;\"number\"!=typeof e._lastValue&&(e._lastValue=e.value);var a=e._lastValue,i=a;return e._hasDelta&&\"number\"==typeof e.delta.reference&&(i=e.delta.reference),r[0]={y:n,lastY:a,delta:n-i,relativeDelta:(n-i)/i},r}}},{}],1066:[function(t,e,r){\"use strict\";e.exports={defaultNumberFontSize:80,bulletNumberDomainSize:.25,bulletPadding:.025,innerRadius:.75,valueThickness:.5,titlePadding:5,horizontalPadding:10}},{}],1067:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"./attributes\"),i=t(\"../../plots/domain\").defaults,o=t(\"../../plot_api/plot_template\"),s=t(\"../../plots/array_container_defaults\"),l=t(\"./constants.js\"),c=t(\"../../plots/cartesian/tick_value_defaults\"),u=t(\"../../plots/cartesian/tick_mark_defaults\"),h=t(\"../../plots/cartesian/tick_label_defaults\");function f(t,e){function r(r,i){return n.coerce(t,e,a.gauge.steps,r,i)}r(\"color\"),r(\"line.color\"),r(\"line.width\"),r(\"range\"),r(\"thickness\")}e.exports={supplyDefaults:function(t,e,r,p){function d(r,i){return n.coerce(t,e,a,r,i)}i(e,p,d),d(\"mode\"),e._hasNumber=-1!==e.mode.indexOf(\"number\"),e._hasDelta=-1!==e.mode.indexOf(\"delta\"),e._hasGauge=-1!==e.mode.indexOf(\"gauge\");var g=d(\"value\");e._range=[0,\"number\"==typeof g?1.5*g:1];var m,v,y,x,b,_,w=new Array(2);function T(t,e){return n.coerce(y,x,a.gauge,t,e)}function k(t,e){return n.coerce(b,_,a.gauge.axis,t,e)}if(e._hasNumber&&(d(\"number.valueformat\"),d(\"number.font.color\",p.font.color),d(\"number.font.family\",p.font.family),d(\"number.font.size\"),void 0===e.number.font.size&&(e.number.font.size=l.defaultNumberFontSize,w[0]=!0),d(\"number.prefix\"),d(\"number.suffix\"),m=e.number.font.size),e._hasDelta&&(d(\"delta.font.color\",p.font.color),d(\"delta.font.family\",p.font.family),d(\"delta.font.size\"),void 0===e.delta.font.size&&(e.delta.font.size=(e._hasNumber?.5:1)*(m||l.defaultNumberFontSize),w[1]=!0),d(\"delta.reference\",e.value),d(\"delta.relative\"),d(\"delta.valueformat\",e.delta.relative?\"2%\":\"\"),d(\"delta.increasing.symbol\"),d(\"delta.increasing.color\"),d(\"delta.decreasing.symbol\"),d(\"delta.decreasing.color\"),d(\"delta.position\"),v=e.delta.font.size),e._scaleNumbers=(!e._hasNumber||w[0])&&(!e._hasDelta||w[1])||!1,d(\"title.font.color\",p.font.color),d(\"title.font.family\",p.font.family),d(\"title.font.size\",.25*(m||v||l.defaultNumberFontSize)),d(\"title.text\"),e._hasGauge){(y=t.gauge)||(y={}),x=o.newContainer(e,\"gauge\"),T(\"shape\"),(e._isBullet=\"bullet\"===e.gauge.shape)||d(\"title.align\",\"center\"),(e._isAngular=\"angular\"===e.gauge.shape)||d(\"align\",\"center\"),T(\"bgcolor\",p.paper_bgcolor),T(\"borderwidth\"),T(\"bordercolor\"),T(\"bar.color\"),T(\"bar.line.color\"),T(\"bar.line.width\"),T(\"bar.thickness\",l.valueThickness*(\"bullet\"===e.gauge.shape?.5:1)),s(y,x,{name:\"steps\",handleItemDefaults:f}),T(\"threshold.value\"),T(\"threshold.thickness\"),T(\"threshold.line.width\"),T(\"threshold.line.color\"),b={},y&&(b=y.axis||{}),_=o.newContainer(x,\"axis\"),k(\"visible\"),e._range=k(\"range\",e._range);var A={outerTicks:!0};c(b,_,k,\"linear\"),h(b,_,k,\"linear\",A),u(b,_,k,A)}else d(\"title.align\",\"center\"),d(\"align\",\"center\"),e._isAngular=e._isBullet=!1;e._length=null}}},{\"../../lib\":728,\"../../plot_api/plot_template\":766,\"../../plots/array_container_defaults\":772,\"../../plots/cartesian/tick_label_defaults\":797,\"../../plots/cartesian/tick_mark_defaults\":798,\"../../plots/cartesian/tick_value_defaults\":799,\"../../plots/domain\":803,\"./attributes\":1063,\"./constants.js\":1066}],1068:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"indicator\",basePlotModule:t(\"./base_plot\"),categories:[\"svg\",\"noOpacity\",\"noHover\"],animatable:!0,attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\").supplyDefaults,calc:t(\"./calc\").calc,plot:t(\"./plot\"),meta:{}}},{\"./attributes\":1063,\"./base_plot\":1064,\"./calc\":1065,\"./defaults\":1067,\"./plot\":1069}],1069:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../lib\"),i=a.rad2deg,o=t(\"../../constants/alignment\").MID_SHIFT,s=t(\"../../components/drawing\"),l=t(\"./constants\"),c=t(\"../../lib/svg_text_utils\"),u=t(\"../../plots/cartesian/axes\"),h=t(\"../../plots/cartesian/axis_defaults\"),f=t(\"../../plots/cartesian/position_defaults\"),p=t(\"../../plots/cartesian/layout_attributes\"),d=t(\"../../components/color\"),g={left:\"start\",center:\"middle\",right:\"end\"},m={left:0,center:.5,right:1},v=/[yzafpn\\xb5mkMGTPEZY]/;function y(t){return t&&t.duration>0}function x(t){t.each((function(t){d.stroke(n.select(this),t.line.color)})).each((function(t){d.fill(n.select(this),t.color)})).style(\"stroke-width\",(function(t){return t.line.width}))}function b(t,e,r){var n=t._fullLayout,i=a.extendFlat({type:\"linear\",ticks:\"outside\",range:r,showline:!0},e),o={type:\"linear\",_id:\"x\"+e._id},s={letter:\"x\",font:n.font,noHover:!0,noTickson:!0};function l(t,e){return a.coerce(i,o,p,t,e)}return h(i,o,l,s,n),f(i,o,l,s),o}function _(t,e){return\"translate(\"+t+\",\"+e+\")\"}function w(t,e,r){return[Math.min(e/t.width,r/t.height),t,e+\"x\"+r]}function T(t,e,r,a){var i=document.createElementNS(\"http://www.w3.org/2000/svg\",\"text\"),o=n.select(i);return o.text(t).attr(\"x\",0).attr(\"y\",0).attr(\"text-anchor\",r).attr(\"data-unformatted\",t).call(c.convertToTspans,a).call(s.font,e),s.bBox(o.node())}function k(t,e,r,n,i,o){var s=\"_cache\"+e;t[s]&&t[s].key===i||(t[s]={key:i,value:r});var l=a.aggNums(o,null,[t[s].value,n],2);return t[s].value=l,l}e.exports=function(t,e,r,h){var f,p=t._fullLayout;y(r)&&h&&(f=h()),a.makeTraceGroups(p._indicatorlayer,e,\"trace\").each((function(e){var h,A,M,S,E,C=e[0].trace,L=n.select(this),P=C._hasGauge,I=C._isAngular,z=C._isBullet,O=C.domain,D={w:p._size.w*(O.x[1]-O.x[0]),h:p._size.h*(O.y[1]-O.y[0]),l:p._size.l+p._size.w*O.x[0],r:p._size.r+p._size.w*(1-O.x[1]),t:p._size.t+p._size.h*(1-O.y[1]),b:p._size.b+p._size.h*O.y[0]},R=D.l+D.w/2,F=D.t+D.h/2,B=Math.min(D.w/2,D.h),N=l.innerRadius*B,j=C.align||\"center\";if(A=F,P){if(I&&(h=R,A=F+B/2,M=function(t){return function(t,e){var r=Math.sqrt(t.width/2*(t.width/2)+t.height*t.height);return[e/r,t,e]}(t,.9*N)}),z){var V=l.bulletPadding,U=1-l.bulletNumberDomainSize+V;h=D.l+(U+(1-U)*m[j])*D.w,M=function(t){return w(t,(l.bulletNumberDomainSize-V)*D.w,D.h)}}}else h=D.l+m[j]*D.w,M=function(t){return w(t,D.w,D.h)};!function(t,e,r,i){var o,l,h,f=r[0].trace,p=i.numbersX,x=i.numbersY,w=f.align||\"center\",A=g[w],M=i.transitionOpts,S=i.onComplete,E=a.ensureSingle(e,\"g\",\"numbers\"),C=[];f._hasNumber&&C.push(\"number\");f._hasDelta&&(C.push(\"delta\"),\"left\"===f.delta.position&&C.reverse());var L=E.selectAll(\"text\").data(C);function P(e,r,n,a){if(!e.match(\"s\")||n>=0==a>=0||r(n).slice(-1).match(v)||r(a).slice(-1).match(v))return r;var i=e.slice().replace(\"s\",\"f\").replace(/\\d+/,(function(t){return parseInt(t)-1})),o=b(t,{tickformat:i});return function(t){return Math.abs(t)<1?u.tickText(o,t).text:r(t)}}L.enter().append(\"text\"),L.attr(\"text-anchor\",(function(){return A})).attr(\"class\",(function(t){return t})).attr(\"x\",null).attr(\"y\",null).attr(\"dx\",null).attr(\"dy\",null),L.exit().remove();var I,z=f.mode+f.align;f._hasDelta&&(I=function(){var e=b(t,{tickformat:f.delta.valueformat},f._range);e.setScale(),u.prepTicks(e);var a=function(t){return u.tickText(e,t).text},i=function(t){return f.delta.relative?t.relativeDelta:t.delta},o=function(t,e){return 0===t||\"number\"!=typeof t||isNaN(t)?\"-\":(t>0?f.delta.increasing.symbol:f.delta.decreasing.symbol)+e(t)},h=function(t){return t.delta>=0?f.delta.increasing.color:f.delta.decreasing.color};void 0===f._deltaLastValue&&(f._deltaLastValue=i(r[0]));var p=E.select(\"text.delta\");function g(){p.text(o(i(r[0]),a)).call(d.fill,h(r[0])).call(c.convertToTspans,t)}return p.call(s.font,f.delta.font).call(d.fill,h({delta:f._deltaLastValue})),y(M)?p.transition().duration(M.duration).ease(M.easing).tween(\"text\",(function(){var t=n.select(this),e=i(r[0]),s=f._deltaLastValue,l=P(f.delta.valueformat,a,s,e),c=n.interpolateNumber(s,e);return f._deltaLastValue=e,function(e){t.text(o(c(e),l)),t.call(d.fill,h({delta:c(e)}))}})).each(\"end\",(function(){g(),S&&S()})).each(\"interrupt\",(function(){g(),S&&S()})):g(),l=T(o(i(r[0]),a),f.delta.font,A,t),p}(),z+=f.delta.position+f.delta.font.size+f.delta.font.family+f.delta.valueformat,z+=f.delta.increasing.symbol+f.delta.decreasing.symbol,h=l);f._hasNumber&&(!function(){var e=b(t,{tickformat:f.number.valueformat},f._range);e.setScale(),u.prepTicks(e);var a=function(t){return u.tickText(e,t).text},i=f.number.suffix,l=f.number.prefix,h=E.select(\"text.number\");function p(){var e=\"number\"==typeof r[0].y?l+a(r[0].y)+i:\"-\";h.text(e).call(s.font,f.number.font).call(c.convertToTspans,t)}y(M)?h.transition().duration(M.duration).ease(M.easing).each(\"end\",(function(){p(),S&&S()})).each(\"interrupt\",(function(){p(),S&&S()})).attrTween(\"text\",(function(){var t=n.select(this),e=n.interpolateNumber(r[0].lastY,r[0].y);f._lastValue=r[0].y;var o=P(f.number.valueformat,a,r[0].lastY,r[0].y);return function(r){t.text(l+o(e(r))+i)}})):p(),o=T(l+a(r[0].y)+i,f.number.font,A,t)}(),z+=f.number.font.size+f.number.font.family+f.number.valueformat+f.number.suffix+f.number.prefix,h=o);if(f._hasDelta&&f._hasNumber){var O,D,R=[(o.left+o.right)/2,(o.top+o.bottom)/2],F=[(l.left+l.right)/2,(l.top+l.bottom)/2],B=.75*f.delta.font.size;\"left\"===f.delta.position&&(O=k(f,\"deltaPos\",0,-1*(o.width*m[f.align]+l.width*(1-m[f.align])+B),z,Math.min),D=R[1]-F[1],h={width:o.width+l.width+B,height:Math.max(o.height,l.height),left:l.left+O,right:o.right,top:Math.min(o.top,l.top+D),bottom:Math.max(o.bottom,l.bottom+D)}),\"right\"===f.delta.position&&(O=k(f,\"deltaPos\",0,o.width*(1-m[f.align])+l.width*m[f.align]+B,z,Math.max),D=R[1]-F[1],h={width:o.width+l.width+B,height:Math.max(o.height,l.height),left:o.left,right:l.right+O,top:Math.min(o.top,l.top+D),bottom:Math.max(o.bottom,l.bottom+D)}),\"bottom\"===f.delta.position&&(O=null,D=l.height,h={width:Math.max(o.width,l.width),height:o.height+l.height,left:Math.min(o.left,l.left),right:Math.max(o.right,l.right),top:o.bottom-o.height,bottom:o.bottom+l.height}),\"top\"===f.delta.position&&(O=null,D=o.top,h={width:Math.max(o.width,l.width),height:o.height+l.height,left:Math.min(o.left,l.left),right:Math.max(o.right,l.right),top:o.bottom-o.height-l.height,bottom:o.bottom}),I.attr({dx:O,dy:D})}(f._hasNumber||f._hasDelta)&&E.attr(\"transform\",(function(){var t=i.numbersScaler(h);z+=t[2];var e,r=k(f,\"numbersScale\",1,t[0],z,Math.min);f._scaleNumbers||(r=1),e=f._isAngular?x-r*h.bottom:x-r*(h.top+h.bottom)/2,f._numbersTop=r*h.top+e;var n=h[w];\"center\"===w&&(n=(h.left+h.right)/2);var a=p-r*n;return _(a=k(f,\"numbersTranslate\",0,a,z,Math.max),e)+\" scale(\"+r+\")\"}))}(t,L,e,{numbersX:h,numbersY:A,numbersScaler:M,transitionOpts:r,onComplete:f}),P&&(S={range:C.gauge.axis.range,color:C.gauge.bgcolor,line:{color:C.gauge.bordercolor,width:0},thickness:1},E={range:C.gauge.axis.range,color:\"rgba(0, 0, 0, 0)\",line:{color:C.gauge.bordercolor,width:C.gauge.borderwidth},thickness:1});var q=L.selectAll(\"g.angular\").data(I?e:[]);q.exit().remove();var H=L.selectAll(\"g.angularaxis\").data(I?e:[]);H.exit().remove(),I&&function(t,e,r,a){var s,l,c,h,f=r[0].trace,p=a.size,d=a.radius,g=a.innerRadius,m=a.gaugeBg,v=a.gaugeOutline,w=[p.l+p.w/2,p.t+p.h/2+d/2],T=a.gauge,k=a.layer,A=a.transitionOpts,M=a.onComplete,S=Math.PI/2;function E(t){var e=f.gauge.axis.range[0],r=(t-e)/(f.gauge.axis.range[1]-e)*Math.PI-S;return r<-S?-S:r>S?S:r}function C(t){return n.svg.arc().innerRadius((g+d)/2-t/2*(d-g)).outerRadius((g+d)/2+t/2*(d-g)).startAngle(-S)}function L(t){t.attr(\"d\",(function(t){return C(t.thickness).startAngle(E(t.range[0])).endAngle(E(t.range[1]))()}))}T.enter().append(\"g\").classed(\"angular\",!0),T.attr(\"transform\",_(w[0],w[1])),k.enter().append(\"g\").classed(\"angularaxis\",!0).classed(\"crisp\",!0),k.selectAll(\"g.xangularaxistick,path,text\").remove(),(s=b(t,f.gauge.axis)).type=\"linear\",s.range=f.gauge.axis.range,s._id=\"xangularaxis\",s.setScale();var P=function(t){return(s.range[0]-t.x)/(s.range[1]-s.range[0])*Math.PI+Math.PI},I={},z=u.makeLabelFns(s,0).labelStandoff;I.xFn=function(t){var e=P(t);return Math.cos(e)*z},I.yFn=function(t){var e=P(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(z+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*o)},I.anchorFn=function(t){var e=P(t),r=Math.cos(e);return Math.abs(r)<.1?\"middle\":r>0?\"start\":\"end\"},I.heightFn=function(t,e,r){var n=P(t);return-.5*(1+Math.sin(n))*r};var O=function(t){return _(w[0]+d*Math.cos(t),w[1]-d*Math.sin(t))};c=function(t){return O(P(t))};if(l=u.calcTicks(s),h=u.getTickSigns(s)[2],s.visible){h=\"inside\"===s.ticks?-1:1;var D=(s.linewidth||1)/2;u.drawTicks(t,s,{vals:l,layer:k,path:\"M\"+h*D+\",0h\"+h*s.ticklen,transFn:function(t){var e=P(t);return O(e)+\"rotate(\"+-i(e)+\")\"}}),u.drawLabels(t,s,{vals:l,layer:k,transFn:c,labelFns:I})}var R=[m].concat(f.gauge.steps),F=T.selectAll(\"g.bg-arc\").data(R);F.enter().append(\"g\").classed(\"bg-arc\",!0).append(\"path\"),F.select(\"path\").call(L).call(x),F.exit().remove();var B=C(f.gauge.bar.thickness),N=T.selectAll(\"g.value-arc\").data([f.gauge.bar]);N.enter().append(\"g\").classed(\"value-arc\",!0).append(\"path\");var j=N.select(\"path\");y(A)?(j.transition().duration(A.duration).ease(A.easing).each(\"end\",(function(){M&&M()})).each(\"interrupt\",(function(){M&&M()})).attrTween(\"d\",(V=B,U=E(r[0].lastY),q=E(r[0].y),function(){var t=n.interpolate(U,q);return function(e){return V.endAngle(t(e))()}})),f._lastValue=r[0].y):j.attr(\"d\",\"number\"==typeof r[0].y?B.endAngle(E(r[0].y)):\"M0,0Z\");var V,U,q;j.call(x),N.exit().remove(),R=[];var H=f.gauge.threshold.value;H&&R.push({range:[H,H],color:f.gauge.threshold.color,line:{color:f.gauge.threshold.line.color,width:f.gauge.threshold.line.width},thickness:f.gauge.threshold.thickness});var G=T.selectAll(\"g.threshold-arc\").data(R);G.enter().append(\"g\").classed(\"threshold-arc\",!0).append(\"path\"),G.select(\"path\").call(L).call(x),G.exit().remove();var Y=T.selectAll(\"g.gauge-outline\").data([v]);Y.enter().append(\"g\").classed(\"gauge-outline\",!0).append(\"path\"),Y.select(\"path\").call(L).call(x),Y.exit().remove()}(t,0,e,{radius:B,innerRadius:N,gauge:q,layer:H,size:D,gaugeBg:S,gaugeOutline:E,transitionOpts:r,onComplete:f});var G=L.selectAll(\"g.bullet\").data(z?e:[]);G.exit().remove();var Y=L.selectAll(\"g.bulletaxis\").data(z?e:[]);Y.exit().remove(),z&&function(t,e,r,n){var a,i,o,s,c,h=r[0].trace,f=n.gauge,p=n.layer,g=n.gaugeBg,m=n.gaugeOutline,v=n.size,_=h.domain,w=n.transitionOpts,T=n.onComplete;f.enter().append(\"g\").classed(\"bullet\",!0),f.attr(\"transform\",\"translate(\"+v.l+\", \"+v.t+\")\"),p.enter().append(\"g\").classed(\"bulletaxis\",!0).classed(\"crisp\",!0),p.selectAll(\"g.xbulletaxistick,path,text\").remove();var k=v.h,A=h.gauge.bar.thickness*k,M=_.x[0],S=_.x[0]+(_.x[1]-_.x[0])*(h._hasNumber||h._hasDelta?1-l.bulletNumberDomainSize:1);(a=b(t,h.gauge.axis))._id=\"xbulletaxis\",a.domain=[M,S],a.setScale(),i=u.calcTicks(a),o=u.makeTransFn(a),s=u.getTickSigns(a)[2],c=v.t+v.h,a.visible&&(u.drawTicks(t,a,{vals:\"inside\"===a.ticks?u.clipEnds(a,i):i,layer:p,path:u.makeTickPath(a,c,s),transFn:o}),u.drawLabels(t,a,{vals:i,layer:p,transFn:o,labelFns:u.makeLabelFns(a,c)}));function E(t){t.attr(\"width\",(function(t){return Math.max(0,a.c2p(t.range[1])-a.c2p(t.range[0]))})).attr(\"x\",(function(t){return a.c2p(t.range[0])})).attr(\"y\",(function(t){return.5*(1-t.thickness)*k})).attr(\"height\",(function(t){return t.thickness*k}))}var C=[g].concat(h.gauge.steps),L=f.selectAll(\"g.bg-bullet\").data(C);L.enter().append(\"g\").classed(\"bg-bullet\",!0).append(\"rect\"),L.select(\"rect\").call(E).call(x),L.exit().remove();var P=f.selectAll(\"g.value-bullet\").data([h.gauge.bar]);P.enter().append(\"g\").classed(\"value-bullet\",!0).append(\"rect\"),P.select(\"rect\").attr(\"height\",A).attr(\"y\",(k-A)/2).call(x),y(w)?P.select(\"rect\").transition().duration(w.duration).ease(w.easing).each(\"end\",(function(){T&&T()})).each(\"interrupt\",(function(){T&&T()})).attr(\"width\",Math.max(0,a.c2p(Math.min(h.gauge.axis.range[1],r[0].y)))):P.select(\"rect\").attr(\"width\",\"number\"==typeof r[0].y?Math.max(0,a.c2p(Math.min(h.gauge.axis.range[1],r[0].y))):0);P.exit().remove();var I=r.filter((function(){return h.gauge.threshold.value})),z=f.selectAll(\"g.threshold-bullet\").data(I);z.enter().append(\"g\").classed(\"threshold-bullet\",!0).append(\"line\"),z.select(\"line\").attr(\"x1\",a.c2p(h.gauge.threshold.value)).attr(\"x2\",a.c2p(h.gauge.threshold.value)).attr(\"y1\",(1-h.gauge.threshold.thickness)/2*k).attr(\"y2\",(1-(1-h.gauge.threshold.thickness)/2)*k).call(d.stroke,h.gauge.threshold.line.color).style(\"stroke-width\",h.gauge.threshold.line.width),z.exit().remove();var O=f.selectAll(\"g.gauge-outline\").data([m]);O.enter().append(\"g\").classed(\"gauge-outline\",!0).append(\"rect\"),O.select(\"rect\").call(E).call(x),O.exit().remove()}(t,0,e,{gauge:G,layer:Y,size:D,gaugeBg:S,gaugeOutline:E,transitionOpts:r,onComplete:f});var W=L.selectAll(\"text.title\").data(e);W.exit().remove(),W.enter().append(\"text\").classed(\"title\",!0),W.attr(\"text-anchor\",(function(){return z?g.right:g[C.title.align]})).text(C.title.text).call(s.font,C.title.font).call(c.convertToTspans,t),W.attr(\"transform\",(function(){var t,e=D.l+D.w*m[C.title.align],r=l.titlePadding,n=s.bBox(W.node());if(P){if(I)if(C.gauge.axis.visible)t=s.bBox(H.node()).top-r-n.bottom;else t=D.t+D.h/2-B/2-n.bottom-r;z&&(t=A-(n.top+n.bottom)/2,e=D.l-l.bulletPadding*D.w)}else t=C._numbersTop-r-n.bottom;return _(e,t)}))}))}},{\"../../components/color\":595,\"../../components/drawing\":617,\"../../constants/alignment\":697,\"../../lib\":728,\"../../lib/svg_text_utils\":752,\"../../plots/cartesian/axes\":776,\"../../plots/cartesian/axis_defaults\":778,\"../../plots/cartesian/layout_attributes\":790,\"../../plots/cartesian/position_defaults\":793,\"./constants\":1066,d3:164}],1070:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/attributes\"),a=t(\"../../plots/template_attributes\").hovertemplateAttrs,i=t(\"../mesh3d/attributes\"),o=t(\"../../plots/attributes\"),s=t(\"../../lib/extend\").extendFlat,l=t(\"../../plot_api/edit_types\").overrideAll;var c=e.exports=l(s({x:{valType:\"data_array\"},y:{valType:\"data_array\"},z:{valType:\"data_array\"},value:{valType:\"data_array\"},isomin:{valType:\"number\"},isomax:{valType:\"number\"},surface:{show:{valType:\"boolean\",dflt:!0},count:{valType:\"integer\",dflt:2,min:1},fill:{valType:\"number\",min:0,max:1,dflt:1},pattern:{valType:\"flaglist\",flags:[\"A\",\"B\",\"C\",\"D\",\"E\"],extras:[\"all\",\"odd\",\"even\"],dflt:\"all\"}},spaceframe:{show:{valType:\"boolean\",dflt:!1},fill:{valType:\"number\",min:0,max:1,dflt:.15}},slices:{x:{show:{valType:\"boolean\",dflt:!1},locations:{valType:\"data_array\",dflt:[]},fill:{valType:\"number\",min:0,max:1,dflt:1}},y:{show:{valType:\"boolean\",dflt:!1},locations:{valType:\"data_array\",dflt:[]},fill:{valType:\"number\",min:0,max:1,dflt:1}},z:{show:{valType:\"boolean\",dflt:!1},locations:{valType:\"data_array\",dflt:[]},fill:{valType:\"number\",min:0,max:1,dflt:1}}},caps:{x:{show:{valType:\"boolean\",dflt:!0},fill:{valType:\"number\",min:0,max:1,dflt:1}},y:{show:{valType:\"boolean\",dflt:!0},fill:{valType:\"number\",min:0,max:1,dflt:1}},z:{show:{valType:\"boolean\",dflt:!0},fill:{valType:\"number\",min:0,max:1,dflt:1}}},text:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertemplate:a(),showlegend:s({},o.showlegend,{dflt:!1})},n(\"\",{colorAttr:\"`value`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{opacity:i.opacity,lightposition:i.lightposition,lighting:i.lighting,flatshading:i.flatshading,contour:i.contour,hoverinfo:s({},o.hoverinfo)}),\"calc\",\"nested\");c.flatshading.dflt=!0,c.lighting.facenormalsepsilon.dflt=0,c.x.editType=c.y.editType=c.z.editType=c.value.editType=\"calc+clearAxisTypes\",c.transforms=void 0},{\"../../components/colorscale/attributes\":602,\"../../lib/extend\":719,\"../../plot_api/edit_types\":759,\"../../plots/attributes\":773,\"../../plots/template_attributes\":854,\"../mesh3d/attributes\":1075}],1071:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/calc\"),a=t(\"../streamtube/calc\").processGrid,i=t(\"../streamtube/calc\").filter;e.exports=function(t,e){e._len=Math.min(e.x.length,e.y.length,e.z.length,e.value.length),e._x=i(e.x,e._len),e._y=i(e.y,e._len),e._z=i(e.z,e._len),e._value=i(e.value,e._len);var r=a(e);e._gridFill=r.fill,e._Xs=r.Xs,e._Ys=r.Ys,e._Zs=r.Zs,e._len=r.len;for(var o=1/0,s=-1/0,l=0;l<e._len;l++){var c=e._value[l];o=Math.min(o,c),s=Math.max(s,c)}e._minValues=o,e._maxValues=s,e._vMin=void 0===e.isomin||null===e.isomin?o:e.isomin,e._vMax=void 0===e.isomax||null===e.isomin?s:e.isomax,n(t,e,{vals:[e._vMin,e._vMax],containerStr:\"\",cLetter:\"c\"})}},{\"../../components/colorscale/calc\":603,\"../streamtube/calc\":1241}],1072:[function(t,e,r){\"use strict\";var n=t(\"gl-mesh3d\"),a=t(\"../../lib/gl_format_color\").parseColorScale,i=t(\"../../lib/str2rgbarray\"),o=t(\"../../components/colorscale\").extractOpts,s=t(\"../../plots/gl3d/zip3\"),l=function(t,e){for(var r=e.length-1;r>0;r--){var n=Math.min(e[r],e[r-1]),a=Math.max(e[r],e[r-1]);if(a>n&&n<t&&t<=a)return{id:r,distRatio:(a-t)/(a-n)}}return{id:0,distRatio:0}};function c(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name=\"\",this.data=null,this.showContour=!1}var u=c.prototype;u.handlePick=function(t){if(t.object===this.mesh){var e=t.data.index,r=this.data._meshX[e],n=this.data._meshY[e],a=this.data._meshZ[e],i=this.data._Ys.length,o=this.data._Zs.length,s=l(r,this.data._Xs).id,c=l(n,this.data._Ys).id,u=l(a,this.data._Zs).id,h=t.index=u+o*c+o*i*s;t.traceCoordinate=[this.data._meshX[h],this.data._meshY[h],this.data._meshZ[h],this.data._value[h]];var f=this.data.hovertext||this.data.text;return Array.isArray(f)&&void 0!==f[h]?t.textLabel=f[h]:f&&(t.textLabel=f),!0}},u.update=function(t){var e=this.scene,r=e.fullSceneLayout;function n(t,e,r,n){return e.map((function(e){return t.d2l(e,0,n)*r}))}this.data=f(t);var l={positions:s(n(r.xaxis,t._meshX,e.dataScale[0],t.xcalendar),n(r.yaxis,t._meshY,e.dataScale[1],t.ycalendar),n(r.zaxis,t._meshZ,e.dataScale[2],t.zcalendar)),cells:s(t._meshI,t._meshJ,t._meshK),lightPosition:[t.lightposition.x,t.lightposition.y,t.lightposition.z],ambient:t.lighting.ambient,diffuse:t.lighting.diffuse,specular:t.lighting.specular,roughness:t.lighting.roughness,fresnel:t.lighting.fresnel,vertexNormalsEpsilon:t.lighting.vertexnormalsepsilon,faceNormalsEpsilon:t.lighting.facenormalsepsilon,opacity:t.opacity,contourEnable:t.contour.show,contourColor:i(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading},c=o(t);l.vertexIntensity=t._meshIntensity,l.vertexIntensityBounds=[c.min,c.max],l.colormap=a(t),this.mesh.update(l)},u.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};var h=[\"xyz\",\"xzy\",\"yxz\",\"yzx\",\"zxy\",\"zyx\"];function f(t){t._meshI=[],t._meshJ=[],t._meshK=[];var e,r,n,a,i,o,s,c=t.surface.show,u=t.spaceframe.show,f=t.surface.fill,p=t.spaceframe.fill,d=!1,g=!1,m=0,v=t._Xs,y=t._Ys,x=t._Zs,b=v.length,_=y.length,w=x.length,T=h.indexOf(t._gridFill.replace(/-/g,\"\").replace(/\\+/g,\"\")),k=function(t,e,r){switch(T){case 5:return r+w*e+w*_*t;case 4:return r+w*t+w*b*e;case 3:return e+_*r+_*w*t;case 2:return e+_*t+_*b*r;case 1:return t+b*r+b*w*e;default:return t+b*e+b*_*r}},A=t._minValues,M=t._maxValues,S=t._vMin,E=t._vMax;function C(t,e,s){for(var l=o.length,c=r;c<l;c++)if(t===n[c]&&e===a[c]&&s===i[c])return c;return-1}function L(){r=e}function P(){n=[],a=[],i=[],o=[],e=0,L()}function I(t,r,s,l){return n.push(t),a.push(r),i.push(s),o.push(l),++e-1}function z(t,e,r){for(var n=[],a=0;a<t.length;a++)n[a]=t[a]*(1-r)+r*e[a];return n}function O(t){s=t}function D(t,e){return\"all\"===t||null===t||t.indexOf(e)>-1}function R(t,e){return null===t?e:t}function F(e,r,n){L();var a,i,o,l=[r],c=[n];if(s>=1)l=[r],c=[n];else if(s>0){var u=function(t,e){var r=t[0],n=t[1],a=t[2],i=function(t,e,r){for(var n=[],a=0;a<t.length;a++)n[a]=(t[a]+e[a]+r[a])/3;return n}(r,n,a),o=Math.sqrt(1-s),l=z(i,r,o),c=z(i,n,o),u=z(i,a,o),h=e[0],f=e[1],p=e[2];return{xyzv:[[r,n,c],[c,l,r],[n,a,u],[u,c,n],[a,r,l],[l,u,a]],abc:[[h,f,-1],[-1,-1,h],[f,p,-1],[-1,-1,f],[p,h,-1],[-1,-1,p]]}}(r,n);l=u.xyzv,c=u.abc}for(var h=0;h<l.length;h++){r=l[h],n=c[h];for(var f=[],p=0;p<3;p++){var d=r[p][0],g=r[p][1],v=r[p][2],y=r[p][3],x=n[p]>-1?n[p]:C(d,g,v);f[p]=x>-1?x:I(d,g,v,R(e,y))}a=f[0],i=f[1],o=f[2],t._meshI.push(a),t._meshJ.push(i),t._meshK.push(o),++m}}function B(t,e,r,n){var a=t[3];a<r&&(a=r),a>n&&(a=n);for(var i=(t[3]-a)/(t[3]-e[3]+1e-9),o=[],s=0;s<4;s++)o[s]=(1-i)*t[s]+i*e[s];return o}function N(t,e,r){return t>=e&&t<=r}function j(t){var e=.001*(E-S);return t>=S-e&&t<=E+e}function V(e){for(var r=[],n=0;n<4;n++){var a=e[n];r.push([t._x[a],t._y[a],t._z[a],t._value[a]])}return r}function U(t,e,r,n,a,i){i||(i=1),r=[-1,-1,-1];var o=!1,s=[N(e[0][3],n,a),N(e[1][3],n,a),N(e[2][3],n,a)];if(!s[0]&&!s[1]&&!s[2])return!1;var l=function(t,e,r){return j(e[0][3])&&j(e[1][3])&&j(e[2][3])?(F(t,e,r),!0):i<3&&U(t,e,r,S,E,++i)};if(s[0]&&s[1]&&s[2])return l(t,e,r)||o;var c=!1;return[[0,1,2],[2,0,1],[1,2,0]].forEach((function(i){if(s[i[0]]&&s[i[1]]&&!s[i[2]]){var u=e[i[0]],h=e[i[1]],f=e[i[2]],p=B(f,u,n,a),d=B(f,h,n,a);o=l(t,[d,p,u],[-1,-1,r[i[0]]])||o,o=l(t,[u,h,d],[r[i[0]],r[i[1]],-1])||o,c=!0}})),c||[[0,1,2],[1,2,0],[2,0,1]].forEach((function(i){if(s[i[0]]&&!s[i[1]]&&!s[i[2]]){var u=e[i[0]],h=e[i[1]],f=e[i[2]],p=B(h,u,n,a),d=B(f,u,n,a);o=l(t,[d,p,u],[-1,-1,r[i[0]]])||o,c=!0}})),o}function q(t,e,r,n){var a=!1,i=V(e),o=[N(i[0][3],r,n),N(i[1][3],r,n),N(i[2][3],r,n),N(i[3][3],r,n)];if(!(o[0]||o[1]||o[2]||o[3]))return a;if(o[0]&&o[1]&&o[2]&&o[3])return g&&(a=function(t,e,r){var n=function(n,a,i){F(t,[e[n],e[a],e[i]],[r[n],r[a],r[i]])};n(0,1,2),n(3,0,1),n(2,3,0),n(1,2,3)}(t,i,e)||a),a;var s=!1;return[[0,1,2,3],[3,0,1,2],[2,3,0,1],[1,2,3,0]].forEach((function(l){if(o[l[0]]&&o[l[1]]&&o[l[2]]&&!o[l[3]]){var c=i[l[0]],u=i[l[1]],h=i[l[2]],f=i[l[3]];if(g)a=F(t,[c,u,h],[e[l[0]],e[l[1]],e[l[2]]])||a;else{var p=B(f,c,r,n),d=B(f,u,r,n),m=B(f,h,r,n);a=F(null,[p,d,m],[-1,-1,-1])||a}s=!0}})),s?a:([[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2],[0,2,3,1],[1,3,2,0]].forEach((function(l){if(o[l[0]]&&o[l[1]]&&!o[l[2]]&&!o[l[3]]){var c=i[l[0]],u=i[l[1]],h=i[l[2]],f=i[l[3]],p=B(h,c,r,n),d=B(h,u,r,n),m=B(f,u,r,n),v=B(f,c,r,n);g?(a=F(t,[c,v,p],[e[l[0]],-1,-1])||a,a=F(t,[u,d,m],[e[l[1]],-1,-1])||a):a=function(t,e,r){var n=function(n,a,i){F(t,[e[n],e[a],e[i]],[r[n],r[a],r[i]])};n(0,1,2),n(2,3,0)}(null,[p,d,m,v],[-1,-1,-1,-1])||a,s=!0}})),s||[[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2]].forEach((function(l){if(o[l[0]]&&!o[l[1]]&&!o[l[2]]&&!o[l[3]]){var c=i[l[0]],u=i[l[1]],h=i[l[2]],f=i[l[3]],p=B(u,c,r,n),d=B(h,c,r,n),m=B(f,c,r,n);g?(a=F(t,[c,p,d],[e[l[0]],-1,-1])||a,a=F(t,[c,d,m],[e[l[0]],-1,-1])||a,a=F(t,[c,m,p],[e[l[0]],-1,-1])||a):a=F(null,[p,d,m],[-1,-1,-1])||a,s=!0}})),a)}function H(t,e,r,n,a,i,o,s,l,c,u){var h=!1;return d&&(D(t,\"A\")&&(h=q(null,[e,r,n,i],c,u)||h),D(t,\"B\")&&(h=q(null,[r,n,a,l],c,u)||h),D(t,\"C\")&&(h=q(null,[r,i,o,l],c,u)||h),D(t,\"D\")&&(h=q(null,[n,i,s,l],c,u)||h),D(t,\"E\")&&(h=q(null,[r,n,i,l],c,u)||h)),g&&(h=q(t,[r,n,i,l],c,u)||h),h}function G(t,e,r,n,a,i,o,s){return[!0===s[0]||U(t,V([e,r,n]),[e,r,n],i,o),!0===s[1]||U(t,V([n,a,e]),[n,a,e],i,o)]}function Y(t,e,r,n,a,i,o,s,l){return s?G(t,e,r,a,n,i,o,l):G(t,r,a,n,e,i,o,l)}function W(t,e,r,n,a,i,o){var s,l,c,u,h=!1,f=function(){h=U(t,[s,l,c],[-1,-1,-1],a,i)||h,h=U(t,[c,u,s],[-1,-1,-1],a,i)||h},p=o[0],d=o[1],g=o[2];return p&&(s=z(V([k(e,r-0,n-0)])[0],V([k(e-1,r-0,n-0)])[0],p),l=z(V([k(e,r-0,n-1)])[0],V([k(e-1,r-0,n-1)])[0],p),c=z(V([k(e,r-1,n-1)])[0],V([k(e-1,r-1,n-1)])[0],p),u=z(V([k(e,r-1,n-0)])[0],V([k(e-1,r-1,n-0)])[0],p),f()),d&&(s=z(V([k(e-0,r,n-0)])[0],V([k(e-0,r-1,n-0)])[0],d),l=z(V([k(e-0,r,n-1)])[0],V([k(e-0,r-1,n-1)])[0],d),c=z(V([k(e-1,r,n-1)])[0],V([k(e-1,r-1,n-1)])[0],d),u=z(V([k(e-1,r,n-0)])[0],V([k(e-1,r-1,n-0)])[0],d),f()),g&&(s=z(V([k(e-0,r-0,n)])[0],V([k(e-0,r-0,n-1)])[0],g),l=z(V([k(e-0,r-1,n)])[0],V([k(e-0,r-1,n-1)])[0],g),c=z(V([k(e-1,r-1,n)])[0],V([k(e-1,r-1,n-1)])[0],g),u=z(V([k(e-1,r-0,n)])[0],V([k(e-1,r-0,n-1)])[0],g),f()),h}function Z(t,e,r,n,a,i,o,s,l,c,u,h){var f=t;return h?(d&&\"even\"===t&&(f=null),H(f,e,r,n,a,i,o,s,l,c,u)):(d&&\"odd\"===t&&(f=null),H(f,l,s,o,i,a,n,r,e,c,u))}function X(t,e,r,n,a){for(var i=[],o=0,s=0;s<e.length;s++)for(var l=e[s],c=1;c<w;c++)for(var u=1;u<_;u++)i.push(Y(t,k(l,u-1,c-1),k(l,u-1,c),k(l,u,c-1),k(l,u,c),r,n,(l+u+c)%2,a&&a[o]?a[o]:[])),o++;return i}function J(t,e,r,n,a){for(var i=[],o=0,s=0;s<e.length;s++)for(var l=e[s],c=1;c<b;c++)for(var u=1;u<w;u++)i.push(Y(t,k(c-1,l,u-1),k(c,l,u-1),k(c-1,l,u),k(c,l,u),r,n,(c+l+u)%2,a&&a[o]?a[o]:[])),o++;return i}function K(t,e,r,n,a){for(var i=[],o=0,s=0;s<e.length;s++)for(var l=e[s],c=1;c<_;c++)for(var u=1;u<b;u++)i.push(Y(t,k(u-1,c-1,l),k(u-1,c,l),k(u,c-1,l),k(u,c,l),r,n,(u+c+l)%2,a&&a[o]?a[o]:[])),o++;return i}function Q(t,e,r){for(var n=1;n<w;n++)for(var a=1;a<_;a++)for(var i=1;i<b;i++)Z(t,k(i-1,a-1,n-1),k(i-1,a-1,n),k(i-1,a,n-1),k(i-1,a,n),k(i,a-1,n-1),k(i,a-1,n),k(i,a,n-1),k(i,a,n),e,r,(i+a+n)%2)}function $(t,e,r){d=!0,Q(t,e,r),d=!1}function tt(t,e,r,n,a,i){for(var o=[],s=0,l=0;l<e.length;l++)for(var c=e[l],u=1;u<w;u++)for(var h=1;h<_;h++)o.push(W(t,c,h,u,r,n,a[l],i&&i[s]&&i[s])),s++;return o}function et(t,e,r,n,a,i){for(var o=[],s=0,l=0;l<e.length;l++)for(var c=e[l],u=1;u<b;u++)for(var h=1;h<w;h++)o.push(W(t,u,c,h,r,n,a[l],i&&i[s]&&i[s])),s++;return o}function rt(t,e,r,n,a,i){for(var o=[],s=0,l=0;l<e.length;l++)for(var c=e[l],u=1;u<_;u++)for(var h=1;h<b;h++)o.push(W(t,h,u,c,r,n,a[l],i&&i[s]&&i[s])),s++;return o}function nt(t,e){for(var r=[],n=t;n<e;n++)r.push(n);return r}return function(){if(P(),function(){for(var e=0;e<b;e++)for(var r=0;r<_;r++)for(var n=0;n<w;n++){var a=k(e,r,n);I(t._x[a],t._y[a],t._z[a],t._value[a])}}(),u&&p&&(O(p),g=!0,Q(null,S,E),g=!1),c&&f){O(f);for(var e=t.surface.pattern,r=t.surface.count,s=0;s<r;s++){var h=1===r?.5:s/(r-1),d=(1-h)*S+h*E,T=Math.abs(d-A)>Math.abs(d-M)?[A,d]:[d,M];$(e,T[0],T[1])}}var C=[[Math.min(S,M),Math.max(S,M)],[Math.min(A,E),Math.max(A,E)]];[\"x\",\"y\",\"z\"].forEach((function(e){for(var r=[],n=0;n<C.length;n++){var a=0,i=C[n][0],o=C[n][1],s=t.slices[e];if(s.show&&s.fill){O(s.fill);var c=[],u=[],h=[];if(s.locations.length)for(var f=0;f<s.locations.length;f++){var p=l(s.locations[f],\"x\"===e?v:\"y\"===e?y:x);0===p.distRatio?c.push(p.id):p.id>0&&(u.push(p.id),\"x\"===e?h.push([p.distRatio,0,0]):\"y\"===e?h.push([0,p.distRatio,0]):h.push([0,0,p.distRatio]))}else c=nt(1,\"x\"===e?b-1:\"y\"===e?_-1:w-1);u.length>0&&(r[a]=\"x\"===e?tt(null,u,i,o,h,r[a]):\"y\"===e?et(null,u,i,o,h,r[a]):rt(null,u,i,o,h,r[a]),a++),c.length>0&&(r[a]=\"x\"===e?X(null,c,i,o,r[a]):\"y\"===e?J(null,c,i,o,r[a]):K(null,c,i,o,r[a]),a++)}var d=t.caps[e];d.show&&d.fill&&(O(d.fill),r[a]=\"x\"===e?X(null,[0,b-1],i,o,r[a]):\"y\"===e?J(null,[0,_-1],i,o,r[a]):K(null,[0,w-1],i,o,r[a]),a++)}})),0===m&&P(),t._meshX=n,t._meshY=a,t._meshZ=i,t._meshIntensity=o,t._Xs=v,t._Ys=y,t._Zs=x}(),t}e.exports={findNearestOnAxis:l,generateIsoMeshes:f,createIsosurfaceTrace:function(t,e){var r=t.glplot.gl,a=n({gl:r}),i=new c(t,a,e.uid);return a._trace=i,i.update(e),t.glplot.add(a),i}}},{\"../../components/colorscale\":607,\"../../lib/gl_format_color\":725,\"../../lib/str2rgbarray\":751,\"../../plots/gl3d/zip3\":829,\"gl-mesh3d\":287}],1073:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../registry\"),i=t(\"./attributes\"),o=t(\"../../components/colorscale/defaults\");function s(t,e,r,n,i){var s=i(\"isomin\"),l=i(\"isomax\");null!=l&&null!=s&&s>l&&(e.isomin=null,e.isomax=null);var c=i(\"x\"),u=i(\"y\"),h=i(\"z\"),f=i(\"value\");c&&c.length&&u&&u.length&&h&&h.length&&f&&f.length?(a.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\",\"z\"],n),[\"x\",\"y\",\"z\"].forEach((function(t){var e=\"caps.\"+t;i(e+\".show\")&&i(e+\".fill\");var r=\"slices.\"+t;i(r+\".show\")&&(i(r+\".fill\"),i(r+\".locations\"))})),i(\"spaceframe.show\")&&i(\"spaceframe.fill\"),i(\"surface.show\")&&(i(\"surface.count\"),i(\"surface.fill\"),i(\"surface.pattern\")),i(\"contour.show\")&&(i(\"contour.color\"),i(\"contour.width\")),[\"text\",\"hovertext\",\"hovertemplate\",\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lighting.vertexnormalsepsilon\",\"lighting.facenormalsepsilon\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"flatshading\",\"opacity\"].forEach((function(t){i(t)})),o(t,e,n,i,{prefix:\"\",cLetter:\"c\"}),e._length=null):e.visible=!1}e.exports={supplyDefaults:function(t,e,r,a){s(t,e,r,a,(function(r,a){return n.coerce(t,e,i,r,a)}))},supplyIsoDefaults:s}},{\"../../components/colorscale/defaults\":605,\"../../lib\":728,\"../../registry\":859,\"./attributes\":1070}],1074:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\").supplyDefaults,calc:t(\"./calc\"),colorbar:{min:\"cmin\",max:\"cmax\"},plot:t(\"./convert\").createIsosurfaceTrace,moduleType:\"trace\",name:\"isosurface\",basePlotModule:t(\"../../plots/gl3d\"),categories:[\"gl3d\",\"showLegend\"],meta:{}}},{\"../../plots/gl3d\":818,\"./attributes\":1070,\"./calc\":1071,\"./convert\":1072,\"./defaults\":1073}],1075:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/attributes\"),a=t(\"../../plots/template_attributes\").hovertemplateAttrs,i=t(\"../surface/attributes\"),o=t(\"../../plots/attributes\"),s=t(\"../../lib/extend\").extendFlat;e.exports=s({x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},z:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},i:{valType:\"data_array\",editType:\"calc\"},j:{valType:\"data_array\",editType:\"calc\"},k:{valType:\"data_array\",editType:\"calc\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertemplate:a({editType:\"calc\"}),delaunayaxis:{valType:\"enumerated\",values:[\"x\",\"y\",\"z\"],dflt:\"z\",editType:\"calc\"},alphahull:{valType:\"number\",dflt:-1,editType:\"calc\"},intensity:{valType:\"data_array\",editType:\"calc\"},intensitymode:{valType:\"enumerated\",values:[\"vertex\",\"cell\"],dflt:\"vertex\",editType:\"calc\"},color:{valType:\"color\",editType:\"calc\"},vertexcolor:{valType:\"data_array\",editType:\"calc\"},facecolor:{valType:\"data_array\",editType:\"calc\"},transforms:void 0},n(\"\",{colorAttr:\"`intensity`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{opacity:i.opacity,flatshading:{valType:\"boolean\",dflt:!1,editType:\"calc\"},contour:{show:s({},i.contours.x.show,{}),color:i.contours.x.color,width:i.contours.x.width,editType:\"calc\"},lightposition:{x:s({},i.lightposition.x,{dflt:1e5}),y:s({},i.lightposition.y,{dflt:1e5}),z:s({},i.lightposition.z,{dflt:0}),editType:\"calc\"},lighting:s({vertexnormalsepsilon:{valType:\"number\",min:0,max:1,dflt:1e-12,editType:\"calc\"},facenormalsepsilon:{valType:\"number\",min:0,max:1,dflt:1e-6,editType:\"calc\"},editType:\"calc\"},i.lighting),hoverinfo:s({},o.hoverinfo,{editType:\"calc\"}),showlegend:s({},o.showlegend,{dflt:!1})})},{\"../../components/colorscale/attributes\":602,\"../../lib/extend\":719,\"../../plots/attributes\":773,\"../../plots/template_attributes\":854,\"../surface/attributes\":1257}],1076:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/calc\");e.exports=function(t,e){e.intensity&&n(t,e,{vals:e.intensity,containerStr:\"\",cLetter:\"c\"})}},{\"../../components/colorscale/calc\":603}],1077:[function(t,e,r){\"use strict\";var n=t(\"gl-mesh3d\"),a=t(\"delaunay-triangulate\"),i=t(\"alpha-shape\"),o=t(\"convex-hull\"),s=t(\"../../lib/gl_format_color\").parseColorScale,l=t(\"../../lib/str2rgbarray\"),c=t(\"../../components/colorscale\").extractOpts,u=t(\"../../plots/gl3d/zip3\");function h(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name=\"\",this.color=\"#fff\",this.data=null,this.showContour=!1}var f=h.prototype;function p(t){for(var e=[],r=t.length,n=0;n<r;n++)e[n]=l(t[n]);return e}function d(t,e,r,n){for(var a=[],i=e.length,o=0;o<i;o++)a[o]=t.d2l(e[o],0,n)*r;return a}function g(t){for(var e=[],r=t.length,n=0;n<r;n++)e[n]=Math.round(t[n]);return e}function m(t,e){for(var r=t.length,n=0;n<r;n++)if(t[n]<=-.5||t[n]>=e-.5)return!1;return!0}f.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;t.data._cellCenter?t.traceCoordinate=t.data.dataCoordinate:t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]];var r=this.data.hovertext||this.data.text;return Array.isArray(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!0}},f.update=function(t){var e=this.scene,r=e.fullSceneLayout;this.data=t;var n,h=t.x.length,f=u(d(r.xaxis,t.x,e.dataScale[0],t.xcalendar),d(r.yaxis,t.y,e.dataScale[1],t.ycalendar),d(r.zaxis,t.z,e.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k){if(t.i.length!==t.j.length||t.j.length!==t.k.length||!m(t.i,h)||!m(t.j,h)||!m(t.k,h))return;n=u(g(t.i),g(t.j),g(t.k))}else n=0===t.alphahull?o(f):t.alphahull>0?i(t.alphahull,f):function(t,e){for(var r=[\"x\",\"y\",\"z\"].indexOf(t),n=[],i=e.length,o=0;o<i;o++)n[o]=[e[o][(r+1)%3],e[o][(r+2)%3]];return a(n)}(t.delaunayaxis,f);var v={positions:f,cells:n,lightPosition:[t.lightposition.x,t.lightposition.y,t.lightposition.z],ambient:t.lighting.ambient,diffuse:t.lighting.diffuse,specular:t.lighting.specular,roughness:t.lighting.roughness,fresnel:t.lighting.fresnel,vertexNormalsEpsilon:t.lighting.vertexnormalsepsilon,faceNormalsEpsilon:t.lighting.facenormalsepsilon,opacity:t.opacity,contourEnable:t.contour.show,contourColor:l(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading};if(t.intensity){var y=c(t);this.color=\"#fff\";var x=t.intensitymode;v[x+\"Intensity\"]=t.intensity,v[x+\"IntensityBounds\"]=[y.min,y.max],v.colormap=s(t)}else t.vertexcolor?(this.color=t.vertexcolor[0],v.vertexColors=p(t.vertexcolor)):t.facecolor?(this.color=t.facecolor[0],v.cellColors=p(t.facecolor)):(this.color=t.color,v.meshColor=l(t.color));this.mesh.update(v)},f.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,a=n({gl:r}),i=new h(t,a,e.uid);return a._trace=i,i.update(e),t.glplot.add(a),i}},{\"../../components/colorscale\":607,\"../../lib/gl_format_color\":725,\"../../lib/str2rgbarray\":751,\"../../plots/gl3d/zip3\":829,\"alpha-shape\":67,\"convex-hull\":132,\"delaunay-triangulate\":166,\"gl-mesh3d\":287}],1078:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),a=t(\"../../lib\"),i=t(\"../../components/colorscale/defaults\"),o=t(\"./attributes\");e.exports=function(t,e,r,s){function l(r,n){return a.coerce(t,e,o,r,n)}function c(t){var e=t.map((function(t){var e=l(t);return e&&a.isArrayOrTypedArray(e)?e:null}));return e.every((function(t){return t&&t.length===e[0].length}))&&e}c([\"x\",\"y\",\"z\"])?(c([\"i\",\"j\",\"k\"]),(!e.i||e.j&&e.k)&&(!e.j||e.k&&e.i)&&(!e.k||e.i&&e.j)?(n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\",\"z\"],s),[\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lighting.vertexnormalsepsilon\",\"lighting.facenormalsepsilon\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"flatshading\",\"alphahull\",\"delaunayaxis\",\"opacity\"].forEach((function(t){l(t)})),l(\"contour.show\")&&(l(\"contour.color\"),l(\"contour.width\")),\"intensity\"in t?(l(\"intensity\"),l(\"intensitymode\"),i(t,e,s,l,{prefix:\"\",cLetter:\"c\"})):(e.showscale=!1,\"facecolor\"in t?l(\"facecolor\"):\"vertexcolor\"in t?l(\"vertexcolor\"):l(\"color\",r)),l(\"text\"),l(\"hovertext\"),l(\"hovertemplate\"),e._length=null):e.visible=!1):e.visible=!1}},{\"../../components/colorscale/defaults\":605,\"../../lib\":728,\"../../registry\":859,\"./attributes\":1075}],1079:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\"),colorbar:{min:\"cmin\",max:\"cmax\"},plot:t(\"./convert\"),moduleType:\"trace\",name:\"mesh3d\",basePlotModule:t(\"../../plots/gl3d\"),categories:[\"gl3d\",\"showLegend\"],meta:{}}},{\"../../plots/gl3d\":818,\"./attributes\":1075,\"./calc\":1076,\"./convert\":1077,\"./defaults\":1078}],1080:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").extendFlat,a=t(\"../scatter/attributes\"),i=t(\"../../components/drawing/attributes\").dash,o=t(\"../../components/fx/attributes\"),s=t(\"../../constants/delta.js\"),l=s.INCREASING.COLOR,c=s.DECREASING.COLOR,u=a.line;function h(t){return{line:{color:n({},u.color,{dflt:t}),width:u.width,dash:i,editType:\"style\"},editType:\"style\"}}e.exports={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},open:{valType:\"data_array\",editType:\"calc\"},high:{valType:\"data_array\",editType:\"calc\"},low:{valType:\"data_array\",editType:\"calc\"},close:{valType:\"data_array\",editType:\"calc\"},line:{width:n({},u.width,{}),dash:n({},i,{}),editType:\"style\"},increasing:h(l),decreasing:h(c),text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},tickwidth:{valType:\"number\",min:0,max:.5,dflt:.3,editType:\"calc\"},hoverlabel:n({},o.hoverlabel,{split:{valType:\"boolean\",dflt:!1,editType:\"style\"}})}},{\"../../components/drawing/attributes\":616,\"../../components/fx/attributes\":626,\"../../constants/delta.js\":698,\"../../lib\":728,\"../scatter/attributes\":1134}],1081:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=n._,i=t(\"../../plots/cartesian/axes\"),o=t(\"../../constants/numerical\").BADNUM;function s(t,e,r,n){return{o:t,h:e,l:r,c:n}}function l(t,e,r,s,l){for(var c=s.makeCalcdata(e,\"open\"),u=s.makeCalcdata(e,\"high\"),h=s.makeCalcdata(e,\"low\"),f=s.makeCalcdata(e,\"close\"),p=Array.isArray(e.text),d=Array.isArray(e.hovertext),g=!0,m=null,v=[],y=0;y<r.length;y++){var x=r[y],b=c[y],_=u[y],w=h[y],T=f[y];if(x!==o&&b!==o&&_!==o&&w!==o&&T!==o){T===b?null!==m&&T!==m&&(g=T>m):g=T>b,m=T;var k=l(b,_,w,T);k.pos=x,k.yc=(b+T)/2,k.i=y,k.dir=g?\"increasing\":\"decreasing\",k.x=k.pos,k.y=[w,_],p&&(k.tx=e.text[y]),d&&(k.htx=e.hovertext[y]),v.push(k)}else v.push({pos:x,empty:!0})}return e._extremes[s._id]=i.findExtremes(s,n.concat(h,u),{padded:!0}),v.length&&(v[0].t={labels:{open:a(t,\"open:\")+\" \",high:a(t,\"high:\")+\" \",low:a(t,\"low:\")+\" \",close:a(t,\"close:\")+\" \"}}),v}e.exports={calc:function(t,e){var r=i.getFromId(t,e.xaxis),a=i.getFromId(t,e.yaxis),o=function(t,e,r){var a=r._minDiff;if(!a){var i,o=t._fullData,s=[];for(a=1/0,i=0;i<o.length;i++){var l=o[i];if(\"ohlc\"===l.type&&!0===l.visible&&l.xaxis===e._id){s.push(l);var c=e.makeCalcdata(l,\"x\");l._xcalc=c;var u=n.distinctVals(c).minDiff;u&&isFinite(u)&&(a=Math.min(a,u))}}for(a===1/0&&(a=1),i=0;i<s.length;i++)s[i]._minDiff=a}return a*r.tickwidth}(t,r,e),c=e._minDiff;e._minDiff=null;var u=e._xcalc;e._xcalc=null;var h=l(t,e,u,a,s);return e._extremes[r._id]=i.findExtremes(r,u,{vpad:c/2}),h.length?(n.extendFlat(h[0].t,{wHover:c/2,tickLen:o}),h):[{t:{empty:!0}}]},calcCommon:l}},{\"../../constants/numerical\":704,\"../../lib\":728,\"../../plots/cartesian/axes\":776}],1082:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"./ohlc_defaults\"),i=t(\"./attributes\");function o(t,e,r,n){r(n+\".line.color\"),r(n+\".line.width\",e.line.width),r(n+\".line.dash\",e.line.dash)}e.exports=function(t,e,r,s){function l(r,a){return n.coerce(t,e,i,r,a)}a(t,e,l,s)?(l(\"line.width\"),l(\"line.dash\"),o(t,e,l,\"increasing\"),o(t,e,l,\"decreasing\"),l(\"text\"),l(\"hovertext\"),l(\"tickwidth\"),s._requestRangeslider[e.xaxis]=!0):e.visible=!1}},{\"../../lib\":728,\"./attributes\":1080,\"./ohlc_defaults\":1085}],1083:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),a=t(\"../../lib\"),i=t(\"../../components/fx\"),o=t(\"../../components/color\"),s=t(\"../../lib\").fillText,l=t(\"../../constants/delta.js\"),c={increasing:l.INCREASING.SYMBOL,decreasing:l.DECREASING.SYMBOL};function u(t,e,r,n){var a,s,l=t.cd,c=t.xa,u=l[0].trace,h=l[0].t,f=u.type,p=\"ohlc\"===f?\"l\":\"min\",d=\"ohlc\"===f?\"h\":\"max\",g=h.bPos||0,m=h.bdPos||h.tickLen,v=h.wHover,y=Math.min(1,m/Math.abs(c.r2c(c.range[1])-c.r2c(c.range[0])));function x(t){var r=function(t){return t.pos+g-e}(t);return i.inbox(r-v,r+v,a)}function b(t){var e=t[p],n=t[d];return e===n||i.inbox(e-r,n-r,a)}function _(t){return(x(t)+b(t))/2}a=t.maxHoverDistance-y,s=t.maxSpikeDistance-y;var w=i.getDistanceFunction(n,x,b,_);if(i.getClosest(l,w,t),!1===t.index)return null;var T=l[t.index];if(T.empty)return null;var k=u[T.dir],A=k.line.color;return o.opacity(A)&&k.line.width?t.color=A:t.color=k.fillcolor,t.x0=c.c2p(T.pos+g-m,!0),t.x1=c.c2p(T.pos+g+m,!0),t.xLabelVal=T.pos,t.spikeDistance=_(T)*s/a,t.xSpike=c.c2p(T.pos,!0),t}function h(t,e,r,i){var o=t.cd,s=t.ya,l=o[0].trace,c=o[0].t,h=[],f=u(t,e,r,i);if(!f)return[];var p=o[f.index].hi||l.hoverinfo,d=p.split(\"+\");if(!(\"all\"===p||-1!==d.indexOf(\"y\")))return[];for(var g=[\"high\",\"open\",\"close\",\"low\"],m={},v=0;v<g.length;v++){var y,x=g[v],b=l[x][f.index],_=s.c2p(b,!0);b in m?(y=m[b]).yLabel+=\"<br>\"+c.labels[x]+n.hoverLabelText(s,b):((y=a.extendFlat({},f)).y0=y.y1=_,y.yLabelVal=b,y.yLabel=c.labels[x]+n.hoverLabelText(s,b),y.name=\"\",h.push(y),m[b]=y)}return h}function f(t,e,r,a){var i=t.cd,o=t.ya,l=i[0].trace,h=i[0].t,f=u(t,e,r,a);if(!f)return[];var p=i[f.index],d=f.index=p.i,g=p.dir;function m(t){return h.labels[t]+n.hoverLabelText(o,l[t][d])}var v=p.hi||l.hoverinfo,y=v.split(\"+\"),x=\"all\"===v,b=x||-1!==y.indexOf(\"y\"),_=x||-1!==y.indexOf(\"text\"),w=b?[m(\"open\"),m(\"high\"),m(\"low\"),m(\"close\")+\"  \"+c[g]]:[];return _&&s(p,l,w),f.extraText=w.join(\"<br>\"),f.y0=f.y1=o.c2p(p.yc,!0),[f]}e.exports={hoverPoints:function(t,e,r,n){return t.cd[0].trace.hoverlabel.split?h(t,e,r,n):f(t,e,r,n)},hoverSplit:h,hoverOnPoints:f}},{\"../../components/color\":595,\"../../components/fx\":635,\"../../constants/delta.js\":698,\"../../lib\":728,\"../../plots/cartesian/axes\":776}],1084:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"ohlc\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"showLegend\"],meta:{},attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\").calc,plot:t(\"./plot\"),style:t(\"./style\"),hoverPoints:t(\"./hover\").hoverPoints,selectPoints:t(\"./select\")}},{\"../../plots/cartesian\":789,\"./attributes\":1080,\"./calc\":1081,\"./defaults\":1082,\"./hover\":1083,\"./plot\":1086,\"./select\":1087,\"./style\":1088}],1085:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),a=t(\"../../lib\");e.exports=function(t,e,r,i){var o=r(\"x\"),s=r(\"open\"),l=r(\"high\"),c=r(\"low\"),u=r(\"close\");if(r(\"hoverlabel.split\"),n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\"],i),s&&l&&c&&u){var h=Math.min(s.length,l.length,c.length,u.length);return o&&(h=Math.min(h,a.minRowLength(o))),e._length=h,h}}},{\"../../lib\":728,\"../../registry\":859}],1086:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../lib\");e.exports=function(t,e,r,i){var o=e.yaxis,s=e.xaxis,l=!!s.rangebreaks;a.makeTraceGroups(i,r,\"trace ohlc\").each((function(t){var e=n.select(this),r=t[0],i=r.t;if(!0!==r.trace.visible||i.empty)e.remove();else{var c=i.tickLen,u=e.selectAll(\"path\").data(a.identity);u.enter().append(\"path\"),u.exit().remove(),u.attr(\"d\",(function(t){if(t.empty)return\"M0,0Z\";var e=s.c2p(t.pos-c,!0),r=s.c2p(t.pos+c,!0),n=l?(e+r)/2:s.c2p(t.pos,!0);return\"M\"+e+\",\"+o.c2p(t.o,!0)+\"H\"+n+\"M\"+n+\",\"+o.c2p(t.h,!0)+\"V\"+o.c2p(t.l,!0)+\"M\"+r+\",\"+o.c2p(t.c,!0)+\"H\"+n}))}}))}},{\"../../lib\":728,d3:164}],1087:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r,n=t.cd,a=t.xaxis,i=t.yaxis,o=[],s=n[0].t.bPos||0;if(!1===e)for(r=0;r<n.length;r++)n[r].selected=0;else for(r=0;r<n.length;r++){var l=n[r];e.contains([a.c2p(l.pos+s),i.c2p(l.yc)],null,l.i,t)?(o.push({pointNumber:l.i,x:a.c2d(l.pos),y:i.c2d(l.yc)}),l.selected=1):l.selected=0}return o}},{}],1088:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../components/drawing\"),i=t(\"../../components/color\");e.exports=function(t,e,r){var o=r||n.select(t).selectAll(\"g.ohlclayer\").selectAll(\"g.trace\");o.style(\"opacity\",(function(t){return t[0].trace.opacity})),o.each((function(t){var e=t[0].trace;n.select(this).selectAll(\"path\").each((function(t){if(!t.empty){var r=e[t.dir].line;n.select(this).style(\"fill\",\"none\").call(i.stroke,r.color).call(a.dashLine,r.dash,r.width).style(\"opacity\",e.selectedpoints&&!t.selected?.3:1)}}))}))}},{\"../../components/color\":595,\"../../components/drawing\":617,d3:164}],1089:[function(t,e,r){\"use strict\";var n=t(\"../../lib/extend\").extendFlat,a=t(\"../../plots/attributes\"),i=t(\"../../plots/font_attributes\"),o=t(\"../../components/colorscale/attributes\"),s=t(\"../../plots/template_attributes\").hovertemplateAttrs,l=t(\"../../plots/domain\").attributes,c=n({editType:\"calc\"},o(\"line\",{editTypeOverride:\"calc\"}),{shape:{valType:\"enumerated\",values:[\"linear\",\"hspline\"],dflt:\"linear\",editType:\"plot\"},hovertemplate:s({editType:\"plot\",arrayOk:!1},{keys:[\"count\",\"probability\"]})});e.exports={domain:l({name:\"parcats\",trace:!0,editType:\"calc\"}),hoverinfo:n({},a.hoverinfo,{flags:[\"count\",\"probability\"],editType:\"plot\",arrayOk:!1}),hoveron:{valType:\"enumerated\",values:[\"category\",\"color\",\"dimension\"],dflt:\"category\",editType:\"plot\"},hovertemplate:s({editType:\"plot\",arrayOk:!1},{keys:[\"count\",\"probability\",\"category\",\"categorycount\",\"colorcount\",\"bandcolorcount\"]}),arrangement:{valType:\"enumerated\",values:[\"perpendicular\",\"freeform\",\"fixed\"],dflt:\"perpendicular\",editType:\"plot\"},bundlecolors:{valType:\"boolean\",dflt:!0,editType:\"plot\"},sortpaths:{valType:\"enumerated\",values:[\"forward\",\"backward\"],dflt:\"forward\",editType:\"plot\"},labelfont:i({editType:\"calc\"}),tickfont:i({editType:\"calc\"}),dimensions:{_isLinkedToArray:\"dimension\",label:{valType:\"string\",editType:\"calc\"},categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},ticktext:{valType:\"data_array\",editType:\"calc\"},values:{valType:\"data_array\",dflt:[],editType:\"calc\"},displayindex:{valType:\"integer\",editType:\"calc\"},editType:\"calc\",visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"}},line:c,counts:{valType:\"number\",min:0,dflt:1,arrayOk:!0,editType:\"calc\"},customdata:void 0,hoverlabel:void 0,ids:void 0,legendgroup:void 0,opacity:void 0,selectedpoints:void 0,showlegend:void 0}},{\"../../components/colorscale/attributes\":602,\"../../lib/extend\":719,\"../../plots/attributes\":773,\"../../plots/domain\":803,\"../../plots/font_attributes\":804,\"../../plots/template_attributes\":854}],1090:[function(t,e,r){\"use strict\";var n=t(\"../../plots/get_data\").getModuleCalcData,a=t(\"./plot\");r.name=\"parcats\",r.plot=function(t,e,r,i){var o=n(t.calcdata,\"parcats\");if(o.length){var s=o[0];a(t,s,r,i)}},r.clean=function(t,e,r,n){var a=n._has&&n._has(\"parcats\"),i=e._has&&e._has(\"parcats\");a&&!i&&n._paperdiv.selectAll(\".parcats\").remove()}},{\"../../plots/get_data\":813,\"./plot\":1095}],1091:[function(t,e,r){\"use strict\";var n=t(\"../../lib/gup\").wrap,a=t(\"../../components/colorscale/helpers\").hasColorscale,i=t(\"../../components/colorscale/calc\"),o=t(\"../../lib/filter_unique.js\"),s=t(\"../../components/drawing\"),l=t(\"../../lib\"),c=t(\"fast-isnumeric\");function u(t,e,r){t.valueInds.push(e),t.count+=r}function h(t,e,r){return{categoryInds:t,color:e,rawColor:r,valueInds:[],count:0}}function f(t,e,r){t.valueInds.push(e),t.count+=r}e.exports=function(t,e){var r=l.filterVisible(e.dimensions);if(0===r.length)return[];var p,d,g,m=r.map((function(t){var e;if(\"trace\"===t.categoryorder)e=null;else if(\"array\"===t.categoryorder)e=t.categoryarray;else{e=o(t.values);for(var r=!0,n=0;n<e.length;n++)if(!c(e[n])){r=!1;break}e.sort(r?l.sorterAsc:void 0),\"category descending\"===t.categoryorder&&(e=e.reverse())}return function(t,e){e=null==e?[]:e.map((function(t){return t}));var r={},n={},a=[];e.forEach((function(t,e){r[t]=0,n[t]=e}));for(var i=0;i<t.length;i++){var o,s=t[i];void 0===r[s]?(r[s]=1,o=e.push(s)-1,n[s]=o):(r[s]++,o=n[s]),a.push(o)}var l=e.map((function(t){return r[t]}));return{uniqueValues:e,uniqueCounts:l,inds:a}}(t.values,e)}));p=l.isArrayOrTypedArray(e.counts)?e.counts:[e.counts],function(t){var e;if(function(t){for(var e=new Array(t.length),r=0;r<t.length;r++){if(t[r]<0||t[r]>=t.length)return!1;if(void 0!==e[t[r]])return!1;e[t[r]]=!0}return!0}(t.map((function(t){return t.displayindex}))))for(e=0;e<t.length;e++)t[e]._displayindex=t[e].displayindex;else for(e=0;e<t.length;e++)t[e]._displayindex=e}(r),r.forEach((function(t,e){!function(t,e){t._categoryarray=e.uniqueValues,null===t.ticktext||void 0===t.ticktext?t._ticktext=[]:t._ticktext=t.ticktext.slice();for(var r=t._ticktext.length;r<e.uniqueValues.length;r++)t._ticktext.push(e.uniqueValues[r])}(t,m[e])}));var v,y=e.line;y?(a(e,\"line\")&&i(t,e,{vals:e.line.color,containerStr:\"line\",cLetter:\"c\"}),v=s.tryColorscale(y)):v=l.identity;var x,b,_,w,T,k=r[0].values.length,A={},M=m.map((function(t){return t.inds}));for(g=0,x=0;x<k;x++){var S=[];for(b=0;b<M.length;b++)S.push(M[b][x]);d=p[x%p.length],g+=d;var E=(_=x,w=void 0,T=void 0,l.isArrayOrTypedArray(y.color)?T=w=y.color[_%y.color.length]:w=y.color,{color:v(w),rawColor:T}),C=S+\"-\"+E.rawColor;void 0===A[C]&&(A[C]=h(S,E.color,E.rawColor)),f(A[C],x,d)}var L,P=r.map((function(t,e){return function(t,e,r,n,a){return{dimensionInd:t,containerInd:e,displayInd:r,dimensionLabel:n,count:a,categories:[],dragX:null}}(e,t._index,t._displayindex,t.label,g)}));for(x=0;x<k;x++)for(d=p[x%p.length],b=0;b<P.length;b++){var I=P[b].containerInd,z=m[b].inds[x],O=P[b].categories;if(void 0===O[z]){var D=e.dimensions[I]._categoryarray[z],R=e.dimensions[I]._ticktext[z];O[z]={dimensionInd:b,categoryInd:L=z,categoryValue:D,displayInd:L,categoryLabel:R,valueInds:[],count:0,dragY:null}}u(O[z],x,d)}return n(function(t,e,r){var n=t.map((function(t){return t.categories.length})).reduce((function(t,e){return Math.max(t,e)}));return{dimensions:t,paths:e,trace:void 0,maxCats:n,count:r}}(P,A,g))}},{\"../../components/colorscale/calc\":603,\"../../components/colorscale/helpers\":606,\"../../components/drawing\":617,\"../../lib\":728,\"../../lib/filter_unique.js\":720,\"../../lib/gup\":726,\"fast-isnumeric\":236}],1092:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../components/colorscale/helpers\").hasColorscale,i=t(\"../../components/colorscale/defaults\"),o=t(\"../../plots/domain\").defaults,s=t(\"../../plots/array_container_defaults\"),l=t(\"./attributes\"),c=t(\"../parcoords/merge_length\");function u(t,e){function r(r,a){return n.coerce(t,e,l.dimensions,r,a)}var a=r(\"values\"),i=r(\"visible\");if(a&&a.length||(i=e.visible=!1),i){r(\"label\"),r(\"displayindex\",e._index);var o,s=t.categoryarray,c=Array.isArray(s)&&s.length>0;c&&(o=\"array\");var u=r(\"categoryorder\",o);\"array\"===u?(r(\"categoryarray\"),r(\"ticktext\")):(delete t.categoryarray,delete t.ticktext),c||\"array\"!==u||(e.categoryorder=\"trace\")}}e.exports=function(t,e,r,h){function f(r,a){return n.coerce(t,e,l,r,a)}var p=s(t,e,{name:\"dimensions\",handleItemDefaults:u}),d=function(t,e,r,o,s){s(\"line.shape\"),s(\"line.hovertemplate\");var l=s(\"line.color\",o.colorway[0]);if(a(t,\"line\")&&n.isArrayOrTypedArray(l)){if(l.length)return s(\"line.colorscale\"),i(t,e,o,s,{prefix:\"line.\",cLetter:\"c\"}),l.length;e.line.color=r}return 1/0}(t,e,r,h,f);o(e,h,f),Array.isArray(p)&&p.length||(e.visible=!1),c(e,p,\"values\",d),f(\"hoveron\"),f(\"hovertemplate\"),f(\"arrangement\"),f(\"bundlecolors\"),f(\"sortpaths\"),f(\"counts\");var g={family:h.font.family,size:Math.round(h.font.size),color:h.font.color};n.coerceFont(f,\"labelfont\",g);var m={family:h.font.family,size:Math.round(h.font.size/1.2),color:h.font.color};n.coerceFont(f,\"tickfont\",m)}},{\"../../components/colorscale/defaults\":605,\"../../components/colorscale/helpers\":606,\"../../lib\":728,\"../../plots/array_container_defaults\":772,\"../../plots/domain\":803,\"../parcoords/merge_length\":1105,\"./attributes\":1089}],1093:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\"),plot:t(\"./plot\"),colorbar:{container:\"line\",min:\"cmin\",max:\"cmax\"},moduleType:\"trace\",name:\"parcats\",basePlotModule:t(\"./base_plot\"),categories:[\"noOpacity\"],meta:{}}},{\"./attributes\":1089,\"./base_plot\":1090,\"./calc\":1091,\"./defaults\":1092,\"./plot\":1095}],1094:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../plot_api/plot_api\"),i=t(\"../../components/fx\"),o=t(\"../../lib\"),s=t(\"../../components/drawing\"),l=t(\"tinycolor2\"),c=t(\"../../lib/svg_text_utils\");function u(t,e,r,a){var i=t.map(D.bind(0,e,r)),l=a.selectAll(\"g.parcatslayer\").data([null]);l.enter().append(\"g\").attr(\"class\",\"parcatslayer\").style(\"pointer-events\",\"all\");var u=l.selectAll(\"g.trace.parcats\").data(i,h),m=u.enter().append(\"g\").attr(\"class\",\"trace parcats\");u.attr(\"transform\",(function(t){return\"translate(\"+t.x+\", \"+t.y+\")\"})),m.append(\"g\").attr(\"class\",\"paths\");var v=u.select(\"g.paths\").selectAll(\"path.path\").data((function(t){return t.paths}),h);v.attr(\"fill\",(function(t){return t.model.color}));var b=v.enter().append(\"path\").attr(\"class\",\"path\").attr(\"stroke-opacity\",0).attr(\"fill\",(function(t){return t.model.color})).attr(\"fill-opacity\",0);x(b),v.attr(\"d\",(function(t){return t.svgD})),b.empty()||v.sort(p),v.exit().remove(),v.on(\"mouseover\",d).on(\"mouseout\",g).on(\"click\",y),m.append(\"g\").attr(\"class\",\"dimensions\");var T=u.select(\"g.dimensions\").selectAll(\"g.dimension\").data((function(t){return t.dimensions}),h);T.enter().append(\"g\").attr(\"class\",\"dimension\"),T.attr(\"transform\",(function(t){return\"translate(\"+t.x+\", 0)\"})),T.exit().remove();var k=T.selectAll(\"g.category\").data((function(t){return t.categories}),h),A=k.enter().append(\"g\").attr(\"class\",\"category\");k.attr(\"transform\",(function(t){return\"translate(0, \"+t.y+\")\"})),A.append(\"rect\").attr(\"class\",\"catrect\").attr(\"pointer-events\",\"none\"),k.select(\"rect.catrect\").attr(\"fill\",\"none\").attr(\"width\",(function(t){return t.width})).attr(\"height\",(function(t){return t.height})),_(A);var M=k.selectAll(\"rect.bandrect\").data((function(t){return t.bands}),h);M.each((function(){o.raiseToTop(this)})),M.attr(\"fill\",(function(t){return t.color}));var I=M.enter().append(\"rect\").attr(\"class\",\"bandrect\").attr(\"stroke-opacity\",0).attr(\"fill\",(function(t){return t.color})).attr(\"fill-opacity\",0);M.attr(\"fill\",(function(t){return t.color})).attr(\"width\",(function(t){return t.width})).attr(\"height\",(function(t){return t.height})).attr(\"y\",(function(t){return t.y})).attr(\"cursor\",(function(t){return\"fixed\"===t.parcatsViewModel.arrangement?\"default\":\"perpendicular\"===t.parcatsViewModel.arrangement?\"ns-resize\":\"move\"})),w(I),M.exit().remove(),A.append(\"text\").attr(\"class\",\"catlabel\").attr(\"pointer-events\",\"none\");var z=e._fullLayout.paper_bgcolor;k.select(\"text.catlabel\").attr(\"text-anchor\",(function(t){return f(t)?\"start\":\"end\"})).attr(\"alignment-baseline\",\"middle\").style(\"text-shadow\",z+\" -1px  1px 2px, \"+z+\" 1px  1px 2px, \"+z+\"  1px -1px 2px, \"+z+\" -1px -1px 2px\").style(\"fill\",\"rgb(0, 0, 0)\").attr(\"x\",(function(t){return f(t)?t.width+5:-5})).attr(\"y\",(function(t){return t.height/2})).text((function(t){return t.model.categoryLabel})).each((function(t){s.font(n.select(this),t.parcatsViewModel.categorylabelfont),c.convertToTspans(n.select(this),e)})),A.append(\"text\").attr(\"class\",\"dimlabel\"),k.select(\"text.dimlabel\").attr(\"text-anchor\",\"middle\").attr(\"alignment-baseline\",\"baseline\").attr(\"cursor\",(function(t){return\"fixed\"===t.parcatsViewModel.arrangement?\"default\":\"ew-resize\"})).attr(\"x\",(function(t){return t.width/2})).attr(\"y\",-5).text((function(t,e){return 0===e?t.parcatsViewModel.model.dimensions[t.model.dimensionInd].dimensionLabel:null})).each((function(t){s.font(n.select(this),t.parcatsViewModel.labelfont)})),k.selectAll(\"rect.bandrect\").on(\"mouseover\",S).on(\"mouseout\",E),k.exit().remove(),T.call(n.behavior.drag().origin((function(t){return{x:t.x,y:0}})).on(\"dragstart\",C).on(\"drag\",L).on(\"dragend\",P)),u.each((function(t){t.traceSelection=n.select(this),t.pathSelection=n.select(this).selectAll(\"g.paths\").selectAll(\"path.path\"),t.dimensionSelection=n.select(this).selectAll(\"g.dimensions\").selectAll(\"g.dimension\")})),u.exit().remove()}function h(t){return t.key}function f(t){var e=t.parcatsViewModel.dimensions.length,r=t.parcatsViewModel.dimensions[e-1].model.dimensionInd;return t.model.dimensionInd===r}function p(t,e){return t.model.rawColor>e.model.rawColor?1:t.model.rawColor<e.model.rawColor?-1:0}function d(t){if(!t.parcatsViewModel.dragDimension&&-1===t.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")){o.raiseToTop(this),b(n.select(this));var e=m(t),r=v(t);if(t.parcatsViewModel.graphDiv.emit(\"plotly_hover\",{points:e,event:n.event,constraints:r}),-1===t.parcatsViewModel.hoverinfoItems.indexOf(\"none\")){var a,s,c,u=n.mouse(this)[0],h=t.parcatsViewModel.graphDiv,f=t.parcatsViewModel.trace,p=h._fullLayout,d=p._paperdiv.node().getBoundingClientRect(),g=t.parcatsViewModel.graphDiv.getBoundingClientRect();for(c=0;c<t.leftXs.length-1;c++)if(t.leftXs[c]+t.dimWidths[c]-2<=u&&u<=t.leftXs[c+1]+2){var y=t.parcatsViewModel.dimensions[c],x=t.parcatsViewModel.dimensions[c+1];a=(y.x+y.width+x.x)/2,s=(t.topYs[c]+t.topYs[c+1]+t.height)/2;break}var _=t.parcatsViewModel.x+a,w=t.parcatsViewModel.y+s,T=l.mostReadable(t.model.color,[\"black\",\"white\"]),k=t.model.count,A=k/t.parcatsViewModel.model.count,M={countLabel:k,probabilityLabel:A.toFixed(3)},S=[];-1!==t.parcatsViewModel.hoverinfoItems.indexOf(\"count\")&&S.push([\"Count:\",M.countLabel].join(\" \")),-1!==t.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")&&S.push([\"P:\",M.probabilityLabel].join(\" \"));var E=S.join(\"<br>\"),C=n.mouse(h)[0];i.loneHover({trace:f,x:_-d.left+g.left,y:w-d.top+g.top,text:E,color:t.model.color,borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontSize:10,fontColor:T,idealAlign:C<_?\"right\":\"left\",hovertemplate:(f.line||{}).hovertemplate,hovertemplateLabels:M,eventData:[{data:f._input,fullData:f,count:k,probability:A}]},{container:p._hoverlayer.node(),outerContainer:p._paper.node(),gd:h})}}}function g(t){if(!t.parcatsViewModel.dragDimension&&(x(n.select(this)),i.loneUnhover(t.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()),t.parcatsViewModel.pathSelection.sort(p),-1===t.parcatsViewModel.hoverinfoItems.indexOf(\"skip\"))){var e=m(t),r=v(t);t.parcatsViewModel.graphDiv.emit(\"plotly_unhover\",{points:e,event:n.event,constraints:r})}}function m(t){for(var e=[],r=I(t.parcatsViewModel),n=0;n<t.model.valueInds.length;n++){var a=t.model.valueInds[n];e.push({curveNumber:r,pointNumber:a})}return e}function v(t){for(var e={},r=t.parcatsViewModel.model.dimensions,n=0;n<r.length;n++){var a=r[n],i=a.categories[t.model.categoryInds[n]];e[a.containerInd]=i.categoryValue}return void 0!==t.model.rawColor&&(e.color=t.model.rawColor),e}function y(t){if(-1===t.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")){var e=m(t),r=v(t);t.parcatsViewModel.graphDiv.emit(\"plotly_click\",{points:e,event:n.event,constraints:r})}}function x(t){t.attr(\"fill\",(function(t){return t.model.color})).attr(\"fill-opacity\",.6).attr(\"stroke\",\"lightgray\").attr(\"stroke-width\",.2).attr(\"stroke-opacity\",1)}function b(t){t.attr(\"fill-opacity\",.8).attr(\"stroke\",(function(t){return l.mostReadable(t.model.color,[\"black\",\"white\"])})).attr(\"stroke-width\",.3)}function _(t){t.select(\"rect.catrect\").attr(\"stroke\",\"black\").attr(\"stroke-width\",1).attr(\"stroke-opacity\",1)}function w(t){t.attr(\"stroke\",\"black\").attr(\"stroke-width\",.2).attr(\"stroke-opacity\",1).attr(\"fill-opacity\",1)}function T(t){var e=t.parcatsViewModel.pathSelection,r=t.categoryViewModel.model.dimensionInd,n=t.categoryViewModel.model.categoryInd;return e.filter((function(e){return e.model.categoryInds[r]===n&&e.model.color===t.color}))}function k(t,e,r){var a=n.select(t).datum(),i=a.categoryViewModel.model,o=a.parcatsViewModel.graphDiv,s=n.select(t.parentNode).selectAll(\"rect.bandrect\"),l=[];s.each((function(t){T(t).each((function(t){Array.prototype.push.apply(l,m(t))}))}));var c={};c[i.dimensionInd]=i.categoryValue,o.emit(e,{points:l,event:r,constraints:c})}function A(t,e,r){var a=n.select(t).datum(),i=a.categoryViewModel.model,o=a.parcatsViewModel.graphDiv,s=T(a),l=[];s.each((function(t){Array.prototype.push.apply(l,m(t))}));var c={};c[i.dimensionInd]=i.categoryValue,void 0!==a.rawColor&&(c.color=a.rawColor),o.emit(e,{points:l,event:r,constraints:c})}function M(t,e){var r,a,i=n.select(e.parentNode).select(\"rect.catrect\"),o=i.node().getBoundingClientRect(),s=i.datum(),l=s.parcatsViewModel,c=l.model.dimensions[s.model.dimensionInd],u=l.trace,h=o.top+o.height/2;l.dimensions.length>1&&c.displayInd===l.dimensions.length-1?(r=o.left,a=\"left\"):(r=o.left+o.width,a=\"right\");var f=s.model.count,p=s.model.categoryLabel,d=f/s.parcatsViewModel.model.count,g={countLabel:f,categoryLabel:p,probabilityLabel:d.toFixed(3)},m=[];-1!==s.parcatsViewModel.hoverinfoItems.indexOf(\"count\")&&m.push([\"Count:\",g.countLabel].join(\" \")),-1!==s.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")&&m.push([\"P(\"+g.categoryLabel+\"):\",g.probabilityLabel].join(\" \"));var v=m.join(\"<br>\");return{trace:u,x:r-t.left,y:h-t.top,text:v,color:\"lightgray\",borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontSize:12,fontColor:\"black\",idealAlign:a,hovertemplate:u.hovertemplate,hovertemplateLabels:g,eventData:[{data:u._input,fullData:u,count:f,category:p,probability:d}]}}function S(t){if(!t.parcatsViewModel.dragDimension&&-1===t.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")){if(n.mouse(this)[1]<-1)return;var e,r=t.parcatsViewModel.graphDiv,a=r._fullLayout,s=a._paperdiv.node().getBoundingClientRect(),c=t.parcatsViewModel.hoveron;if(\"color\"===c?(!function(t){var e=n.select(t).datum(),r=T(e);b(r),r.each((function(){o.raiseToTop(this)})),n.select(t.parentNode).selectAll(\"rect.bandrect\").filter((function(t){return t.color===e.color})).each((function(){o.raiseToTop(this),n.select(this).attr(\"stroke\",\"black\").attr(\"stroke-width\",1.5)}))}(this),A(this,\"plotly_hover\",n.event)):(!function(t){n.select(t.parentNode).selectAll(\"rect.bandrect\").each((function(t){var e=T(t);b(e),e.each((function(){o.raiseToTop(this)}))})),n.select(t.parentNode).select(\"rect.catrect\").attr(\"stroke\",\"black\").attr(\"stroke-width\",2.5)}(this),k(this,\"plotly_hover\",n.event)),-1===t.parcatsViewModel.hoverinfoItems.indexOf(\"none\"))\"category\"===c?e=M(s,this):\"color\"===c?e=function(t,e){var r,a,i=e.getBoundingClientRect(),o=n.select(e).datum(),s=o.categoryViewModel,c=s.parcatsViewModel,u=c.model.dimensions[s.model.dimensionInd],h=c.trace,f=i.y+i.height/2;c.dimensions.length>1&&u.displayInd===c.dimensions.length-1?(r=i.left,a=\"left\"):(r=i.left+i.width,a=\"right\");var p=s.model.categoryLabel,d=o.parcatsViewModel.model.count,g=0;o.categoryViewModel.bands.forEach((function(t){t.color===o.color&&(g+=t.count)}));var m=s.model.count,v=0;c.pathSelection.each((function(t){t.model.color===o.color&&(v+=t.model.count)}));var y=g/d,x=g/v,b=g/m,_={countLabel:d,categoryLabel:p,probabilityLabel:y.toFixed(3)},w=[];-1!==s.parcatsViewModel.hoverinfoItems.indexOf(\"count\")&&w.push([\"Count:\",_.countLabel].join(\" \")),-1!==s.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")&&(w.push(\"P(color \\u2229 \"+p+\"): \"+_.probabilityLabel),w.push(\"P(\"+p+\" | color): \"+x.toFixed(3)),w.push(\"P(color | \"+p+\"): \"+b.toFixed(3)));var T=w.join(\"<br>\"),k=l.mostReadable(o.color,[\"black\",\"white\"]);return{trace:h,x:r-t.left,y:f-t.top,text:T,color:o.color,borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontColor:k,fontSize:10,idealAlign:a,hovertemplate:h.hovertemplate,hovertemplateLabels:_,eventData:[{data:h._input,fullData:h,category:p,count:d,probability:y,categorycount:m,colorcount:v,bandcolorcount:g}]}}(s,this):\"dimension\"===c&&(e=function(t,e){var r=[];return n.select(e.parentNode.parentNode).selectAll(\"g.category\").select(\"rect.catrect\").each((function(){r.push(M(t,this))})),r}(s,this)),e&&i.loneHover(e,{container:a._hoverlayer.node(),outerContainer:a._paper.node(),gd:r})}}function E(t){var e=t.parcatsViewModel;if(!e.dragDimension&&(x(e.pathSelection),_(e.dimensionSelection.selectAll(\"g.category\")),w(e.dimensionSelection.selectAll(\"g.category\").selectAll(\"rect.bandrect\")),i.loneUnhover(e.graphDiv._fullLayout._hoverlayer.node()),e.pathSelection.sort(p),-1===e.hoverinfoItems.indexOf(\"skip\"))){\"color\"===t.parcatsViewModel.hoveron?A(this,\"plotly_unhover\",n.event):k(this,\"plotly_unhover\",n.event)}}function C(t){\"fixed\"!==t.parcatsViewModel.arrangement&&(t.dragDimensionDisplayInd=t.model.displayInd,t.initialDragDimensionDisplayInds=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),t.dragHasMoved=!1,t.dragCategoryDisplayInd=null,n.select(this).selectAll(\"g.category\").select(\"rect.catrect\").each((function(e){var r=n.mouse(this)[0],a=n.mouse(this)[1];-2<=r&&r<=e.width+2&&-2<=a&&a<=e.height+2&&(t.dragCategoryDisplayInd=e.model.displayInd,t.initialDragCategoryDisplayInds=t.model.categories.map((function(t){return t.displayInd})),e.model.dragY=e.y,o.raiseToTop(this.parentNode),n.select(this.parentNode).selectAll(\"rect.bandrect\").each((function(e){e.y<a&&a<=e.y+e.height&&(t.potentialClickBand=this)})))})),t.parcatsViewModel.dragDimension=t,i.loneUnhover(t.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()))}function L(t){if(\"fixed\"!==t.parcatsViewModel.arrangement&&(t.dragHasMoved=!0,null!==t.dragDimensionDisplayInd)){var e=t.dragDimensionDisplayInd,r=e-1,a=e+1,i=t.parcatsViewModel.dimensions[e];if(null!==t.dragCategoryDisplayInd){var o=i.categories[t.dragCategoryDisplayInd];o.model.dragY+=n.event.dy;var s=o.model.dragY,l=o.model.displayInd,c=i.categories,u=c[l-1],h=c[l+1];void 0!==u&&s<u.y+u.height/2&&(o.model.displayInd=u.model.displayInd,u.model.displayInd=l),void 0!==h&&s+o.height>h.y+h.height/2&&(o.model.displayInd=h.model.displayInd,h.model.displayInd=l),t.dragCategoryDisplayInd=o.model.displayInd}if(null===t.dragCategoryDisplayInd||\"freeform\"===t.parcatsViewModel.arrangement){i.model.dragX=n.event.x;var f=t.parcatsViewModel.dimensions[r],p=t.parcatsViewModel.dimensions[a];void 0!==f&&i.model.dragX<f.x+f.width&&(i.model.displayInd=f.model.displayInd,f.model.displayInd=e),void 0!==p&&i.model.dragX+i.width>p.x&&(i.model.displayInd=p.model.displayInd,p.model.displayInd=t.dragDimensionDisplayInd),t.dragDimensionDisplayInd=i.model.displayInd}B(t.parcatsViewModel),F(t.parcatsViewModel),O(t.parcatsViewModel),z(t.parcatsViewModel)}}function P(t){if(\"fixed\"!==t.parcatsViewModel.arrangement&&null!==t.dragDimensionDisplayInd){n.select(this).selectAll(\"text\").attr(\"font-weight\",\"normal\");var e={},r=I(t.parcatsViewModel),i=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),o=t.initialDragDimensionDisplayInds.some((function(t,e){return t!==i[e]}));o&&i.forEach((function(r,n){var a=t.parcatsViewModel.model.dimensions[n].containerInd;e[\"dimensions[\"+a+\"].displayindex\"]=r}));var s=!1;if(null!==t.dragCategoryDisplayInd){var l=t.model.categories.map((function(t){return t.displayInd}));if(s=t.initialDragCategoryDisplayInds.some((function(t,e){return t!==l[e]}))){var c=t.model.categories.slice().sort((function(t,e){return t.displayInd-e.displayInd})),u=c.map((function(t){return t.categoryValue})),h=c.map((function(t){return t.categoryLabel}));e[\"dimensions[\"+t.model.containerInd+\"].categoryarray\"]=[u],e[\"dimensions[\"+t.model.containerInd+\"].ticktext\"]=[h],e[\"dimensions[\"+t.model.containerInd+\"].categoryorder\"]=\"array\"}}if(-1===t.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")&&!t.dragHasMoved&&t.potentialClickBand&&(\"color\"===t.parcatsViewModel.hoveron?A(t.potentialClickBand,\"plotly_click\",n.event.sourceEvent):k(t.potentialClickBand,\"plotly_click\",n.event.sourceEvent)),t.model.dragX=null,null!==t.dragCategoryDisplayInd)t.parcatsViewModel.dimensions[t.dragDimensionDisplayInd].categories[t.dragCategoryDisplayInd].model.dragY=null,t.dragCategoryDisplayInd=null;t.dragDimensionDisplayInd=null,t.parcatsViewModel.dragDimension=null,t.dragHasMoved=null,t.potentialClickBand=null,B(t.parcatsViewModel),F(t.parcatsViewModel),n.transition().duration(300).ease(\"cubic-in-out\").each((function(){O(t.parcatsViewModel,!0),z(t.parcatsViewModel,!0)})).each(\"end\",(function(){(o||s)&&a.restyle(t.parcatsViewModel.graphDiv,e,[r])}))}}function I(t){for(var e,r=t.graphDiv._fullData,n=0;n<r.length;n++)if(t.key===r[n].uid){e=n;break}return e}function z(t,e){var r;void 0===e&&(e=!1),t.pathSelection.data((function(t){return t.paths}),h),(r=t.pathSelection,e?r.transition():r).attr(\"d\",(function(t){return t.svgD}))}function O(t,e){function r(t){return e?t.transition():t}void 0===e&&(e=!1),t.dimensionSelection.data((function(t){return t.dimensions}),h);var a=t.dimensionSelection.selectAll(\"g.category\").data((function(t){return t.categories}),h);r(t.dimensionSelection).attr(\"transform\",(function(t){return\"translate(\"+t.x+\", 0)\"})),r(a).attr(\"transform\",(function(t){return\"translate(0, \"+t.y+\")\"})),a.select(\".dimlabel\").text((function(t,e){return 0===e?t.parcatsViewModel.model.dimensions[t.model.dimensionInd].dimensionLabel:null})),a.select(\".catlabel\").attr(\"text-anchor\",(function(t){return f(t)?\"start\":\"end\"})).attr(\"x\",(function(t){return f(t)?t.width+5:-5})).each((function(t){var e,r;f(t)?(e=t.width+5,r=\"start\"):(e=-5,r=\"end\"),n.select(this).selectAll(\"tspan\").attr(\"x\",e).attr(\"text-anchor\",r)}));var i=a.selectAll(\"rect.bandrect\").data((function(t){return t.bands}),h),s=i.enter().append(\"rect\").attr(\"class\",\"bandrect\").attr(\"cursor\",\"move\").attr(\"stroke-opacity\",0).attr(\"fill\",(function(t){return t.color})).attr(\"fill-opacity\",0);i.attr(\"fill\",(function(t){return t.color})).attr(\"width\",(function(t){return t.width})).attr(\"height\",(function(t){return t.height})).attr(\"y\",(function(t){return t.y})),w(s),i.each((function(){o.raiseToTop(this)})),i.exit().remove()}function D(t,e,r){var n,a=r[0],i=e.margin||{l:80,r:80,t:100,b:80},o=a.trace,s=o.domain,l=e.width,c=e.height,u=Math.floor(l*(s.x[1]-s.x[0])),h=Math.floor(c*(s.y[1]-s.y[0])),f=s.x[0]*l+i.l,p=e.height-s.y[1]*e.height+i.t,d=o.line.shape;n=\"all\"===o.hoverinfo?[\"count\",\"probability\"]:(o.hoverinfo||\"\").split(\"+\");var g={trace:o,key:o.uid,model:a,x:f,y:p,width:u,height:h,hoveron:o.hoveron,hoverinfoItems:n,arrangement:o.arrangement,bundlecolors:o.bundlecolors,sortpaths:o.sortpaths,labelfont:o.labelfont,categorylabelfont:o.tickfont,pathShape:d,dragDimension:null,margin:i,paths:[],dimensions:[],graphDiv:t,traceSelection:null,pathSelection:null,dimensionSelection:null};return a.dimensions&&(B(g),F(g)),g}function R(t,e,r,a,i){var o,s,l=[],c=[];for(s=0;s<r.length-1;s++)o=n.interpolateNumber(r[s]+t[s],t[s+1]),l.push(o(i)),c.push(o(1-i));var u=\"M \"+t[0]+\",\"+e[0];for(u+=\"l\"+r[0]+\",0 \",s=1;s<r.length;s++)u+=\"C\"+l[s-1]+\",\"+e[s-1]+\" \"+c[s-1]+\",\"+e[s]+\" \"+t[s]+\",\"+e[s],u+=\"l\"+r[s]+\",0 \";for(u+=\"l0,\"+a+\" \",u+=\"l -\"+r[r.length-1]+\",0 \",s=r.length-2;s>=0;s--)u+=\"C\"+c[s]+\",\"+(e[s+1]+a)+\" \"+l[s]+\",\"+(e[s]+a)+\" \"+(t[s]+r[s])+\",\"+(e[s]+a),u+=\"l-\"+r[s]+\",0 \";return u+=\"Z\"}function F(t){var e=t.dimensions,r=t.model,n=e.map((function(t){return t.categories.map((function(t){return t.y}))})),a=t.model.dimensions.map((function(t){return t.categories.map((function(t){return t.displayInd}))})),i=t.model.dimensions.map((function(t){return t.displayInd})),o=t.dimensions.map((function(t){return t.model.dimensionInd})),s=e.map((function(t){return t.x})),l=e.map((function(t){return t.width})),c=[];for(var u in r.paths)r.paths.hasOwnProperty(u)&&c.push(r.paths[u]);function h(t){var e=t.categoryInds.map((function(t,e){return a[e][t]}));return o.map((function(t){return e[t]}))}c.sort((function(e,r){var n=h(e),a=h(r);return\"backward\"===t.sortpaths&&(n.reverse(),a.reverse()),n.push(e.valueInds[0]),a.push(r.valueInds[0]),t.bundlecolors&&(n.unshift(e.rawColor),a.unshift(r.rawColor)),n<a?-1:n>a?1:0}));for(var f=new Array(c.length),p=e[0].model.count,d=e[0].categories.map((function(t){return t.height})).reduce((function(t,e){return t+e})),g=0;g<c.length;g++){var m,v=c[g];m=p>0?d*(v.count/p):0;for(var y,x=new Array(n.length),b=0;b<v.categoryInds.length;b++){var _=v.categoryInds[b],w=a[b][_],T=i[b];x[T]=n[T][w],n[T][w]+=m;var k=t.dimensions[T].categories[w],A=k.bands.length,M=k.bands[A-1];if(void 0===M||v.rawColor!==M.rawColor){var S=void 0===M?0:M.y+M.height;k.bands.push({key:S,color:v.color,rawColor:v.rawColor,height:m,width:k.width,count:v.count,y:S,categoryViewModel:k,parcatsViewModel:t})}else{var E=k.bands[A-1];E.height+=m,E.count+=v.count}}y=\"hspline\"===t.pathShape?R(s,x,l,m,.5):R(s,x,l,m,0),f[g]={key:v.valueInds[0],model:v,height:m,leftXs:s,topYs:x,dimWidths:l,svgD:y,parcatsViewModel:t}}t.paths=f}function B(t){var e=t.model.dimensions.map((function(t){return{displayInd:t.displayInd,dimensionInd:t.dimensionInd}}));e.sort((function(t,e){return t.displayInd-e.displayInd}));var r=[];for(var n in e){var a=e[n].dimensionInd,i=t.model.dimensions[a];r.push(N(t,i))}t.dimensions=r}function N(t,e){var r,n=t.model.dimensions.length,a=e.displayInd;r=40+(n>1?(t.width-80-16)/(n-1):0)*a;var i,o,s,l,c,u=[],h=t.model.maxCats,f=e.categories.length,p=e.count,d=t.height-8*(h-1),g=8*(h-f)/2,m=e.categories.map((function(t){return{displayInd:t.displayInd,categoryInd:t.categoryInd}}));for(m.sort((function(t,e){return t.displayInd-e.displayInd})),c=0;c<f;c++)l=m[c].categoryInd,o=e.categories[l],i=p>0?o.count/p*d:0,s={key:o.valueInds[0],model:o,width:16,height:i,y:null!==o.dragY?o.dragY:g,bands:[],parcatsViewModel:t},g=g+i+8,u.push(s);return{key:e.dimensionInd,x:null!==e.dragX?e.dragX:r,y:0,width:16,model:e,categories:u,parcatsViewModel:t,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}e.exports=function(t,e,r,n){u(r,t,n,e)}},{\"../../components/drawing\":617,\"../../components/fx\":635,\"../../lib\":728,\"../../lib/svg_text_utils\":752,\"../../plot_api/plot_api\":763,d3:164,tinycolor2:528}],1095:[function(t,e,r){\"use strict\";var n=t(\"./parcats\");e.exports=function(t,e,r,a){var i=t._fullLayout,o=i._paper,s=i._size;n(t,o,e,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},r,a)}},{\"./parcats\":1094}],1096:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/attributes\"),a=t(\"../../plots/cartesian/layout_attributes\"),i=t(\"../../plots/font_attributes\"),o=t(\"../../plots/domain\").attributes,s=t(\"../../lib/extend\").extendFlat,l=t(\"../../plot_api/plot_template\").templatedArray;e.exports={domain:o({name:\"parcoords\",trace:!0,editType:\"plot\"}),labelangle:{valType:\"angle\",dflt:0,editType:\"plot\"},labelside:{valType:\"enumerated\",values:[\"top\",\"bottom\"],dflt:\"top\",editType:\"plot\"},labelfont:i({editType:\"plot\"}),tickfont:i({editType:\"plot\"}),rangefont:i({editType:\"plot\"}),dimensions:l(\"dimension\",{label:{valType:\"string\",editType:\"plot\"},tickvals:s({},a.tickvals,{editType:\"plot\"}),ticktext:s({},a.ticktext,{editType:\"plot\"}),tickformat:s({},a.tickformat,{editType:\"plot\"}),visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},range:{valType:\"info_array\",items:[{valType:\"number\",editType:\"plot\"},{valType:\"number\",editType:\"plot\"}],editType:\"plot\"},constraintrange:{valType:\"info_array\",freeLength:!0,dimensions:\"1-2\",items:[{valType:\"number\",editType:\"plot\"},{valType:\"number\",editType:\"plot\"}],editType:\"plot\"},multiselect:{valType:\"boolean\",dflt:!0,editType:\"plot\"},values:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"}),line:s({editType:\"calc\"},n(\"line\",{colorscaleDflt:\"Viridis\",autoColorDflt:!1,editTypeOverride:\"calc\"}))}},{\"../../components/colorscale/attributes\":602,\"../../lib/extend\":719,\"../../plot_api/plot_template\":766,\"../../plots/cartesian/layout_attributes\":790,\"../../plots/domain\":803,\"../../plots/font_attributes\":804}],1097:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),a=t(\"d3\"),i=t(\"../../lib/gup\").keyFun,o=t(\"../../lib/gup\").repeat,s=t(\"../../lib\").sorterAsc,l=n.bar.snapRatio;function c(t,e){return t*(1-l)+e*l}var u=n.bar.snapClose;function h(t,e){return t*(1-u)+e*u}function f(t,e,r,n){if(function(t,e){for(var r=0;r<e.length;r++)if(t>=e[r][0]&&t<=e[r][1])return!0;return!1}(r,n))return r;var a=t?-1:1,i=0,o=e.length-1;if(a<0){var s=i;i=o,o=s}for(var l=e[i],u=l,f=i;a*f<a*o;f+=a){var p=f+a,d=e[p];if(a*r<a*h(l,d))return c(l,u);if(a*r<a*d||p===o)return c(d,l);u=l,l=d}}function p(t){t.attr(\"x\",-n.bar.captureWidth/2).attr(\"width\",n.bar.captureWidth)}function d(t){t.attr(\"visibility\",\"visible\").style(\"visibility\",\"visible\").attr(\"fill\",\"yellow\").attr(\"opacity\",0)}function g(t){if(!t.brush.filterSpecified)return\"0,\"+t.height;for(var e,r,n,a=m(t.brush.filter.getConsolidated(),t.height),i=[0],o=a.length?a[0][0]:null,s=0;s<a.length;s++)r=(e=a[s])[1]-e[0],i.push(o),i.push(r),(n=s+1)<a.length&&(o=a[n][0]-e[1]);return i.push(t.height),i}function m(t,e){return t.map((function(t){return t.map((function(t){return Math.max(0,t*e)})).sort(s)}))}function v(){a.select(document.body).style(\"cursor\",null)}function y(t){t.attr(\"stroke-dasharray\",g)}function x(t,e){var r=a.select(t).selectAll(\".highlight, .highlight-shadow\");y(e?r.transition().duration(n.bar.snapDuration).each(\"end\",e):r)}function b(t,e){var r,a=t.brush,i=NaN,o={};if(a.filterSpecified){var s=t.height,l=a.filter.getConsolidated(),c=m(l,s),u=NaN,h=NaN,f=NaN;for(r=0;r<=c.length;r++){var p=c[r];if(p&&p[0]<=e&&e<=p[1]){u=r;break}if(h=r?r-1:NaN,p&&p[0]>e){f=r;break}}if(i=u,isNaN(i)&&(i=isNaN(h)||isNaN(f)?isNaN(h)?f:h:e-c[h][1]<c[f][0]-e?h:f),!isNaN(i)){var d=c[i],g=function(t,e){var r=n.bar.handleHeight;if(!(e>t[1]+r||e<t[0]-r))return e>=.9*t[1]+.1*t[0]?\"n\":e<=.9*t[0]+.1*t[1]?\"s\":\"ns\"}(d,e);g&&(o.interval=l[i],o.intervalPix=d,o.region=g)}}if(t.ordinal&&!o.region){var v=t.unitTickvals,y=t.unitToPaddedPx.invert(e);for(r=0;r<v.length;r++){var x=[.25*v[Math.max(r-1,0)]+.75*v[r],.25*v[Math.min(r+1,v.length-1)]+.75*v[r]];if(y>=x[0]&&y<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function _(t,e){a.event.sourceEvent.stopPropagation();var r=e.height-a.mouse(t)[1]-2*n.verticalPadding,i=e.brush.svgBrush;i.wasDragged=!0,i._dragging=!0,i.grabbingBar?i.newExtent=[r-i.grabPoint,r+i.barLength-i.grabPoint].map(e.unitToPaddedPx.invert):i.newExtent=[i.startExtent,e.unitToPaddedPx.invert(r)].sort(s),e.brush.filterSpecified=!0,i.extent=i.stayingIntervals.concat([i.newExtent]),i.brushCallback(e),x(t.parentNode)}function w(t,e){var r=b(e,e.height-a.mouse(t)[1]-2*n.verticalPadding),i=\"crosshair\";r.clickableOrdinalRange?i=\"pointer\":r.region&&(i=r.region+\"-resize\"),a.select(document.body).style(\"cursor\",i)}function T(t){t.on(\"mousemove\",(function(t){a.event.preventDefault(),t.parent.inBrushDrag||w(this,t)})).on(\"mouseleave\",(function(t){t.parent.inBrushDrag||v()})).call(a.behavior.drag().on(\"dragstart\",(function(t){!function(t,e){a.event.sourceEvent.stopPropagation();var r=e.height-a.mouse(t)[1]-2*n.verticalPadding,i=e.unitToPaddedPx.invert(r),o=e.brush,s=b(e,r),l=s.interval,c=o.svgBrush;if(c.wasDragged=!1,c.grabbingBar=\"ns\"===s.region,c.grabbingBar){var u=l.map(e.unitToPaddedPx);c.grabPoint=r-u[0]-n.verticalPadding,c.barLength=u[1]-u[0]}c.clickableOrdinalRange=s.clickableOrdinalRange,c.stayingIntervals=e.multiselect&&o.filterSpecified?o.filter.getConsolidated():[],l&&(c.stayingIntervals=c.stayingIntervals.filter((function(t){return t[0]!==l[0]&&t[1]!==l[1]}))),c.startExtent=s.region?l[\"s\"===s.region?1:0]:i,e.parent.inBrushDrag=!0,c.brushStartCallback()}(this,t)})).on(\"drag\",(function(t){_(this,t)})).on(\"dragend\",(function(t){!function(t,e){var r=e.brush,n=r.filter,i=r.svgBrush;i._dragging||(w(t,e),_(t,e),e.brush.svgBrush.wasDragged=!1),i._dragging=!1,a.event.sourceEvent.stopPropagation();var o=i.grabbingBar;if(i.grabbingBar=!1,i.grabLocation=void 0,e.parent.inBrushDrag=!1,v(),!i.wasDragged)return i.wasDragged=void 0,i.clickableOrdinalRange?r.filterSpecified&&e.multiselect?i.extent.push(i.clickableOrdinalRange):(i.extent=[i.clickableOrdinalRange],r.filterSpecified=!0):o?(i.extent=i.stayingIntervals,0===i.extent.length&&A(r)):A(r),i.brushCallback(e),x(t.parentNode),void i.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);var s=function(){n.set(n.getConsolidated())};if(e.ordinal){var l=e.unitTickvals;l[l.length-1]<l[0]&&l.reverse(),i.newExtent=[f(0,l,i.newExtent[0],i.stayingIntervals),f(1,l,i.newExtent[1],i.stayingIntervals)];var c=i.newExtent[1]>i.newExtent[0];i.extent=i.stayingIntervals.concat(c?[i.newExtent]:[]),i.extent.length||A(r),i.brushCallback(e),c?x(t.parentNode,s):(s(),x(t.parentNode))}else s();i.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}(this,t)})))}function k(t,e){return t[0]-e[0]}function A(t){t.filterSpecified=!1,t.svgBrush.extent=[[-1/0,1/0]]}function M(t){for(var e,r=t.slice(),n=[],a=r.shift();a;){for(e=a.slice();(a=r.shift())&&a[0]<=e[1];)e[1]=Math.max(e[1],a[1]);n.push(e)}return 1===n.length&&n[0][0]>n[0][1]&&(n=[]),n}e.exports={makeBrush:function(t,e,r,n,a,i){var o,l=function(){var t,e,r=[];return{set:function(n){1===(r=n.map((function(t){return t.slice().sort(s)})).sort(k)).length&&r[0][0]===-1/0&&r[0][1]===1/0&&(r=[[0,-1]]),t=M(r),e=r.reduce((function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]}),[1/0,-1/0])},get:function(){return r.slice()},getConsolidated:function(){return t},getBounds:function(){return e}}}();return l.set(r),{filter:l,filterSpecified:e,svgBrush:{extent:[],brushStartCallback:n,brushCallback:(o=a,function(t){var e=t.brush,r=function(t){return t.svgBrush.extent.map((function(t){return t.slice()}))}(e).slice();e.filter.set(r),o()}),brushEndCallback:i}}},ensureAxisBrush:function(t){var e=t.selectAll(\".\"+n.cn.axisBrush).data(o,i);e.enter().append(\"g\").classed(n.cn.axisBrush,!0),function(t){var e=t.selectAll(\".background\").data(o);e.enter().append(\"rect\").classed(\"background\",!0).call(p).call(d).style(\"pointer-events\",\"auto\").attr(\"transform\",\"translate(0 \"+n.verticalPadding+\")\"),e.call(T).attr(\"height\",(function(t){return t.height-n.verticalPadding}));var r=t.selectAll(\".highlight-shadow\").data(o);r.enter().append(\"line\").classed(\"highlight-shadow\",!0).attr(\"x\",-n.bar.width/2).attr(\"stroke-width\",n.bar.width+n.bar.strokeWidth).attr(\"stroke\",n.bar.strokeColor).attr(\"opacity\",n.bar.strokeOpacity).attr(\"stroke-linecap\",\"butt\"),r.attr(\"y1\",(function(t){return t.height})).call(y);var a=t.selectAll(\".highlight\").data(o);a.enter().append(\"line\").classed(\"highlight\",!0).attr(\"x\",-n.bar.width/2).attr(\"stroke-width\",n.bar.width-n.bar.strokeWidth).attr(\"stroke\",n.bar.fillColor).attr(\"opacity\",n.bar.fillOpacity).attr(\"stroke-linecap\",\"butt\"),a.attr(\"y1\",(function(t){return t.height})).call(y)}(e)},cleanRanges:function(t,e){if(Array.isArray(t[0])?(t=t.map((function(t){return t.sort(s)})),t=e.multiselect?M(t.sort(k)):[t[0]]):t=[t.sort(s)],e.tickvals){var r=e.tickvals.slice().sort(s);if(!(t=t.map((function(t){var e=[f(0,r,t[0],[]),f(1,r,t[1],[])];if(e[1]>e[0])return e})).filter((function(t){return t}))).length)return}return t.length>1?t:t[0]}}},{\"../../lib\":728,\"../../lib/gup\":726,\"./constants\":1100,d3:164}],1098:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../plots/get_data\").getModuleCalcData,i=t(\"./plot\"),o=t(\"../../constants/xmlns_namespaces\");r.name=\"parcoords\",r.plot=function(t){var e=a(t.calcdata,\"parcoords\")[0];e.length&&i(t,e)},r.clean=function(t,e,r,n){var a=n._has&&n._has(\"parcoords\"),i=e._has&&e._has(\"parcoords\");a&&!i&&(n._paperdiv.selectAll(\".parcoords\").remove(),n._glimages.selectAll(\"*\").remove())},r.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(\".svg-container\");r.filter((function(t,e){return e===r.size()-1})).selectAll(\".gl-canvas-context, .gl-canvas-focus\").each((function(){var t=this.toDataURL(\"image/png\");e.append(\"svg:image\").attr({xmlns:o.svg,\"xlink:href\":t,preserveAspectRatio:\"none\",x:0,y:0,width:this.width,height:this.height})})),window.setTimeout((function(){n.selectAll(\"#filterBarPattern\").attr(\"id\",\"filterBarPattern\")}),60)}},{\"../../constants/xmlns_namespaces\":705,\"../../plots/get_data\":813,\"./plot\":1107,d3:164}],1099:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isArrayOrTypedArray,a=t(\"../../components/colorscale\"),i=t(\"../../lib/gup\").wrap;e.exports=function(t,e){var r,o;return a.hasColorscale(e,\"line\")&&n(e.line.color)?(r=e.line.color,o=a.extractOpts(e.line).colorscale,a.calc(t,e,{vals:r,containerStr:\"line\",cLetter:\"c\"})):(r=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=.5;return e}(e._length),o=[[0,e.line.color],[1,e.line.color]]),i({lineColor:r,cscale:o})}},{\"../../components/colorscale\":607,\"../../lib\":728,\"../../lib/gup\":726}],1100:[function(t,e,r){\"use strict\";e.exports={maxDimensionCount:60,overdrag:45,verticalPadding:2,tickDistance:50,canvasPixelRatio:1,blockLineCount:5e3,layers:[\"contextLineLayer\",\"focusLineLayer\",\"pickLineLayer\"],axisTitleOffset:28,axisExtentOffset:10,deselectedLineColor:\"#777\",bar:{width:4,captureWidth:10,fillColor:\"magenta\",fillOpacity:1,snapDuration:150,snapRatio:.25,snapClose:.01,strokeColor:\"white\",strokeOpacity:1,strokeWidth:1,handleHeight:8,handleOpacity:1,handleOverlap:0},cn:{axisExtentText:\"axis-extent-text\",parcoordsLineLayers:\"parcoords-line-layers\",parcoordsLineLayer:\"parcoords-lines\",parcoords:\"parcoords\",parcoordsControlView:\"parcoords-control-view\",yAxis:\"y-axis\",axisOverlays:\"axis-overlays\",axis:\"axis\",axisHeading:\"axis-heading\",axisTitle:\"axis-title\",axisExtent:\"axis-extent\",axisExtentTop:\"axis-extent-top\",axisExtentTopText:\"axis-extent-top-text\",axisExtentBottom:\"axis-extent-bottom\",axisExtentBottomText:\"axis-extent-bottom-text\",axisBrush:\"axis-brush\"},id:{filterBarPattern:\"filter-bar-pattern\"}}},{}],1101:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../components/colorscale/helpers\").hasColorscale,i=t(\"../../components/colorscale/defaults\"),o=t(\"../../plots/domain\").defaults,s=t(\"../../plots/array_container_defaults\"),l=t(\"../../plots/cartesian/axes\"),c=t(\"./attributes\"),u=t(\"./axisbrush\"),h=t(\"./constants\").maxDimensionCount,f=t(\"./merge_length\");function p(t,e,r,a){function i(r,a){return n.coerce(t,e,c.dimensions,r,a)}var o=i(\"values\"),s=i(\"visible\");if(o&&o.length||(s=e.visible=!1),s){i(\"label\"),i(\"tickvals\"),i(\"ticktext\"),i(\"tickformat\");var h=i(\"range\");e._ax={_id:\"y\",type:\"linear\",showexponent:\"all\",exponentformat:\"B\",range:h},l.setConvert(e._ax,a.layout),i(\"multiselect\");var f=i(\"constraintrange\");f&&(e.constraintrange=u.cleanRanges(f,e))}}e.exports=function(t,e,r,l){function u(r,a){return n.coerce(t,e,c,r,a)}var d=t.dimensions;Array.isArray(d)&&d.length>h&&(n.log(\"parcoords traces support up to \"+h+\" dimensions at the moment\"),d.splice(h));var g=s(t,e,{name:\"dimensions\",layout:l,handleItemDefaults:p}),m=function(t,e,r,o,s){var l=s(\"line.color\",r);if(a(t,\"line\")&&n.isArrayOrTypedArray(l)){if(l.length)return s(\"line.colorscale\"),i(t,e,o,s,{prefix:\"line.\",cLetter:\"c\"}),l.length;e.line.color=r}return 1/0}(t,e,r,l,u);o(e,l,u),Array.isArray(g)&&g.length||(e.visible=!1),f(e,g,\"values\",m);var v={family:l.font.family,size:Math.round(l.font.size/1.2),color:l.font.color};n.coerceFont(u,\"labelfont\",v),n.coerceFont(u,\"tickfont\",v),n.coerceFont(u,\"rangefont\",v),u(\"labelangle\"),u(\"labelside\")}},{\"../../components/colorscale/defaults\":605,\"../../components/colorscale/helpers\":606,\"../../lib\":728,\"../../plots/array_container_defaults\":772,\"../../plots/cartesian/axes\":776,\"../../plots/domain\":803,\"./attributes\":1096,\"./axisbrush\":1097,\"./constants\":1100,\"./merge_length\":1105}],1102:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isTypedArray;r.convertTypedArray=function(t){return n(t)?Array.prototype.slice.call(t):t},r.isOrdinal=function(t){return!!t.tickvals},r.isVisible=function(t){return t.visible||!(\"visible\"in t)}},{\"../../lib\":728}],1103:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\"),plot:t(\"./plot\"),colorbar:{container:\"line\",min:\"cmin\",max:\"cmax\"},moduleType:\"trace\",name:\"parcoords\",basePlotModule:t(\"./base_plot\"),categories:[\"gl\",\"regl\",\"noOpacity\",\"noHover\"],meta:{}}},{\"./attributes\":1096,\"./base_plot\":1098,\"./calc\":1099,\"./defaults\":1101,\"./plot\":1107}],1104:[function(t,e,r){\"use strict\";var n=t(\"glslify\"),a=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor;\\n\\nattribute vec4 p01_04, p05_08, p09_12, p13_16,\\n               p17_20, p21_24, p25_28, p29_32,\\n               p33_36, p37_40, p41_44, p45_48,\\n               p49_52, p53_56, p57_60, colors;\\n\\nuniform mat4 dim0A, dim1A, dim0B, dim1B, dim0C, dim1C, dim0D, dim1D,\\n             loA, hiA, loB, hiB, loC, hiC, loD, hiD;\\n\\nuniform vec2 resolution, viewBoxPos, viewBoxSize;\\nuniform sampler2D mask, palette;\\nuniform float maskHeight;\\nuniform float drwLayer; // 0: context, 1: focus, 2: pick\\nuniform vec4 contextColor;\\n\\nbool isPick    = (drwLayer > 1.5);\\nbool isContext = (drwLayer < 0.5);\\n\\nconst vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0);\\nconst vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0);\\n\\nfloat val(mat4 p, mat4 v) {\\n    return dot(matrixCompMult(p, v) * UNITS, UNITS);\\n}\\n\\nfloat axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) {\\n    float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D);\\n    float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D);\\n    return y1 * (1.0 - ratio) + y2 * ratio;\\n}\\n\\nint iMod(int a, int b) {\\n    return a - b * (a / b);\\n}\\n\\nbool fOutside(float p, float lo, float hi) {\\n    return (lo < hi) && (lo > p || p > hi);\\n}\\n\\nbool vOutside(vec4 p, vec4 lo, vec4 hi) {\\n    return (\\n        fOutside(p[0], lo[0], hi[0]) ||\\n        fOutside(p[1], lo[1], hi[1]) ||\\n        fOutside(p[2], lo[2], hi[2]) ||\\n        fOutside(p[3], lo[3], hi[3])\\n    );\\n}\\n\\nbool mOutside(mat4 p, mat4 lo, mat4 hi) {\\n    return (\\n        vOutside(p[0], lo[0], hi[0]) ||\\n        vOutside(p[1], lo[1], hi[1]) ||\\n        vOutside(p[2], lo[2], hi[2]) ||\\n        vOutside(p[3], lo[3], hi[3])\\n    );\\n}\\n\\nbool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) {\\n    return mOutside(A, loA, hiA) ||\\n           mOutside(B, loB, hiB) ||\\n           mOutside(C, loC, hiC) ||\\n           mOutside(D, loD, hiD);\\n}\\n\\nbool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) {\\n    mat4 pnts[4];\\n    pnts[0] = A;\\n    pnts[1] = B;\\n    pnts[2] = C;\\n    pnts[3] = D;\\n\\n    for(int i = 0; i < 4; ++i) {\\n        for(int j = 0; j < 4; ++j) {\\n            for(int k = 0; k < 4; ++k) {\\n                if(0 == iMod(\\n                    int(255.0 * texture2D(mask,\\n                        vec2(\\n                            (float(i * 2 + j / 2) + 0.5) / 8.0,\\n                            (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight\\n                        ))[3]\\n                    ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))),\\n                    2\\n                )) return true;\\n            }\\n        }\\n    }\\n    return false;\\n}\\n\\nvec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) {\\n    float x = 0.5 * sign(v) + 0.5;\\n    float y = axisY(x, A, B, C, D);\\n    float z = 1.0 - abs(v);\\n\\n    z += isContext ? 0.0 : 2.0 * float(\\n        outsideBoundingBox(A, B, C, D) ||\\n        outsideRasterMask(A, B, C, D)\\n    );\\n\\n    return vec4(\\n        2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0,\\n        z,\\n        1.0\\n    );\\n}\\n\\nvoid main() {\\n    mat4 A = mat4(p01_04, p05_08, p09_12, p13_16);\\n    mat4 B = mat4(p17_20, p21_24, p25_28, p29_32);\\n    mat4 C = mat4(p33_36, p37_40, p41_44, p45_48);\\n    mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS);\\n\\n    float v = colors[3];\\n\\n    gl_Position = position(isContext, v, A, B, C, D);\\n\\n    fragColor =\\n        isContext ? vec4(contextColor) :\\n        isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5));\\n}\\n\"]),i=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n    gl_FragColor = fragColor;\\n}\\n\"]),o=t(\"./constants\").maxDimensionCount,s=t(\"../../lib\"),l=new Uint8Array(4),c=new Uint8Array(4),u={shape:[256,1],format:\"rgba\",type:\"uint8\",mag:\"nearest\",min:\"nearest\"};function h(t,e,r,n,a){var i=t._gl;i.enable(i.SCISSOR_TEST),i.scissor(e,r,n,a),t.clear({color:[0,0,0,0],depth:1})}function f(t,e,r,n,a,i){var o=i.key;r.drawCompleted||(!function(t){t.read({x:0,y:0,width:1,height:1,data:l})}(t),r.drawCompleted=!0),function s(l){var c=Math.min(n,a-l*n);0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],h(t,i.scissorX,i.scissorY,i.scissorWidth,i.viewBoxSize[1])),r.clearOnly||(i.count=2*c,i.offset=2*l*n,e(i),l*n+c<a&&(r.currentRafs[o]=window.requestAnimationFrame((function(){s(l+1)}))),r.drawCompleted=!1)}(0)}function p(t,e){for(var r=new Array(256),n=0;n<256;n++)r[n]=t(n/255).concat(e);return r}function d(t,e){return(t>>>8*e)%256/255}function g(t,e,r){for(var n=new Array(8*e),a=0,i=0;i<e;i++)for(var o=0;o<2;o++)for(var s=0;s<4;s++){var l=4*t+s,c=r[64*i+l];63===l&&0===o&&(c*=-1),n[a++]=c}return n}function m(t){var e=\"0\"+t;return e.substr(e.length-2)}function v(t){return t<o?\"p\"+m(t+1)+\"_\"+m(t+4):\"colors\"}function y(t,e,r,n,a,i,o,l,c,u,h,f,p){for(var d=[[],[]],g=0;g<64;g++)d[0][g]=g===a?1:0,d[1][g]=g===i?1:0;var m=t.lines.canvasOverdrag,v=t.domain,y=t.canvasWidth,x=t.canvasHeight,b=t.deselectedLines.color;return s.extendFlat({key:h,resolution:[y,x],viewBoxPos:[o+m,l],viewBoxSize:[c,u],i0:a,i1:i,dim0A:d[0].slice(0,16),dim0B:d[0].slice(16,32),dim0C:d[0].slice(32,48),dim0D:d[0].slice(48,64),dim1A:d[1].slice(0,16),dim1B:d[1].slice(16,32),dim1C:d[1].slice(32,48),dim1D:d[1].slice(48,64),drwLayer:f,contextColor:[b[0]/255,b[1]/255,b[2]/255,b[3]<1?b[3]:Math.max(1/255,Math.pow(1/t.lines.color.length,1/3))],scissorX:(n===e?0:o+m)+(t.pad.l-m)+t.layoutWidth*v.x[0],scissorWidth:(n===r?y-o+m:c+.5)+(n===e?o+m:0),scissorY:l+t.pad.b+t.layoutHeight*v.y[0],scissorHeight:u,viewportX:t.pad.l-m+t.layoutWidth*v.x[0],viewportY:t.pad.b+t.layoutHeight*v.y[0],viewportWidth:y,viewportHeight:x},p)}function x(t){var e=Math.max(0,Math.floor(2047*t[0]),0),r=Math.min(2047,Math.ceil(2047*t[1]),2047);return[Math.min(e,r),Math.max(e,r)]}e.exports=function(t,e){var r,n,l,m,b,_=e.context,w=e.pick,T=e.regl,k={currentRafs:{},drawCompleted:!0,clearOnly:!1},A=function(t){for(var e={},r=0;r<=o;r+=4)e[v(r)]=t.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)});return e}(T),M=T.texture(u),S=[];C(e);var E=T({profile:!1,blend:{enable:_,func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:1,dstAlpha:1},equation:{rgb:\"add\",alpha:\"add\"},color:[0,0,0,0]},depth:{enable:!_,mask:!0,func:\"less\",range:[0,1]},cull:{enable:!0,face:\"back\"},scissor:{enable:!0,box:{x:T.prop(\"scissorX\"),y:T.prop(\"scissorY\"),width:T.prop(\"scissorWidth\"),height:T.prop(\"scissorHeight\")}},viewport:{x:T.prop(\"viewportX\"),y:T.prop(\"viewportY\"),width:T.prop(\"viewportWidth\"),height:T.prop(\"viewportHeight\")},dither:!1,vert:a,frag:i,primitive:\"lines\",lineWidth:1,attributes:A,uniforms:{resolution:T.prop(\"resolution\"),viewBoxPos:T.prop(\"viewBoxPos\"),viewBoxSize:T.prop(\"viewBoxSize\"),dim0A:T.prop(\"dim0A\"),dim1A:T.prop(\"dim1A\"),dim0B:T.prop(\"dim0B\"),dim1B:T.prop(\"dim1B\"),dim0C:T.prop(\"dim0C\"),dim1C:T.prop(\"dim1C\"),dim0D:T.prop(\"dim0D\"),dim1D:T.prop(\"dim1D\"),loA:T.prop(\"loA\"),hiA:T.prop(\"hiA\"),loB:T.prop(\"loB\"),hiB:T.prop(\"hiB\"),loC:T.prop(\"loC\"),hiC:T.prop(\"hiC\"),loD:T.prop(\"loD\"),hiD:T.prop(\"hiD\"),palette:M,contextColor:T.prop(\"contextColor\"),mask:T.prop(\"maskTexture\"),drwLayer:T.prop(\"drwLayer\"),maskHeight:T.prop(\"maskHeight\")},offset:T.prop(\"offset\"),count:T.prop(\"count\")});function C(t){r=t.model,n=t.viewModel,l=n.dimensions.slice(),m=l[0]?l[0].values.length:0;var e=r.lines,a=w?e.color.map((function(t,r){return r/e.color.length})):e.color,i=function(t,e,r){for(var n,a=new Array(t*(o+4)),i=0,s=0;s<t;s++){for(var l=0;l<o;l++)a[i++]=l<e.length?e[l].paddedUnitValues[s]:.5;a[i++]=d(s,2),a[i++]=d(s,1),a[i++]=d(s,0),a[i++]=(n=r[s],Math.max(1e-6,Math.min(.999999,n)))}return a}(m,l,a);!function(t,e,r){for(var n=0;n<=o;n+=4)t[v(n)](g(n/4,e,r))}(A,m,i),_||w||(M=T.texture(s.extendFlat({data:p(r.unitToColor,255)},u)))}return{render:function(t,e,n){var a,i,o,s=t.length,c=1/0,u=-1/0;for(a=0;a<s;a++)t[a].dim0.canvasX<c&&(c=t[a].dim0.canvasX,i=a),t[a].dim1.canvasX>u&&(u=t[a].dim1.canvasX,o=a);0===s&&h(T,0,0,r.canvasWidth,r.canvasHeight);var p=function(t){var e,r,n,a=[[],[]];for(n=0;n<64;n++){var i=!t&&n<l.length?l[n].brush.filter.getBounds():[-1/0,1/0];a[0][n]=i[0],a[1][n]=i[1]}var o=new Array(16384);for(e=0;e<16384;e++)o[e]=255;if(!t)for(e=0;e<l.length;e++){var s=e%8,c=(e-s)/8,u=Math.pow(2,s),h=l[e].brush.filter.get();if(!(h.length<2)){var f=x(h[0])[1];for(r=1;r<h.length;r++){var p=x(h[r]);for(n=f+1;n<p[0];n++)o[8*n+c]&=~u;f=Math.max(f,p[1])}}}var d={shape:[8,2048],format:\"alpha\",type:\"uint8\",mag:\"nearest\",min:\"nearest\",data:o};return b?b(d):b=T.texture(d),{maskTexture:b,maskHeight:2048,loA:a[0].slice(0,16),loB:a[0].slice(16,32),loC:a[0].slice(32,48),loD:a[0].slice(48,64),hiA:a[1].slice(0,16),hiB:a[1].slice(16,32),hiC:a[1].slice(32,48),hiD:a[1].slice(48,64)}}(_);for(a=0;a<s;a++){var d=t[a],g=d.dim0.crossfilterDimensionIndex,v=d.dim1.crossfilterDimensionIndex,A=d.canvasX,M=d.canvasY,C=A+d.panelSizeX;if(e||!S[g]||S[g][0]!==A||S[g][1]!==C){S[g]=[A,C];var L=y(r,i,o,a,g,v,A,M,d.panelSizeX,d.panelSizeY,d.dim0.crossfilterDimensionIndex,_?0:w?2:1,p);k.clearOnly=n;var P=e?r.lines.blockLineCount:m;f(T,E,k,P,m,L)}}},readPixel:function(t,e){return T.read({x:t,y:e,width:1,height:1,data:c}),c},readPixels:function(t,e,r,n){var a=new Uint8Array(4*r*n);return T.read({x:t,y:e,width:r,height:n,data:a}),a},destroy:function(){for(var e in t.style[\"pointer-events\"]=\"none\",M.destroy(),b&&b.destroy(),A)A[e].destroy()},update:C}}},{\"../../lib\":728,\"./constants\":1100,glslify:408}],1105:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){var a,i;for(n||(n=1/0),a=0;a<e.length;a++)(i=e[a]).visible&&(n=Math.min(n,i[r].length));for(n===1/0&&(n=0),t._length=n,a=0;a<e.length;a++)(i=e[a]).visible&&(i._length=n);return n}},{}],1106:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"color-rgba\"),i=t(\"../../plots/cartesian/axes\"),o=t(\"../../lib\"),s=t(\"../../lib/svg_text_utils\"),l=t(\"../../components/drawing\"),c=t(\"../../components/colorscale\"),u=t(\"../../lib/gup\"),h=u.keyFun,f=u.repeat,p=u.unwrap,d=t(\"./helpers\"),g=t(\"./constants\"),m=t(\"./axisbrush\"),v=t(\"./lines\");function y(t,e,r){return o.aggNums(t,null,e,r)}function x(t,e){return _(y(Math.min,t,e),y(Math.max,t,e))}function b(t){var e=t.range;return e?_(e[0],e[1]):x(t.values,t._length)}function _(t,e){return!isNaN(t)&&isFinite(t)||(t=0),!isNaN(e)&&isFinite(e)||(e=0),t===e&&(0===t?(t-=1,e+=1):(t*=.9,e*=1.1)),[t,e]}function w(t,e,r,a,i){var o,s,l=b(r);return a?n.scale.ordinal().domain(a.map((o=n.format(r.tickformat),s=i,s?function(t,e){var r=s[e];return null==r?o(t):r}:o))).range(a.map((function(r){var n=(r-l[0])/(l[1]-l[0]);return t-e+n*(2*e-t)}))):n.scale.linear().domain(l).range([t-e,e])}function T(t){if(t.tickvals){var e=b(t);return n.scale.ordinal().domain(t.tickvals).range(t.tickvals.map((function(t){return(t-e[0])/(e[1]-e[0])})))}}function k(t){var e=t.map((function(t){return t[0]})),r=t.map((function(t){var e=a(t[1]);return n.rgb(\"rgb(\"+e[0]+\",\"+e[1]+\",\"+e[2]+\")\")})),i=\"rgb\".split(\"\").map((function(t){return n.scale.linear().clamp(!0).domain(e).range(r.map((a=t,function(t){return t[a]})));var a}));return function(t){return i.map((function(e){return e(t)}))}}function A(t){return t.dimensions.some((function(t){return t.brush.filterSpecified}))}function M(t,e,r){var i=p(e),s=i.trace,l=d.convertTypedArray(i.lineColor),u=s.line,h={color:a(g.deselectedLineColor)},f=c.extractOpts(u),m=f.reversescale?c.flipScale(i.cscale):i.cscale,v=s.domain,y=s.dimensions,x=t.width,_=s.labelangle,w=s.labelside,T=s.labelfont,A=s.tickfont,M=s.rangefont,S=o.extendDeepNoArrays({},u,{color:l.map(n.scale.linear().domain(b({values:l,range:[f.min,f.max],_length:s._length}))),blockLineCount:g.blockLineCount,canvasOverdrag:g.overdrag*g.canvasPixelRatio}),E=Math.floor(x*(v.x[1]-v.x[0])),C=Math.floor(t.height*(v.y[1]-v.y[0])),L=t.margin||{l:80,r:80,t:100,b:80},P=E,I=C;return{key:r,colCount:y.filter(d.isVisible).length,dimensions:y,tickDistance:g.tickDistance,unitToColor:k(m),lines:S,deselectedLines:h,labelAngle:_,labelSide:w,labelFont:T,tickFont:A,rangeFont:M,layoutWidth:x,layoutHeight:t.height,domain:v,translateX:v.x[0]*x,translateY:t.height-v.y[1]*t.height,pad:L,canvasWidth:P*g.canvasPixelRatio+2*S.canvasOverdrag,canvasHeight:I*g.canvasPixelRatio,width:P,height:I,canvasPixelRatio:g.canvasPixelRatio}}function S(t,e,r){var a=r.width,i=r.height,s=r.dimensions,l=r.canvasPixelRatio,c=function(t){return a*t/Math.max(1,r.colCount-1)},u=g.verticalPadding/i,h=function(t,e){return n.scale.linear().range([e,t-e])}(i,g.verticalPadding),f={key:r.key,xScale:c,model:r,inBrushDrag:!1},p={};return f.dimensions=s.filter(d.isVisible).map((function(a,s){var v=function(t,e){return n.scale.linear().domain(b(t)).range([e,1-e])}(a,u),y=p[a.label];p[a.label]=(y||0)+1;var x=a.label+(y?\"__\"+y:\"\"),_=a.constraintrange,k=_&&_.length;k&&!Array.isArray(_[0])&&(_=[_]);var M=k?_.map((function(t){return t.map(v)})):[[-1/0,1/0]],S=a.values;S.length>a._length&&(S=S.slice(0,a._length));var E,C=a.tickvals;function L(t,e){return{val:t,text:E[e]}}function P(t,e){return t.val-e.val}if(Array.isArray(C)&&C.length){E=a.ticktext,Array.isArray(E)&&E.length?E.length>C.length?E=E.slice(0,C.length):C.length>E.length&&(C=C.slice(0,E.length)):E=C.map(n.format(a.tickformat));for(var I=1;I<C.length;I++)if(C[I]<C[I-1]){for(var z=C.map(L).sort(P),O=0;O<C.length;O++)C[O]=z[O].val,E[O]=z[O].text;break}}else C=void 0;return S=d.convertTypedArray(S),{key:x,label:a.label,tickFormat:a.tickformat,tickvals:C,ticktext:E,ordinal:d.isOrdinal(a),multiselect:a.multiselect,xIndex:s,crossfilterDimensionIndex:s,visibleIndex:a._index,height:i,values:S,paddedUnitValues:S.map(v),unitTickvals:C&&C.map(v),xScale:c,x:c(s),canvasX:c(s)*l,unitToPaddedPx:h,domainScale:w(i,g.verticalPadding,a,C,E),ordinalScale:T(a),parent:f,model:r,brush:m.makeBrush(t,k,M,(function(){t.linePickActive(!1)}),(function(){var e=f;e.focusLayer&&e.focusLayer.render(e.panels,!0);var r=A(e);!t.contextShown()&&r?(e.contextLayer&&e.contextLayer.render(e.panels,!0),t.contextShown(!0)):t.contextShown()&&!r&&(e.contextLayer&&e.contextLayer.render(e.panels,!0,!0),t.contextShown(!1))}),(function(r){if(f.focusLayer.render(f.panels,!0),f.pickLayer&&f.pickLayer.render(f.panels,!0),t.linePickActive(!0),e&&e.filterChanged){var n=v.invert,i=r.map((function(t){return t.map(n).sort(o.sorterAsc)})).sort((function(t,e){return t[0]-e[0]}));e.filterChanged(f.key,a._index,i)}}))}})),f}function E(t){t.classed(g.cn.axisExtentText,!0).attr(\"text-anchor\",\"middle\").style(\"cursor\",\"default\").style(\"user-select\",\"none\")}function C(t,e){var r=\"top\"===e?1:-1,n=t*Math.PI/180;return{dir:r,dx:Math.sin(n),dy:Math.cos(n),degrees:t}}function L(t,e){for(var r=e.panels||(e.panels=[]),n=t.data(),a=0;a<n.length-1;a++){var i=r[a]||(r[a]={}),o=n[a],s=n[a+1];i.dim0=o,i.dim1=s,i.canvasX=o.canvasX,i.panelSizeX=s.canvasX-o.canvasX,i.panelSizeY=e.model.canvasHeight,i.y=0,i.canvasY=0}}function P(t,e){return i.tickText(t._ax,e,!1).text}function I(t,e){if(t.ordinal)return\"\";var r=t.domainScale.domain(),n=r[e?r.length-1:0];return P(t.model.dimensions[t.visibleIndex],n)}e.exports=function(t,e,r,a){var c=t._fullLayout,u=c._toppaper,y=c._glcontainer;!function(t){for(var e=0;e<t.length;e++)for(var r=0;r<t[e].length;r++)for(var n=t[e][r].trace,a=n.dimensions,o=0;o<a.length;o++){var s=a[o].values,l=a[o]._ax;l&&(l.range?l.range=_(l.range[0],l.range[1]):l.range=x(s,n._length),l.dtick||(l.dtick=.01*(Math.abs(l.range[1]-l.range[0])||1)),l.tickformat=a[o].tickformat,i.calcTicks(l),l.cleanRange())}}(e);var b,w,T=(b=!0,w=!1,{linePickActive:function(t){return arguments.length?b=!!t:b},contextShown:function(t){return arguments.length?w=!!t:w}}),k=e.filter((function(t){return p(t).trace.visible})).map(M.bind(0,r)).map(S.bind(0,T,a));y.each((function(t,e){return o.extendFlat(t,k[e])}));var z=y.selectAll(\".gl-canvas\").each((function(t){t.viewModel=k[0],t.model=t.viewModel?t.viewModel.model:null})),O=null;z.filter((function(t){return t.pick})).style(\"pointer-events\",\"auto\").on(\"mousemove\",(function(t){if(T.linePickActive()&&t.lineLayer&&a&&a.hover){var e=n.event,r=this.width,i=this.height,o=n.mouse(this),s=o[0],l=o[1];if(s<0||l<0||s>=r||l>=i)return;var c=t.lineLayer.readPixel(s,i-1-l),u=0!==c[3],h=u?c[2]+256*(c[1]+256*c[0]):null,f={x:s,y:l,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:h};h!==O&&(u?a.hover(f):a.unhover&&a.unhover(f),O=h)}})),z.style(\"opacity\",(function(t){return t.pick?0:1})),u.style(\"background\",\"rgba(255, 255, 255, 0)\");var D=u.selectAll(\".\"+g.cn.parcoords).data(k,h);D.exit().remove(),D.enter().append(\"g\").classed(g.cn.parcoords,!0).style(\"shape-rendering\",\"crispEdges\").style(\"pointer-events\",\"none\"),D.attr(\"transform\",(function(t){return\"translate(\"+t.model.translateX+\",\"+t.model.translateY+\")\"}));var R=D.selectAll(\".\"+g.cn.parcoordsControlView).data(f,h);R.enter().append(\"g\").classed(g.cn.parcoordsControlView,!0),R.attr(\"transform\",(function(t){return\"translate(\"+t.model.pad.l+\",\"+t.model.pad.t+\")\"}));var F=R.selectAll(\".\"+g.cn.yAxis).data((function(t){return t.dimensions}),h);F.enter().append(\"g\").classed(g.cn.yAxis,!0),R.each((function(t){L(F,t)})),z.each((function(t){if(t.viewModel){!t.lineLayer||a?t.lineLayer=v(this,t):t.lineLayer.update(t),(t.key||0===t.key)&&(t.viewModel[t.key]=t.lineLayer);var e=!t.context||a;t.lineLayer.render(t.viewModel.panels,e)}})),F.attr(\"transform\",(function(t){return\"translate(\"+t.xScale(t.xIndex)+\", 0)\"})),F.call(n.behavior.drag().origin((function(t){return t})).on(\"drag\",(function(t){var e=t.parent;T.linePickActive(!1),t.x=Math.max(-g.overdrag,Math.min(t.model.width+g.overdrag,n.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,F.sort((function(t,e){return t.x-e.x})).each((function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e.xIndex),e.canvasX=e.x*e.model.canvasPixelRatio})),L(F,e),F.filter((function(e){return 0!==Math.abs(t.xIndex-e.xIndex)})).attr(\"transform\",(function(t){return\"translate(\"+t.xScale(t.xIndex)+\", 0)\"})),n.select(this).attr(\"transform\",\"translate(\"+t.x+\", 0)\"),F.each((function(r,n,a){a===t.parent.key&&(e.dimensions[n]=r)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!A(e)),e.focusLayer.render&&e.focusLayer.render(e.panels)})).on(\"dragend\",(function(t){var e=t.parent;t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,L(F,e),n.select(this).attr(\"transform\",(function(t){return\"translate(\"+t.x+\", 0)\"})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!A(e)),e.focusLayer&&e.focusLayer.render(e.panels),e.pickLayer&&e.pickLayer.render(e.panels,!0),T.linePickActive(!0),a&&a.axesMoved&&a.axesMoved(e.key,e.dimensions.map((function(t){return t.crossfilterDimensionIndex})))}))),F.exit().remove();var B=F.selectAll(\".\"+g.cn.axisOverlays).data(f,h);B.enter().append(\"g\").classed(g.cn.axisOverlays,!0),B.selectAll(\".\"+g.cn.axis).remove();var N=B.selectAll(\".\"+g.cn.axis).data(f,h);N.enter().append(\"g\").classed(g.cn.axis,!0),N.each((function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,a=r.domain();n.select(this).call(n.svg.axis().orient(\"left\").tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?a:null).tickFormat((function(e){return d.isOrdinal(t)?e:P(t.model.dimensions[t.visibleIndex],e)})).scale(r)),l.font(N.selectAll(\"text\"),t.model.tickFont)})),N.selectAll(\".domain, .tick>line\").attr(\"fill\",\"none\").attr(\"stroke\",\"black\").attr(\"stroke-opacity\",.25).attr(\"stroke-width\",\"1px\"),N.selectAll(\"text\").style(\"text-shadow\",\"1px 1px 1px #fff, -1px -1px 1px #fff, 1px -1px 1px #fff, -1px 1px 1px #fff\").style(\"cursor\",\"default\").style(\"user-select\",\"none\");var j=B.selectAll(\".\"+g.cn.axisHeading).data(f,h);j.enter().append(\"g\").classed(g.cn.axisHeading,!0);var V=j.selectAll(\".\"+g.cn.axisTitle).data(f,h);V.enter().append(\"text\").classed(g.cn.axisTitle,!0).attr(\"text-anchor\",\"middle\").style(\"cursor\",\"ew-resize\").style(\"user-select\",\"none\").style(\"pointer-events\",\"auto\"),V.text((function(t){return t.label})).each((function(e){var r=n.select(this);l.font(r,e.model.labelFont),s.convertToTspans(r,t)})).attr(\"transform\",(function(t){var e=C(t.model.labelAngle,t.model.labelSide),r=g.axisTitleOffset;return(e.dir>0?\"\":\"translate(0,\"+(2*r+t.model.height)+\")\")+\"rotate(\"+e.degrees+\")translate(\"+-r*e.dx+\",\"+-r*e.dy+\")\"})).attr(\"text-anchor\",(function(t){var e=C(t.model.labelAngle,t.model.labelSide);return 2*Math.abs(e.dx)>Math.abs(e.dy)?e.dir*e.dx<0?\"start\":\"end\":\"middle\"}));var U=B.selectAll(\".\"+g.cn.axisExtent).data(f,h);U.enter().append(\"g\").classed(g.cn.axisExtent,!0);var q=U.selectAll(\".\"+g.cn.axisExtentTop).data(f,h);q.enter().append(\"g\").classed(g.cn.axisExtentTop,!0),q.attr(\"transform\",\"translate(0,\"+-g.axisExtentOffset+\")\");var H=q.selectAll(\".\"+g.cn.axisExtentTopText).data(f,h);H.enter().append(\"text\").classed(g.cn.axisExtentTopText,!0).call(E),H.text((function(t){return I(t,!0)})).each((function(t){l.font(n.select(this),t.model.rangeFont)}));var G=U.selectAll(\".\"+g.cn.axisExtentBottom).data(f,h);G.enter().append(\"g\").classed(g.cn.axisExtentBottom,!0),G.attr(\"transform\",(function(t){return\"translate(0,\"+(t.model.height+g.axisExtentOffset)+\")\"}));var Y=G.selectAll(\".\"+g.cn.axisExtentBottomText).data(f,h);Y.enter().append(\"text\").classed(g.cn.axisExtentBottomText,!0).attr(\"dy\",\"0.75em\").call(E),Y.text((function(t){return I(t,!1)})).each((function(t){l.font(n.select(this),t.model.rangeFont)})),m.ensureAxisBrush(B)}},{\"../../components/colorscale\":607,\"../../components/drawing\":617,\"../../lib\":728,\"../../lib/gup\":726,\"../../lib/svg_text_utils\":752,\"../../plots/cartesian/axes\":776,\"./axisbrush\":1097,\"./constants\":1100,\"./helpers\":1102,\"./lines\":1104,\"color-rgba\":124,d3:164}],1107:[function(t,e,r){\"use strict\";var n=t(\"./parcoords\"),a=t(\"../../lib/prepare_regl\"),i=t(\"./helpers\").isVisible;function o(t,e,r){var n=e.indexOf(r),a=t.indexOf(n);return-1===a&&(a+=e.length),a}e.exports=function(t,e){var r=t._fullLayout;if(a(t)){var s={},l={},c={},u={},h=r._size;e.forEach((function(e,r){var n=e[0].trace;c[r]=n.index;var a=u[r]=n._fullInput.index;s[r]=t.data[a].dimensions,l[r]=t.data[a].dimensions.slice()}));n(t,e,{width:h.w,height:h.h,margin:{t:h.t,r:h.r,b:h.b,l:h.l}},{filterChanged:function(e,n,a){var i=l[e][n],o=a.map((function(t){return t.slice()})),s=\"dimensions[\"+n+\"].constraintrange\",h=r._tracePreGUI[t._fullData[c[e]]._fullInput.uid];if(void 0===h[s]){var f=i.constraintrange;h[s]=f||null}var p=t._fullData[c[e]].dimensions[n];o.length?(1===o.length&&(o=o[0]),i.constraintrange=o,p.constraintrange=o.slice(),o=[o]):(delete i.constraintrange,delete p.constraintrange,o=null);var d={};d[s]=o,t.emit(\"plotly_restyle\",[d,[u[e]]])},hover:function(e){t.emit(\"plotly_hover\",e)},unhover:function(e){t.emit(\"plotly_unhover\",e)},axesMoved:function(e,r){var n=function(t,e){return function(r,n){return o(t,e,r)-o(t,e,n)}}(r,l[e].filter(i));s[e].sort(n),l[e].filter((function(t){return!i(t)})).sort((function(t){return l[e].indexOf(t)})).forEach((function(t){s[e].splice(s[e].indexOf(t),1),s[e].splice(l[e].indexOf(t),0,t)})),t.emit(\"plotly_restyle\",[{dimensions:[s[e]]},[u[e]]])}})}}},{\"../../lib/prepare_regl\":741,\"./helpers\":1102,\"./parcoords\":1106}],1108:[function(t,e,r){\"use strict\";var n=t(\"../../plots/attributes\"),a=t(\"../../plots/domain\").attributes,i=t(\"../../plots/font_attributes\"),o=t(\"../../components/color/attributes\"),s=t(\"../../plots/template_attributes\").hovertemplateAttrs,l=t(\"../../plots/template_attributes\").texttemplateAttrs,c=t(\"../../lib/extend\").extendFlat,u=i({editType:\"plot\",arrayOk:!0,colorEditType:\"plot\"});e.exports={labels:{valType:\"data_array\",editType:\"calc\"},label0:{valType:\"number\",dflt:0,editType:\"calc\"},dlabel:{valType:\"number\",dflt:1,editType:\"calc\"},values:{valType:\"data_array\",editType:\"calc\"},marker:{colors:{valType:\"data_array\",editType:\"calc\"},line:{color:{valType:\"color\",dflt:o.defaultLine,arrayOk:!0,editType:\"style\"},width:{valType:\"number\",min:0,dflt:0,arrayOk:!0,editType:\"style\"},editType:\"calc\"},editType:\"calc\"},text:{valType:\"data_array\",editType:\"plot\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"style\"},scalegroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"value\",\"percent\"],extras:[\"none\"],editType:\"calc\"},hoverinfo:c({},n.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),hovertemplate:s({},{keys:[\"label\",\"color\",\"value\",\"percent\",\"text\"]}),texttemplate:l({editType:\"plot\"},{keys:[\"label\",\"color\",\"value\",\"percent\",\"text\"]}),textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"auto\",arrayOk:!0,editType:\"plot\"},textfont:c({},u,{}),insidetextorientation:{valType:\"enumerated\",values:[\"horizontal\",\"radial\",\"tangential\",\"auto\"],dflt:\"auto\",editType:\"plot\"},insidetextfont:c({},u,{}),outsidetextfont:c({},u,{}),automargin:{valType:\"boolean\",dflt:!1,editType:\"plot\"},title:{text:{valType:\"string\",dflt:\"\",editType:\"plot\"},font:c({},u,{}),position:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle center\",\"bottom left\",\"bottom center\",\"bottom right\"],editType:\"plot\"},editType:\"plot\"},domain:a({name:\"pie\",trace:!0,editType:\"calc\"}),hole:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"},sort:{valType:\"boolean\",dflt:!0,editType:\"calc\"},direction:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"],dflt:\"counterclockwise\",editType:\"calc\"},rotation:{valType:\"number\",min:-360,max:360,dflt:0,editType:\"calc\"},pull:{valType:\"number\",min:0,max:1,dflt:0,arrayOk:!0,editType:\"calc\"},_deprecated:{title:{valType:\"string\",dflt:\"\",editType:\"calc\"},titlefont:c({},u,{}),titleposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle center\",\"bottom left\",\"bottom center\",\"bottom right\"],editType:\"calc\"}}}},{\"../../components/color/attributes\":594,\"../../lib/extend\":719,\"../../plots/attributes\":773,\"../../plots/domain\":803,\"../../plots/font_attributes\":804,\"../../plots/template_attributes\":854}],1109:[function(t,e,r){\"use strict\";var n=t(\"../../plots/plots\");r.name=\"pie\",r.plot=function(t,e,a,i){n.plotBasePlot(r.name,t,e,a,i)},r.clean=function(t,e,a,i){n.cleanBasePlot(r.name,t,e,a,i)}},{\"../../plots/plots\":839}],1110:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"tinycolor2\"),i=t(\"../../components/color\"),o={};function s(t){return function(e,r){return!!e&&(!!(e=a(e)).isValid()&&(e=i.addOpacity(e,e.getAlpha()),t[r]||(t[r]=e),e))}}function l(t,e){var r,n=JSON.stringify(t),i=e[n];if(!i){for(i=t.slice(),r=0;r<t.length;r++)i.push(a(t[r]).lighten(20).toHexString());for(r=0;r<t.length;r++)i.push(a(t[r]).darken(20).toHexString());e[n]=i}return i}e.exports={calc:function(t,e){var r,a,i=[],o=t._fullLayout,l=o.hiddenlabels||[],c=e.labels,u=e.marker.colors||[],h=e.values,f=e._length,p=e._hasValues&&f;if(e.dlabel)for(c=new Array(f),r=0;r<f;r++)c[r]=String(e.label0+r*e.dlabel);var d={},g=s(o[\"_\"+e.type+\"colormap\"]),m=0,v=!1;for(r=0;r<f;r++){var y,x,b;if(p){if(y=h[r],!n(y))continue;if((y=+y)<0)continue}else y=1;void 0!==(x=c[r])&&\"\"!==x||(x=r);var _=d[x=String(x)];void 0===_?(d[x]=i.length,(b=-1!==l.indexOf(x))||(m+=y),i.push({v:y,label:x,color:g(u[r],x),i:r,pts:[r],hidden:b})):(v=!0,(a=i[_]).v+=y,a.pts.push(r),a.hidden||(m+=y),!1===a.color&&u[r]&&(a.color=g(u[r],x)))}return(\"funnelarea\"===e.type?v:e.sort)&&i.sort((function(t,e){return e.v-t.v})),i[0]&&(i[0].vTotal=m),i},crossTraceCalc:function(t,e){var r=(e||{}).type;r||(r=\"pie\");var n=t._fullLayout,a=t.calcdata,i=n[r+\"colorway\"],s=n[\"_\"+r+\"colormap\"];n[\"extend\"+r+\"colors\"]&&(i=l(i,o));for(var c=0,u=0;u<a.length;u++){var h=a[u];if(h[0].trace.type===r)for(var f=0;f<h.length;f++){var p=h[f];!1===p.color&&(s[p.label]?p.color=s[p.label]:(s[p.label]=p.color=i[c%i.length],c++))}}},makePullColorFn:s,generateExtendedColors:l}},{\"../../components/color\":595,\"fast-isnumeric\":236,tinycolor2:528}],1111:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"../../lib\"),i=t(\"./attributes\"),o=t(\"../../plots/domain\").defaults,s=t(\"../bar/defaults\").handleText;function l(t,e){var r=Array.isArray(t),i=a.isArrayOrTypedArray(e),o=Math.min(r?t.length:1/0,i?e.length:1/0);if(isFinite(o)||(o=0),o&&i){for(var s,l=0;l<o;l++){var c=e[l];if(n(c)&&c>0){s=!0;break}}s||(o=0)}return{hasLabels:r,hasValues:i,len:o}}e.exports={handleLabelsAndValues:l,supplyDefaults:function(t,e,r,n){function c(r,n){return a.coerce(t,e,i,r,n)}var u=l(c(\"labels\"),c(\"values\")),h=u.len;if(e._hasLabels=u.hasLabels,e._hasValues=u.hasValues,!e._hasLabels&&e._hasValues&&(c(\"label0\"),c(\"dlabel\")),h){e._length=h,c(\"marker.line.width\")&&c(\"marker.line.color\"),c(\"marker.colors\"),c(\"scalegroup\");var f,p=c(\"text\"),d=c(\"texttemplate\");if(d||(f=c(\"textinfo\",Array.isArray(p)?\"text+percent\":\"percent\")),c(\"hovertext\"),c(\"hovertemplate\"),d||f&&\"none\"!==f){var g=c(\"textposition\");s(t,e,n,c,g,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),(Array.isArray(g)||\"auto\"===g||\"outside\"===g)&&c(\"automargin\"),(\"inside\"===g||\"auto\"===g||Array.isArray(g))&&c(\"insidetextorientation\")}o(e,n,c);var m=c(\"hole\");if(c(\"title.text\")){var v=c(\"title.position\",m?\"middle center\":\"top center\");m||\"middle center\"!==v||(e.title.position=\"top center\"),a.coerceFont(c,\"title.font\",n.font)}c(\"sort\"),c(\"direction\"),c(\"rotation\"),c(\"pull\")}else e.visible=!1}}},{\"../../lib\":728,\"../../plots/domain\":803,\"../bar/defaults\":873,\"./attributes\":1108,\"fast-isnumeric\":236}],1112:[function(t,e,r){\"use strict\";var n=t(\"../../components/fx/helpers\").appendArrayMultiPointValues;e.exports=function(t,e){var r={curveNumber:e.index,pointNumbers:t.pts,data:e._input,fullData:e,label:t.label,color:t.color,value:t.v,percent:t.percent,text:t.text,v:t.v};return 1===t.pts.length&&(r.pointNumber=r.i=t.pts[0]),n(r,e,t.pts),\"funnelarea\"===e.type&&(delete r.v,delete r.i),r}},{\"../../components/fx/helpers\":631}],1113:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");r.formatPiePercent=function(t,e){var r=(100*t).toPrecision(3);return-1!==r.lastIndexOf(\".\")&&(r=r.replace(/[.]?0+$/,\"\")),n.numSeparate(r,e)+\"%\"},r.formatPieValue=function(t,e){var r=t.toPrecision(10);return-1!==r.lastIndexOf(\".\")&&(r=r.replace(/[.]?0+$/,\"\")),n.numSeparate(r,e)},r.getFirstFilled=function(t,e){if(Array.isArray(t))for(var r=0;r<e.length;r++){var n=t[e[r]];if(n||0===n||\"\"===n)return n}},r.castOption=function(t,e){return Array.isArray(t)?r.getFirstFilled(t,e):t||void 0}},{\"../../lib\":728}],1114:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\").supplyDefaults,supplyLayoutDefaults:t(\"./layout_defaults\"),layoutAttributes:t(\"./layout_attributes\"),calc:t(\"./calc\").calc,crossTraceCalc:t(\"./calc\").crossTraceCalc,plot:t(\"./plot\").plot,style:t(\"./style\"),styleOne:t(\"./style_one\"),moduleType:\"trace\",name:\"pie\",basePlotModule:t(\"./base_plot\"),categories:[\"pie-like\",\"pie\",\"showLegend\"],meta:{}}},{\"./attributes\":1108,\"./base_plot\":1109,\"./calc\":1110,\"./defaults\":1111,\"./layout_attributes\":1115,\"./layout_defaults\":1116,\"./plot\":1117,\"./style\":1118,\"./style_one\":1119}],1115:[function(t,e,r){\"use strict\";e.exports={hiddenlabels:{valType:\"data_array\",editType:\"calc\"},piecolorway:{valType:\"colorlist\",editType:\"calc\"},extendpiecolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}},{}],1116:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"./layout_attributes\");e.exports=function(t,e){function r(r,i){return n.coerce(t,e,a,r,i)}r(\"hiddenlabels\"),r(\"piecolorway\",e.colorway),r(\"extendpiecolors\")}},{\"../../lib\":728,\"./layout_attributes\":1115}],1117:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../plots/plots\"),i=t(\"../../components/fx\"),o=t(\"../../components/color\"),s=t(\"../../components/drawing\"),l=t(\"../../lib\"),c=t(\"../../lib/svg_text_utils\"),u=t(\"../bar/uniform_text\"),h=u.recordMinTextSize,f=u.clearMinTextSize,p=t(\"../bar/constants\").TEXTPAD,d=t(\"./helpers\"),g=t(\"./event_data\"),m=t(\"../../lib\").isValidTextValue;function v(t,e,r){var a=r[0],o=a.trace,s=a.cx,c=a.cy;\"_hasHoverLabel\"in o||(o._hasHoverLabel=!1),\"_hasHoverEvent\"in o||(o._hasHoverEvent=!1),t.on(\"mouseover\",(function(t){var r=e._fullLayout,u=e._fullData[o.index];if(!e._dragging&&!1!==r.hovermode){var h=u.hoverinfo;if(Array.isArray(h)&&(h=i.castHoverinfo({hoverinfo:[d.castOption(h,t.pts)],_module:o._module},r,0)),\"all\"===h&&(h=\"label+text+value+percent+name\"),u.hovertemplate||\"none\"!==h&&\"skip\"!==h&&h){var f=t.rInscribed||0,p=s+t.pxmid[0]*(1-f),m=c+t.pxmid[1]*(1-f),v=r.separators,y=[];if(h&&-1!==h.indexOf(\"label\")&&y.push(t.label),t.text=d.castOption(u.hovertext||u.text,t.pts),h&&-1!==h.indexOf(\"text\")){var x=t.text;l.isValidTextValue(x)&&y.push(x)}t.value=t.v,t.valueLabel=d.formatPieValue(t.v,v),h&&-1!==h.indexOf(\"value\")&&y.push(t.valueLabel),t.percent=t.v/a.vTotal,t.percentLabel=d.formatPiePercent(t.percent,v),h&&-1!==h.indexOf(\"percent\")&&y.push(t.percentLabel);var b=u.hoverlabel,_=b.font;i.loneHover({trace:o,x0:p-f*a.r,x1:p+f*a.r,y:m,text:y.join(\"<br>\"),name:u.hovertemplate||-1!==h.indexOf(\"name\")?u.name:void 0,idealAlign:t.pxmid[0]<0?\"left\":\"right\",color:d.castOption(b.bgcolor,t.pts)||t.color,borderColor:d.castOption(b.bordercolor,t.pts),fontFamily:d.castOption(_.family,t.pts),fontSize:d.castOption(_.size,t.pts),fontColor:d.castOption(_.color,t.pts),nameLength:d.castOption(b.namelength,t.pts),textAlign:d.castOption(b.align,t.pts),hovertemplate:d.castOption(u.hovertemplate,t.pts),hovertemplateLabels:t,eventData:[g(t,u)]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:e}),o._hasHoverLabel=!0}o._hasHoverEvent=!0,e.emit(\"plotly_hover\",{points:[g(t,u)],event:n.event})}})),t.on(\"mouseout\",(function(t){var r=e._fullLayout,a=e._fullData[o.index],s=n.select(this).datum();o._hasHoverEvent&&(t.originalEvent=n.event,e.emit(\"plotly_unhover\",{points:[g(s,a)],event:n.event}),o._hasHoverEvent=!1),o._hasHoverLabel&&(i.loneUnhover(r._hoverlayer.node()),o._hasHoverLabel=!1)})),t.on(\"click\",(function(t){var r=e._fullLayout,a=e._fullData[o.index];e._dragging||!1===r.hovermode||(e._hoverdata=[g(t,a)],i.click(e,n.event))}))}function y(t,e,r){var n=d.castOption(t.insidetextfont.color,e.pts);!n&&t._input.textfont&&(n=d.castOption(t._input.textfont.color,e.pts));var a=d.castOption(t.insidetextfont.family,e.pts)||d.castOption(t.textfont.family,e.pts)||r.family,i=d.castOption(t.insidetextfont.size,e.pts)||d.castOption(t.textfont.size,e.pts)||r.size;return{color:n||o.contrast(e.color),family:a,size:i}}function x(t,e){for(var r,n,a=0;a<t.length;a++)if((n=(r=t[a][0]).trace).title.text){var i=n.title.text;n._meta&&(i=l.templateString(i,n._meta));var o=s.tester.append(\"text\").attr(\"data-notex\",1).text(i).call(s.font,n.title.font).call(c.convertToTspans,e),u=s.bBox(o.node(),!0);r.titleBox={width:u.width,height:u.height},o.remove()}}function b(t,e,r){var n=r.r||e.rpx1,a=e.rInscribed;if(e.startangle===e.stopangle)return{rCenter:1-a,scale:0,rotate:0,textPosAngle:0};var i,o=e.ring,s=1===o&&Math.abs(e.startangle-e.stopangle)===2*Math.PI,l=e.halfangle,c=e.midangle,u=r.trace.insidetextorientation,h=\"horizontal\"===u,f=\"tangential\"===u,p=\"radial\"===u,d=\"auto\"===u,g=[];if(!d){var m,v=function(r,a){if(function(t,e){var r=t.startangle,n=t.stopangle;return r>e&&e>n||r<e&&e<n}(e,r)){var s=Math.abs(r-e.startangle),l=Math.abs(r-e.stopangle),c=s<l?s:l;(i=\"tan\"===a?w(t,n,o,c,0):_(t,n,o,c,Math.PI/2)).textPosAngle=r,g.push(i)}};if(h||f){for(m=4;m>=-4;m-=2)v(Math.PI*m,\"tan\");for(m=4;m>=-4;m-=2)v(Math.PI*(m+1),\"tan\")}if(h||p){for(m=4;m>=-4;m-=2)v(Math.PI*(m+1.5),\"rad\");for(m=4;m>=-4;m-=2)v(Math.PI*(m+.5),\"rad\")}}if(s||d||h){var y=Math.sqrt(t.width*t.width+t.height*t.height);if((i={scale:a*n*2/y,rCenter:1-a,rotate:0}).textPosAngle=(e.startangle+e.stopangle)/2,i.scale>=1)return i;g.push(i)}(d||p)&&((i=_(t,n,o,l,c)).textPosAngle=(e.startangle+e.stopangle)/2,g.push(i)),(d||f)&&((i=w(t,n,o,l,c)).textPosAngle=(e.startangle+e.stopangle)/2,g.push(i));for(var x=0,b=0,T=0;T<g.length;T++){var k=g[T].scale;if(b<k&&(b=k,x=T),!d&&b>=1)break}return g[x]}function _(t,e,r,n,a){e=Math.max(0,e-2*p);var i=t.width/t.height,o=A(i,n,e,r);return{scale:2*o/t.height,rCenter:T(i,o/e),rotate:k(a)}}function w(t,e,r,n,a){e=Math.max(0,e-2*p);var i=t.height/t.width,o=A(i,n,e,r);return{scale:2*o/t.width,rCenter:T(i,o/e),rotate:k(a+Math.PI/2)}}function T(t,e){return Math.cos(e)-t*e}function k(t){return(180/Math.PI*t+720)%180-90}function A(t,e,r,n){var a=t+1/(2*Math.tan(e));return r*Math.min(1/(Math.sqrt(a*a+.5)+a),n/(Math.sqrt(t*t+n/2)+t))}function M(t,e){return t.v!==e.vTotal||e.trace.hole?Math.min(1/(1+1/Math.sin(t.halfangle)),t.ring/2):1}function S(t,e){var r=e.pxmid[0],n=e.pxmid[1],a=t.width/2,i=t.height/2;return r<0&&(a*=-1),n<0&&(i*=-1),{scale:1,rCenter:1,rotate:0,x:a+Math.abs(i)*(a>0?1:-1)/2,y:i/(1+r*r/(n*n)),outside:!0}}function E(t,e){var r,n,a,i=t.trace,o={x:t.cx,y:t.cy},s={tx:0,ty:0};s.ty+=i.title.font.size,a=L(i),-1!==i.title.position.indexOf(\"top\")?(o.y-=(1+a)*t.r,s.ty-=t.titleBox.height):-1!==i.title.position.indexOf(\"bottom\")&&(o.y+=(1+a)*t.r);var l,c,u=(l=t.r,c=t.trace.aspectratio,l/(void 0===c?1:c)),h=e.w*(i.domain.x[1]-i.domain.x[0])/2;return-1!==i.title.position.indexOf(\"left\")?(h+=u,o.x-=(1+a)*u,s.tx+=t.titleBox.width/2):-1!==i.title.position.indexOf(\"center\")?h*=2:-1!==i.title.position.indexOf(\"right\")&&(h+=u,o.x+=(1+a)*u,s.tx-=t.titleBox.width/2),r=h/t.titleBox.width,n=C(t,e)/t.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function C(t,e){var r=t.trace,n=e.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(t.titleBox.height,n/2)}function L(t){var e,r=t.pull;if(!r)return 0;if(Array.isArray(r))for(r=0,e=0;e<t.pull.length;e++)t.pull[e]>r&&(r=t.pull[e]);return r}function P(t,e){for(var r=[],n=0;n<t.length;n++){var a=t[n][0],i=a.trace,o=i.domain,s=e.w*(o.x[1]-o.x[0]),l=e.h*(o.y[1]-o.y[0]);i.title.text&&\"middle center\"!==i.title.position&&(l-=C(a,e));var c=s/2,u=l/2;\"funnelarea\"!==i.type||i.scalegroup||(u/=i.aspectratio),a.r=Math.min(c,u)/(1+L(i)),a.cx=e.l+e.w*(i.domain.x[1]+i.domain.x[0])/2,a.cy=e.t+e.h*(1-i.domain.y[0])-l/2,i.title.text&&-1!==i.title.position.indexOf(\"bottom\")&&(a.cy-=C(a,e)),i.scalegroup&&-1===r.indexOf(i.scalegroup)&&r.push(i.scalegroup)}!function(t,e){for(var r,n,a,i=0;i<e.length;i++){var o=1/0,s=e[i];for(n=0;n<t.length;n++)if(r=t[n][0],(a=r.trace).scalegroup===s){var l;if(\"pie\"===a.type)l=r.r*r.r;else if(\"funnelarea\"===a.type){var c,u;a.aspectratio>1?(c=r.r,u=c/a.aspectratio):(u=r.r,c=u*a.aspectratio),c*=(1+a.baseratio)/2,l=c*u}o=Math.min(o,l/r.vTotal)}for(n=0;n<t.length;n++)if(r=t[n][0],(a=r.trace).scalegroup===s){var h=o*r.vTotal;\"funnelarea\"===a.type&&(h/=(1+a.baseratio)/2,h/=a.aspectratio),r.r=Math.sqrt(h)}}}(t,r)}function I(t,e){return[t*Math.sin(e),-t*Math.cos(e)]}function z(t,e,r){var n=t._fullLayout,a=r.trace,i=a.texttemplate,o=a.textinfo;if(!i&&o&&\"none\"!==o){var s,c=o.split(\"+\"),u=function(t){return-1!==c.indexOf(t)},h=u(\"label\"),f=u(\"text\"),p=u(\"value\"),g=u(\"percent\"),v=n.separators;if(s=h?[e.label]:[],f){var y=d.getFirstFilled(a.text,e.pts);m(y)&&s.push(y)}p&&s.push(d.formatPieValue(e.v,v)),g&&s.push(d.formatPiePercent(e.v/r.vTotal,v)),e.text=s.join(\"<br>\")}if(i){var x=l.castOption(a,e.i,\"texttemplate\");if(x){var b=function(t){return{label:t.label,value:t.v,valueLabel:d.formatPieValue(t.v,n.separators),percent:t.v/r.vTotal,percentLabel:d.formatPiePercent(t.v/r.vTotal,n.separators),color:t.color,text:t.text,customdata:l.castOption(a,t.i,\"customdata\")}}(e),_=d.getFirstFilled(a.text,e.pts);(m(_)||\"\"===_)&&(b.text=_),e.text=l.texttemplateString(x,b,t._fullLayout._d3locale,b,a._meta||{})}else e.text=\"\"}}function O(t,e){var r=t.rotate*Math.PI/180,n=Math.cos(r),a=Math.sin(r),i=(e.left+e.right)/2,o=(e.top+e.bottom)/2;t.textX=i*n-o*a,t.textY=i*a+o*n,t.noCenter=!0}e.exports={plot:function(t,e){var r=t._fullLayout,i=r._size;f(\"pie\",r),x(e,t),P(e,i);var u=l.makeTraceGroups(r._pielayer,e,\"trace\").each((function(e){var u=n.select(this),f=e[0],p=f.trace;!function(t){var e,r,n,a=t[0],i=a.r,o=a.trace,s=o.rotation*Math.PI/180,l=2*Math.PI/a.vTotal,c=\"px0\",u=\"px1\";if(\"counterclockwise\"===o.direction){for(e=0;e<t.length&&t[e].hidden;e++);if(e===t.length)return;s+=l*t[e].v,l*=-1,c=\"px1\",u=\"px0\"}for(n=I(i,s),e=0;e<t.length;e++)(r=t[e]).hidden||(r[c]=n,r.startangle=s,s+=l*r.v/2,r.pxmid=I(i,s),r.midangle=s,s+=l*r.v/2,n=I(i,s),r.stopangle=s,r[u]=n,r.largeArc=r.v>a.vTotal/2?1:0,r.halfangle=Math.PI*Math.min(r.v/a.vTotal,.5),r.ring=1-o.hole,r.rInscribed=M(r,a))}(e),u.attr(\"stroke-linejoin\",\"round\"),u.each((function(){var g=n.select(this).selectAll(\"g.slice\").data(e);g.enter().append(\"g\").classed(\"slice\",!0),g.exit().remove();var m=[[[],[]],[[],[]]],x=!1;g.each((function(a,i){if(a.hidden)n.select(this).selectAll(\"path,g\").remove();else{a.pointNumber=a.i,a.curveNumber=p.index,m[a.pxmid[1]<0?0:1][a.pxmid[0]<0?0:1].push(a);var o=f.cx,u=f.cy,g=n.select(this),_=g.selectAll(\"path.surface\").data([a]);if(_.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":\"all\"}),g.call(v,t,e),p.pull){var w=+d.castOption(p.pull,a.pts)||0;w>0&&(o+=w*a.pxmid[0],u+=w*a.pxmid[1])}a.cxFinal=o,a.cyFinal=u;var T=p.hole;if(a.v===f.vTotal){var k=\"M\"+(o+a.px0[0])+\",\"+(u+a.px0[1])+L(a.px0,a.pxmid,!0,1)+L(a.pxmid,a.px0,!0,1)+\"Z\";T?_.attr(\"d\",\"M\"+(o+T*a.px0[0])+\",\"+(u+T*a.px0[1])+L(a.px0,a.pxmid,!1,T)+L(a.pxmid,a.px0,!1,T)+\"Z\"+k):_.attr(\"d\",k)}else{var A=L(a.px0,a.px1,!0,1);if(T){var M=1-T;_.attr(\"d\",\"M\"+(o+T*a.px1[0])+\",\"+(u+T*a.px1[1])+L(a.px1,a.px0,!1,T)+\"l\"+M*a.px0[0]+\",\"+M*a.px0[1]+A+\"Z\")}else _.attr(\"d\",\"M\"+o+\",\"+u+\"l\"+a.px0[0]+\",\"+a.px0[1]+A+\"Z\")}z(t,a,f);var E=d.castOption(p.textposition,a.pts),C=g.selectAll(\"g.slicetext\").data(a.text&&\"none\"!==E?[0]:[]);C.enter().append(\"g\").classed(\"slicetext\",!0),C.exit().remove(),C.each((function(){var g=l.ensureSingle(n.select(this),\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),m=l.ensureUniformFontSize(t,\"outside\"===E?function(t,e,r){var n=d.castOption(t.outsidetextfont.color,e.pts)||d.castOption(t.textfont.color,e.pts)||r.color,a=d.castOption(t.outsidetextfont.family,e.pts)||d.castOption(t.textfont.family,e.pts)||r.family,i=d.castOption(t.outsidetextfont.size,e.pts)||d.castOption(t.textfont.size,e.pts)||r.size;return{color:n,family:a,size:i}}(p,a,r.font):y(p,a,r.font));g.text(a.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(s.font,m).call(c.convertToTspans,t);var v,_=s.bBox(g.node());if(\"outside\"===E)v=S(_,a);else if(v=b(_,a,f),\"auto\"===E&&v.scale<1){var w=l.ensureUniformFontSize(t,p.outsidetextfont);g.call(s.font,w),v=S(_=s.bBox(g.node()),a)}var T=v.textPosAngle,k=void 0===T?a.pxmid:I(f.r,T);if(v.targetX=o+k[0]*v.rCenter+(v.x||0),v.targetY=u+k[1]*v.rCenter+(v.y||0),O(v,_),v.outside){var A=v.targetY;a.yLabelMin=A-_.height/2,a.yLabelMid=A,a.yLabelMax=A+_.height/2,a.labelExtraX=0,a.labelExtraY=0,x=!0}v.fontSize=m.size,h(p.type,v,r),e[i].transform=v,g.attr(\"transform\",l.getTextTransform(v))}))}function L(t,e,r,n){var i=n*(e[0]-t[0]),o=n*(e[1]-t[1]);return\"a\"+n*f.r+\",\"+n*f.r+\" 0 \"+a.largeArc+(r?\" 1 \":\" 0 \")+i+\",\"+o}}));var _=n.select(this).selectAll(\"g.titletext\").data(p.title.text?[0]:[]);if(_.enter().append(\"g\").classed(\"titletext\",!0),_.exit().remove(),_.each((function(){var e,r=l.ensureSingle(n.select(this),\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),a=p.title.text;p._meta&&(a=l.templateString(a,p._meta)),r.text(a).attr({class:\"titletext\",transform:\"\",\"text-anchor\":\"middle\"}).call(s.font,p.title.font).call(c.convertToTspans,t),e=\"middle center\"===p.title.position?function(t){var e=Math.sqrt(t.titleBox.width*t.titleBox.width+t.titleBox.height*t.titleBox.height);return{x:t.cx,y:t.cy,scale:t.trace.hole*t.r*2/e,tx:0,ty:-t.titleBox.height/2+t.trace.title.font.size}}(f):E(f,i),r.attr(\"transform\",\"translate(\"+e.x+\",\"+e.y+\")\"+(e.scale<1?\"scale(\"+e.scale+\")\":\"\")+\"translate(\"+e.tx+\",\"+e.ty+\")\")})),x&&function(t,e){var r,n,a,i,o,s,l,c,u,h,f,p,g;function m(t,e){return t.pxmid[1]-e.pxmid[1]}function v(t,e){return e.pxmid[1]-t.pxmid[1]}function y(t,r){r||(r={});var a,c,u,f,p=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),g=n?t.yLabelMin:t.yLabelMax,m=n?t.yLabelMax:t.yLabelMin,v=t.cyFinal+o(t.px0[1],t.px1[1]),y=p-g;if(y*l>0&&(t.labelExtraY=y),Array.isArray(e.pull))for(c=0;c<h.length;c++)(u=h[c])===t||(d.castOption(e.pull,t.pts)||0)>=(d.castOption(e.pull,u.pts)||0)||((t.pxmid[1]-u.pxmid[1])*l>0?(y=u.cyFinal+o(u.px0[1],u.px1[1])-g-t.labelExtraY)*l>0&&(t.labelExtraY+=y):(m+t.labelExtraY-v)*l>0&&(a=3*s*Math.abs(c-h.indexOf(t)),(f=u.cxFinal+i(u.px0[0],u.px1[0])+a-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=f)))}for(n=0;n<2;n++)for(a=n?m:v,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(i=r?Math.max:Math.min,s=r?1:-1,(c=t[n][r]).sort(a),u=t[1-n][r],h=u.concat(c),p=[],f=0;f<c.length;f++)void 0!==c[f].yLabelMid&&p.push(c[f]);for(g=!1,f=0;n&&f<u.length;f++)if(void 0!==u[f].yLabelMid){g=u[f];break}for(f=0;f<p.length;f++){var x=f&&p[f-1];g&&!f&&(x=g),y(p[f],x)}}}(m,p),function(t,e){t.each((function(t){var r=n.select(this);if(t.labelExtraX||t.labelExtraY){var a=r.select(\"g.slicetext text\");t.transform.targetX+=t.labelExtraX,t.transform.targetY+=t.labelExtraY,a.attr(\"transform\",l.getTextTransform(t.transform));var i=t.cxFinal+t.pxmid[0],s=\"M\"+i+\",\"+(t.cyFinal+t.pxmid[1]),c=(t.yLabelMax-t.yLabelMin)*(t.pxmid[0]<0?-1:1)/4;if(t.labelExtraX){var u=t.labelExtraX*t.pxmid[1]/t.pxmid[0],h=t.yLabelMid+t.labelExtraY-(t.cyFinal+t.pxmid[1]);Math.abs(u)>Math.abs(h)?s+=\"l\"+h*t.pxmid[0]/t.pxmid[1]+\",\"+h+\"H\"+(i+t.labelExtraX+c):s+=\"l\"+t.labelExtraX+\",\"+u+\"v\"+(h-u)+\"h\"+c}else s+=\"V\"+(t.yLabelMid+t.labelExtraY)+\"h\"+c;l.ensureSingle(r,\"path\",\"textline\").call(o.stroke,e.outsidetextfont.color).attr({\"stroke-width\":Math.min(2,e.outsidetextfont.size/8),d:s,fill:\"none\"})}else r.select(\"path.textline\").remove()}))}(g,p),x&&p.automargin){var w=s.bBox(u.node()),T=p.domain,k=i.w*(T.x[1]-T.x[0]),A=i.h*(T.y[1]-T.y[0]),M=(.5*k-f.r)/i.w,C=(.5*A-f.r)/i.h;a.autoMargin(t,\"pie.\"+p.uid+\".automargin\",{xl:T.x[0]-M,xr:T.x[1]+M,yb:T.y[0]-C,yt:T.y[1]+C,l:Math.max(f.cx-f.r-w.left,0),r:Math.max(w.right-(f.cx+f.r),0),b:Math.max(w.bottom-(f.cy+f.r),0),t:Math.max(f.cy-f.r-w.top,0),pad:5})}}))}));setTimeout((function(){u.selectAll(\"tspan\").each((function(){var t=n.select(this);t.attr(\"dy\")&&t.attr(\"dy\",t.attr(\"dy\"))}))}),0)},formatSliceLabel:z,transformInsideText:b,determineInsideTextFont:y,positionTitleOutside:E,prerenderTitles:x,layoutAreas:P,attachFxHandlers:v,computeTransform:O}},{\"../../components/color\":595,\"../../components/drawing\":617,\"../../components/fx\":635,\"../../lib\":728,\"../../lib/svg_text_utils\":752,\"../../plots/plots\":839,\"../bar/constants\":871,\"../bar/uniform_text\":885,\"./event_data\":1112,\"./helpers\":1113,d3:164}],1118:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"./style_one\"),i=t(\"../bar/uniform_text\").resizeText;e.exports=function(t){var e=t._fullLayout._pielayer.selectAll(\".trace\");i(t,e,\"pie\"),e.each((function(t){var e=t[0].trace,r=n.select(this);r.style({opacity:e.opacity}),r.selectAll(\"path.surface\").each((function(t){n.select(this).call(a,t,e)}))}))}},{\"../bar/uniform_text\":885,\"./style_one\":1119,d3:164}],1119:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),a=t(\"./helpers\").castOption;e.exports=function(t,e,r){var i=r.marker.line,o=a(i.color,e.pts)||n.defaultLine,s=a(i.width,e.pts)||0;t.style(\"stroke-width\",s).call(n.fill,e.color).call(n.stroke,o)}},{\"../../components/color\":595,\"./helpers\":1113}],1120:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\");e.exports={x:n.x,y:n.y,xy:{valType:\"data_array\",editType:\"calc\"},indices:{valType:\"data_array\",editType:\"calc\"},xbounds:{valType:\"data_array\",editType:\"calc\"},ybounds:{valType:\"data_array\",editType:\"calc\"},text:n.text,marker:{color:{valType:\"color\",arrayOk:!1,editType:\"calc\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,arrayOk:!1,editType:\"calc\"},blend:{valType:\"boolean\",dflt:null,editType:\"calc\"},sizemin:{valType:\"number\",min:.1,max:2,dflt:.5,editType:\"calc\"},sizemax:{valType:\"number\",min:.1,dflt:20,editType:\"calc\"},border:{color:{valType:\"color\",arrayOk:!1,editType:\"calc\"},arearatio:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"},editType:\"calc\"},editType:\"calc\"},transforms:void 0}},{\"../scatter/attributes\":1134}],1121:[function(t,e,r){\"use strict\";var n=t(\"gl-pointcloud2d\"),a=t(\"../../lib/str2rgbarray\"),i=t(\"../../plots/cartesian/autorange\").findExtremes,o=t(\"../scatter/get_trace_color\");function s(t,e){this.scene=t,this.uid=e,this.type=\"pointcloud\",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color=\"rgb(0, 0, 0)\",this.name=\"\",this.hoverinfo=\"all\",this.idToIndex=new Int32Array(0),this.bounds=[0,0,0,0],this.pointcloudOptions={positions:new Float32Array(0),idToIndex:this.idToIndex,sizemin:.5,sizemax:12,color:[0,0,0,1],areaRatio:1,borderColor:[0,0,0,1]},this.pointcloud=n(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var l=s.prototype;l.handlePick=function(t){var e=this.idToIndex[t.pointId];return{trace:this,dataCoord:t.dataCoord,traceCoord:this.pickXYData?[this.pickXYData[2*e],this.pickXYData[2*e+1]]:[this.pickXData[e],this.pickYData[e]],textLabel:Array.isArray(this.textLabels)?this.textLabels[e]:this.textLabels,color:this.color,name:this.name,pointIndex:e,hoverinfo:this.hoverinfo}},l.update=function(t){this.index=t.index,this.textLabels=t.text,this.name=t.name,this.hoverinfo=t.hoverinfo,this.bounds=[1/0,1/0,-1/0,-1/0],this.updateFast(t),this.color=o(t,{})},l.updateFast=function(t){var e,r,n,o,s,l,c=this.xData=this.pickXData=t.x,u=this.yData=this.pickYData=t.y,h=this.pickXYData=t.xy,f=t.xbounds&&t.ybounds,p=t.indices,d=this.bounds;if(h){if(n=h,e=h.length>>>1,f)d[0]=t.xbounds[0],d[2]=t.xbounds[1],d[1]=t.ybounds[0],d[3]=t.ybounds[1];else for(l=0;l<e;l++)o=n[2*l],s=n[2*l+1],o<d[0]&&(d[0]=o),o>d[2]&&(d[2]=o),s<d[1]&&(d[1]=s),s>d[3]&&(d[3]=s);if(p)r=p;else for(r=new Int32Array(e),l=0;l<e;l++)r[l]=l}else for(e=c.length,n=new Float32Array(2*e),r=new Int32Array(e),l=0;l<e;l++)o=c[l],s=u[l],r[l]=l,n[2*l]=o,n[2*l+1]=s,o<d[0]&&(d[0]=o),o>d[2]&&(d[2]=o),s<d[1]&&(d[1]=s),s>d[3]&&(d[3]=s);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var g=a(t.marker.color),m=a(t.marker.border.color),v=t.opacity*t.marker.opacity;g[3]*=v,this.pointcloudOptions.color=g;var y=t.marker.blend;if(null===y){y=c.length<100||u.length<100}this.pointcloudOptions.blend=y,m[3]*=v,this.pointcloudOptions.borderColor=m;var x=t.marker.sizemin,b=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=x,this.pointcloudOptions.sizeMax=b,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions);var _=this.scene.xaxis,w=this.scene.yaxis,T=b/2||.5;t._extremes[_._id]=i(_,[d[0],d[2]],{ppad:T}),t._extremes[w._id]=i(w,[d[1],d[3]],{ppad:T})},l.dispose=function(){this.pointcloud.dispose()},e.exports=function(t,e){var r=new s(t,e.uid);return r.update(e),r}},{\"../../lib/str2rgbarray\":751,\"../../plots/cartesian/autorange\":775,\"../scatter/get_trace_color\":1144,\"gl-pointcloud2d\":298}],1122:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"./attributes\");e.exports=function(t,e,r){function i(r,i){return n.coerce(t,e,a,r,i)}i(\"x\"),i(\"y\"),i(\"xbounds\"),i(\"ybounds\"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),i(\"text\"),i(\"marker.color\",r),i(\"marker.opacity\"),i(\"marker.blend\"),i(\"marker.sizemin\"),i(\"marker.sizemax\"),i(\"marker.border.color\",r),i(\"marker.border.arearatio\"),e._length=null}},{\"../../lib\":728,\"./attributes\":1120}],1123:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"../scatter3d/calc\"),plot:t(\"./convert\"),moduleType:\"trace\",name:\"pointcloud\",basePlotModule:t(\"../../plots/gl2d\"),categories:[\"gl\",\"gl2d\",\"showLegend\"],meta:{}}},{\"../../plots/gl2d\":816,\"../scatter3d/calc\":1162,\"./attributes\":1120,\"./convert\":1121,\"./defaults\":1122}],1124:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),a=t(\"../../plots/attributes\"),i=t(\"../../components/color/attributes\"),o=t(\"../../components/fx/attributes\"),s=t(\"../../plots/domain\").attributes,l=t(\"../../plots/template_attributes\").hovertemplateAttrs,c=t(\"../../components/colorscale/attributes\"),u=t(\"../../plot_api/plot_template\").templatedArray,h=t(\"../../lib/extend\").extendFlat,f=t(\"../../plot_api/edit_types\").overrideAll;t(\"../../constants/docs\").FORMAT_LINK;(e.exports=f({hoverinfo:h({},a.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:o.hoverlabel,domain:s({name:\"sankey\",trace:!0}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\"},valueformat:{valType:\"string\",dflt:\".3s\"},valuesuffix:{valType:\"string\",dflt:\"\"},arrangement:{valType:\"enumerated\",values:[\"snap\",\"perpendicular\",\"freeform\",\"fixed\"],dflt:\"snap\"},textfont:n({}),customdata:void 0,node:{label:{valType:\"data_array\",dflt:[]},groups:{valType:\"info_array\",impliedEdits:{x:[],y:[]},dimensions:2,freeLength:!0,dflt:[],items:{valType:\"number\",editType:\"calc\"}},x:{valType:\"data_array\",dflt:[]},y:{valType:\"data_array\",dflt:[]},color:{valType:\"color\",arrayOk:!0},customdata:{valType:\"data_array\",editType:\"calc\"},line:{color:{valType:\"color\",dflt:i.defaultLine,arrayOk:!0},width:{valType:\"number\",min:0,dflt:.5,arrayOk:!0}},pad:{valType:\"number\",arrayOk:!1,min:0,dflt:20},thickness:{valType:\"number\",arrayOk:!1,min:1,dflt:20},hoverinfo:{valType:\"enumerated\",values:[\"all\",\"none\",\"skip\"],dflt:\"all\"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:[\"value\",\"label\"]})},link:{label:{valType:\"data_array\",dflt:[]},color:{valType:\"color\",arrayOk:!0},customdata:{valType:\"data_array\",editType:\"calc\"},line:{color:{valType:\"color\",dflt:i.defaultLine,arrayOk:!0},width:{valType:\"number\",min:0,dflt:0,arrayOk:!0}},source:{valType:\"data_array\",dflt:[]},target:{valType:\"data_array\",dflt:[]},value:{valType:\"data_array\",dflt:[]},hoverinfo:{valType:\"enumerated\",values:[\"all\",\"none\",\"skip\"],dflt:\"all\"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:[\"value\",\"label\"]}),colorscales:u(\"concentrationscales\",{editType:\"calc\",label:{valType:\"string\",editType:\"calc\",dflt:\"\"},cmax:{valType:\"number\",editType:\"calc\",dflt:1},cmin:{valType:\"number\",editType:\"calc\",dflt:0},colorscale:h(c().colorscale,{dflt:[[0,\"white\"],[1,\"black\"]]})})}},\"calc\",\"nested\")).transforms=void 0},{\"../../components/color/attributes\":594,\"../../components/colorscale/attributes\":602,\"../../components/fx/attributes\":626,\"../../constants/docs\":699,\"../../lib/extend\":719,\"../../plot_api/edit_types\":759,\"../../plot_api/plot_template\":766,\"../../plots/attributes\":773,\"../../plots/domain\":803,\"../../plots/font_attributes\":804,\"../../plots/template_attributes\":854}],1125:[function(t,e,r){\"use strict\";var n=t(\"../../plot_api/edit_types\").overrideAll,a=t(\"../../plots/get_data\").getModuleCalcData,i=t(\"./plot\"),o=t(\"../../components/fx/layout_attributes\"),s=t(\"../../lib/setcursor\"),l=t(\"../../components/dragelement\"),c=t(\"../../plots/cartesian/select\").prepSelect,u=t(\"../../lib\"),h=t(\"../../registry\");function f(t,e){var r=t._fullData[e],n=t._fullLayout,a=n.dragmode,i=\"pan\"===n.dragmode?\"move\":\"crosshair\",o=r._bgRect;if(\"pan\"!==a&&\"zoom\"!==a){s(o,i);var f={_id:\"x\",c2p:u.identity,_offset:r._sankey.translateX,_length:r._sankey.width},p={_id:\"y\",c2p:u.identity,_offset:r._sankey.translateY,_length:r._sankey.height},d={gd:t,element:o.node(),plotinfo:{id:e,xaxis:f,yaxis:p,fillRangeItems:u.noop},subplot:e,xaxes:[f],yaxes:[p],doneFnCompleted:function(r){var n,a=t._fullData[e],i=a.node.groups.slice(),o=[];function s(t){for(var e=a._sankey.graph.nodes,r=0;r<e.length;r++)if(e[r].pointNumber===t)return e[r]}for(var l=0;l<r.length;l++){var c=s(r[l].pointNumber);if(c)if(c.group){for(var u=0;u<c.childrenNodes.length;u++)o.push(c.childrenNodes[u].pointNumber);i[c.pointNumber-a.node._count]=!1}else o.push(c.pointNumber)}n=i.filter(Boolean).concat([o]),h.call(\"_guiRestyle\",t,{\"node.groups\":[n]},e)},prepFn:function(t,e,r){c(t,e,r,d,a)}};l.init(d)}}r.name=\"sankey\",r.baseLayoutAttrOverrides=n({hoverlabel:o.hoverlabel},\"plot\",\"nested\"),r.plot=function(t){var e=a(t.calcdata,\"sankey\")[0];i(t,e),r.updateFx(t)},r.clean=function(t,e,r,n){var a=n._has&&n._has(\"sankey\"),i=e._has&&e._has(\"sankey\");a&&!i&&(n._paperdiv.selectAll(\".sankey\").remove(),n._paperdiv.selectAll(\".bgsankey\").remove())},r.updateFx=function(t){for(var e=0;e<t._fullData.length;e++)f(t,e)}},{\"../../components/dragelement\":614,\"../../components/fx/layout_attributes\":636,\"../../lib\":728,\"../../lib/setcursor\":748,\"../../plot_api/edit_types\":759,\"../../plots/cartesian/select\":795,\"../../plots/get_data\":813,\"../../registry\":859,\"./plot\":1130}],1126:[function(t,e,r){\"use strict\";var n=t(\"strongly-connected-components\"),a=t(\"../../lib\"),i=t(\"../../lib/gup\").wrap,o=a.isArrayOrTypedArray,s=a.isIndex,l=t(\"../../components/colorscale\");function c(t){var e,r=t.node,i=t.link,c=[],u=o(i.color),h=o(i.customdata),f={},p={},d=i.colorscales.length;for(e=0;e<d;e++){var g=i.colorscales[e],m=l.extractScale(g,{cLetter:\"c\"}),v=l.makeColorScaleFunc(m);p[g.label]=v}var y=0;for(e=0;e<i.value.length;e++)i.source[e]>y&&(y=i.source[e]),i.target[e]>y&&(y=i.target[e]);var x,b=y+1;t.node._count=b;var _=t.node.groups,w={};for(e=0;e<_.length;e++){var T=_[e];for(x=0;x<T.length;x++){var k=T[x],A=b+e;w.hasOwnProperty(k)?a.warn(\"Node \"+k+\" is already part of a group.\"):w[k]=A}}var M={source:[],target:[]};for(e=0;e<i.value.length;e++){var S=i.value[e],E=i.source[e],C=i.target[e];if(S>0&&s(E,b)&&s(C,b)&&(!w.hasOwnProperty(E)||!w.hasOwnProperty(C)||w[E]!==w[C])){w.hasOwnProperty(C)&&(C=w[C]),w.hasOwnProperty(E)&&(E=w[E]),C=+C,f[E=+E]=f[C]=!0;var L=\"\";i.label&&i.label[e]&&(L=i.label[e]);var P=null;L&&p.hasOwnProperty(L)&&(P=p[L]),c.push({pointNumber:e,label:L,color:u?i.color[e]:i.color,customdata:h?i.customdata[e]:i.customdata,concentrationscale:P,source:E,target:C,value:+S}),M.source.push(E),M.target.push(C)}}var I=b+_.length,z=o(r.color),O=o(r.customdata),D=[];for(e=0;e<I;e++)if(f[e]){var R=r.label[e];D.push({group:e>b-1,childrenNodes:[],pointNumber:e,label:R,color:z?r.color[e]:r.color,customdata:O?r.customdata[e]:r.customdata})}var F=!1;return function(t,e,r){for(var i=a.init2dArray(t,0),o=0;o<Math.min(e.length,r.length);o++)if(a.isIndex(e[o],t)&&a.isIndex(r[o],t)){if(e[o]===r[o])return!0;i[e[o]].push(r[o])}return n(i).components.some((function(t){return t.length>1}))}(I,M.source,M.target)&&(F=!0),{circular:F,links:c,nodes:D,groups:_,groupLookup:w}}e.exports=function(t,e){var r=c(e);return i({circular:r.circular,_nodes:r.nodes,_links:r.links,_groups:r.groups,_groupLookup:r.groupLookup})}},{\"../../components/colorscale\":607,\"../../lib\":728,\"../../lib/gup\":726,\"strongly-connected-components\":521}],1127:[function(t,e,r){\"use strict\";e.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:\"linear\",cn:{sankey:\"sankey\",sankeyLinks:\"sankey-links\",sankeyLink:\"sankey-link\",sankeyNodeSet:\"sankey-node-set\",sankeyNode:\"sankey-node\",nodeRect:\"node-rect\",nodeCapture:\"node-capture\",nodeCentered:\"node-entered\",nodeLabelGuide:\"node-label-guide\",nodeLabel:\"node-label\",nodeLabelTextPath:\"node-label-text-path\"}}},{}],1128:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"./attributes\"),i=t(\"../../components/color\"),o=t(\"tinycolor2\"),s=t(\"../../plots/domain\").defaults,l=t(\"../../components/fx/hoverlabel_defaults\"),c=t(\"../../plot_api/plot_template\"),u=t(\"../../plots/array_container_defaults\");function h(t,e){function r(r,i){return n.coerce(t,e,a.link.colorscales,r,i)}r(\"label\"),r(\"cmin\"),r(\"cmax\"),r(\"colorscale\")}e.exports=function(t,e,r,f){function p(r,i){return n.coerce(t,e,a,r,i)}var d=n.extendDeep(f.hoverlabel,t.hoverlabel),g=t.node,m=c.newContainer(e,\"node\");function v(t,e){return n.coerce(g,m,a.node,t,e)}v(\"label\"),v(\"groups\"),v(\"x\"),v(\"y\"),v(\"pad\"),v(\"thickness\"),v(\"line.color\"),v(\"line.width\"),v(\"hoverinfo\",t.hoverinfo),l(g,m,v,d),v(\"hovertemplate\");var y=f.colorway;v(\"color\",m.label.map((function(t,e){return i.addOpacity(function(t){return y[t%y.length]}(e),.8)}))),v(\"customdata\");var x=t.link||{},b=c.newContainer(e,\"link\");function _(t,e){return n.coerce(x,b,a.link,t,e)}_(\"label\"),_(\"source\"),_(\"target\"),_(\"value\"),_(\"line.color\"),_(\"line.width\"),_(\"hoverinfo\",t.hoverinfo),l(x,b,_,d),_(\"hovertemplate\");var w,T=o(f.paper_bgcolor).getLuminance()<.333?\"rgba(255, 255, 255, 0.6)\":\"rgba(0, 0, 0, 0.2)\";_(\"color\",n.repeat(T,b.value.length)),_(\"customdata\"),u(x,b,{name:\"colorscales\",handleItemDefaults:h}),s(e,f,p),p(\"orientation\"),p(\"valueformat\"),p(\"valuesuffix\"),m.x.length&&m.y.length&&(w=\"freeform\"),p(\"arrangement\",w),n.coerceFont(p,\"textfont\",n.extendFlat({},f.font)),e._length=null}},{\"../../components/color\":595,\"../../components/fx/hoverlabel_defaults\":633,\"../../lib\":728,\"../../plot_api/plot_template\":766,\"../../plots/array_container_defaults\":772,\"../../plots/domain\":803,\"./attributes\":1124,tinycolor2:528}],1129:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\"),plot:t(\"./plot\"),moduleType:\"trace\",name:\"sankey\",basePlotModule:t(\"./base_plot\"),selectPoints:t(\"./select.js\"),categories:[\"noOpacity\"],meta:{}}},{\"./attributes\":1124,\"./base_plot\":1125,\"./calc\":1126,\"./defaults\":1128,\"./plot\":1130,\"./select.js\":1132}],1130:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"./render\"),i=t(\"../../components/fx\"),o=t(\"../../components/color\"),s=t(\"../../lib\"),l=t(\"./constants\").cn,c=s._;function u(t){return\"\"!==t}function h(t,e){return t.filter((function(t){return t.key===e.traceId}))}function f(t,e){n.select(t).select(\"path\").style(\"fill-opacity\",e),n.select(t).select(\"rect\").style(\"fill-opacity\",e)}function p(t){n.select(t).select(\"text.name\").style(\"fill\",\"black\")}function d(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function g(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function m(t,e,r){e&&r&&h(r,e).selectAll(\".\"+l.sankeyLink).filter(d(e)).call(y.bind(0,e,r,!1))}function v(t,e,r){e&&r&&h(r,e).selectAll(\".\"+l.sankeyLink).filter(d(e)).call(x.bind(0,e,r,!1))}function y(t,e,r,n){var a=n.datum().link.label;n.style(\"fill-opacity\",(function(t){if(!t.link.concentrationscale)return.4})),a&&h(e,t).selectAll(\".\"+l.sankeyLink).filter((function(t){return t.link.label===a})).style(\"fill-opacity\",(function(t){if(!t.link.concentrationscale)return.4})),r&&h(e,t).selectAll(\".\"+l.sankeyNode).filter(g(t)).call(m)}function x(t,e,r,n){var a=n.datum().link.label;n.style(\"fill-opacity\",(function(t){return t.tinyColorAlpha})),a&&h(e,t).selectAll(\".\"+l.sankeyLink).filter((function(t){return t.link.label===a})).style(\"fill-opacity\",(function(t){return t.tinyColorAlpha})),r&&h(e,t).selectAll(l.sankeyNode).filter(g(t)).call(v)}function b(t,e){var r=t.hoverlabel||{},n=s.nestedProperty(r,e).get();return!Array.isArray(n)&&n}e.exports=function(t,e){for(var r=t._fullLayout,s=r._paper,h=r._size,d=0;d<t._fullData.length;d++)if(t._fullData[d].visible&&t._fullData[d].type===l.sankey&&!t._fullData[d]._viewInitial){var g=t._fullData[d].node;t._fullData[d]._viewInitial={node:{groups:g.groups.slice(),x:g.x.slice(),y:g.y.slice()}}}var _=c(t,\"source:\")+\" \",w=c(t,\"target:\")+\" \",T=c(t,\"concentration:\")+\" \",k=c(t,\"incoming flow count:\")+\" \",A=c(t,\"outgoing flow count:\")+\" \";a(t,s,e,{width:h.w,height:h.h,margin:{t:h.t,r:h.r,b:h.b,l:h.l}},{linkEvents:{hover:function(e,r,a){!1!==t._fullLayout.hovermode&&(n.select(e).call(y.bind(0,r,a,!0)),\"skip\"!==r.link.trace.link.hoverinfo&&(r.link.fullData=r.link.trace,t.emit(\"plotly_hover\",{event:n.event,points:[r.link]})))},follow:function(e,a){if(!1!==t._fullLayout.hovermode){var s=a.link.trace.link;if(\"none\"!==s.hoverinfo&&\"skip\"!==s.hoverinfo){for(var l=[],c=0,h=0;h<a.flow.links.length;h++){var d=a.flow.links[h];if(\"closest\"!==t._fullLayout.hovermode||a.link.pointNumber===d.pointNumber){a.link.pointNumber===d.pointNumber&&(c=h),d.fullData=d.trace,s=a.link.trace.link;var g=v(d),m={valueLabel:n.format(a.valueFormat)(d.value)+a.valueSuffix};l.push({x:g[0],y:g[1],name:m.valueLabel,text:[d.label||\"\",_+d.source.label,w+d.target.label,d.concentrationscale?T+n.format(\"%0.2f\")(d.flow.labelConcentration):\"\"].filter(u).join(\"<br>\"),color:b(s,\"bgcolor\")||o.addOpacity(d.color,1),borderColor:b(s,\"bordercolor\"),fontFamily:b(s,\"font.family\"),fontSize:b(s,\"font.size\"),fontColor:b(s,\"font.color\"),nameLength:b(s,\"namelength\"),textAlign:b(s,\"align\"),idealAlign:n.event.x<g[0]?\"right\":\"left\",hovertemplate:s.hovertemplate,hovertemplateLabels:m,eventData:[d]})}}i.loneHover(l,{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t,anchorIndex:c}).each((function(){a.link.concentrationscale||f(this,.65),p(this)}))}}function v(t){var e,r;t.circular?(e=(t.circularPathData.leftInnerExtent+t.circularPathData.rightInnerExtent)/2,r=t.circularPathData.verticalFullExtent):(e=(t.source.x1+t.target.x0)/2,r=(t.y0+t.y1)/2);var n=[e,r];return\"v\"===t.trace.orientation&&n.reverse(),n[0]+=a.parent.translateX,n[1]+=a.parent.translateY,n}},unhover:function(e,a,o){!1!==t._fullLayout.hovermode&&(n.select(e).call(x.bind(0,a,o,!0)),\"skip\"!==a.link.trace.link.hoverinfo&&(a.link.fullData=a.link.trace,t.emit(\"plotly_unhover\",{event:n.event,points:[a.link]})),i.loneUnhover(r._hoverlayer.node()))},select:function(e,r){var a=r.link;a.originalEvent=n.event,t._hoverdata=[a],i.click(t,{target:!0})}},nodeEvents:{hover:function(e,r,a){!1!==t._fullLayout.hovermode&&(n.select(e).call(m,r,a),\"skip\"!==r.node.trace.node.hoverinfo&&(r.node.fullData=r.node.trace,t.emit(\"plotly_hover\",{event:n.event,points:[r.node]})))},follow:function(e,a){if(!1!==t._fullLayout.hovermode){var o=a.node.trace.node;if(\"none\"!==o.hoverinfo&&\"skip\"!==o.hoverinfo){var s=n.select(e).select(\".\"+l.nodeRect),c=t._fullLayout._paperdiv.node().getBoundingClientRect(),h=s.node().getBoundingClientRect(),d=h.left-2-c.left,g=h.right+2-c.left,m=h.top+h.height/4-c.top,v={valueLabel:n.format(a.valueFormat)(a.node.value)+a.valueSuffix};a.node.fullData=a.node.trace;var y=i.loneHover({x0:d,x1:g,y:m,name:n.format(a.valueFormat)(a.node.value)+a.valueSuffix,text:[a.node.label,k+a.node.targetLinks.length,A+a.node.sourceLinks.length].filter(u).join(\"<br>\"),color:b(o,\"bgcolor\")||a.tinyColorHue,borderColor:b(o,\"bordercolor\"),fontFamily:b(o,\"font.family\"),fontSize:b(o,\"font.size\"),fontColor:b(o,\"font.color\"),nameLength:b(o,\"namelength\"),textAlign:b(o,\"align\"),idealAlign:\"left\",hovertemplate:o.hovertemplate,hovertemplateLabels:v,eventData:[a.node]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});f(y,.85),p(y)}}},unhover:function(e,a,o){!1!==t._fullLayout.hovermode&&(n.select(e).call(v,a,o),\"skip\"!==a.node.trace.node.hoverinfo&&(a.node.fullData=a.node.trace,t.emit(\"plotly_unhover\",{event:n.event,points:[a.node]})),i.loneUnhover(r._hoverlayer.node()))},select:function(e,r,a){var o=r.node;o.originalEvent=n.event,t._hoverdata=[o],n.select(e).call(v,r,a),i.click(t,{target:!0})}}})}},{\"../../components/color\":595,\"../../components/fx\":635,\"../../lib\":728,\"./constants\":1127,\"./render\":1131,d3:164}],1131:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),a=t(\"d3\"),i=t(\"tinycolor2\"),o=t(\"../../components/color\"),s=t(\"../../components/drawing\"),l=t(\"@plotly/d3-sankey\"),c=t(\"@plotly/d3-sankey-circular\"),u=t(\"d3-force\"),h=t(\"../../lib\"),f=t(\"../../lib/gup\"),p=f.keyFun,d=f.repeat,g=f.unwrap,m=t(\"d3-interpolate\").interpolateNumber,v=t(\"../../registry\");function y(t,e,r){var a,o=g(e),s=o.trace,u=s.domain,f=\"h\"===s.orientation,p=s.node.pad,d=s.node.thickness,m=t.width*(u.x[1]-u.x[0]),v=t.height*(u.y[1]-u.y[0]),y=o._nodes,x=o._links,b=o.circular;(a=b?c.sankeyCircular().circularLinkGap(0):l.sankey()).iterations(n.sankeyIterations).size(f?[m,v]:[v,m]).nodeWidth(d).nodePadding(p).nodeId((function(t){return t.pointNumber})).nodes(y).links(x);var _,w,T,k=a();for(var A in a.nodePadding()<p&&h.warn(\"node.pad was reduced to \",a.nodePadding(),\" to fit within the figure.\"),o._groupLookup){var M,S=parseInt(o._groupLookup[A]);for(_=0;_<k.nodes.length;_++)if(k.nodes[_].pointNumber===S){M=k.nodes[_];break}if(M){var E={pointNumber:parseInt(A),x0:M.x0,x1:M.x1,y0:M.y0,y1:M.y1,partOfGroup:!0,sourceLinks:[],targetLinks:[]};k.nodes.unshift(E),M.childrenNodes.unshift(E)}}if(function(){for(_=0;_<k.nodes.length;_++){var t,e,r=k.nodes[_],n={};for(w=0;w<r.targetLinks.length;w++)t=(e=r.targetLinks[w]).source.pointNumber+\":\"+e.target.pointNumber,n.hasOwnProperty(t)||(n[t]=[]),n[t].push(e);var a=Object.keys(n);for(w=0;w<a.length;w++){var o=n[t=a[w]],s=0,l={};for(T=0;T<o.length;T++)l[(e=o[T]).label]||(l[e.label]=0),l[e.label]+=e.value,s+=e.value;for(T=0;T<o.length;T++)(e=o[T]).flow={value:s,labelConcentration:l[e.label]/s,concentration:e.value/s,links:o},e.concentrationscale&&(e.color=i(e.concentrationscale(e.flow.labelConcentration)))}var c=0;for(w=0;w<r.sourceLinks.length;w++)c+=r.sourceLinks[w].value;for(w=0;w<r.sourceLinks.length;w++)(e=r.sourceLinks[w]).concentrationOut=e.value/c;var u=0;for(w=0;w<r.targetLinks.length;w++)u+=r.targetLinks[w].value;for(w=0;w<r.targetLinks.length;w++)(e=r.targetLinks[w]).concenrationIn=e.value/u}}(),s.node.x.length&&s.node.y.length){for(_=0;_<Math.min(s.node.x.length,s.node.y.length,k.nodes.length);_++)if(s.node.x[_]&&s.node.y[_]){var C=[s.node.x[_]*m,s.node.y[_]*v];k.nodes[_].x0=C[0]-d/2,k.nodes[_].x1=C[0]+d/2;var L=k.nodes[_].y1-k.nodes[_].y0;k.nodes[_].y0=C[1]-L/2,k.nodes[_].y1=C[1]+L/2}if(\"snap\"===s.arrangement)!function(t){t.forEach((function(t){var e,r,n,a=0,i=t.length;for(t.sort((function(t,e){return t.y0-e.y0})),n=0;n<i;++n)(e=t[n]).y0>=a||(r=a-e.y0)>1e-6&&(e.y0+=r,e.y1+=r),a=e.y1+p}))}(function(t){var e,r,n=t.map((function(t,e){return{x0:t.x0,index:e}})).sort((function(t,e){return t.x0-e.x0})),a=[],i=-1,o=-1/0;for(_=0;_<n.length;_++){var s=t[n[_].index];s.x0>o+d&&(i+=1,e=s.x0),o=s.x0,a[i]||(a[i]=[]),a[i].push(s),r=e-s.x0,s.x0+=r,s.x1+=r}return a}(y=k.nodes));a.update(k)}return{circular:b,key:r,trace:s,guid:h.randstr(),horizontal:f,width:m,height:v,nodePad:s.node.pad,nodeLineColor:s.node.line.color,nodeLineWidth:s.node.line.width,linkLineColor:s.link.line.color,linkLineWidth:s.link.line.width,valueFormat:s.valueformat,valueSuffix:s.valuesuffix,textFont:s.textfont,translateX:u.x[0]*t.width+t.margin.l,translateY:t.height-u.y[1]*t.height+t.margin.t,dragParallel:f?v:m,dragPerpendicular:f?m:v,arrangement:s.arrangement,sankey:a,graph:k,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function x(t,e,r){var n=i(e.color),a=e.source.label+\"|\"+e.target.label+\"__\"+r;return e.trace=t.trace,e.curveNumber=t.trace.index,{circular:t.circular,key:a,traceId:t.key,pointNumber:e.pointNumber,link:e,tinyColorHue:o.tinyRGB(n),tinyColorAlpha:n.getAlpha(),linkPath:b,linkLineColor:t.linkLineColor,linkLineWidth:t.linkLineWidth,valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,parent:t,interactionState:t.interactionState,flow:e.flow}}function b(){return function(t){if(t.link.circular)return e=t.link,r=e.width/2,n=e.circularPathData,\"top\"===e.circularLinkType?\"M \"+n.targetX+\" \"+(n.targetY+r)+\" L\"+n.rightInnerExtent+\" \"+(n.targetY+r)+\"A\"+(n.rightLargeArcRadius+r)+\" \"+(n.rightSmallArcRadius+r)+\" 0 0 1 \"+(n.rightFullExtent-r)+\" \"+(n.targetY-n.rightSmallArcRadius)+\"L\"+(n.rightFullExtent-r)+\" \"+n.verticalRightInnerExtent+\"A\"+(n.rightLargeArcRadius+r)+\" \"+(n.rightLargeArcRadius+r)+\" 0 0 1 \"+n.rightInnerExtent+\" \"+(n.verticalFullExtent-r)+\"L\"+n.leftInnerExtent+\" \"+(n.verticalFullExtent-r)+\"A\"+(n.leftLargeArcRadius+r)+\" \"+(n.leftLargeArcRadius+r)+\" 0 0 1 \"+(n.leftFullExtent+r)+\" \"+n.verticalLeftInnerExtent+\"L\"+(n.leftFullExtent+r)+\" \"+(n.sourceY-n.leftSmallArcRadius)+\"A\"+(n.leftLargeArcRadius+r)+\" \"+(n.leftSmallArcRadius+r)+\" 0 0 1 \"+n.leftInnerExtent+\" \"+(n.sourceY+r)+\"L\"+n.sourceX+\" \"+(n.sourceY+r)+\"L\"+n.sourceX+\" \"+(n.sourceY-r)+\"L\"+n.leftInnerExtent+\" \"+(n.sourceY-r)+\"A\"+(n.leftLargeArcRadius-r)+\" \"+(n.leftSmallArcRadius-r)+\" 0 0 0 \"+(n.leftFullExtent-r)+\" \"+(n.sourceY-n.leftSmallArcRadius)+\"L\"+(n.leftFullExtent-r)+\" \"+n.verticalLeftInnerExtent+\"A\"+(n.leftLargeArcRadius-r)+\" \"+(n.leftLargeArcRadius-r)+\" 0 0 0 \"+n.leftInnerExtent+\" \"+(n.verticalFullExtent+r)+\"L\"+n.rightInnerExtent+\" \"+(n.verticalFullExtent+r)+\"A\"+(n.rightLargeArcRadius-r)+\" \"+(n.rightLargeArcRadius-r)+\" 0 0 0 \"+(n.rightFullExtent+r)+\" \"+n.verticalRightInnerExtent+\"L\"+(n.rightFullExtent+r)+\" \"+(n.targetY-n.rightSmallArcRadius)+\"A\"+(n.rightLargeArcRadius-r)+\" \"+(n.rightSmallArcRadius-r)+\" 0 0 0 \"+n.rightInnerExtent+\" \"+(n.targetY-r)+\"L\"+n.targetX+\" \"+(n.targetY-r)+\"Z\":\"M \"+n.targetX+\" \"+(n.targetY-r)+\" L\"+n.rightInnerExtent+\" \"+(n.targetY-r)+\"A\"+(n.rightLargeArcRadius+r)+\" \"+(n.rightSmallArcRadius+r)+\" 0 0 0 \"+(n.rightFullExtent-r)+\" \"+(n.targetY+n.rightSmallArcRadius)+\"L\"+(n.rightFullExtent-r)+\" \"+n.verticalRightInnerExtent+\"A\"+(n.rightLargeArcRadius+r)+\" \"+(n.rightLargeArcRadius+r)+\" 0 0 0 \"+n.rightInnerExtent+\" \"+(n.verticalFullExtent+r)+\"L\"+n.leftInnerExtent+\" \"+(n.verticalFullExtent+r)+\"A\"+(n.leftLargeArcRadius+r)+\" \"+(n.leftLargeArcRadius+r)+\" 0 0 0 \"+(n.leftFullExtent+r)+\" \"+n.verticalLeftInnerExtent+\"L\"+(n.leftFullExtent+r)+\" \"+(n.sourceY+n.leftSmallArcRadius)+\"A\"+(n.leftLargeArcRadius+r)+\" \"+(n.leftSmallArcRadius+r)+\" 0 0 0 \"+n.leftInnerExtent+\" \"+(n.sourceY-r)+\"L\"+n.sourceX+\" \"+(n.sourceY-r)+\"L\"+n.sourceX+\" \"+(n.sourceY+r)+\"L\"+n.leftInnerExtent+\" \"+(n.sourceY+r)+\"A\"+(n.leftLargeArcRadius-r)+\" \"+(n.leftSmallArcRadius-r)+\" 0 0 1 \"+(n.leftFullExtent-r)+\" \"+(n.sourceY+n.leftSmallArcRadius)+\"L\"+(n.leftFullExtent-r)+\" \"+n.verticalLeftInnerExtent+\"A\"+(n.leftLargeArcRadius-r)+\" \"+(n.leftLargeArcRadius-r)+\" 0 0 1 \"+n.leftInnerExtent+\" \"+(n.verticalFullExtent-r)+\"L\"+n.rightInnerExtent+\" \"+(n.verticalFullExtent-r)+\"A\"+(n.rightLargeArcRadius-r)+\" \"+(n.rightLargeArcRadius-r)+\" 0 0 1 \"+(n.rightFullExtent+r)+\" \"+n.verticalRightInnerExtent+\"L\"+(n.rightFullExtent+r)+\" \"+(n.targetY+n.rightSmallArcRadius)+\"A\"+(n.rightLargeArcRadius-r)+\" \"+(n.rightSmallArcRadius-r)+\" 0 0 1 \"+n.rightInnerExtent+\" \"+(n.targetY+r)+\"L\"+n.targetX+\" \"+(n.targetY+r)+\"Z\";var e,r,n,a=t.link.source.x1,i=t.link.target.x0,o=m(a,i),s=o(.5),l=o(.5),c=t.link.y0-t.link.width/2,u=t.link.y0+t.link.width/2,h=t.link.y1-t.link.width/2,f=t.link.y1+t.link.width/2;return\"M\"+a+\",\"+c+\"C\"+s+\",\"+c+\" \"+l+\",\"+h+\" \"+i+\",\"+h+\"L\"+i+\",\"+f+\"C\"+l+\",\"+f+\" \"+s+\",\"+u+\" \"+a+\",\"+u+\"Z\"}}function _(t,e){var r=i(e.color),a=n.nodePadAcross,s=t.nodePad/2;e.dx=e.x1-e.x0,e.dy=e.y1-e.y0;var l=e.dx,c=Math.max(.5,e.dy),u=\"node_\"+e.pointNumber;return e.group&&(u=h.randstr()),e.trace=t.trace,e.curveNumber=t.trace.index,{index:e.pointNumber,key:u,partOfGroup:e.partOfGroup||!1,group:e.group,traceId:t.key,trace:t.trace,node:e,nodePad:t.nodePad,nodeLineColor:t.nodeLineColor,nodeLineWidth:t.nodeLineWidth,textFont:t.textFont,size:t.horizontal?t.height:t.width,visibleWidth:Math.ceil(l),visibleHeight:c,zoneX:-a,zoneY:-s,zoneWidth:l+2*a,zoneHeight:c+2*s,labelY:t.horizontal?e.dy/2+1:e.dx/2+1,left:1===e.originalLayer,sizeAcross:t.width,forceLayouts:t.forceLayouts,horizontal:t.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:o.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,graph:t.graph,arrangement:t.arrangement,uniqueNodeLabelPathId:[t.guid,t.key,u].join(\"_\"),interactionState:t.interactionState,figure:t}}function w(t){t.attr(\"transform\",(function(t){return\"translate(\"+t.node.x0.toFixed(3)+\", \"+t.node.y0.toFixed(3)+\")\"}))}function T(t){t.call(w)}function k(t,e){t.call(T),e.attr(\"d\",b())}function A(t){t.attr(\"width\",(function(t){return t.node.x1-t.node.x0})).attr(\"height\",(function(t){return t.visibleHeight}))}function M(t){return t.link.width>1||t.linkLineWidth>0}function S(t){return\"translate(\"+t.translateX+\",\"+t.translateY+\")\"+(t.horizontal?\"matrix(1 0 0 1 0 0)\":\"matrix(0 1 1 0 0 0)\")}function E(t){return\"translate(\"+(t.horizontal?0:t.labelY)+\" \"+(t.horizontal?t.labelY:0)+\")\"}function C(t){return a.svg.line()([[t.horizontal?t.left?-t.sizeAcross:t.visibleWidth+n.nodeTextOffsetHorizontal:n.nodeTextOffsetHorizontal,0],[t.horizontal?t.left?-n.nodeTextOffsetHorizontal:t.sizeAcross:t.visibleHeight-n.nodeTextOffsetHorizontal,0]])}function L(t){return t.horizontal?\"matrix(1 0 0 1 0 0)\":\"matrix(0 1 1 0 0 0)\"}function P(t){return t.horizontal?\"scale(1 1)\":\"scale(-1 1)\"}function I(t){return t.darkBackground&&!t.horizontal?\"rgb(255,255,255)\":\"rgb(0,0,0)\"}function z(t){return t.horizontal&&t.left?\"100%\":\"0%\"}function O(t,e,r){t.on(\".basic\",null).on(\"mouseover.basic\",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.hover(this,t,e),t.interactionState.hovered=[this,t])})).on(\"mousemove.basic\",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.follow(this,t),t.interactionState.hovered=[this,t])})).on(\"mouseout.basic\",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.unhover(this,t,e),t.interactionState.hovered=!1)})).on(\"click.basic\",(function(t){t.interactionState.hovered&&(r.unhover(this,t,e),t.interactionState.hovered=!1),t.interactionState.dragInProgress||t.partOfGroup||r.select(this,t,e)}))}function D(t,e,r,i){var o=a.behavior.drag().origin((function(t){return{x:t.node.x0+t.visibleWidth/2,y:t.node.y0+t.visibleHeight/2}})).on(\"dragstart\",(function(a){if(\"fixed\"!==a.arrangement&&(h.ensureSingle(i._fullLayout._infolayer,\"g\",\"dragcover\",(function(t){i._fullLayout._dragCover=t})),h.raiseToTop(this),a.interactionState.dragInProgress=a.node,F(a.node),a.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),\"snap\"===a.arrangement)){var o=a.traceId+\"|\"+a.key;a.forceLayouts[o]?a.forceLayouts[o].alpha(1):function(t,e,r,a){!function(t){for(var e=0;e<t.length;e++)t[e].y=(t[e].y0+t[e].y1)/2,t[e].x=(t[e].x0+t[e].x1)/2}(r.graph.nodes);var i=r.graph.nodes.filter((function(t){return t.originalX===r.node.originalX})).filter((function(t){return!t.partOfGroup}));r.forceLayouts[e]=u.forceSimulation(i).alphaDecay(0).force(\"collide\",u.forceCollide().radius((function(t){return t.dy/2+r.nodePad/2})).strength(1).iterations(n.forceIterations)).force(\"constrain\",function(t,e,r,a){return function(){for(var t=0,i=0;i<r.length;i++){var o=r[i];o===a.interactionState.dragInProgress?(o.x=o.lastDraggedX,o.y=o.lastDraggedY):(o.vx=(o.originalX-o.x)/n.forceTicksPerFrame,o.y=Math.min(a.size-o.dy/2,Math.max(o.dy/2,o.y))),t=Math.max(t,Math.abs(o.vx),Math.abs(o.vy))}!a.interactionState.dragInProgress&&t<.1&&a.forceLayouts[e].alpha()>0&&a.forceLayouts[e].alpha(0)}}(0,e,i,r)).stop()}(0,o,a),function(t,e,r,a,i){window.requestAnimationFrame((function o(){var s;for(s=0;s<n.forceTicksPerFrame;s++)r.forceLayouts[a].tick();if(function(t){for(var e=0;e<t.length;e++)t[e].y0=t[e].y-t[e].dy/2,t[e].y1=t[e].y0+t[e].dy,t[e].x0=t[e].x-t[e].dx/2,t[e].x1=t[e].x0+t[e].dx}(r.graph.nodes),r.sankey.update(r.graph),k(t.filter(B(r)),e),r.forceLayouts[a].alpha()>0)window.requestAnimationFrame(o);else{var l=r.node.originalX;r.node.x0=l-r.visibleWidth/2,r.node.x1=l+r.visibleWidth/2,R(r,i)}}))}(t,e,a,o,i)}})).on(\"drag\",(function(r){if(\"fixed\"!==r.arrangement){var n=a.event.x,i=a.event.y;\"snap\"===r.arrangement?(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2,r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2):(\"freeform\"===r.arrangement&&(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2),i=Math.max(0,Math.min(r.size-r.visibleHeight/2,i)),r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2),F(r.node),\"snap\"!==r.arrangement&&(r.sankey.update(r.graph),k(t.filter(B(r)),e))}})).on(\"dragend\",(function(t){if(\"fixed\"!==t.arrangement){t.interactionState.dragInProgress=!1;for(var e=0;e<t.node.childrenNodes.length;e++)t.node.childrenNodes[e].x=t.node.x,t.node.childrenNodes[e].y=t.node.y;\"snap\"!==t.arrangement&&R(t,i)}}));t.on(\".drag\",null).call(o)}function R(t,e){for(var r=[],n=[],a=0;a<t.graph.nodes.length;a++){var i=(t.graph.nodes[a].x0+t.graph.nodes[a].x1)/2,o=(t.graph.nodes[a].y0+t.graph.nodes[a].y1)/2;r.push(i/t.figure.width),n.push(o/t.figure.height)}v.call(\"_guiRestyle\",e,{\"node.x\":[r],\"node.y\":[n]},t.trace.index).then((function(){e._fullLayout._dragCover&&e._fullLayout._dragCover.remove()}))}function F(t){t.lastDraggedX=t.x0+t.dx/2,t.lastDraggedY=t.y0+t.dy/2}function B(t){return function(e){return e.node.originalX===t.node.originalX}}e.exports=function(t,e,r,l,c){var u=!1;h.ensureSingle(t._fullLayout._infolayer,\"g\",\"first-render\",(function(){u=!0}));var f=t._fullLayout._dragCover,m=r.filter((function(t){return g(t).trace.visible})).map(y.bind(null,l)),v=e.selectAll(\".\"+n.cn.sankey).data(m,p);v.exit().remove(),v.enter().append(\"g\").classed(n.cn.sankey,!0).style(\"box-sizing\",\"content-box\").style(\"position\",\"absolute\").style(\"left\",0).style(\"shape-rendering\",\"geometricPrecision\").style(\"pointer-events\",\"auto\").attr(\"transform\",S),v.each((function(e,r){t._fullData[r]._sankey=e;var n=\"bgsankey-\"+e.trace.uid+\"-\"+r;h.ensureSingle(t._fullLayout._draggers,\"rect\",n),t._fullData[r]._bgRect=a.select(\".\"+n),t._fullData[r]._bgRect.style(\"pointer-events\",\"all\").attr(\"width\",e.width).attr(\"height\",e.height).attr(\"x\",e.translateX).attr(\"y\",e.translateY).classed(\"bgsankey\",!0).style({fill:\"transparent\",\"stroke-width\":0})})),v.transition().ease(n.ease).duration(n.duration).attr(\"transform\",S);var T=v.selectAll(\".\"+n.cn.sankeyLinks).data(d,p);T.enter().append(\"g\").classed(n.cn.sankeyLinks,!0).style(\"fill\",\"none\");var k=T.selectAll(\".\"+n.cn.sankeyLink).data((function(t){return t.graph.links.filter((function(t){return t.value})).map(x.bind(null,t))}),p);k.enter().append(\"path\").classed(n.cn.sankeyLink,!0).call(O,v,c.linkEvents),k.style(\"stroke\",(function(t){return M(t)?o.tinyRGB(i(t.linkLineColor)):t.tinyColorHue})).style(\"stroke-opacity\",(function(t){return M(t)?o.opacity(t.linkLineColor):t.tinyColorAlpha})).style(\"fill\",(function(t){return t.tinyColorHue})).style(\"fill-opacity\",(function(t){return t.tinyColorAlpha})).style(\"stroke-width\",(function(t){return M(t)?t.linkLineWidth:1})).attr(\"d\",b()),k.style(\"opacity\",(function(){return t._context.staticPlot||u||f?1:0})).transition().ease(n.ease).duration(n.duration).style(\"opacity\",1),k.exit().transition().ease(n.ease).duration(n.duration).style(\"opacity\",0).remove();var R=v.selectAll(\".\"+n.cn.sankeyNodeSet).data(d,p);R.enter().append(\"g\").classed(n.cn.sankeyNodeSet,!0),R.style(\"cursor\",(function(t){switch(t.arrangement){case\"fixed\":return\"default\";case\"perpendicular\":return\"ns-resize\";default:return\"move\"}}));var F=R.selectAll(\".\"+n.cn.sankeyNode).data((function(t){var e=t.graph.nodes;return function(t){var e,r=[];for(e=0;e<t.length;e++)t[e].originalX=(t[e].x0+t[e].x1)/2,t[e].originalY=(t[e].y0+t[e].y1)/2,-1===r.indexOf(t[e].originalX)&&r.push(t[e].originalX);for(r.sort((function(t,e){return t-e})),e=0;e<t.length;e++)t[e].originalLayerIndex=r.indexOf(t[e].originalX),t[e].originalLayer=t[e].originalLayerIndex/(r.length-1)}(e),e.map(_.bind(null,t))}),p);F.enter().append(\"g\").classed(n.cn.sankeyNode,!0).call(w).style(\"opacity\",(function(e){return!t._context.staticPlot&&!u||e.partOfGroup?0:1})),F.call(O,v,c.nodeEvents).call(D,k,c,t),F.transition().ease(n.ease).duration(n.duration).call(w).style(\"opacity\",(function(t){return t.partOfGroup?0:1})),F.exit().transition().ease(n.ease).duration(n.duration).style(\"opacity\",0).remove();var B=F.selectAll(\".\"+n.cn.nodeRect).data(d);B.enter().append(\"rect\").classed(n.cn.nodeRect,!0).call(A),B.style(\"stroke-width\",(function(t){return t.nodeLineWidth})).style(\"stroke\",(function(t){return o.tinyRGB(i(t.nodeLineColor))})).style(\"stroke-opacity\",(function(t){return o.opacity(t.nodeLineColor)})).style(\"fill\",(function(t){return t.tinyColorHue})).style(\"fill-opacity\",(function(t){return t.tinyColorAlpha})),B.transition().ease(n.ease).duration(n.duration).call(A);var N=F.selectAll(\".\"+n.cn.nodeCapture).data(d);N.enter().append(\"rect\").classed(n.cn.nodeCapture,!0).style(\"fill-opacity\",0),N.attr(\"x\",(function(t){return t.zoneX})).attr(\"y\",(function(t){return t.zoneY})).attr(\"width\",(function(t){return t.zoneWidth})).attr(\"height\",(function(t){return t.zoneHeight}));var j=F.selectAll(\".\"+n.cn.nodeCentered).data(d);j.enter().append(\"g\").classed(n.cn.nodeCentered,!0).attr(\"transform\",E),j.transition().ease(n.ease).duration(n.duration).attr(\"transform\",E);var V=j.selectAll(\".\"+n.cn.nodeLabelGuide).data(d);V.enter().append(\"path\").classed(n.cn.nodeLabelGuide,!0).attr(\"id\",(function(t){return t.uniqueNodeLabelPathId})).attr(\"d\",C).attr(\"transform\",L),V.transition().ease(n.ease).duration(n.duration).attr(\"d\",C).attr(\"transform\",L);var U=j.selectAll(\".\"+n.cn.nodeLabel).data(d);U.enter().append(\"text\").classed(n.cn.nodeLabel,!0).attr(\"transform\",P).style(\"user-select\",\"none\").style(\"cursor\",\"default\").style(\"fill\",\"black\"),U.style(\"text-shadow\",(function(t){return t.horizontal?\"-1px 1px 1px #fff, 1px 1px 1px #fff, 1px -1px 1px #fff, -1px -1px 1px #fff\":\"none\"})).each((function(t){s.font(U,t.textFont)})),U.transition().ease(n.ease).duration(n.duration).attr(\"transform\",P);var q=U.selectAll(\".\"+n.cn.nodeLabelTextPath).data(d);q.enter().append(\"textPath\").classed(n.cn.nodeLabelTextPath,!0).attr(\"alignment-baseline\",\"middle\").attr(\"xlink:href\",(function(t){return\"#\"+t.uniqueNodeLabelPathId})).attr(\"startOffset\",z).style(\"fill\",I),q.text((function(t){return t.horizontal||t.node.dy>5?t.node.label:\"\"})).attr(\"text-anchor\",(function(t){return t.horizontal&&t.left?\"end\":\"start\"})),q.transition().ease(n.ease).duration(n.duration).attr(\"startOffset\",z).style(\"fill\",I)}},{\"../../components/color\":595,\"../../components/drawing\":617,\"../../lib\":728,\"../../lib/gup\":726,\"../../registry\":859,\"./constants\":1127,\"@plotly/d3-sankey\":56,\"@plotly/d3-sankey-circular\":55,d3:164,\"d3-force\":157,\"d3-interpolate\":159,tinycolor2:528}],1132:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r=[],n=t.cd[0].trace,a=n._sankey.graph.nodes,i=0;i<a.length;i++){var o=a[i];if(!o.partOfGroup){var s=[(o.x0+o.x1)/2,(o.y0+o.y1)/2];\"v\"===n.orientation&&s.reverse(),e&&e.contains(s,!1,i,t)&&r.push({pointNumber:o.pointNumber})}}return r}},{}],1133:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;n.mergeArray(e.text,t,\"tx\"),n.mergeArray(e.texttemplate,t,\"txt\"),n.mergeArray(e.hovertext,t,\"htx\"),n.mergeArray(e.customdata,t,\"data\"),n.mergeArray(e.textposition,t,\"tp\"),e.textfont&&(n.mergeArrayCastPositive(e.textfont.size,t,\"ts\"),n.mergeArray(e.textfont.color,t,\"tc\"),n.mergeArray(e.textfont.family,t,\"tf\"));var a=e.marker;if(a){n.mergeArrayCastPositive(a.size,t,\"ms\"),n.mergeArrayCastPositive(a.opacity,t,\"mo\"),n.mergeArray(a.symbol,t,\"mx\"),n.mergeArray(a.color,t,\"mc\");var i=a.line;a.line&&(n.mergeArray(i.color,t,\"mlc\"),n.mergeArrayCastPositive(i.width,t,\"mlw\"));var o=a.gradient;o&&\"none\"!==o.type&&(n.mergeArray(o.type,t,\"mgt\"),n.mergeArray(o.color,t,\"mgc\"))}}},{\"../../lib\":728}],1134:[function(t,e,r){\"use strict\";var n=t(\"../../plots/template_attributes\").texttemplateAttrs,a=t(\"../../plots/template_attributes\").hovertemplateAttrs,i=t(\"../../components/colorscale/attributes\"),o=t(\"../../plots/font_attributes\"),s=t(\"../../components/drawing/attributes\").dash,l=t(\"../../components/drawing\"),c=t(\"./constants\"),u=t(\"../../lib/extend\").extendFlat;e.exports={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\",anim:!0},x0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\",anim:!0},dx:{valType:\"number\",dflt:1,editType:\"calc\",anim:!0},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\",anim:!0},y0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\",anim:!0},dy:{valType:\"number\",dflt:1,editType:\"calc\",anim:!0},stackgroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc\"},groupnorm:{valType:\"enumerated\",values:[\"\",\"fraction\",\"percent\"],dflt:\"\",editType:\"calc\"},stackgaps:{valType:\"enumerated\",values:[\"infer zero\",\"interpolate\"],dflt:\"infer zero\",editType:\"calc\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},texttemplate:n({},{}),hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"style\"},mode:{valType:\"flaglist\",flags:[\"lines\",\"markers\",\"text\"],extras:[\"none\"],editType:\"calc\"},hoveron:{valType:\"flaglist\",flags:[\"points\",\"fills\"],editType:\"style\"},hovertemplate:a({},{keys:c.eventDataKeys}),line:{color:{valType:\"color\",editType:\"style\",anim:!0},width:{valType:\"number\",min:0,dflt:2,editType:\"style\",anim:!0},shape:{valType:\"enumerated\",values:[\"linear\",\"spline\",\"hv\",\"vh\",\"hvh\",\"vhv\"],dflt:\"linear\",editType:\"plot\"},smoothing:{valType:\"number\",min:0,max:1.3,dflt:1,editType:\"plot\"},dash:u({},s,{editType:\"style\"}),simplify:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},connectgaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},cliponaxis:{valType:\"boolean\",dflt:!0,editType:\"plot\"},fill:{valType:\"enumerated\",values:[\"none\",\"tozeroy\",\"tozerox\",\"tonexty\",\"tonextx\",\"toself\",\"tonext\"],editType:\"calc\"},fillcolor:{valType:\"color\",editType:\"style\",anim:!0},marker:u({symbol:{valType:\"enumerated\",values:l.symbolList,dflt:\"circle\",arrayOk:!0,editType:\"style\"},opacity:{valType:\"number\",min:0,max:1,arrayOk:!0,editType:\"style\",anim:!0},size:{valType:\"number\",min:0,dflt:6,arrayOk:!0,editType:\"calc\",anim:!0},maxdisplayed:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},sizeref:{valType:\"number\",dflt:1,editType:\"calc\"},sizemin:{valType:\"number\",min:0,dflt:0,editType:\"calc\"},sizemode:{valType:\"enumerated\",values:[\"diameter\",\"area\"],dflt:\"diameter\",editType:\"calc\"},line:u({width:{valType:\"number\",min:0,arrayOk:!0,editType:\"style\",anim:!0},editType:\"calc\"},i(\"marker.line\",{anim:!0})),gradient:{type:{valType:\"enumerated\",values:[\"radial\",\"horizontal\",\"vertical\",\"none\"],arrayOk:!0,dflt:\"none\",editType:\"calc\"},color:{valType:\"color\",arrayOk:!0,editType:\"calc\"},editType:\"calc\"},editType:\"calc\"},i(\"marker\",{anim:!0})),selected:{marker:{opacity:{valType:\"number\",min:0,max:1,editType:\"style\"},color:{valType:\"color\",editType:\"style\"},size:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},textfont:{color:{valType:\"color\",editType:\"style\"},editType:\"style\"},editType:\"style\"},unselected:{marker:{opacity:{valType:\"number\",min:0,max:1,editType:\"style\"},color:{valType:\"color\",editType:\"style\"},size:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},textfont:{color:{valType:\"color\",editType:\"style\"},editType:\"style\"},editType:\"style\"},textposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle left\",\"middle center\",\"middle right\",\"bottom left\",\"bottom center\",\"bottom right\"],dflt:\"middle center\",arrayOk:!0,editType:\"calc\"},textfont:o({editType:\"calc\",colorEditType:\"style\",arrayOk:!0}),r:{valType:\"data_array\",editType:\"calc\"},t:{valType:\"data_array\",editType:\"calc\"}}},{\"../../components/colorscale/attributes\":602,\"../../components/drawing\":617,\"../../components/drawing/attributes\":616,\"../../lib/extend\":719,\"../../plots/font_attributes\":804,\"../../plots/template_attributes\":854,\"./constants\":1138}],1135:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),o=t(\"../../constants/numerical\").BADNUM,s=t(\"./subtypes\"),l=t(\"./colorscale_calc\"),c=t(\"./arrays_to_calcdata\"),u=t(\"./calc_selection\");function h(t,e,r,n,a,o,l){var c=e._length,u=t._fullLayout,h=r._id,f=n._id,p=u._firstScatter[d(e)]===e.uid,m=(g(e,u,r,n)||{}).orientation,v=e.fill;r._minDtick=0,n._minDtick=0;var y={padded:!0},x={padded:!0};l&&(y.ppad=x.ppad=l);var b=c<2||a[0]!==a[c-1]||o[0]!==o[c-1];b&&(\"tozerox\"===v||\"tonextx\"===v&&(p||\"h\"===m))?y.tozero=!0:(e.error_y||{}).visible||\"tonexty\"!==v&&\"tozeroy\"!==v&&(s.hasMarkers(e)||s.hasText(e))||(y.padded=!1,y.ppad=0),b&&(\"tozeroy\"===v||\"tonexty\"===v&&(p||\"v\"===m))?x.tozero=!0:\"tonextx\"!==v&&\"tozerox\"!==v||(x.padded=!1),h&&(e._extremes[h]=i.findExtremes(r,a,y)),f&&(e._extremes[f]=i.findExtremes(n,o,x))}function f(t,e){if(s.hasMarkers(t)){var r,n=t.marker,o=1.6*(t.marker.sizeref||1);if(r=\"area\"===t.marker.sizemode?function(t){return Math.max(Math.sqrt((t||0)/o),3)}:function(t){return Math.max((t||0)/o,3)},a.isArrayOrTypedArray(n.size)){var l={type:\"linear\"};i.setConvert(l);for(var c=l.makeCalcdata(t.marker,\"size\"),u=new Array(e),h=0;h<e;h++)u[h]=r(c[h]);return u}return r(n.size)}}function p(t,e){var r=d(e),n=t._firstScatter;n[r]||(n[r]=e.uid)}function d(t){var e=t.stackgroup;return t.xaxis+t.yaxis+t.type+(e?\"-\"+e:\"\")}function g(t,e,r,n){var a=t.stackgroup;if(a){var i=e._scatterStackOpts[r._id+n._id][a],o=\"v\"===i.orientation?n:r;return\"linear\"===o.type||\"log\"===o.type?i:void 0}}e.exports={calc:function(t,e){var r,s,d,m,v,y,x=t._fullLayout,b=i.getFromId(t,e.xaxis||\"x\"),_=i.getFromId(t,e.yaxis||\"y\"),w=b.makeCalcdata(e,\"x\"),T=_.makeCalcdata(e,\"y\"),k=e._length,A=new Array(k),M=e.ids,S=g(e,x,b,_),E=!1;p(x,e);var C,L=\"x\",P=\"y\";for(S?(a.pushUnique(S.traceIndices,e._expandedIndex),(r=\"v\"===S.orientation)?(P=\"s\",C=\"x\"):(L=\"s\",C=\"y\"),v=\"interpolate\"===S.stackgaps):h(t,e,b,_,w,T,f(e,k)),s=0;s<k;s++){var I=A[s]={},z=n(w[s]),O=n(T[s]);z&&O?(I[L]=w[s],I[P]=T[s]):S&&(r?z:O)?(I[C]=r?w[s]:T[s],I.gap=!0,v?(I.s=o,E=!0):I.s=0):I[L]=I[P]=o,M&&(I.id=String(M[s]))}if(c(A,e),l(t,e),u(A,e),S){for(s=0;s<A.length;)A[s][C]===o?A.splice(s,1):s++;if(a.sort(A,(function(t,e){return t[C]-e[C]||t.i-e.i})),E){for(s=0;s<A.length-1&&A[s].gap;)s++;for((y=A[s].s)||(y=A[s].s=0),d=0;d<s;d++)A[d].s=y;for(m=A.length-1;m>s&&A[m].gap;)m--;for(y=A[m].s,d=A.length-1;d>m;d--)A[d].s=y;for(;s<m;)if(A[++s].gap){for(d=s+1;A[d].gap;)d++;for(var D=A[s-1][C],R=A[s-1].s,F=(A[d].s-R)/(A[d][C]-D);s<d;)A[s].s=R+(A[s][C]-D)*F,s++}}}return A},calcMarkerSize:f,calcAxisExpansion:h,setFirstScatter:p,getStackOpts:g}},{\"../../constants/numerical\":704,\"../../lib\":728,\"../../plots/cartesian/axes\":776,\"./arrays_to_calcdata\":1133,\"./calc_selection\":1136,\"./colorscale_calc\":1137,\"./subtypes\":1158,\"fast-isnumeric\":236}],1136:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e){n.isArrayOrTypedArray(e.selectedpoints)&&n.tagSelected(t,e)}},{\"../../lib\":728}],1137:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/helpers\").hasColorscale,a=t(\"../../components/colorscale/calc\"),i=t(\"./subtypes\");e.exports=function(t,e){i.hasLines(e)&&n(e,\"line\")&&a(t,e,{vals:e.line.color,containerStr:\"line\",cLetter:\"c\"}),i.hasMarkers(e)&&(n(e,\"marker\")&&a(t,e,{vals:e.marker.color,containerStr:\"marker\",cLetter:\"c\"}),n(e,\"marker.line\")&&a(t,e,{vals:e.marker.line.color,containerStr:\"marker.line\",cLetter:\"c\"}))}},{\"../../components/colorscale/calc\":603,\"../../components/colorscale/helpers\":606,\"./subtypes\":1158}],1138:[function(t,e,r){\"use strict\";e.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20,eventDataKeys:[]}},{}],1139:[function(t,e,r){\"use strict\";var n=t(\"./calc\");function a(t,e,r,n,a,i,o){a[n]=!0;var s={i:null,gap:!0,s:0};if(s[o]=r,t.splice(e,0,s),e&&r===t[e-1][o]){var l=t[e-1];s.s=l.s,s.i=l.i,s.gap=l.gap}else i&&(s.s=function(t,e,r,n){var a=t[e-1],i=t[e+1];return i?a?a.s+(i.s-a.s)*(r-a[n])/(i[n]-a[n]):i.s:a.s}(t,e,r,o));e||(t[0].t=t[1].t,t[0].trace=t[1].trace,delete t[1].t,delete t[1].trace)}e.exports=function(t,e){var r=e.xaxis,i=e.yaxis,o=r._id+i._id,s=t._fullLayout._scatterStackOpts[o];if(s){var l,c,u,h,f,p,d,g,m,v,y,x,b,_,w,T=t.calcdata;for(var k in s){var A=(v=s[k]).traceIndices;if(A.length){for(y=\"interpolate\"===v.stackgaps,x=v.groupnorm,\"v\"===v.orientation?(b=\"x\",_=\"y\"):(b=\"y\",_=\"x\"),w=new Array(A.length),l=0;l<w.length;l++)w[l]=!1;p=T[A[0]];var M=new Array(p.length);for(l=0;l<p.length;l++)M[l]=p[l][b];for(l=1;l<A.length;l++){for(f=T[A[l]],c=u=0;c<f.length;c++){for(d=f[c][b];d>M[u]&&u<M.length;u++)a(f,c,M[u],l,w,y,b),c++;if(d!==M[u]){for(h=0;h<l;h++)a(T[A[h]],u,d,h,w,y,b);M.splice(u,0,d)}u++}for(;u<M.length;u++)a(f,c,M[u],l,w,y,b),c++}var S=M.length;for(c=0;c<p.length;c++){for(g=p[c][_]=p[c].s,l=1;l<A.length;l++)(f=T[A[l]])[0].trace._rawLength=f[0].trace._length,f[0].trace._length=S,g+=f[c].s,f[c][_]=g;if(x)for(m=(\"fraction\"===x?g:g/100)||1,l=0;l<A.length;l++){var E=T[A[l]][c];E[_]/=m,E.sNorm=E.s/m}}for(l=0;l<A.length;l++){var C=(f=T[A[l]])[0].trace,L=n.calcMarkerSize(C,C._rawLength),P=Array.isArray(L);if(L&&w[l]||P){var I=L;for(L=new Array(S),c=0;c<S;c++)L[c]=f[c].gap?0:P?I[f[c].i]:I}var z=new Array(S),O=new Array(S);for(c=0;c<S;c++)z[c]=f[c].x,O[c]=f[c].y;n.calcAxisExpansion(t,C,r,i,z,O,L),f[0].t.orientation=v.orientation}}}}}},{\"./calc\":1135}],1140:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=0;e<t.length;e++){var r=t[e];if(\"scatter\"===r.type){var n=r.fill;if(\"none\"!==n&&\"toself\"!==n&&(r.opacity=void 0,\"tonexty\"===n||\"tonextx\"===n))for(var a=e-1;a>=0;a--){var i=t[a];if(\"scatter\"===i.type&&i.xaxis===r.xaxis&&i.yaxis===r.yaxis){i.opacity=void 0;break}}}}}},{}],1141:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../registry\"),i=t(\"./attributes\"),o=t(\"./constants\"),s=t(\"./subtypes\"),l=t(\"./xy_defaults\"),c=t(\"./stack_defaults\"),u=t(\"./marker_defaults\"),h=t(\"./line_defaults\"),f=t(\"./line_shape_defaults\"),p=t(\"./text_defaults\"),d=t(\"./fillcolor_defaults\");e.exports=function(t,e,r,g){function m(r,a){return n.coerce(t,e,i,r,a)}var v=l(t,e,g,m);if(v||(e.visible=!1),e.visible){var y=c(t,e,g,m),x=!y&&v<o.PTS_LINESONLY?\"lines+markers\":\"lines\";m(\"text\"),m(\"hovertext\"),m(\"mode\",x),s.hasLines(e)&&(h(t,e,r,g,m),f(t,e,m),m(\"connectgaps\"),m(\"line.simplify\")),s.hasMarkers(e)&&u(t,e,r,g,m,{gradient:!0}),s.hasText(e)&&(m(\"texttemplate\"),p(t,e,g,m));var b=[];(s.hasMarkers(e)||s.hasText(e))&&(m(\"cliponaxis\"),m(\"marker.maxdisplayed\"),b.push(\"points\")),m(\"fill\",y?y.fillDflt:\"none\"),\"none\"!==e.fill&&(d(t,e,r,m),s.hasLines(e)||f(t,e,m));var _=(e.line||{}).color,w=(e.marker||{}).color;\"tonext\"!==e.fill&&\"toself\"!==e.fill||b.push(\"fills\"),m(\"hoveron\",b.join(\"+\")||\"points\"),\"fills\"!==e.hoveron&&m(\"hovertemplate\");var T=a.getComponentMethod(\"errorbars\",\"supplyDefaults\");T(t,e,_||w||r,{axis:\"y\"}),T(t,e,_||w||r,{axis:\"x\",inherit:\"y\"}),n.coerceSelectionMarkerOpacity(e,m)}}},{\"../../lib\":728,\"../../registry\":859,\"./attributes\":1134,\"./constants\":1138,\"./fillcolor_defaults\":1142,\"./line_defaults\":1147,\"./line_shape_defaults\":1149,\"./marker_defaults\":1153,\"./stack_defaults\":1156,\"./subtypes\":1158,\"./text_defaults\":1159,\"./xy_defaults\":1160}],1142:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),a=t(\"../../lib\").isArrayOrTypedArray;e.exports=function(t,e,r,i){var o=!1;if(e.marker){var s=e.marker.color,l=(e.marker.line||{}).color;s&&!a(s)?o=s:l&&!a(l)&&(o=l)}i(\"fillcolor\",n.addOpacity((e.line||{}).color||o||r,.5))}},{\"../../components/color\":595,\"../../lib\":728}],1143:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\");e.exports=function(t,e,r){var a={},i={_fullLayout:r},o=n.getFromTrace(i,e,\"x\"),s=n.getFromTrace(i,e,\"y\");return a.xLabel=n.tickText(o,t.x,!0).text,a.yLabel=n.tickText(s,t.y,!0).text,a}},{\"../../plots/cartesian/axes\":776}],1144:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),a=t(\"./subtypes\");e.exports=function(t,e){var r,i;if(\"lines\"===t.mode)return(r=t.line.color)&&n.opacity(r)?r:t.fillcolor;if(\"none\"===t.mode)return t.fill?t.fillcolor:\"\";var o=e.mcc||(t.marker||{}).color,s=e.mlcc||((t.marker||{}).line||{}).color;return(i=o&&n.opacity(o)?o:s&&n.opacity(s)&&(e.mlw||((t.marker||{}).line||{}).width)?s:\"\")?n.opacity(i)<.3?n.addOpacity(i,.3):i:(r=(t.line||{}).color)&&n.opacity(r)&&a.hasLines(t)&&t.line.width?r:t.fillcolor}},{\"../../components/color\":595,\"./subtypes\":1158}],1145:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../components/fx\"),i=t(\"../../registry\"),o=t(\"./get_trace_color\"),s=t(\"../../components/color\"),l=n.fillText;e.exports=function(t,e,r,c){var u=t.cd,h=u[0].trace,f=t.xa,p=t.ya,d=f.c2p(e),g=p.c2p(r),m=[d,g],v=h.hoveron||\"\",y=-1!==h.mode.indexOf(\"markers\")?3:.5;if(-1!==v.indexOf(\"points\")){var x=function(t){var e=Math.max(y,t.mrc||0),r=f.c2p(t.x)-d,n=p.c2p(t.y)-g;return Math.max(Math.sqrt(r*r+n*n)-e,1-y/e)},b=a.getDistanceFunction(c,(function(t){var e=Math.max(3,t.mrc||0),r=1-1/e,n=Math.abs(f.c2p(t.x)-d);return n<e?r*n/e:n-e+r}),(function(t){var e=Math.max(3,t.mrc||0),r=1-1/e,n=Math.abs(p.c2p(t.y)-g);return n<e?r*n/e:n-e+r}),x);if(a.getClosest(u,b,t),!1!==t.index){var _=u[t.index],w=f.c2p(_.x,!0),T=p.c2p(_.y,!0),k=_.mrc||1;t.index=_.i;var A=u[0].t.orientation,M=A&&(_.sNorm||_.s),S=\"h\"===A?M:_.x,E=\"v\"===A?M:_.y;return n.extendFlat(t,{color:o(h,_),x0:w-k,x1:w+k,xLabelVal:S,y0:T-k,y1:T+k,yLabelVal:E,spikeDistance:x(_),hovertemplate:h.hovertemplate}),l(_,h,t),i.getComponentMethod(\"errorbars\",\"hoverInfo\")(_,h,t),[t]}}if(-1!==v.indexOf(\"fills\")&&h._polygons){var C,L,P,I,z,O,D,R,F,B=h._polygons,N=[],j=!1,V=1/0,U=-1/0,q=1/0,H=-1/0;for(C=0;C<B.length;C++)(P=B[C]).contains(m)&&(j=!j,N.push(P),q=Math.min(q,P.ymin),H=Math.max(H,P.ymax));if(j){var G=((q=Math.max(q,0))+(H=Math.min(H,p._length)))/2;for(C=0;C<N.length;C++)for(I=N[C].pts,L=1;L<I.length;L++)(R=I[L-1][1])>G!=(F=I[L][1])>=G&&(O=I[L-1][0],D=I[L][0],F-R&&(z=O+(D-O)*(G-R)/(F-R),V=Math.min(V,z),U=Math.max(U,z)));V=Math.max(V,0),U=Math.min(U,f._length);var Y=s.defaultLine;return s.opacity(h.fillcolor)?Y=h.fillcolor:s.opacity((h.line||{}).color)&&(Y=h.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:V,x1:U,y0:G,y1:G,color:Y,hovertemplate:!1}),delete t.index,h.text&&!Array.isArray(h.text)?t.text=String(h.text):t.text=h.name,[t]}}}},{\"../../components/color\":595,\"../../components/fx\":635,\"../../lib\":728,\"../../registry\":859,\"./get_trace_color\":1144}],1146:[function(t,e,r){\"use strict\";var n=t(\"./subtypes\");e.exports={hasLines:n.hasLines,hasMarkers:n.hasMarkers,hasText:n.hasText,isBubble:n.isBubble,attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),crossTraceDefaults:t(\"./cross_trace_defaults\"),calc:t(\"./calc\").calc,crossTraceCalc:t(\"./cross_trace_calc\"),arraysToCalcdata:t(\"./arrays_to_calcdata\"),plot:t(\"./plot\"),colorbar:t(\"./marker_colorbar\"),formatLabels:t(\"./format_labels\"),style:t(\"./style\").style,styleOnSelect:t(\"./style\").styleOnSelect,hoverPoints:t(\"./hover\"),selectPoints:t(\"./select\"),animatable:!0,moduleType:\"trace\",name:\"scatter\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"symbols\",\"errorBarsOK\",\"showLegend\",\"scatter-like\",\"zoomScale\"],meta:{}}},{\"../../plots/cartesian\":789,\"./arrays_to_calcdata\":1133,\"./attributes\":1134,\"./calc\":1135,\"./cross_trace_calc\":1139,\"./cross_trace_defaults\":1140,\"./defaults\":1141,\"./format_labels\":1143,\"./hover\":1145,\"./marker_colorbar\":1152,\"./plot\":1154,\"./select\":1155,\"./style\":1157,\"./subtypes\":1158}],1147:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isArrayOrTypedArray,a=t(\"../../components/colorscale/helpers\").hasColorscale,i=t(\"../../components/colorscale/defaults\");e.exports=function(t,e,r,o,s,l){var c=(t.marker||{}).color;(s(\"line.color\",r),a(t,\"line\"))?i(t,e,o,s,{prefix:\"line.\",cLetter:\"c\"}):s(\"line.color\",!n(c)&&c||r);s(\"line.width\"),(l||{}).noDash||s(\"line.dash\")}},{\"../../components/colorscale/defaults\":605,\"../../components/colorscale/helpers\":606,\"../../lib\":728}],1148:[function(t,e,r){\"use strict\";var n=t(\"../../constants/numerical\"),a=n.BADNUM,i=n.LOG_CLIP,o=i+.5,s=i-.5,l=t(\"../../lib\"),c=l.segmentsIntersect,u=l.constrain,h=t(\"./constants\");e.exports=function(t,e){var r,n,i,f,p,d,g,m,v,y,x,b,_,w,T,k,A,M,S=e.xaxis,E=e.yaxis,C=\"log\"===S.type,L=\"log\"===E.type,P=S._length,I=E._length,z=e.connectGaps,O=e.baseTolerance,D=e.shape,R=\"linear\"===D,F=e.fill&&\"none\"!==e.fill,B=[],N=h.minTolerance,j=t.length,V=new Array(j),U=0;function q(r){var n=t[r];if(!n)return!1;var i=e.linearized?S.l2p(n.x):S.c2p(n.x),l=e.linearized?E.l2p(n.y):E.c2p(n.y);if(i===a){if(C&&(i=S.c2p(n.x,!0)),i===a)return!1;L&&l===a&&(i*=Math.abs(S._m*I*(S._m>0?o:s)/(E._m*P*(E._m>0?o:s)))),i*=1e3}if(l===a){if(L&&(l=E.c2p(n.y,!0)),l===a)return!1;l*=1e3}return[i,l]}function H(t,e,r,n){var a=r-t,i=n-e,o=.5-t,s=.5-e,l=a*a+i*i,c=a*o+i*s;if(c>0&&c<l){var u=o*i-s*a;if(u*u<l)return!0}}function G(t,e){var r=t[0]/P,n=t[1]/I,a=Math.max(0,-r,r-1,-n,n-1);return a&&void 0!==A&&H(r,n,A,M)&&(a=0),a&&e&&H(r,n,e[0]/P,e[1]/I)&&(a=0),(1+h.toleranceGrowth*a)*O}function Y(t,e){var r=t[0]-e[0],n=t[1]-e[1];return Math.sqrt(r*r+n*n)}var W,Z,X,J,K,Q,$,tt=h.maxScreensAway,et=-P*tt,rt=P*(1+tt),nt=-I*tt,at=I*(1+tt),it=[[et,nt,rt,nt],[rt,nt,rt,at],[rt,at,et,at],[et,at,et,nt]];function ot(t){if(t[0]<et||t[0]>rt||t[1]<nt||t[1]>at)return[u(t[0],et,rt),u(t[1],nt,at)]}function st(t,e){return t[0]===e[0]&&(t[0]===et||t[0]===rt)||(t[1]===e[1]&&(t[1]===nt||t[1]===at)||void 0)}function lt(t,e,r){return function(n,a){var i=ot(n),o=ot(a),s=[];if(i&&o&&st(i,o))return s;i&&s.push(i),o&&s.push(o);var c=2*l.constrain((n[t]+a[t])/2,e,r)-((i||n)[t]+(o||a)[t]);c&&((i&&o?c>0==i[t]>o[t]?i:o:i||o)[t]+=c);return s}}function ct(t){var e=t[0],r=t[1],n=e===V[U-1][0],a=r===V[U-1][1];if(!n||!a)if(U>1){var i=e===V[U-2][0],o=r===V[U-2][1];n&&(e===et||e===rt)&&i?o?U--:V[U-1]=t:a&&(r===nt||r===at)&&o?i?U--:V[U-1]=t:V[U++]=t}else V[U++]=t}function ut(t){V[U-1][0]!==t[0]&&V[U-1][1]!==t[1]&&ct([X,J]),ct(t),K=null,X=J=0}function ht(t){if(A=t[0]/P,M=t[1]/I,W=t[0]<et?et:t[0]>rt?rt:0,Z=t[1]<nt?nt:t[1]>at?at:0,W||Z){if(U)if(K){var e=$(K,t);e.length>1&&(ut(e[0]),V[U++]=e[1])}else Q=$(V[U-1],t)[0],V[U++]=Q;else V[U++]=[W||t[0],Z||t[1]];var r=V[U-1];W&&Z&&(r[0]!==W||r[1]!==Z)?(K&&(X!==W&&J!==Z?ct(X&&J?(n=K,i=(a=t)[0]-n[0],o=(a[1]-n[1])/i,(n[1]*a[0]-a[1]*n[0])/i>0?[o>0?et:rt,at]:[o>0?rt:et,nt]):[X||W,J||Z]):X&&J&&ct([X,J])),ct([W,Z])):X-W&&J-Z&&ct([W||X,Z||J]),K=t,X=W,J=Z}else K&&ut($(K,t)[0]),V[U++]=t;var n,a,i,o}for(\"linear\"===D||\"spline\"===D?$=function(t,e){for(var r=[],n=0,a=0;a<4;a++){var i=it[a],o=c(t[0],t[1],e[0],e[1],i[0],i[1],i[2],i[3]);o&&(!n||Math.abs(o.x-r[0][0])>1||Math.abs(o.y-r[0][1])>1)&&(o=[o.x,o.y],n&&Y(o,t)<Y(r[0],t)?r.unshift(o):r.push(o),n++)}return r}:\"hv\"===D||\"vh\"===D?$=function(t,e){var r=[],n=ot(t),a=ot(e);return n&&a&&st(n,a)||(n&&r.push(n),a&&r.push(a)),r}:\"hvh\"===D?$=lt(0,et,rt):\"vhv\"===D&&($=lt(1,nt,at)),r=0;r<j;r++)if(n=q(r)){for(U=0,K=null,ht(n),r++;r<j;r++){if(!(f=q(r))){if(z)continue;break}if(R&&e.simplify){var ft=q(r+1);if(y=Y(f,n),F&&(0===U||U===j-1)||!(y<G(f,ft)*N)){for(m=[(f[0]-n[0])/y,(f[1]-n[1])/y],p=n,x=y,b=w=T=0,g=!1,i=f,r++;r<t.length;r++){if(d=ft,ft=q(r+1),!d){if(z)continue;break}if(k=(v=[d[0]-n[0],d[1]-n[1]])[0]*m[1]-v[1]*m[0],w=Math.min(w,k),(T=Math.max(T,k))-w>G(d,ft))break;i=d,(_=v[0]*m[0]+v[1]*m[1])>x?(x=_,f=d,g=!1):_<b&&(b=_,p=d,g=!0)}if(g?(ht(f),i!==p&&ht(p)):(p!==n&&ht(p),i!==f&&ht(f)),ht(i),r>=t.length||!d)break;ht(d),n=d}}else ht(f)}K&&ct([X||K[0],J||K[1]]),B.push(V.slice(0,U))}return B}},{\"../../constants/numerical\":704,\"../../lib\":728,\"./constants\":1138}],1149:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){\"spline\"===r(\"line.shape\")&&r(\"line.smoothing\")}},{}],1150:[function(t,e,r){\"use strict\";var n={tonextx:1,tonexty:1,tonext:1};e.exports=function(t,e,r){var a,i,o,s,l,c={},u=!1,h=-1,f=0,p=-1;for(i=0;i<r.length;i++)(o=(a=r[i][0].trace).stackgroup||\"\")?o in c?l=c[o]:(l=c[o]=f,f++):a.fill in n&&p>=0?l=p:(l=p=f,f++),l<h&&(u=!0),a._groupIndex=h=l;var d=r.slice();u&&d.sort((function(t,e){var r=t[0].trace,n=e[0].trace;return r._groupIndex-n._groupIndex||r.index-n.index}));var g={};for(i=0;i<d.length;i++)o=(a=d[i][0].trace).stackgroup||\"\",!0===a.visible?(a._nexttrace=null,a.fill in n&&(s=g[o],a._prevtrace=s||null,s&&(s._nexttrace=a)),a._ownfill=a.fill&&(\"tozero\"===a.fill.substr(0,6)||\"toself\"===a.fill||\"to\"===a.fill.substr(0,2)&&!a._prevtrace),g[o]=a):a._prevtrace=a._nexttrace=a._ownfill=null;return d}},{}],1151:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\");e.exports=function(t){var e=t.marker,r=e.sizeref||1,a=e.sizemin||0,i=\"area\"===e.sizemode?function(t){return Math.sqrt(t/r)}:function(t){return t/r};return function(t){var e=i(t/2);return n(e)&&e>0?Math.max(e,a):0}}},{\"fast-isnumeric\":236}],1152:[function(t,e,r){\"use strict\";e.exports={container:\"marker\",min:\"cmin\",max:\"cmax\"}},{}],1153:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),a=t(\"../../components/colorscale/helpers\").hasColorscale,i=t(\"../../components/colorscale/defaults\"),o=t(\"./subtypes\");e.exports=function(t,e,r,s,l,c){var u=o.isBubble(t),h=(t.line||{}).color;(c=c||{},h&&(r=h),l(\"marker.symbol\"),l(\"marker.opacity\",u?.7:1),l(\"marker.size\"),l(\"marker.color\",r),a(t,\"marker\")&&i(t,e,s,l,{prefix:\"marker.\",cLetter:\"c\"}),c.noSelect||(l(\"selected.marker.color\"),l(\"unselected.marker.color\"),l(\"selected.marker.size\"),l(\"unselected.marker.size\")),c.noLine||(l(\"marker.line.color\",h&&!Array.isArray(h)&&e.marker.color!==h?h:u?n.background:n.defaultLine),a(t,\"marker.line\")&&i(t,e,s,l,{prefix:\"marker.line.\",cLetter:\"c\"}),l(\"marker.line.width\",u?1:0)),u&&(l(\"marker.sizeref\"),l(\"marker.sizemin\"),l(\"marker.sizemode\")),c.gradient)&&(\"none\"!==l(\"marker.gradient.type\")&&l(\"marker.gradient.color\"))}},{\"../../components/color\":595,\"../../components/colorscale/defaults\":605,\"../../components/colorscale/helpers\":606,\"./subtypes\":1158}],1154:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../registry\"),i=t(\"../../lib\"),o=i.ensureSingle,s=i.identity,l=t(\"../../components/drawing\"),c=t(\"./subtypes\"),u=t(\"./line_points\"),h=t(\"./link_traces\"),f=t(\"../../lib/polygon\").tester;function p(t,e,r,h,p,d,g){var m;!function(t,e,r,a,o){var s=r.xaxis,l=r.yaxis,u=n.extent(i.simpleMap(s.range,s.r2c)),h=n.extent(i.simpleMap(l.range,l.r2c)),f=a[0].trace;if(!c.hasMarkers(f))return;var p=f.marker.maxdisplayed;if(0===p)return;var d=a.filter((function(t){return t.x>=u[0]&&t.x<=u[1]&&t.y>=h[0]&&t.y<=h[1]})),g=Math.ceil(d.length/p),m=0;o.forEach((function(t,r){var n=t[0].trace;c.hasMarkers(n)&&n.marker.maxdisplayed>0&&r<e&&m++}));var v=Math.round(m*g/3+Math.floor(m/3)*g/7.1);a.forEach((function(t){delete t.vis})),d.forEach((function(t,e){0===Math.round((e+v)%g)&&(t.vis=!0)}))}(0,e,r,h,p);var v=!!g&&g.duration>0;function y(t){return v?t.transition():t}var x=r.xaxis,b=r.yaxis,_=h[0].trace,w=_.line,T=n.select(d),k=o(T,\"g\",\"errorbars\"),A=o(T,\"g\",\"lines\"),M=o(T,\"g\",\"points\"),S=o(T,\"g\",\"text\");if(a.getComponentMethod(\"errorbars\",\"plot\")(t,k,r,g),!0===_.visible){var E,C;y(T).style(\"opacity\",_.opacity);var L=_.fill.charAt(_.fill.length-1);\"x\"!==L&&\"y\"!==L&&(L=\"\"),h[0][r.isRangePlot?\"nodeRangePlot3\":\"node3\"]=T;var P,I,z=\"\",O=[],D=_._prevtrace;D&&(z=D._prevRevpath||\"\",C=D._nextFill,O=D._polygons);var R,F,B,N,j,V,U,q=\"\",H=\"\",G=[],Y=i.noop;if(E=_._ownFill,c.hasLines(_)||\"none\"!==_.fill){for(C&&C.datum(h),-1!==[\"hv\",\"vh\",\"hvh\",\"vhv\"].indexOf(w.shape)?(R=l.steps(w.shape),F=l.steps(w.shape.split(\"\").reverse().join(\"\"))):R=F=\"spline\"===w.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?l.smoothclosed(t.slice(1),w.smoothing):l.smoothopen(t,w.smoothing)}:function(t){return\"M\"+t.join(\"L\")},B=function(t){return F(t.reverse())},G=u(h,{xaxis:x,yaxis:b,connectGaps:_.connectgaps,baseTolerance:Math.max(w.width||1,3)/4,shape:w.shape,simplify:w.simplify,fill:_.fill}),U=_._polygons=new Array(G.length),m=0;m<G.length;m++)_._polygons[m]=f(G[m]);G.length&&(N=G[0][0],V=(j=G[G.length-1])[j.length-1]),Y=function(t){return function(e){if(P=R(e),I=B(e),q?L?(q+=\"L\"+P.substr(1),H=I+\"L\"+H.substr(1)):(q+=\"Z\"+P,H=I+\"Z\"+H):(q=P,H=I),c.hasLines(_)&&e.length>1){var r=n.select(this);if(r.datum(h),t)y(r.style(\"opacity\",0).attr(\"d\",P).call(l.lineGroupStyle)).style(\"opacity\",1);else{var a=y(r);a.attr(\"d\",P),l.singleLineStyle(h,a)}}}}}var W=A.selectAll(\".js-line\").data(G);y(W.exit()).style(\"opacity\",0).remove(),W.each(Y(!1)),W.enter().append(\"path\").classed(\"js-line\",!0).style(\"vector-effect\",\"non-scaling-stroke\").call(l.lineGroupStyle).each(Y(!0)),l.setClipUrl(W,r.layerClipId,t),G.length?(E?(E.datum(h),N&&V&&(L?(\"y\"===L?N[1]=V[1]=b.c2p(0,!0):\"x\"===L&&(N[0]=V[0]=x.c2p(0,!0)),y(E).attr(\"d\",\"M\"+V+\"L\"+N+\"L\"+q.substr(1)).call(l.singleFillStyle)):y(E).attr(\"d\",q+\"Z\").call(l.singleFillStyle))):C&&(\"tonext\"===_.fill.substr(0,6)&&q&&z?(\"tonext\"===_.fill?y(C).attr(\"d\",q+\"Z\"+z+\"Z\").call(l.singleFillStyle):y(C).attr(\"d\",q+\"L\"+z.substr(1)+\"Z\").call(l.singleFillStyle),_._polygons=_._polygons.concat(O)):(X(C),_._polygons=null)),_._prevRevpath=H,_._prevPolygons=U):(E?X(E):C&&X(C),_._polygons=_._prevRevpath=_._prevPolygons=null),M.datum(h),S.datum(h),function(e,a,i){var o,u=i[0].trace,h=c.hasMarkers(u),f=c.hasText(u),p=tt(u),d=et,g=et;if(h||f){var m=s,_=u.stackgroup,w=_&&\"infer zero\"===t._fullLayout._scatterStackOpts[x._id+b._id][_].stackgaps;u.marker.maxdisplayed||u._needsCull?m=w?K:J:_&&!w&&(m=Q),h&&(d=m),f&&(g=m)}var T,k=(o=e.selectAll(\"path.point\").data(d,p)).enter().append(\"path\").classed(\"point\",!0);v&&k.call(l.pointStyle,u,t).call(l.translatePoints,x,b).style(\"opacity\",0).transition().style(\"opacity\",1),o.order(),h&&(T=l.makePointStyleFns(u)),o.each((function(e){var a=n.select(this),i=y(a);l.translatePoint(e,i,x,b)?(l.singlePointStyle(e,i,u,T,t),r.layerClipId&&l.hideOutsideRangePoint(e,i,x,b,u.xcalendar,u.ycalendar),u.customdata&&a.classed(\"plotly-customdata\",null!==e.data&&void 0!==e.data)):i.remove()})),v?o.exit().transition().style(\"opacity\",0).remove():o.exit().remove(),(o=a.selectAll(\"g\").data(g,p)).enter().append(\"g\").classed(\"textpoint\",!0).append(\"text\"),o.order(),o.each((function(t){var e=n.select(this),a=y(e.select(\"text\"));l.translatePoint(t,a,x,b)?r.layerClipId&&l.hideOutsideRangePoint(t,e,x,b,u.xcalendar,u.ycalendar):e.remove()})),o.selectAll(\"text\").call(l.textPointStyle,u,t).each((function(t){var e=x.c2p(t.x),r=b.c2p(t.y);n.select(this).selectAll(\"tspan.line\").each((function(){y(n.select(this)).attr({x:e,y:r})}))})),o.exit().remove()}(M,S,h);var Z=!1===_.cliponaxis?null:r.layerClipId;l.setClipUrl(M,Z,t),l.setClipUrl(S,Z,t)}function X(t){y(t).attr(\"d\",\"M0,0Z\")}function J(t){return t.filter((function(t){return!t.gap&&t.vis}))}function K(t){return t.filter((function(t){return t.vis}))}function Q(t){return t.filter((function(t){return!t.gap}))}function $(t){return t.id}function tt(t){if(t.ids)return $}function et(){return!1}}e.exports=function(t,e,r,a,i,c){var u,f,d=!i,g=!!i&&i.duration>0,m=h(t,e,r);((u=a.selectAll(\"g.trace\").data(m,(function(t){return t[0].trace.uid}))).enter().append(\"g\").attr(\"class\",(function(t){return\"trace scatter trace\"+t[0].trace.uid})).style(\"stroke-miterlimit\",2),u.order(),function(t,e,r){e.each((function(e){var a=o(n.select(this),\"g\",\"fills\");l.setClipUrl(a,r.layerClipId,t);var i=e[0].trace,c=[];i._ownfill&&c.push(\"_ownFill\"),i._nexttrace&&c.push(\"_nextFill\");var u=a.selectAll(\"g\").data(c,s);u.enter().append(\"g\"),u.exit().each((function(t){i[t]=null})).remove(),u.order().each((function(t){i[t]=o(n.select(this),\"path\",\"js-fill\")}))}))}(t,u,e),g)?(c&&(f=c()),n.transition().duration(i.duration).ease(i.easing).each(\"end\",(function(){f&&f()})).each(\"interrupt\",(function(){f&&f()})).each((function(){a.selectAll(\"g.trace\").each((function(r,n){p(t,n,e,r,m,this,i)}))}))):u.each((function(r,n){p(t,n,e,r,m,this,i)}));d&&u.exit().remove(),a.selectAll(\"path:not([d])\").remove()}},{\"../../components/drawing\":617,\"../../lib\":728,\"../../lib/polygon\":740,\"../../registry\":859,\"./line_points\":1148,\"./link_traces\":1150,\"./subtypes\":1158,d3:164}],1155:[function(t,e,r){\"use strict\";var n=t(\"./subtypes\");e.exports=function(t,e){var r,a,i,o,s=t.cd,l=t.xaxis,c=t.yaxis,u=[],h=s[0].trace;if(!n.hasMarkers(h)&&!n.hasText(h))return[];if(!1===e)for(r=0;r<s.length;r++)s[r].selected=0;else for(r=0;r<s.length;r++)a=s[r],i=l.c2p(a.x),o=c.c2p(a.y),null!==a.i&&e.contains([i,o],!1,r,t)?(u.push({pointNumber:a.i,x:l.c2d(a.x),y:c.c2d(a.y)}),a.selected=1):a.selected=0;return u}},{\"./subtypes\":1158}],1156:[function(t,e,r){\"use strict\";var n=[\"orientation\",\"groupnorm\",\"stackgaps\"];e.exports=function(t,e,r,a){var i=r._scatterStackOpts,o=a(\"stackgroup\");if(o){var s=e.xaxis+e.yaxis,l=i[s];l||(l=i[s]={});var c=l[o],u=!1;c?c.traces.push(e):(c=l[o]={traceIndices:[],traces:[e]},u=!0);for(var h={orientation:e.x&&!e.y?\"h\":\"v\"},f=0;f<n.length;f++){var p=n[f],d=p+\"Found\";if(!c[d]){var g=void 0!==t[p],m=\"orientation\"===p;if((g||u)&&(c[p]=a(p,h[p]),m&&(c.fillDflt=\"h\"===c[p]?\"tonextx\":\"tonexty\"),g&&(c[d]=!0,!u&&(delete c.traces[0][p],m))))for(var v=0;v<c.traces.length-1;v++){var y=c.traces[v];y._input.fill!==y.fill&&(y.fill=c.fillDflt)}}}return c}}},{}],1157:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../components/drawing\"),i=t(\"../../registry\");function o(t,e,r){a.pointStyle(t.selectAll(\"path.point\"),e,r)}function s(t,e,r){a.textPointStyle(t.selectAll(\"text\"),e,r)}e.exports={style:function(t){var e=n.select(t).selectAll(\"g.trace.scatter\");e.style(\"opacity\",(function(t){return t[0].trace.opacity})),e.selectAll(\"g.points\").each((function(e){o(n.select(this),e.trace||e[0].trace,t)})),e.selectAll(\"g.text\").each((function(e){s(n.select(this),e.trace||e[0].trace,t)})),e.selectAll(\"g.trace path.js-line\").call(a.lineGroupStyle),e.selectAll(\"g.trace path.js-fill\").call(a.fillGroupStyle),i.getComponentMethod(\"errorbars\",\"style\")(e)},stylePoints:o,styleText:s,styleOnSelect:function(t,e,r){var n=e[0].trace;n.selectedpoints?(a.selectedPointStyle(r.selectAll(\"path.point\"),n),a.selectedTextStyle(r.selectAll(\"text\"),n)):(o(r,n,t),s(r,n,t))}}},{\"../../components/drawing\":617,\"../../registry\":859,d3:164}],1158:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports={hasLines:function(t){return t.visible&&t.mode&&-1!==t.mode.indexOf(\"lines\")},hasMarkers:function(t){return t.visible&&(t.mode&&-1!==t.mode.indexOf(\"markers\")||\"splom\"===t.type)},hasText:function(t){return t.visible&&t.mode&&-1!==t.mode.indexOf(\"text\")},isBubble:function(t){return n.isPlainObject(t.marker)&&n.isArrayOrTypedArray(t.marker.size)}}},{\"../../lib\":728}],1159:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e,r,a,i){i=i||{},a(\"textposition\"),n.coerceFont(a,\"textfont\",r.font),i.noSelect||(a(\"selected.textfont.color\"),a(\"unselected.textfont.color\"))}},{\"../../lib\":728}],1160:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../registry\");e.exports=function(t,e,r,i){var o,s=i(\"x\"),l=i(\"y\");if(a.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\"],r),s){var c=n.minRowLength(s);l?o=Math.min(c,n.minRowLength(l)):(o=c,i(\"y0\"),i(\"dy\"))}else{if(!l)return 0;o=n.minRowLength(l),i(\"x0\"),i(\"dx\")}return e._length=o,o}},{\"../../lib\":728,\"../../registry\":859}],1161:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),a=t(\"../../components/colorscale/attributes\"),i=t(\"../../plots/template_attributes\").hovertemplateAttrs,o=t(\"../../plots/template_attributes\").texttemplateAttrs,s=t(\"../../plots/attributes\"),l=t(\"../../constants/gl3d_dashes\"),c=t(\"../../constants/gl3d_markers\"),u=t(\"../../lib/extend\").extendFlat,h=t(\"../../plot_api/edit_types\").overrideAll,f=n.line,p=n.marker,d=p.line,g=u({width:f.width,dash:{valType:\"enumerated\",values:Object.keys(l),dflt:\"solid\"}},a(\"line\"));var m=e.exports=h({x:n.x,y:n.y,z:{valType:\"data_array\"},text:u({},n.text,{}),texttemplate:o({},{}),hovertext:u({},n.hovertext,{}),hovertemplate:i(),mode:u({},n.mode,{dflt:\"lines+markers\"}),surfaceaxis:{valType:\"enumerated\",values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:\"color\"},projection:{x:{show:{valType:\"boolean\",dflt:!1},opacity:{valType:\"number\",min:0,max:1,dflt:1},scale:{valType:\"number\",min:0,max:10,dflt:2/3}},y:{show:{valType:\"boolean\",dflt:!1},opacity:{valType:\"number\",min:0,max:1,dflt:1},scale:{valType:\"number\",min:0,max:10,dflt:2/3}},z:{show:{valType:\"boolean\",dflt:!1},opacity:{valType:\"number\",min:0,max:1,dflt:1},scale:{valType:\"number\",min:0,max:10,dflt:2/3}}},connectgaps:n.connectgaps,line:g,marker:u({symbol:{valType:\"enumerated\",values:Object.keys(c),dflt:\"circle\",arrayOk:!0},size:u({},p.size,{dflt:8}),sizeref:p.sizeref,sizemin:p.sizemin,sizemode:p.sizemode,opacity:u({},p.opacity,{arrayOk:!1}),colorbar:p.colorbar,line:u({width:u({},d.width,{arrayOk:!1})},a(\"marker.line\"))},a(\"marker\")),textposition:u({},n.textposition,{dflt:\"top center\"}),textfont:{color:n.textfont.color,size:n.textfont.size,family:u({},n.textfont.family,{arrayOk:!1})},hoverinfo:u({},s.hoverinfo)},\"calc\",\"nested\");m.x.editType=m.y.editType=m.z.editType=\"calc+clearAxisTypes\"},{\"../../components/colorscale/attributes\":602,\"../../constants/gl3d_dashes\":701,\"../../constants/gl3d_markers\":702,\"../../lib/extend\":719,\"../../plot_api/edit_types\":759,\"../../plots/attributes\":773,\"../../plots/template_attributes\":854,\"../scatter/attributes\":1134}],1162:[function(t,e,r){\"use strict\";var n=t(\"../scatter/arrays_to_calcdata\"),a=t(\"../scatter/colorscale_calc\");e.exports=function(t,e){var r=[{x:!1,y:!1,trace:e,t:{}}];return n(r,e),a(t,e),r}},{\"../scatter/arrays_to_calcdata\":1133,\"../scatter/colorscale_calc\":1137}],1163:[function(t,e,r){\"use strict\";var n=t(\"../../registry\");function a(t,e,r,a){if(!e||!e.visible)return null;for(var i=n.getComponentMethod(\"errorbars\",\"makeComputeError\")(e),o=new Array(t.length),s=0;s<t.length;s++){var l=i(+t[s],s);if(\"log\"===a.type){var c=a.c2l(t[s]),u=t[s]-l[0],h=t[s]+l[1];if(o[s]=[(a.c2l(u,!0)-c)*r,(a.c2l(h,!0)-c)*r],u>0){var f=a.c2l(u);a._lowerLogErrorBound||(a._lowerLogErrorBound=f),a._lowerErrorBound=Math.min(a._lowerLogErrorBound,f)}}else o[s]=[-l[0]*r,l[1]*r]}return o}e.exports=function(t,e,r){var n=[a(t.x,t.error_x,e[0],r.xaxis),a(t.y,t.error_y,e[1],r.yaxis),a(t.z,t.error_z,e[2],r.zaxis)],i=function(t){for(var e=0;e<t.length;e++)if(t[e])return t[e].length;return 0}(n);if(0===i)return null;for(var o=new Array(i),s=0;s<i;s++){for(var l=[[0,0,0],[0,0,0]],c=0;c<3;c++)if(n[c])for(var u=0;u<2;u++)l[u][c]=n[c][s][u];o[s]=l}return o}},{\"../../registry\":859}],1164:[function(t,e,r){\"use strict\";var n=t(\"gl-line3d\"),a=t(\"gl-scatter3d\"),i=t(\"gl-error3d\"),o=t(\"gl-mesh3d\"),s=t(\"delaunay-triangulate\"),l=t(\"../../lib\"),c=t(\"../../lib/str2rgbarray\"),u=t(\"../../lib/gl_format_color\").formatColor,h=t(\"../scatter/make_bubble_size_func\"),f=t(\"../../constants/gl3d_dashes\"),p=t(\"../../constants/gl3d_markers\"),d=t(\"../../plots/cartesian/axes\"),g=t(\"../../components/fx/helpers\").appendArrayPointValue,m=t(\"./calc_errors\");function v(t,e){this.scene=t,this.uid=e,this.linePlot=null,this.scatterPlot=null,this.errorBars=null,this.textMarkers=null,this.delaunayMesh=null,this.color=null,this.mode=\"\",this.dataPoints=[],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.textLabels=null,this.data=null}var y=v.prototype;function x(t){return null==t?0:t.indexOf(\"left\")>-1?-1:t.indexOf(\"right\")>-1?1:0}function b(t){return null==t?0:t.indexOf(\"top\")>-1?-1:t.indexOf(\"bottom\")>-1?1:0}function _(t,e){return e(4*t)}function w(t){return p[t]}function T(t,e,r,n,a){var i=null;if(l.isArrayOrTypedArray(t)){i=[];for(var o=0;o<e;o++)void 0===t[o]?i[o]=n:i[o]=r(t[o],a)}else i=r(t,l.identity);return i}function k(t,e){var r,n,a,i,o,s,f=[],p=t.fullSceneLayout,v=t.dataScale,y=p.xaxis,k=p.yaxis,A=p.zaxis,M=e.marker,S=e.line,E=e.x||[],C=e.y||[],L=e.z||[],P=E.length,I=e.xcalendar,z=e.ycalendar,O=e.zcalendar;for(o=0;o<P;o++)r=y.d2l(E[o],0,I)*v[0],n=k.d2l(C[o],0,z)*v[1],a=A.d2l(L[o],0,O)*v[2],f[o]=[r,n,a];if(Array.isArray(e.text))s=e.text;else if(void 0!==e.text)for(s=new Array(P),o=0;o<P;o++)s[o]=e.text;function D(t,e){var r=p[t];return d.tickText(r,r.d2l(e),!0).text}var R=e.texttemplate;if(R){var F=t.fullLayout._d3locale,B=Array.isArray(R),N=B?Math.min(R.length,P):P,j=B?function(t){return R[t]}:function(){return R};for(s=new Array(N),o=0;o<N;o++){var V={x:E[o],y:C[o],z:L[o]},U={xLabel:D(\"xaxis\",E[o]),yLabel:D(\"yaxis\",C[o]),zLabel:D(\"zaxis\",L[o])},q={};g(q,e,o);var H=e._meta||{};s[o]=l.texttemplateString(j(o),U,F,q,V,H)}}if(i={position:f,mode:e.mode,text:s},\"line\"in e&&(i.lineColor=u(S,1,P),i.lineWidth=S.width,i.lineDashes=S.dash),\"marker\"in e){var G=h(e);i.scatterColor=u(M,1,P),i.scatterSize=T(M.size,P,_,20,G),i.scatterMarker=T(M.symbol,P,w,\"\\u25cf\"),i.scatterLineWidth=M.line.width,i.scatterLineColor=u(M.line,1,P),i.scatterAngle=0}\"textposition\"in e&&(i.textOffset=function(t){var e=[0,0];if(Array.isArray(t))for(var r=0;r<t.length;r++)e[r]=[0,0],t[r]&&(e[r][0]=x(t[r]),e[r][1]=b(t[r]));else e[0]=x(t),e[1]=b(t);return e}(e.textposition),i.textColor=u(e.textfont,1,P),i.textSize=T(e.textfont.size,P,l.identity,12),i.textFont=e.textfont.family,i.textAngle=0);var Y=[\"x\",\"y\",\"z\"];for(i.project=[!1,!1,!1],i.projectScale=[1,1,1],i.projectOpacity=[1,1,1],o=0;o<3;++o){var W=e.projection[Y[o]];(i.project[o]=W.show)&&(i.projectOpacity[o]=W.opacity,i.projectScale[o]=W.scale)}i.errorBounds=m(e,v,p);var Z=function(t){for(var e=[0,0,0],r=[[0,0,0],[0,0,0],[0,0,0]],n=[1,1,1],a=0;a<3;a++){var i=t[a];i&&!1!==i.copy_zstyle&&!1!==t[2].visible&&(i=t[2]),i&&i.visible&&(e[a]=i.width/2,r[a]=c(i.color),n[a]=i.thickness)}return{capSize:e,color:r,lineWidth:n}}([e.error_x,e.error_y,e.error_z]);return i.errorColor=Z.color,i.errorLineWidth=Z.lineWidth,i.errorCapSize=Z.capSize,i.delaunayAxis=e.surfaceaxis,i.delaunayColor=c(e.surfacecolor),i}function A(t){if(Array.isArray(t)){var e=t[0];return Array.isArray(e)&&(t=e),\"rgb(\"+t.slice(0,3).map((function(t){return Math.round(255*t)}))+\")\"}return null}y.handlePick=function(t){if(t.object&&(t.object===this.linePlot||t.object===this.delaunayMesh||t.object===this.textMarkers||t.object===this.scatterPlot)){var e=t.index=t.data.index;return t.object.highlight&&t.object.highlight(null),this.scatterPlot&&(t.object=this.scatterPlot,this.scatterPlot.highlight(t.data)),t.textLabel=\"\",this.textLabels&&(Array.isArray(this.textLabels)?(this.textLabels[e]||0===this.textLabels[e])&&(t.textLabel=this.textLabels[e]):t.textLabel=this.textLabels),t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},y.update=function(t){var e,r,l,c,u=this.scene.glplot.gl,h=f.solid;this.data=t;var p=k(this.scene,t);\"mode\"in p&&(this.mode=p.mode),\"lineDashes\"in p&&p.lineDashes in f&&(h=f[p.lineDashes]),this.color=A(p.scatterColor)||A(p.lineColor),this.dataPoints=p.position,e={gl:this.scene.glplot.gl,position:p.position,color:p.lineColor,lineWidth:p.lineWidth||1,dashes:h[0],dashScale:h[1],opacity:t.opacity,connectGaps:t.connectgaps},-1!==this.mode.indexOf(\"lines\")?this.linePlot?this.linePlot.update(e):(this.linePlot=n(e),this.linePlot._trace=this,this.scene.glplot.add(this.linePlot)):this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose(),this.linePlot=null);var d=t.opacity;if(t.marker&&t.marker.opacity&&(d*=t.marker.opacity),r={gl:this.scene.glplot.gl,position:p.position,color:p.scatterColor,size:p.scatterSize,glyph:p.scatterMarker,opacity:d,orthographic:!0,lineWidth:p.scatterLineWidth,lineColor:p.scatterLineColor,project:p.project,projectScale:p.projectScale,projectOpacity:p.projectOpacity},-1!==this.mode.indexOf(\"markers\")?this.scatterPlot?this.scatterPlot.update(r):(this.scatterPlot=a(r),this.scatterPlot._trace=this,this.scatterPlot.highlightScale=1,this.scene.glplot.add(this.scatterPlot)):this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose(),this.scatterPlot=null),c={gl:this.scene.glplot.gl,position:p.position,glyph:p.text,color:p.textColor,size:p.textSize,angle:p.textAngle,alignment:p.textOffset,font:p.textFont,orthographic:!0,lineWidth:0,project:!1,opacity:t.opacity},this.textLabels=t.hovertext||t.text,-1!==this.mode.indexOf(\"text\")?this.textMarkers?this.textMarkers.update(c):(this.textMarkers=a(c),this.textMarkers._trace=this,this.textMarkers.highlightScale=1,this.scene.glplot.add(this.textMarkers)):this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose(),this.textMarkers=null),l={gl:this.scene.glplot.gl,position:p.position,color:p.errorColor,error:p.errorBounds,lineWidth:p.errorLineWidth,capSize:p.errorCapSize,opacity:t.opacity},this.errorBars?p.errorBounds?this.errorBars.update(l):(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose(),this.errorBars=null):p.errorBounds&&(this.errorBars=i(l),this.errorBars._trace=this,this.scene.glplot.add(this.errorBars)),p.delaunayAxis>=0){var g=function(t,e,r){var n,a=(r+1)%3,i=(r+2)%3,o=[],l=[];for(n=0;n<t.length;++n){var c=t[n];!isNaN(c[a])&&isFinite(c[a])&&!isNaN(c[i])&&isFinite(c[i])&&(o.push([c[a],c[i]]),l.push(n))}var u=s(o);for(n=0;n<u.length;++n)for(var h=u[n],f=0;f<h.length;++f)h[f]=l[h[f]];return{positions:t,cells:u,meshColor:e}}(p.position,p.delaunayColor,p.delaunayAxis);g.opacity=t.opacity,this.delaunayMesh?this.delaunayMesh.update(g):(g.gl=u,this.delaunayMesh=o(g),this.delaunayMesh._trace=this,this.scene.glplot.add(this.delaunayMesh))}else this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose(),this.delaunayMesh=null)},y.dispose=function(){this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose()),this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose()),this.errorBars&&(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose()),this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose()),this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose())},e.exports=function(t,e){var r=new v(t,e.uid);return r.update(e),r}},{\"../../components/fx/helpers\":631,\"../../constants/gl3d_dashes\":701,\"../../constants/gl3d_markers\":702,\"../../lib\":728,\"../../lib/gl_format_color\":725,\"../../lib/str2rgbarray\":751,\"../../plots/cartesian/axes\":776,\"../scatter/make_bubble_size_func\":1151,\"./calc_errors\":1163,\"delaunay-triangulate\":166,\"gl-error3d\":259,\"gl-line3d\":266,\"gl-mesh3d\":287,\"gl-scatter3d\":303}],1165:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),a=t(\"../../lib\"),i=t(\"../scatter/subtypes\"),o=t(\"../scatter/marker_defaults\"),s=t(\"../scatter/line_defaults\"),l=t(\"../scatter/text_defaults\"),c=t(\"./attributes\");e.exports=function(t,e,r,u){function h(r,n){return a.coerce(t,e,c,r,n)}if(function(t,e,r,a){var i=0,o=r(\"x\"),s=r(\"y\"),l=r(\"z\");n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\",\"z\"],a),o&&s&&l&&(i=Math.min(o.length,s.length,l.length),e._length=e._xlength=e._ylength=e._zlength=i);return i}(t,e,h,u)){h(\"text\"),h(\"hovertext\"),h(\"hovertemplate\"),h(\"mode\"),i.hasLines(e)&&(h(\"connectgaps\"),s(t,e,r,u,h)),i.hasMarkers(e)&&o(t,e,r,u,h,{noSelect:!0}),i.hasText(e)&&(h(\"texttemplate\"),l(t,e,u,h,{noSelect:!0}));var f=(e.line||{}).color,p=(e.marker||{}).color;h(\"surfaceaxis\")>=0&&h(\"surfacecolor\",f||p);for(var d=[\"x\",\"y\",\"z\"],g=0;g<3;++g){var m=\"projection.\"+d[g];h(m+\".show\")&&(h(m+\".opacity\"),h(m+\".scale\"))}var v=n.getComponentMethod(\"errorbars\",\"supplyDefaults\");v(t,e,f||p||r,{axis:\"z\"}),v(t,e,f||p||r,{axis:\"y\",inherit:\"z\"}),v(t,e,f||p||r,{axis:\"x\",inherit:\"z\"})}else e.visible=!1}},{\"../../lib\":728,\"../../registry\":859,\"../scatter/line_defaults\":1147,\"../scatter/marker_defaults\":1153,\"../scatter/subtypes\":1158,\"../scatter/text_defaults\":1159,\"./attributes\":1161}],1166:[function(t,e,r){\"use strict\";e.exports={plot:t(\"./convert\"),attributes:t(\"./attributes\"),markerSymbols:t(\"../../constants/gl3d_markers\"),supplyDefaults:t(\"./defaults\"),colorbar:[{container:\"marker\",min:\"cmin\",max:\"cmax\"},{container:\"line\",min:\"cmin\",max:\"cmax\"}],calc:t(\"./calc\"),moduleType:\"trace\",name:\"scatter3d\",basePlotModule:t(\"../../plots/gl3d\"),categories:[\"gl3d\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}},{\"../../constants/gl3d_markers\":702,\"../../plots/gl3d\":818,\"./attributes\":1161,\"./calc\":1162,\"./convert\":1164,\"./defaults\":1165}],1167:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),a=t(\"../../plots/attributes\"),i=t(\"../../plots/template_attributes\").hovertemplateAttrs,o=t(\"../../plots/template_attributes\").texttemplateAttrs,s=t(\"../../components/colorscale/attributes\"),l=t(\"../../lib/extend\").extendFlat,c=n.marker,u=n.line,h=c.line;e.exports={carpet:{valType:\"string\",editType:\"calc\"},a:{valType:\"data_array\",editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},mode:l({},n.mode,{dflt:\"markers\"}),text:l({},n.text,{}),texttemplate:o({editType:\"plot\"},{keys:[\"a\",\"b\",\"text\"]}),hovertext:l({},n.hovertext,{}),line:{color:u.color,width:u.width,dash:u.dash,shape:l({},u.shape,{values:[\"linear\",\"spline\"]}),smoothing:u.smoothing,editType:\"calc\"},connectgaps:n.connectgaps,fill:l({},n.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:n.fillcolor,marker:l({symbol:c.symbol,opacity:c.opacity,maxdisplayed:c.maxdisplayed,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,line:l({width:h.width,editType:\"calc\"},s(\"marker.line\")),gradient:c.gradient,editType:\"calc\"},s(\"marker\")),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:l({},a.hoverinfo,{flags:[\"a\",\"b\",\"text\",\"name\"]}),hoveron:n.hoveron,hovertemplate:i()}},{\"../../components/colorscale/attributes\":602,\"../../lib/extend\":719,\"../../plots/attributes\":773,\"../../plots/template_attributes\":854,\"../scatter/attributes\":1134}],1168:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"../scatter/colorscale_calc\"),i=t(\"../scatter/arrays_to_calcdata\"),o=t(\"../scatter/calc_selection\"),s=t(\"../scatter/calc\").calcMarkerSize,l=t(\"../carpet/lookup_carpetid\");e.exports=function(t,e){var r=e._carpetTrace=l(t,e);if(r&&r.visible&&\"legendonly\"!==r.visible){var c;e.xaxis=r.xaxis,e.yaxis=r.yaxis;var u,h,f=e._length,p=new Array(f),d=!1;for(c=0;c<f;c++)if(u=e.a[c],h=e.b[c],n(u)&&n(h)){var g=r.ab2xy(+u,+h,!0),m=r.isVisible(+u,+h);m||(d=!0),p[c]={x:g[0],y:g[1],a:u,b:h,vis:m}}else p[c]={x:!1,y:!1};return e._needsCull=d,p[0].carpet=r,p[0].trace=e,s(e,f),a(t,e),i(p,e),o(p,e),p}}},{\"../carpet/lookup_carpetid\":929,\"../scatter/arrays_to_calcdata\":1133,\"../scatter/calc\":1135,\"../scatter/calc_selection\":1136,\"../scatter/colorscale_calc\":1137,\"fast-isnumeric\":236}],1169:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../scatter/constants\"),i=t(\"../scatter/subtypes\"),o=t(\"../scatter/marker_defaults\"),s=t(\"../scatter/line_defaults\"),l=t(\"../scatter/line_shape_defaults\"),c=t(\"../scatter/text_defaults\"),u=t(\"../scatter/fillcolor_defaults\"),h=t(\"./attributes\");e.exports=function(t,e,r,f){function p(r,a){return n.coerce(t,e,h,r,a)}p(\"carpet\"),e.xaxis=\"x\",e.yaxis=\"y\";var d=p(\"a\"),g=p(\"b\"),m=Math.min(d.length,g.length);if(m){e._length=m,p(\"text\"),p(\"texttemplate\"),p(\"hovertext\"),p(\"mode\",m<a.PTS_LINESONLY?\"lines+markers\":\"lines\"),i.hasLines(e)&&(s(t,e,r,f,p),l(t,e,p),p(\"connectgaps\")),i.hasMarkers(e)&&o(t,e,r,f,p,{gradient:!0}),i.hasText(e)&&c(t,e,f,p);var v=[];(i.hasMarkers(e)||i.hasText(e))&&(p(\"marker.maxdisplayed\"),v.push(\"points\")),p(\"fill\"),\"none\"!==e.fill&&(u(t,e,r,p),i.hasLines(e)||l(t,e,p)),\"tonext\"!==e.fill&&\"toself\"!==e.fill||v.push(\"fills\"),\"fills\"!==p(\"hoveron\",v.join(\"+\")||\"points\")&&p(\"hovertemplate\"),n.coerceSelectionMarkerOpacity(e,p)}else e.visible=!1}},{\"../../lib\":728,\"../scatter/constants\":1138,\"../scatter/fillcolor_defaults\":1142,\"../scatter/line_defaults\":1147,\"../scatter/line_shape_defaults\":1149,\"../scatter/marker_defaults\":1153,\"../scatter/subtypes\":1158,\"../scatter/text_defaults\":1159,\"./attributes\":1167}],1170:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,a){var i=n[a];return t.a=i.a,t.b=i.b,t.y=i.y,t}},{}],1171:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r={},n=e._carpet,a=n.ab2ij([t.a,t.b]),i=Math.floor(a[0]),o=a[0]-i,s=Math.floor(a[1]),l=a[1]-s,c=n.evalxy([],i,s,o,l);return r.yLabel=c[1].toFixed(3),r}},{}],1172:[function(t,e,r){\"use strict\";var n=t(\"../scatter/hover\"),a=t(\"../../lib\").fillText;e.exports=function(t,e,r,i){var o=n(t,e,r,i);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index){var l=1-s.y0/t.ya._length,c=t.xa._length,u=c*l/2,h=c-u;return s.x0=Math.max(Math.min(s.x0,h),u),s.x1=Math.max(Math.min(s.x1,h),u),o}var f=s.cd[s.index];s.a=f.a,s.b=f.b,s.xLabelVal=void 0,s.yLabelVal=void 0;var p=s.trace,d=p._carpet,g=p._module.formatLabels(f,p);s.yLabel=g.yLabel,delete s.text;var m=[];if(!p.hovertemplate){var v=(f.hi||p.hoverinfo).split(\"+\");-1!==v.indexOf(\"all\")&&(v=[\"a\",\"b\",\"text\"]),-1!==v.indexOf(\"a\")&&y(d.aaxis,f.a),-1!==v.indexOf(\"b\")&&y(d.baxis,f.b),m.push(\"y: \"+s.yLabel),-1!==v.indexOf(\"text\")&&a(f,p,m),s.extraText=m.join(\"<br>\")}return o}function y(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,\"\"):t._hovertitle,m.push(r+\": \"+e.toFixed(3)+t.labelsuffix)}}},{\"../../lib\":728,\"../scatter/hover\":1145}],1173:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../scatter/marker_colorbar\"),formatLabels:t(\"./format_labels\"),calc:t(\"./calc\"),plot:t(\"./plot\"),style:t(\"../scatter/style\").style,styleOnSelect:t(\"../scatter/style\").styleOnSelect,hoverPoints:t(\"./hover\"),selectPoints:t(\"../scatter/select\"),eventData:t(\"./event_data\"),moduleType:\"trace\",name:\"scattercarpet\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"svg\",\"carpet\",\"symbols\",\"showLegend\",\"carpetDependent\",\"zoomScale\"],meta:{}}},{\"../../plots/cartesian\":789,\"../scatter/marker_colorbar\":1152,\"../scatter/select\":1155,\"../scatter/style\":1157,\"./attributes\":1167,\"./calc\":1168,\"./defaults\":1169,\"./event_data\":1170,\"./format_labels\":1171,\"./hover\":1172,\"./plot\":1174}],1174:[function(t,e,r){\"use strict\";var n=t(\"../scatter/plot\"),a=t(\"../../plots/cartesian/axes\"),i=t(\"../../components/drawing\");e.exports=function(t,e,r,o){var s,l,c,u=r[0][0].carpet,h={xaxis:a.getFromId(t,u.xaxis||\"x\"),yaxis:a.getFromId(t,u.yaxis||\"y\"),plot:e.plot};for(n(t,h,r,o),s=0;s<r.length;s++)l=r[s][0].trace,c=o.selectAll(\"g.trace\"+l.uid+\" .js-line\"),i.setClipUrl(c,r[s][0].carpet._clipPathId,t)}},{\"../../components/drawing\":617,\"../../plots/cartesian/axes\":776,\"../scatter/plot\":1154}],1175:[function(t,e,r){\"use strict\";var n=t(\"../../plots/template_attributes\").hovertemplateAttrs,a=t(\"../../plots/template_attributes\").texttemplateAttrs,i=t(\"../scatter/attributes\"),o=t(\"../../plots/attributes\"),s=t(\"../../components/colorscale/attributes\"),l=t(\"../../components/drawing/attributes\").dash,c=t(\"../../lib/extend\").extendFlat,u=t(\"../../plot_api/edit_types\").overrideAll,h=i.marker,f=i.line,p=h.line;e.exports=u({lon:{valType:\"data_array\"},lat:{valType:\"data_array\"},locations:{valType:\"data_array\"},locationmode:{valType:\"enumerated\",values:[\"ISO-3\",\"USA-states\",\"country names\",\"geojson-id\"],dflt:\"ISO-3\"},geojson:{valType:\"any\",editType:\"calc\"},featureidkey:{valType:\"string\",editType:\"calc\",dflt:\"id\"},mode:c({},i.mode,{dflt:\"markers\"}),text:c({},i.text,{}),texttemplate:a({editType:\"plot\"},{keys:[\"lat\",\"lon\",\"location\",\"text\"]}),hovertext:c({},i.hovertext,{}),textfont:i.textfont,textposition:i.textposition,line:{color:f.color,width:f.width,dash:l},connectgaps:i.connectgaps,marker:c({symbol:h.symbol,opacity:h.opacity,size:h.size,sizeref:h.sizeref,sizemin:h.sizemin,sizemode:h.sizemode,colorbar:h.colorbar,line:c({width:p.width},s(\"marker.line\")),gradient:h.gradient},s(\"marker\")),fill:{valType:\"enumerated\",values:[\"none\",\"toself\"],dflt:\"none\"},fillcolor:i.fillcolor,selected:i.selected,unselected:i.unselected,hoverinfo:c({},o.hoverinfo,{flags:[\"lon\",\"lat\",\"location\",\"text\",\"name\"]}),hovertemplate:n()},\"calc\",\"nested\")},{\"../../components/colorscale/attributes\":602,\"../../components/drawing/attributes\":616,\"../../lib/extend\":719,\"../../plot_api/edit_types\":759,\"../../plots/attributes\":773,\"../../plots/template_attributes\":854,\"../scatter/attributes\":1134}],1176:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"../../constants/numerical\").BADNUM,i=t(\"../scatter/colorscale_calc\"),o=t(\"../scatter/arrays_to_calcdata\"),s=t(\"../scatter/calc_selection\"),l=t(\"../../lib\")._;function c(t){return t&&\"string\"==typeof t}e.exports=function(t,e){var r,u=Array.isArray(e.locations),h=u?e.locations.length:e._length,f=new Array(h);r=e.geojson?function(t){return c(t)||n(t)}:c;for(var p=0;p<h;p++){var d=f[p]={};if(u){var g=e.locations[p];d.loc=r(g)?g:null}else{var m=e.lon[p],v=e.lat[p];n(m)&&n(v)?d.lonlat=[+m,+v]:d.lonlat=[a,a]}}return o(f,e),i(t,e),s(f,e),h&&(f[0].t={labels:{lat:l(t,\"lat:\")+\" \",lon:l(t,\"lon:\")+\" \"}}),f}},{\"../../constants/numerical\":704,\"../../lib\":728,\"../scatter/arrays_to_calcdata\":1133,\"../scatter/calc_selection\":1136,\"../scatter/colorscale_calc\":1137,\"fast-isnumeric\":236}],1177:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../scatter/subtypes\"),i=t(\"../scatter/marker_defaults\"),o=t(\"../scatter/line_defaults\"),s=t(\"../scatter/text_defaults\"),l=t(\"../scatter/fillcolor_defaults\"),c=t(\"./attributes\");e.exports=function(t,e,r,u){function h(r,a){return n.coerce(t,e,c,r,a)}var f,p=h(\"locations\");if(p&&p.length){var d,g=h(\"geojson\");(\"string\"==typeof g&&\"\"!==g||n.isPlainObject(g))&&(d=\"geojson-id\"),\"geojson-id\"===h(\"locationmode\",d)&&h(\"featureidkey\"),f=p.length}else{var m=h(\"lon\")||[],v=h(\"lat\")||[];f=Math.min(m.length,v.length)}f?(e._length=f,h(\"text\"),h(\"hovertext\"),h(\"hovertemplate\"),h(\"mode\"),a.hasLines(e)&&(o(t,e,r,u,h),h(\"connectgaps\")),a.hasMarkers(e)&&i(t,e,r,u,h,{gradient:!0}),a.hasText(e)&&(h(\"texttemplate\"),s(t,e,u,h)),h(\"fill\"),\"none\"!==e.fill&&l(t,e,r,h),n.coerceSelectionMarkerOpacity(e,h)):e.visible=!1}},{\"../../lib\":728,\"../scatter/fillcolor_defaults\":1142,\"../scatter/line_defaults\":1147,\"../scatter/marker_defaults\":1153,\"../scatter/subtypes\":1158,\"../scatter/text_defaults\":1159,\"./attributes\":1175}],1178:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,a){t.lon=e.lon,t.lat=e.lat,t.location=e.loc?e.loc:null;var i=n[a];return i.fIn&&i.fIn.properties&&(t.properties=i.fIn.properties),t}},{}],1179:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\");e.exports=function(t,e,r){var a={},i=r[e.geo]._subplot.mockAxis,o=t.lonlat;return a.lonLabel=n.tickText(i,i.c2l(o[0]),!0).text,a.latLabel=n.tickText(i,i.c2l(o[1]),!0).text,a}},{\"../../plots/cartesian/axes\":776}],1180:[function(t,e,r){\"use strict\";var n=t(\"../../components/fx\"),a=t(\"../../constants/numerical\").BADNUM,i=t(\"../scatter/get_trace_color\"),o=t(\"../../lib\").fillText,s=t(\"./attributes\");e.exports=function(t,e,r){var l=t.cd,c=l[0].trace,u=t.xa,h=t.ya,f=t.subplot,p=f.projection.isLonLatOverEdges,d=f.project;if(n.getClosest(l,(function(t){var n=t.lonlat;if(n[0]===a)return 1/0;if(p(n))return 1/0;var i=d(n),o=d([e,r]),s=Math.abs(i[0]-o[0]),l=Math.abs(i[1]-o[1]),c=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(s*s+l*l)-c,1-3/c)}),t),!1!==t.index){var g=l[t.index],m=g.lonlat,v=[u.c2p(m),h.c2p(m)],y=g.mrc||1;t.x0=v[0]-y,t.x1=v[0]+y,t.y0=v[1]-y,t.y1=v[1]+y,t.loc=g.loc,t.lon=m[0],t.lat=m[1];var x={};x[c.geo]={_subplot:f};var b=c._module.formatLabels(g,c,x);return t.lonLabel=b.lonLabel,t.latLabel=b.latLabel,t.color=i(c,g),t.extraText=function(t,e,r,n){if(t.hovertemplate)return;var a=e.hi||t.hoverinfo,i=\"all\"===a?s.hoverinfo.flags:a.split(\"+\"),l=-1!==i.indexOf(\"location\")&&Array.isArray(t.locations),c=-1!==i.indexOf(\"lon\"),u=-1!==i.indexOf(\"lat\"),h=-1!==i.indexOf(\"text\"),f=[];function p(t){return t+\"\\xb0\"}l?f.push(e.loc):c&&u?f.push(\"(\"+p(r.lonLabel)+\", \"+p(r.latLabel)+\")\"):c?f.push(n.lon+p(r.lonLabel)):u&&f.push(n.lat+p(r.latLabel));h&&o(e,t,f);return f.join(\"<br>\")}(c,g,t,l[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}}},{\"../../components/fx\":635,\"../../constants/numerical\":704,\"../../lib\":728,\"../scatter/get_trace_color\":1144,\"./attributes\":1175}],1181:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../scatter/marker_colorbar\"),formatLabels:t(\"./format_labels\"),calc:t(\"./calc\"),calcGeoJSON:t(\"./plot\").calcGeoJSON,plot:t(\"./plot\").plot,style:t(\"./style\"),styleOnSelect:t(\"../scatter/style\").styleOnSelect,hoverPoints:t(\"./hover\"),eventData:t(\"./event_data\"),selectPoints:t(\"./select\"),moduleType:\"trace\",name:\"scattergeo\",basePlotModule:t(\"../../plots/geo\"),categories:[\"geo\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}},{\"../../plots/geo\":808,\"../scatter/marker_colorbar\":1152,\"../scatter/style\":1157,\"./attributes\":1175,\"./calc\":1176,\"./defaults\":1177,\"./event_data\":1178,\"./format_labels\":1179,\"./hover\":1180,\"./plot\":1182,\"./select\":1183,\"./style\":1184}],1182:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../lib\"),i=t(\"../../lib/topojson_utils\").getTopojsonFeatures,o=t(\"../../lib/geojson_utils\"),s=t(\"../../lib/geo_location_utils\"),l=t(\"../../plots/cartesian/autorange\").findExtremes,c=t(\"../../constants/numerical\").BADNUM,u=t(\"../scatter/calc\").calcMarkerSize,h=t(\"../scatter/subtypes\"),f=t(\"./style\");e.exports={calcGeoJSON:function(t,e){var r,n,a=t[0].trace,o=e[a.geo],h=o._subplot,f=a._length;if(Array.isArray(a.locations)){var p=a.locationmode,d=\"geojson-id\"===p?s.extractTraceFeature(t):i(a,h.topojson);for(r=0;r<f;r++){n=t[r];var g=\"geojson-id\"===p?n.fOut:s.locationToFeature(p,n.loc,d);n.lonlat=g?g.properties.ct:[c,c]}}var m,v,y={padded:!0};if(\"geojson\"===o.fitbounds&&\"geojson-id\"===a.locationmode){var x=s.computeBbox(s.getTraceGeojson(a));m=[x[0],x[2]],v=[x[1],x[3]]}else{for(m=new Array(f),v=new Array(f),r=0;r<f;r++)n=t[r],m[r]=n.lonlat[0],v[r]=n.lonlat[1];y.ppad=u(a,f)}a._extremes.lon=l(o.lonaxis._ax,m,y),a._extremes.lat=l(o.lataxis._ax,v,y)},plot:function(t,e,r){var i=e.layers.frontplot.select(\".scatterlayer\"),s=a.makeTraceGroups(i,r,\"trace scattergeo\");function l(t,e){t.lonlat[0]===c&&n.select(e).remove()}s.selectAll(\"*\").remove(),s.each((function(e){var r=n.select(this),i=e[0].trace;if(h.hasLines(i)||\"none\"!==i.fill){var s=o.calcTraceToLineCoords(e),c=\"none\"!==i.fill?o.makePolygon(s):o.makeLine(s);r.selectAll(\"path.js-line\").data([{geojson:c,trace:i}]).enter().append(\"path\").classed(\"js-line\",!0).style(\"stroke-miterlimit\",2)}h.hasMarkers(i)&&r.selectAll(\"path.point\").data(a.identity).enter().append(\"path\").classed(\"point\",!0).each((function(t){l(t,this)})),h.hasText(i)&&r.selectAll(\"g\").data(a.identity).enter().append(\"g\").append(\"text\").each((function(t){l(t,this)})),f(t,e)}))}}},{\"../../constants/numerical\":704,\"../../lib\":728,\"../../lib/geo_location_utils\":722,\"../../lib/geojson_utils\":723,\"../../lib/topojson_utils\":755,\"../../plots/cartesian/autorange\":775,\"../scatter/calc\":1135,\"../scatter/subtypes\":1158,\"./style\":1184,d3:164}],1183:[function(t,e,r){\"use strict\";var n=t(\"../scatter/subtypes\"),a=t(\"../../constants/numerical\").BADNUM;e.exports=function(t,e){var r,i,o,s,l,c=t.cd,u=t.xaxis,h=t.yaxis,f=[],p=c[0].trace;if(!n.hasMarkers(p)&&!n.hasText(p))return[];if(!1===e)for(l=0;l<c.length;l++)c[l].selected=0;else for(l=0;l<c.length;l++)(i=(r=c[l]).lonlat)[0]!==a&&(o=u.c2p(i),s=h.c2p(i),e.contains([o,s],null,l,t)?(f.push({pointNumber:l,lon:i[0],lat:i[1]}),r.selected=1):r.selected=0);return f}},{\"../../constants/numerical\":704,\"../scatter/subtypes\":1158}],1184:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../components/drawing\"),i=t(\"../../components/color\"),o=t(\"../scatter/style\"),s=o.stylePoints,l=o.styleText;e.exports=function(t,e){e&&function(t,e){var r=e[0].trace,o=e[0].node3;o.style(\"opacity\",e[0].trace.opacity),s(o,r,t),l(o,r,t),o.selectAll(\"path.js-line\").style(\"fill\",\"none\").each((function(t){var e=n.select(this),r=t.trace,o=r.line||{};e.call(i.stroke,o.color).call(a.dashLine,o.dash||\"\",o.width||0),\"none\"!==r.fill&&e.call(i.fill,r.fillcolor)}))}(t,e)}},{\"../../components/color\":595,\"../../components/drawing\":617,\"../scatter/style\":1157,d3:164}],1185:[function(t,e,r){\"use strict\";var n=t(\"../../plots/attributes\"),a=t(\"../scatter/attributes\"),i=t(\"../../components/colorscale/attributes\"),o=t(\"../../lib/extend\").extendFlat,s=t(\"../../plot_api/edit_types\").overrideAll,l=t(\"./constants\").DASHES,c=a.line,u=a.marker,h=u.line,f=e.exports=s({x:a.x,x0:a.x0,dx:a.dx,y:a.y,y0:a.y0,dy:a.dy,text:a.text,hovertext:a.hovertext,textposition:a.textposition,textfont:a.textfont,mode:{valType:\"flaglist\",flags:[\"lines\",\"markers\",\"text\"],extras:[\"none\"]},line:{color:c.color,width:c.width,shape:{valType:\"enumerated\",values:[\"linear\",\"hv\",\"vh\",\"hvh\",\"vhv\"],dflt:\"linear\",editType:\"plot\"},dash:{valType:\"enumerated\",values:Object.keys(l),dflt:\"solid\"}},marker:o({},i(\"marker\"),{symbol:u.symbol,size:u.size,sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,opacity:u.opacity,colorbar:u.colorbar,line:o({},i(\"marker.line\"),{width:h.width})}),connectgaps:a.connectgaps,fill:o({},a.fill,{dflt:\"none\"}),fillcolor:a.fillcolor,selected:{marker:a.selected.marker,textfont:a.selected.textfont},unselected:{marker:a.unselected.marker,textfont:a.unselected.textfont},opacity:n.opacity},\"calc\",\"nested\");f.x.editType=f.y.editType=f.x0.editType=f.y0.editType=\"calc+clearAxisTypes\",f.hovertemplate=a.hovertemplate,f.texttemplate=a.texttemplate},{\"../../components/colorscale/attributes\":602,\"../../lib/extend\":719,\"../../plot_api/edit_types\":759,\"../../plots/attributes\":773,\"../scatter/attributes\":1134,\"./constants\":1187}],1186:[function(t,e,r){\"use strict\";var n=t(\"point-cluster\"),a=t(\"../../lib\"),i=t(\"../../plots/cartesian/axis_ids\"),o=t(\"../../plots/cartesian/autorange\").findExtremes,s=t(\"../scatter/calc\"),l=s.calcMarkerSize,c=s.calcAxisExpansion,u=s.setFirstScatter,h=t(\"../scatter/colorscale_calc\"),f=t(\"./convert\"),p=t(\"./scene_update\"),d=t(\"../../constants/numerical\").BADNUM,g=t(\"./constants\").TOO_MANY_POINTS;function m(t,e,r){var n=t._extremes[e._id],a=o(e,r._bnds,{padded:!0});n.min=n.min.concat(a.min),n.max=n.max.concat(a.max)}e.exports=function(t,e){var r,o,s,v=t._fullLayout,y=i.getFromId(t,e.xaxis),x=i.getFromId(t,e.yaxis),b=v._plots[e.xaxis+e.yaxis],_=e._length,w=_>=g,T=2*_,k={},A=e._x=y.makeCalcdata(e,\"x\"),M=e._y=x.makeCalcdata(e,\"y\"),S=new Array(T);for(r=0;r<_;r++)o=A[r],s=M[r],S[2*r]=o===d?NaN:o,S[2*r+1]=s===d?NaN:s;if(\"log\"===y.type)for(r=0;r<T;r+=2)S[r]=y.c2l(S[r]);if(\"log\"===x.type)for(r=1;r<T;r+=2)S[r]=x.c2l(S[r]);if(w&&\"log\"!==y.type&&\"log\"!==x.type)k.tree=n(S);else{var E=k.ids=new Array(_);for(r=0;r<_;r++)E[r]=r}h(t,e);var C,L=function(t,e,r,n,i,o){var s=f.style(t,r);s.marker&&(s.marker.positions=n);s.line&&n.length>1&&a.extendFlat(s.line,f.linePositions(t,r,n));if(s.errorX||s.errorY){var l=f.errorBarPositions(t,r,n,i,o);s.errorX&&a.extendFlat(s.errorX,l.x),s.errorY&&a.extendFlat(s.errorY,l.y)}s.text&&(a.extendFlat(s.text,{positions:n},f.textPosition(t,r,s.text,s.marker)),a.extendFlat(s.textSel,{positions:n},f.textPosition(t,r,s.text,s.markerSel)),a.extendFlat(s.textUnsel,{positions:n},f.textPosition(t,r,s.text,s.markerUnsel)));return s}(t,0,e,S,A,M),P=p(t,b);return u(v,e),w?L.marker&&(C=2*(L.marker.sizeAvg||Math.max(L.marker.size,3))):C=l(e,_),c(t,e,y,x,A,M,C),L.errorX&&m(e,y,L.errorX),L.errorY&&m(e,x,L.errorY),L.fill&&!P.fill2d&&(P.fill2d=!0),L.marker&&!P.scatter2d&&(P.scatter2d=!0),L.line&&!P.line2d&&(P.line2d=!0),!L.errorX&&!L.errorY||P.error2d||(P.error2d=!0),L.text&&!P.glText&&(P.glText=!0),L.marker&&(L.marker.snap=_),P.lineOptions.push(L.line),P.errorXOptions.push(L.errorX),P.errorYOptions.push(L.errorY),P.fillOptions.push(L.fill),P.markerOptions.push(L.marker),P.markerSelectedOptions.push(L.markerSel),P.markerUnselectedOptions.push(L.markerUnsel),P.textOptions.push(L.text),P.textSelectedOptions.push(L.textSel),P.textUnselectedOptions.push(L.textUnsel),P.selectBatch.push([]),P.unselectBatch.push([]),k._scene=P,k.index=P.count,k.x=A,k.y=M,k.positions=S,P.count++,[{x:!1,y:!1,t:k,trace:e}]}},{\"../../constants/numerical\":704,\"../../lib\":728,\"../../plots/cartesian/autorange\":775,\"../../plots/cartesian/axis_ids\":779,\"../scatter/calc\":1135,\"../scatter/colorscale_calc\":1137,\"./constants\":1187,\"./convert\":1188,\"./scene_update\":1196,\"point-cluster\":467}],1187:[function(t,e,r){\"use strict\";e.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:20,SYMBOL_STROKE:1,DOT_RE:/-dot/,OPEN_RE:/-open/,DASHES:{solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}}},{}],1188:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"svg-path-sdf\"),i=t(\"color-normalize\"),o=t(\"../../registry\"),s=t(\"../../lib\"),l=t(\"../../components/drawing\"),c=t(\"../../plots/cartesian/axis_ids\"),u=t(\"../../lib/gl_format_color\").formatColor,h=t(\"../scatter/subtypes\"),f=t(\"../scatter/make_bubble_size_func\"),p=t(\"./helpers\"),d=t(\"./constants\"),g=t(\"../../constants/interactions\").DESELECTDIM,m={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},v=t(\"../../components/fx/helpers\").appendArrayPointValue;function y(t,e){var r,a=t._fullLayout,i=e._length,o=e.textfont,l=e.textposition,c=Array.isArray(l)?l:[l],u=o.color,h=o.size,f=o.family,p={},d=e.texttemplate;if(d){p.text=[];var g=a._d3locale,m=Array.isArray(d),y=m?Math.min(d.length,i):i,x=m?function(t){return d[t]}:function(){return d};for(r=0;r<y;r++){var b={i:r},_=e._module.formatLabels(b,e,a),w={};v(w,e,r);var T=e._meta||{};p.text.push(s.texttemplateString(x(r),_,g,w,b,T))}}else Array.isArray(e.text)&&e.text.length<i?p.text=e.text.slice():p.text=e.text;if(Array.isArray(p.text))for(r=p.text.length;r<i;r++)p.text[r]=\"\";for(p.opacity=e.opacity,p.font={},p.align=[],p.baseline=[],r=0;r<c.length;r++){var k=c[r].split(/\\s+/);switch(k[1]){case\"left\":p.align.push(\"right\");break;case\"right\":p.align.push(\"left\");break;default:p.align.push(k[1])}switch(k[0]){case\"top\":p.baseline.push(\"bottom\");break;case\"bottom\":p.baseline.push(\"top\");break;default:p.baseline.push(k[0])}}if(Array.isArray(u))for(p.color=new Array(i),r=0;r<i;r++)p.color[r]=u[r];else p.color=u;if(s.isArrayOrTypedArray(h)||Array.isArray(f))for(p.font=new Array(i),r=0;r<i;r++){var A=p.font[r]={};A.size=s.isTypedArray(h)?h[r]:Array.isArray(h)?n(h[r])?h[r]:0:h,A.family=Array.isArray(f)?f[r]:f}else p.font={size:h,family:f};return p}function x(t){var e,r,n=t._length,a=t.marker,o={},l=s.isArrayOrTypedArray(a.symbol),c=s.isArrayOrTypedArray(a.color),h=s.isArrayOrTypedArray(a.line.color),d=s.isArrayOrTypedArray(a.opacity),g=s.isArrayOrTypedArray(a.size),m=s.isArrayOrTypedArray(a.line.width);if(l||(r=p.isOpenSymbol(a.symbol)),l||c||h||d){o.colors=new Array(n),o.borderColors=new Array(n);var v=u(a,a.opacity,n),y=u(a.line,a.opacity,n);if(!Array.isArray(y[0])){var x=y;for(y=Array(n),e=0;e<n;e++)y[e]=x}if(!Array.isArray(v[0])){var b=v;for(v=Array(n),e=0;e<n;e++)v[e]=b}for(o.colors=v,o.borderColors=y,e=0;e<n;e++){if(l){var _=a.symbol[e];r=p.isOpenSymbol(_)}r&&(y[e]=v[e].slice(),v[e]=v[e].slice(),v[e][3]=0)}o.opacity=t.opacity}else r?(o.color=i(a.color,\"uint8\"),o.color[3]=0,o.borderColor=i(a.color,\"uint8\")):(o.color=i(a.color,\"uint8\"),o.borderColor=i(a.line.color,\"uint8\")),o.opacity=t.opacity*a.opacity;if(l)for(o.markers=new Array(n),e=0;e<n;e++)o.markers[e]=E(a.symbol[e]);else o.marker=E(a.symbol);var w,T=f(t);if(g||m){var k,A=o.sizes=new Array(n),M=o.borderSizes=new Array(n),S=0;if(g){for(e=0;e<n;e++)A[e]=T(a.size[e]),S+=A[e];k=S/n}else for(w=T(a.size),e=0;e<n;e++)A[e]=w;if(m)for(e=0;e<n;e++)M[e]=a.line.width[e]/2;else for(w=a.line.width/2,e=0;e<n;e++)M[e]=w;o.sizeAvg=k}else o.size=T(a&&a.size||10),o.borderSizes=T(a.line.width);return o}function b(t,e){var r=t.marker,n={};return e?(e.marker&&e.marker.symbol?n=x(s.extendFlat({},r,e.marker)):e.marker&&(e.marker.size&&(n.size=e.marker.size/2),e.marker.color&&(n.colors=e.marker.color),void 0!==e.marker.opacity&&(n.opacity=e.marker.opacity)),n):n}function _(t,e,r){var n={};if(!r)return n;if(r.textfont){var a={opacity:1,text:e.text,texttemplate:e.texttemplate,textposition:e.textposition,textfont:s.extendFlat({},e.textfont)};r.textfont&&s.extendFlat(a.textfont,r.textfont),n=y(t,a)}return n}function w(t,e){var r={capSize:2*e.width,lineWidth:e.thickness,color:e.color};return e.copy_ystyle&&(r=t.error_y),r}var T=d.SYMBOL_SDF_SIZE,k=d.SYMBOL_SIZE,A=d.SYMBOL_STROKE,M={},S=l.symbolFuncs[0](.05*k);function E(t){if(\"circle\"===t)return null;var e,r,n=l.symbolNumber(t),i=l.symbolFuncs[n%100],o=!!l.symbolNoDot[n%100],s=!!l.symbolNoFill[n%100],c=p.isDotSymbol(t);return M[t]?M[t]:(e=c&&!o?i(1.1*k)+S:i(k),r=a(e,{w:T,h:T,viewBox:[-k,-k,k,k],stroke:s?A:-A}),M[t]=r,r||null)}e.exports={style:function(t,e){var r,n={marker:void 0,markerSel:void 0,markerUnsel:void 0,line:void 0,fill:void 0,errorX:void 0,errorY:void 0,text:void 0,textSel:void 0,textUnsel:void 0};if(!0!==e.visible)return n;if(h.hasText(e)&&(n.text=y(t,e),n.textSel=_(t,e,e.selected),n.textUnsel=_(t,e,e.unselected)),h.hasMarkers(e)&&(n.marker=x(e),n.markerSel=b(e,e.selected),n.markerUnsel=b(e,e.unselected),!e.unselected&&s.isArrayOrTypedArray(e.marker.opacity))){var a=e.marker.opacity;for(n.markerUnsel.opacity=new Array(a.length),r=0;r<a.length;r++)n.markerUnsel.opacity[r]=g*a[r]}if(h.hasLines(e)){n.line={overlay:!0,thickness:e.line.width,color:e.line.color,opacity:e.opacity};var i=(d.DASHES[e.line.dash]||[1]).slice();for(r=0;r<i.length;++r)i[r]*=e.line.width;n.line.dashes=i}return e.error_x&&e.error_x.visible&&(n.errorX=w(e,e.error_x)),e.error_y&&e.error_y.visible&&(n.errorY=w(e,e.error_y)),e.fill&&\"none\"!==e.fill&&(n.fill={closed:!0,fill:e.fillcolor,thickness:0}),n},markerStyle:x,markerSelection:b,linePositions:function(t,e,r){var n,a,i=r.length,o=i/2;if(h.hasLines(e)&&o)if(\"hv\"===e.line.shape){for(n=[],a=0;a<o-1;a++)isNaN(r[2*a])||isNaN(r[2*a+1])?n.push(NaN,NaN,NaN,NaN):(n.push(r[2*a],r[2*a+1]),isNaN(r[2*a+2])||isNaN(r[2*a+3])?n.push(NaN,NaN):n.push(r[2*a+2],r[2*a+1]));n.push(r[i-2],r[i-1])}else if(\"hvh\"===e.line.shape){for(n=[],a=0;a<o-1;a++)if(isNaN(r[2*a])||isNaN(r[2*a+1])||isNaN(r[2*a+2])||isNaN(r[2*a+3]))isNaN(r[2*a])||isNaN(r[2*a+1])?n.push(NaN,NaN):n.push(r[2*a],r[2*a+1]),n.push(NaN,NaN);else{var s=(r[2*a]+r[2*a+2])/2;n.push(r[2*a],r[2*a+1],s,r[2*a+1],s,r[2*a+3])}n.push(r[i-2],r[i-1])}else if(\"vhv\"===e.line.shape){for(n=[],a=0;a<o-1;a++)if(isNaN(r[2*a])||isNaN(r[2*a+1])||isNaN(r[2*a+2])||isNaN(r[2*a+3]))isNaN(r[2*a])||isNaN(r[2*a+1])?n.push(NaN,NaN):n.push(r[2*a],r[2*a+1]),n.push(NaN,NaN);else{var l=(r[2*a+1]+r[2*a+3])/2;n.push(r[2*a],r[2*a+1],r[2*a],l,r[2*a+2],l)}n.push(r[i-2],r[i-1])}else if(\"vh\"===e.line.shape){for(n=[],a=0;a<o-1;a++)isNaN(r[2*a])||isNaN(r[2*a+1])?n.push(NaN,NaN,NaN,NaN):(n.push(r[2*a],r[2*a+1]),isNaN(r[2*a+2])||isNaN(r[2*a+3])?n.push(NaN,NaN):n.push(r[2*a],r[2*a+3]));n.push(r[i-2],r[i-1])}else n=r;var c=!1;for(a=0;a<n.length;a++)if(isNaN(n[a])){c=!0;break}var u=c||n.length>d.TOO_MANY_POINTS||h.hasMarkers(e)?\"rect\":\"round\";if(c&&e.connectgaps){var f=n[0],p=n[1];for(a=0;a<n.length;a+=2)isNaN(n[a])||isNaN(n[a+1])?(n[a]=f,n[a+1]=p):(f=n[a],p=n[a+1])}return{join:u,positions:n}},errorBarPositions:function(t,e,r,a,i){var s=o.getComponentMethod(\"errorbars\",\"makeComputeError\"),l=c.getFromId(t,e.xaxis),u=c.getFromId(t,e.yaxis),h=r.length/2,f={};function p(t,a){var i=a._id.charAt(0),o=e[\"error_\"+i];if(o&&o.visible&&(\"linear\"===a.type||\"log\"===a.type)){for(var l=s(o),c={x:0,y:1}[i],u={x:[0,1,2,3],y:[2,3,0,1]}[i],p=new Float64Array(4*h),d=1/0,g=-1/0,m=0,v=0;m<h;m++,v+=4){var y=t[m];if(n(y)){var x=r[2*m+c],b=l(y,m),_=b[0],w=b[1];if(n(_)&&n(w)){var T=y-_,k=y+w;p[v+u[0]]=x-a.c2l(T),p[v+u[1]]=a.c2l(k)-x,p[v+u[2]]=0,p[v+u[3]]=0,d=Math.min(d,y-_),g=Math.max(g,y+w)}}}f[i]={positions:r,errors:p,_bnds:[d,g]}}}return p(a,l),p(i,u),f},textPosition:function(t,e,r,n){var a,i=e._length,o={};if(h.hasMarkers(e)){var s=r.font,l=r.align,c=r.baseline;for(o.offset=new Array(i),a=0;a<i;a++){var u=n.sizes?n.sizes[a]:n.size,f=Array.isArray(s)?s[a].size:s.size,p=Array.isArray(l)?l.length>1?l[a]:l[0]:l,d=Array.isArray(c)?c.length>1?c[a]:c[0]:c,g=m[p],v=m[d],y=u?u/.8+1:0,x=-v*y-.5*v;o.offset[a]=[g*y/f,x/f]}}return o}}},{\"../../components/drawing\":617,\"../../components/fx/helpers\":631,\"../../constants/interactions\":703,\"../../lib\":728,\"../../lib/gl_format_color\":725,\"../../plots/cartesian/axis_ids\":779,\"../../registry\":859,\"../scatter/make_bubble_size_func\":1151,\"../scatter/subtypes\":1158,\"./constants\":1187,\"./helpers\":1192,\"color-normalize\":122,\"fast-isnumeric\":236,\"svg-path-sdf\":526}],1189:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../registry\"),i=t(\"./helpers\"),o=t(\"./attributes\"),s=t(\"../scatter/constants\"),l=t(\"../scatter/subtypes\"),c=t(\"../scatter/xy_defaults\"),u=t(\"../scatter/marker_defaults\"),h=t(\"../scatter/line_defaults\"),f=t(\"../scatter/fillcolor_defaults\"),p=t(\"../scatter/text_defaults\");e.exports=function(t,e,r,d){function g(r,a){return n.coerce(t,e,o,r,a)}var m=!!t.marker&&i.isOpenSymbol(t.marker.symbol),v=l.isBubble(t),y=c(t,e,d,g);if(y){var x=y<s.PTS_LINESONLY?\"lines+markers\":\"lines\";g(\"text\"),g(\"hovertext\"),g(\"hovertemplate\"),g(\"mode\",x),l.hasLines(e)&&(g(\"connectgaps\"),h(t,e,r,d,g),g(\"line.shape\")),l.hasMarkers(e)&&(u(t,e,r,d,g),g(\"marker.line.width\",m||v?1:0)),l.hasText(e)&&(g(\"texttemplate\"),p(t,e,d,g));var b=(e.line||{}).color,_=(e.marker||{}).color;g(\"fill\"),\"none\"!==e.fill&&f(t,e,r,g);var w=a.getComponentMethod(\"errorbars\",\"supplyDefaults\");w(t,e,b||_||r,{axis:\"y\"}),w(t,e,b||_||r,{axis:\"x\",inherit:\"y\"}),n.coerceSelectionMarkerOpacity(e,g)}else e.visible=!1}},{\"../../lib\":728,\"../../registry\":859,\"../scatter/constants\":1138,\"../scatter/fillcolor_defaults\":1142,\"../scatter/line_defaults\":1147,\"../scatter/marker_defaults\":1153,\"../scatter/subtypes\":1158,\"../scatter/text_defaults\":1159,\"../scatter/xy_defaults\":1160,\"./attributes\":1185,\"./helpers\":1192}],1190:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../components/color\"),i=t(\"../../constants/interactions\").DESELECTDIM;e.exports={styleTextSelection:function(t){var e,r,o=t[0],s=o.trace,l=o.t,c=l._scene,u=l.index,h=c.selectBatch[u],f=c.unselectBatch[u],p=c.textOptions[u],d=c.textSelectedOptions[u]||{},g=c.textUnselectedOptions[u]||{},m=n.extendFlat({},p);if(h.length||f.length){var v=d.color,y=g.color,x=p.color,b=Array.isArray(x);for(m.color=new Array(s._length),e=0;e<h.length;e++)r=h[e],m.color[r]=v||(b?x[r]:x);for(e=0;e<f.length;e++){r=f[e];var _=b?x[r]:x;m.color[r]=y||(v?_:a.addOpacity(_,i))}}c.glText[u].update(m)}}},{\"../../components/color\":595,\"../../constants/interactions\":703,\"../../lib\":728}],1191:[function(t,e,r){\"use strict\";var n=t(\"../scatter/format_labels\");e.exports=function(t,e,r){var a=t.i;return\"x\"in t||(t.x=e._x[a]),\"y\"in t||(t.y=e._y[a]),n(t,e,r)}},{\"../scatter/format_labels\":1143}],1192:[function(t,e,r){\"use strict\";var n=t(\"./constants\");r.isOpenSymbol=function(t){return\"string\"==typeof t?n.OPEN_RE.test(t):t%200>100},r.isDotSymbol=function(t){return\"string\"==typeof t?n.DOT_RE.test(t):t>200}},{\"./constants\":1187}],1193:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),a=t(\"../../lib\"),i=t(\"../scatter/get_trace_color\");function o(t,e,r,o){var s=t.xa,l=t.ya,c=t.distance,u=t.dxy,h=t.index,f={pointNumber:h,x:e[h],y:r[h]};f.tx=Array.isArray(o.text)?o.text[h]:o.text,f.htx=Array.isArray(o.hovertext)?o.hovertext[h]:o.hovertext,f.data=Array.isArray(o.customdata)?o.customdata[h]:o.customdata,f.tp=Array.isArray(o.textposition)?o.textposition[h]:o.textposition;var p=o.textfont;p&&(f.ts=a.isArrayOrTypedArray(p.size)?p.size[h]:p.size,f.tc=Array.isArray(p.color)?p.color[h]:p.color,f.tf=Array.isArray(p.family)?p.family[h]:p.family);var d=o.marker;d&&(f.ms=a.isArrayOrTypedArray(d.size)?d.size[h]:d.size,f.mo=a.isArrayOrTypedArray(d.opacity)?d.opacity[h]:d.opacity,f.mx=a.isArrayOrTypedArray(d.symbol)?d.symbol[h]:d.symbol,f.mc=a.isArrayOrTypedArray(d.color)?d.color[h]:d.color);var g=d&&d.line;g&&(f.mlc=Array.isArray(g.color)?g.color[h]:g.color,f.mlw=a.isArrayOrTypedArray(g.width)?g.width[h]:g.width);var m=d&&d.gradient;m&&\"none\"!==m.type&&(f.mgt=Array.isArray(m.type)?m.type[h]:m.type,f.mgc=Array.isArray(m.color)?m.color[h]:m.color);var v=s.c2p(f.x,!0),y=l.c2p(f.y,!0),x=f.mrc||1,b=o.hoverlabel;b&&(f.hbg=Array.isArray(b.bgcolor)?b.bgcolor[h]:b.bgcolor,f.hbc=Array.isArray(b.bordercolor)?b.bordercolor[h]:b.bordercolor,f.hts=a.isArrayOrTypedArray(b.font.size)?b.font.size[h]:b.font.size,f.htc=Array.isArray(b.font.color)?b.font.color[h]:b.font.color,f.htf=Array.isArray(b.font.family)?b.font.family[h]:b.font.family,f.hnl=a.isArrayOrTypedArray(b.namelength)?b.namelength[h]:b.namelength);var _=o.hoverinfo;_&&(f.hi=Array.isArray(_)?_[h]:_);var w=o.hovertemplate;w&&(f.ht=Array.isArray(w)?w[h]:w);var T={};T[t.index]=f;var k=a.extendFlat({},t,{color:i(o,f),x0:v-x,x1:v+x,xLabelVal:f.x,y0:y-x,y1:y+x,yLabelVal:f.y,cd:T,distance:c,spikeDistance:u,hovertemplate:f.ht});return f.htx?k.text=f.htx:f.tx?k.text=f.tx:o.text&&(k.text=o.text),a.fillText(f,o,k),n.getComponentMethod(\"errorbars\",\"hoverInfo\")(f,o,k),k}e.exports={hoverPoints:function(t,e,r,n){var a,i,s,l,c,u,h,f,p,d=t.cd,g=d[0].t,m=d[0].trace,v=t.xa,y=t.ya,x=g.x,b=g.y,_=v.c2p(e),w=y.c2p(r),T=t.distance;if(g.tree){var k=v.p2c(_-T),A=v.p2c(_+T),M=y.p2c(w-T),S=y.p2c(w+T);a=\"x\"===n?g.tree.range(Math.min(k,A),Math.min(y._rl[0],y._rl[1]),Math.max(k,A),Math.max(y._rl[0],y._rl[1])):g.tree.range(Math.min(k,A),Math.min(M,S),Math.max(k,A),Math.max(M,S))}else a=g.ids;var E=T;if(\"x\"===n)for(c=0;c<a.length;c++)s=x[a[c]],(u=Math.abs(v.c2p(s)-_))<E&&(E=u,h=y.c2p(b[a[c]])-w,p=Math.sqrt(u*u+h*h),i=a[c]);else for(c=a.length-1;c>-1;c--)s=x[a[c]],l=b[a[c]],u=v.c2p(s)-_,h=y.c2p(l)-w,(f=Math.sqrt(u*u+h*h))<E&&(E=p=f,i=a[c]);return t.index=i,t.distance=E,t.dxy=p,void 0===i?[t]:[o(t,x,b,m)]},calcHover:o}},{\"../../lib\":728,\"../../registry\":859,\"../scatter/get_trace_color\":1144}],1194:[function(t,e,r){\"use strict\";var n=t(\"./hover\");e.exports={moduleType:\"trace\",name:\"scattergl\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"gl\",\"regl\",\"cartesian\",\"symbols\",\"errorBarsOK\",\"showLegend\",\"scatter-like\"],attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),crossTraceDefaults:t(\"../scatter/cross_trace_defaults\"),colorbar:t(\"../scatter/marker_colorbar\"),formatLabels:t(\"./format_labels\"),calc:t(\"./calc\"),plot:t(\"./plot\"),hoverPoints:n.hoverPoints,selectPoints:t(\"./select\"),meta:{}}},{\"../../plots/cartesian\":789,\"../scatter/cross_trace_defaults\":1140,\"../scatter/marker_colorbar\":1152,\"./attributes\":1185,\"./calc\":1186,\"./defaults\":1189,\"./format_labels\":1191,\"./hover\":1193,\"./plot\":1195,\"./select\":1197}],1195:[function(t,e,r){\"use strict\";var n=t(\"regl-scatter2d\"),a=t(\"regl-line2d\"),i=t(\"regl-error2d\"),o=t(\"gl-text\"),s=t(\"../../lib\"),l=t(\"../../components/dragelement/helpers\").selectMode,c=t(\"../../lib/prepare_regl\"),u=t(\"../scatter/subtypes\"),h=t(\"../scatter/link_traces\"),f=t(\"./edit_style\").styleTextSelection;function p(t,e,r){var n=t._size,a=t.width,i=t.height;return[n.l+e.domain[0]*n.w,n.b+r.domain[0]*n.h,a-n.r-(1-e.domain[1])*n.w,i-n.t-(1-r.domain[1])*n.h]}e.exports=function(t,e,r){if(r.length){var d,g,m=t._fullLayout,v=e._scene,y=e.xaxis,x=e.yaxis;if(v)if(c(t,[\"ANGLE_instanced_arrays\",\"OES_element_index_uint\"])){var b=v.count,_=m._glcanvas.data()[0].regl;if(h(t,e,r),v.dirty){if(!0===v.error2d&&(v.error2d=i(_)),!0===v.line2d&&(v.line2d=a(_)),!0===v.scatter2d&&(v.scatter2d=n(_)),!0===v.fill2d&&(v.fill2d=a(_)),!0===v.glText)for(v.glText=new Array(b),d=0;d<b;d++)v.glText[d]=new o(_);if(v.glText){if(b>v.glText.length){var w=b-v.glText.length;for(d=0;d<w;d++)v.glText.push(new o(_))}else if(b<v.glText.length){var T=v.glText.length-b;v.glText.splice(b,T).forEach((function(t){t.destroy()}))}for(d=0;d<b;d++)v.glText[d].update(v.textOptions[d])}if(v.line2d&&(v.line2d.update(v.lineOptions),v.lineOptions=v.lineOptions.map((function(t){if(t&&t.positions){for(var e=t.positions,r=0;r<e.length&&(isNaN(e[r])||isNaN(e[r+1]));)r+=2;for(var n=e.length-2;n>r&&(isNaN(e[n])||isNaN(e[n+1]));)n-=2;t.positions=e.slice(r,n+2)}return t})),v.line2d.update(v.lineOptions)),v.error2d){var k=(v.errorXOptions||[]).concat(v.errorYOptions||[]);v.error2d.update(k)}v.scatter2d&&v.scatter2d.update(v.markerOptions),v.fillOrder=s.repeat(null,b),v.fill2d&&(v.fillOptions=v.fillOptions.map((function(t,e){var n=r[e];if(t&&n&&n[0]&&n[0].trace){var a,i,o=n[0],s=o.trace,l=o.t,c=v.lineOptions[e],u=[];s._ownfill&&u.push(e),s._nexttrace&&u.push(e+1),u.length&&(v.fillOrder[e]=u);var h,f,p=[],d=c&&c.positions||l.positions;if(\"tozeroy\"===s.fill){for(h=0;h<d.length&&isNaN(d[h+1]);)h+=2;for(f=d.length-2;f>h&&isNaN(d[f+1]);)f-=2;0!==d[h+1]&&(p=[d[h],0]),p=p.concat(d.slice(h,f+2)),0!==d[f+1]&&(p=p.concat([d[f],0]))}else if(\"tozerox\"===s.fill){for(h=0;h<d.length&&isNaN(d[h]);)h+=2;for(f=d.length-2;f>h&&isNaN(d[f]);)f-=2;0!==d[h]&&(p=[0,d[h+1]]),p=p.concat(d.slice(h,f+2)),0!==d[f]&&(p=p.concat([0,d[f+1]]))}else if(\"toself\"===s.fill||\"tonext\"===s.fill){for(p=[],a=0,i=0;i<d.length;i+=2)(isNaN(d[i])||isNaN(d[i+1]))&&((p=p.concat(d.slice(a,i))).push(d[a],d[a+1]),a=i+2);p=p.concat(d.slice(a)),a&&p.push(d[a],d[a+1])}else{var g=s._nexttrace;if(g){var m=v.lineOptions[e+1];if(m){var y=m.positions;if(\"tonexty\"===s.fill){for(p=d.slice(),e=Math.floor(y.length/2);e--;){var x=y[2*e],b=y[2*e+1];isNaN(x)||isNaN(b)||p.push(x,b)}t.fill=g.fillcolor}}}}if(s._prevtrace&&\"tonext\"===s._prevtrace.fill){var _=v.lineOptions[e-1].positions,w=p.length/2,T=[a=w];for(i=0;i<_.length;i+=2)(isNaN(_[i])||isNaN(_[i+1]))&&(T.push(i/2+w+1),a=i+2);p=p.concat(_),t.hole=T}return t.fillmode=s.fill,t.opacity=s.opacity,t.positions=p,t}})),v.fill2d.update(v.fillOptions))}var A=m.dragmode,M=l(A),S=m.clickmode.indexOf(\"select\")>-1;for(d=0;d<b;d++){var E=r[d][0],C=E.trace,L=E.t,P=L.index,I=C._length,z=L.x,O=L.y;if(C.selectedpoints||M||S){if(M||(M=!0),C.selectedpoints){var D=v.selectBatch[P]=s.selIndices2selPoints(C),R={};for(g=0;g<D.length;g++)R[D[g]]=1;var F=[];for(g=0;g<I;g++)R[g]||F.push(g);v.unselectBatch[P]=F}var B=L.xpx=new Array(I),N=L.ypx=new Array(I);for(g=0;g<I;g++)B[g]=y.c2p(z[g]),N[g]=x.c2p(O[g])}else L.xpx=L.ypx=null}if(M){if(v.select2d||(v.select2d=n(m._glcanvas.data()[1].regl)),v.scatter2d){var j=new Array(b);for(d=0;d<b;d++)j[d]=v.selectBatch[d].length||v.unselectBatch[d].length?v.markerUnselectedOptions[d]:{};v.scatter2d.update(j)}v.select2d&&(v.select2d.update(v.markerOptions),v.select2d.update(v.markerSelectedOptions)),v.glText&&r.forEach((function(t){var e=((t||[])[0]||{}).trace||{};u.hasText(e)&&f(t)}))}else v.scatter2d&&v.scatter2d.update(v.markerOptions);var V={viewport:p(m,y,x),range:[(y._rl||y.range)[0],(x._rl||x.range)[0],(y._rl||y.range)[1],(x._rl||x.range)[1]]},U=s.repeat(V,v.count);v.fill2d&&v.fill2d.update(U),v.line2d&&v.line2d.update(U),v.error2d&&v.error2d.update(U.concat(U)),v.scatter2d&&v.scatter2d.update(U),v.select2d&&v.select2d.update(U),v.glText&&v.glText.forEach((function(t){t.update(V)}))}else v.init()}}},{\"../../components/dragelement/helpers\":613,\"../../lib\":728,\"../../lib/prepare_regl\":741,\"../scatter/link_traces\":1150,\"../scatter/subtypes\":1158,\"./edit_style\":1190,\"gl-text\":321,\"regl-error2d\":488,\"regl-line2d\":489,\"regl-scatter2d\":490}],1196:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e){var r=e._scene,a={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],markerSelectedOptions:[],markerUnselectedOptions:[],errorXOptions:[],errorYOptions:[],textOptions:[],textSelectedOptions:[],textUnselectedOptions:[],selectBatch:[],unselectBatch:[]},i={fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,glText:!1,select2d:!1};return e._scene||((r=e._scene={}).init=function(){n.extendFlat(r,i,a)},r.init(),r.update=function(t){var e=n.repeat(t,r.count);if(r.fill2d&&r.fill2d.update(e),r.scatter2d&&r.scatter2d.update(e),r.line2d&&r.line2d.update(e),r.error2d&&r.error2d.update(e.concat(e)),r.select2d&&r.select2d.update(e),r.glText)for(var a=0;a<r.count;a++)r.glText[a].update(t)},r.draw=function(){for(var t=r.count,e=r.fill2d,a=r.error2d,i=r.line2d,o=r.scatter2d,s=r.glText,l=r.select2d,c=r.selectBatch,u=r.unselectBatch,h=0;h<t;h++){if(e&&r.fillOrder[h]&&e.draw(r.fillOrder[h]),i&&r.lineOptions[h]&&i.draw(h),a&&(r.errorXOptions[h]&&a.draw(h),r.errorYOptions[h]&&a.draw(h+t)),o&&r.markerOptions[h])if(u[h].length){var f=n.repeat([],r.count);f[h]=u[h],o.draw(f)}else c[h].length||o.draw(h);s[h]&&r.textOptions[h]&&s[h].render()}l&&l.draw(c),r.dirty=!1},r.destroy=function(){r.fill2d&&r.fill2d.destroy&&r.fill2d.destroy(),r.scatter2d&&r.scatter2d.destroy&&r.scatter2d.destroy(),r.error2d&&r.error2d.destroy&&r.error2d.destroy(),r.line2d&&r.line2d.destroy&&r.line2d.destroy(),r.select2d&&r.select2d.destroy&&r.select2d.destroy(),r.glText&&r.glText.forEach((function(t){t.destroy&&t.destroy()})),r.lineOptions=null,r.fillOptions=null,r.markerOptions=null,r.markerSelectedOptions=null,r.markerUnselectedOptions=null,r.errorXOptions=null,r.errorYOptions=null,r.textOptions=null,r.textSelectedOptions=null,r.textUnselectedOptions=null,r.selectBatch=null,r.unselectBatch=null,e._scene=null}),r.dirty||n.extendFlat(r,a),r}},{\"../../lib\":728}],1197:[function(t,e,r){\"use strict\";var n=t(\"../scatter/subtypes\"),a=t(\"./edit_style\").styleTextSelection;e.exports=function(t,e){var r=t.cd,i=[],o=r[0].trace,s=r[0].t,l=o._length,c=s.x,u=s.y,h=s._scene,f=s.index;if(!h)return i;var p=n.hasText(o),d=n.hasMarkers(o),g=!d&&!p;if(!0!==o.visible||g)return i;var m=[],v=[];if(!1!==e&&!e.degenerate)for(var y=0;y<l;y++)e.contains([s.xpx[y],s.ypx[y]],!1,y,t)?(m.push(y),i.push({pointNumber:y,x:c[y],y:u[y]})):v.push(y);if(d){var x=h.scatter2d;if(m.length||v.length){if(!h.selectBatch[f].length&&!h.unselectBatch[f].length){var b=new Array(h.count);b[f]=h.markerUnselectedOptions[f],x.update.apply(x,b)}}else{var _=new Array(h.count);_[f]=h.markerOptions[f],x.update.apply(x,_)}}return h.selectBatch[f]=m,h.unselectBatch[f]=v,p&&a(r),i}},{\"../scatter/subtypes\":1158,\"./edit_style\":1190}],1198:[function(t,e,r){\"use strict\";var n=t(\"../../plots/template_attributes\").hovertemplateAttrs,a=t(\"../../plots/template_attributes\").texttemplateAttrs,i=t(\"../scattergeo/attributes\"),o=t(\"../scatter/attributes\"),s=t(\"../../plots/mapbox/layout_attributes\"),l=t(\"../../plots/attributes\"),c=t(\"../../components/colorscale/attributes\"),u=t(\"../../lib/extend\").extendFlat,h=t(\"../../plot_api/edit_types\").overrideAll,f=i.line,p=i.marker;e.exports=h({lon:i.lon,lat:i.lat,mode:u({},o.mode,{dflt:\"markers\"}),text:u({},o.text,{}),texttemplate:a({editType:\"plot\"},{keys:[\"lat\",\"lon\",\"text\"]}),hovertext:u({},o.hovertext,{}),line:{color:f.color,width:f.width},connectgaps:o.connectgaps,marker:u({symbol:{valType:\"string\",dflt:\"circle\",arrayOk:!0},angle:{valType:\"number\",dflt:\"auto\",arrayOk:!0},allowoverlap:{valType:\"boolean\",dflt:!1},opacity:p.opacity,size:p.size,sizeref:p.sizeref,sizemin:p.sizemin,sizemode:p.sizemode},c(\"marker\")),fill:i.fill,fillcolor:o.fillcolor,textfont:s.layers.symbol.textfont,textposition:s.layers.symbol.textposition,below:{valType:\"string\"},selected:{marker:o.selected.marker},unselected:{marker:o.unselected.marker},hoverinfo:u({},l.hoverinfo,{flags:[\"lon\",\"lat\",\"text\",\"name\"]}),hovertemplate:n()},\"calc\",\"nested\")},{\"../../components/colorscale/attributes\":602,\"../../lib/extend\":719,\"../../plot_api/edit_types\":759,\"../../plots/attributes\":773,\"../../plots/mapbox/layout_attributes\":835,\"../../plots/template_attributes\":854,\"../scatter/attributes\":1134,\"../scattergeo/attributes\":1175}],1199:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"../../lib\"),i=t(\"../../constants/numerical\").BADNUM,o=t(\"../../lib/geojson_utils\"),s=t(\"../../components/colorscale\"),l=t(\"../../components/drawing\"),c=t(\"../scatter/make_bubble_size_func\"),u=t(\"../scatter/subtypes\"),h=t(\"../../plots/mapbox/convert_text_opts\"),f=t(\"../../components/fx/helpers\").appendArrayPointValue,p=t(\"../../lib/svg_text_utils\").NEWLINES,d=t(\"../../lib/svg_text_utils\").BR_TAG_ALL;function g(){return{geojson:o.makeBlank(),layout:{visibility:\"none\"},paint:{}}}function m(t,e){return a.isArrayOrTypedArray(t)?e?function(e){return n(t[e])?+t[e]:0}:function(e){return t[e]}:t?function(){return t}:v}function v(){return\"\"}function y(t){return t[0]===i}e.exports=function(t,e){var r,i=e[0].trace,x=!0===i.visible&&0!==i._length,b=\"none\"!==i.fill,_=u.hasLines(i),w=u.hasMarkers(i),T=u.hasText(i),k=w&&\"circle\"===i.marker.symbol,A=w&&\"circle\"!==i.marker.symbol,M=g(),S=g(),E=g(),C=g(),L={fill:M,line:S,circle:E,symbol:C};if(!x)return L;if((b||_)&&(r=o.calcTraceToLineCoords(e)),b&&(M.geojson=o.makePolygon(r),M.layout.visibility=\"visible\",a.extendFlat(M.paint,{\"fill-color\":i.fillcolor})),_&&(S.geojson=o.makeLine(r),S.layout.visibility=\"visible\",a.extendFlat(S.paint,{\"line-width\":i.line.width,\"line-color\":i.line.color,\"line-opacity\":i.opacity})),k){var P=function(t){var e,r,i,o,u=t[0].trace,h=u.marker,f=u.selectedpoints,p=a.isArrayOrTypedArray(h.color),d=a.isArrayOrTypedArray(h.size),g=a.isArrayOrTypedArray(h.opacity);function m(t){return u.opacity*t}p&&(r=s.hasColorscale(u,\"marker\")?s.makeColorScaleFuncFromTrace(h):a.identity);d&&(i=c(u));g&&(o=function(t){return m(n(t)?+a.constrain(t,0,1):0)});var v,x=[];for(e=0;e<t.length;e++){var b=t[e],_=b.lonlat;if(!y(_)){var w={};r&&(w.mcc=b.mcc=r(b.mc)),i&&(w.mrc=b.mrc=i(b.ms)),o&&(w.mo=o(b.mo)),f&&(w.selected=b.selected||0),x.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:_},properties:w})}}if(f)for(v=l.makeSelectedPointStyleFns(u),e=0;e<x.length;e++){var T=x[e].properties;v.selectedOpacityFn&&(T.mo=m(v.selectedOpacityFn(T))),v.selectedColorFn&&(T.mcc=v.selectedColorFn(T)),v.selectedSizeFn&&(T.mrc=v.selectedSizeFn(T))}return{geojson:{type:\"FeatureCollection\",features:x},mcc:p||v&&v.selectedColorFn?{type:\"identity\",property:\"mcc\"}:h.color,mrc:d||v&&v.selectedSizeFn?{type:\"identity\",property:\"mrc\"}:(k=h.size,k/2),mo:g||v&&v.selectedOpacityFn?{type:\"identity\",property:\"mo\"}:m(h.opacity)};var k}(e);E.geojson=P.geojson,E.layout.visibility=\"visible\",a.extendFlat(E.paint,{\"circle-color\":P.mcc,\"circle-radius\":P.mrc,\"circle-opacity\":P.mo})}if((A||T)&&(C.geojson=function(t,e){for(var r=e._fullLayout,n=t[0].trace,i=n.marker||{},o=i.symbol,s=i.angle,l=\"circle\"!==o?m(o):v,c=\"auto\"!==s?m(s,!0):v,h=u.hasText(n)?m(n.text):v,g=[],x=0;x<t.length;x++){var b=t[x];if(!y(b.lonlat)){var _,w=n.texttemplate;if(w){var T=Array.isArray(w)?w[x]||\"\":w,k=n._module.formatLabels(b,n,r),A={};f(A,n,b.i);var M=n._meta||{};_=a.texttemplateString(T,k,r._d3locale,A,b,M)}else _=h(x);_&&(_=_.replace(p,\"\").replace(d,\"\\n\")),g.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:b.lonlat},properties:{symbol:l(x),angle:c(x),text:_}})}}return{type:\"FeatureCollection\",features:g}}(e,t),a.extendFlat(C.layout,{visibility:\"visible\",\"icon-image\":\"{symbol}-15\",\"text-field\":\"{text}\"}),A&&(a.extendFlat(C.layout,{\"icon-size\":i.marker.size/10}),\"angle\"in i.marker&&\"auto\"!==i.marker.angle&&a.extendFlat(C.layout,{\"icon-rotate\":{type:\"identity\",property:\"angle\"},\"icon-rotation-alignment\":\"map\"}),C.layout[\"icon-allow-overlap\"]=i.marker.allowoverlap,a.extendFlat(C.paint,{\"icon-opacity\":i.opacity*i.marker.opacity,\"icon-color\":i.marker.color})),T)){var I=(i.marker||{}).size,z=h(i.textposition,I);a.extendFlat(C.layout,{\"text-size\":i.textfont.size,\"text-anchor\":z.anchor,\"text-offset\":z.offset}),a.extendFlat(C.paint,{\"text-color\":i.textfont.color,\"text-opacity\":i.opacity})}return L}},{\"../../components/colorscale\":607,\"../../components/drawing\":617,\"../../components/fx/helpers\":631,\"../../constants/numerical\":704,\"../../lib\":728,\"../../lib/geojson_utils\":723,\"../../lib/svg_text_utils\":752,\"../../plots/mapbox/convert_text_opts\":832,\"../scatter/make_bubble_size_func\":1151,\"../scatter/subtypes\":1158,\"fast-isnumeric\":236}],1200:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../scatter/subtypes\"),i=t(\"../scatter/marker_defaults\"),o=t(\"../scatter/line_defaults\"),s=t(\"../scatter/text_defaults\"),l=t(\"../scatter/fillcolor_defaults\"),c=t(\"./attributes\");e.exports=function(t,e,r,u){function h(r,a){return n.coerce(t,e,c,r,a)}if(function(t,e,r){var n=r(\"lon\")||[],a=r(\"lat\")||[],i=Math.min(n.length,a.length);return e._length=i,i}(0,e,h)){if(h(\"text\"),h(\"texttemplate\"),h(\"hovertext\"),h(\"hovertemplate\"),h(\"mode\"),h(\"below\"),a.hasLines(e)&&(o(t,e,r,u,h,{noDash:!0}),h(\"connectgaps\")),a.hasMarkers(e)){i(t,e,r,u,h,{noLine:!0}),h(\"marker.allowoverlap\"),h(\"marker.angle\");var f=e.marker;\"circle\"!==f.symbol&&(n.isArrayOrTypedArray(f.size)&&(f.size=f.size[0]),n.isArrayOrTypedArray(f.color)&&(f.color=f.color[0]))}a.hasText(e)&&s(t,e,u,h,{noSelect:!0}),h(\"fill\"),\"none\"!==e.fill&&l(t,e,r,h),n.coerceSelectionMarkerOpacity(e,h)}else e.visible=!1}},{\"../../lib\":728,\"../scatter/fillcolor_defaults\":1142,\"../scatter/line_defaults\":1147,\"../scatter/marker_defaults\":1153,\"../scatter/subtypes\":1158,\"../scatter/text_defaults\":1159,\"./attributes\":1198}],1201:[function(t,e,r){\"use strict\";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t}},{}],1202:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\");e.exports=function(t,e,r){var a={},i=r[e.subplot]._subplot.mockAxis,o=t.lonlat;return a.lonLabel=n.tickText(i,i.c2l(o[0]),!0).text,a.latLabel=n.tickText(i,i.c2l(o[1]),!0).text,a}},{\"../../plots/cartesian/axes\":776}],1203:[function(t,e,r){\"use strict\";var n=t(\"../../components/fx\"),a=t(\"../../lib\"),i=t(\"../scatter/get_trace_color\"),o=a.fillText,s=t(\"../../constants/numerical\").BADNUM;e.exports=function(t,e,r){var l=t.cd,c=l[0].trace,u=t.xa,h=t.ya,f=t.subplot,p=360*(e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),d=e-p;if(n.getClosest(l,(function(t){var e=t.lonlat;if(e[0]===s)return 1/0;var n=a.modHalf(e[0],360),i=e[1],o=f.project([n,i]),l=o.x-u.c2p([d,i]),c=o.y-h.c2p([n,r]),p=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(l*l+c*c)-p,1-3/p)}),t),!1!==t.index){var g=l[t.index],m=g.lonlat,v=[a.modHalf(m[0],360)+p,m[1]],y=u.c2p(v),x=h.c2p(v),b=g.mrc||1;t.x0=y-b,t.x1=y+b,t.y0=x-b,t.y1=x+b;var _={};_[c.subplot]={_subplot:f};var w=c._module.formatLabels(g,c,_);return t.lonLabel=w.lonLabel,t.latLabel=w.latLabel,t.color=i(c,g),t.extraText=function(t,e,r){if(t.hovertemplate)return;var n=(e.hi||t.hoverinfo).split(\"+\"),a=-1!==n.indexOf(\"all\"),i=-1!==n.indexOf(\"lon\"),s=-1!==n.indexOf(\"lat\"),l=e.lonlat,c=[];function u(t){return t+\"\\xb0\"}a||i&&s?c.push(\"(\"+u(l[0])+\", \"+u(l[1])+\")\"):i?c.push(r.lon+u(l[0])):s&&c.push(r.lat+u(l[1]));(a||-1!==n.indexOf(\"text\"))&&o(e,t,c);return c.join(\"<br>\")}(c,g,l[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}}},{\"../../components/fx\":635,\"../../constants/numerical\":704,\"../../lib\":728,\"../scatter/get_trace_color\":1144}],1204:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../scatter/marker_colorbar\"),formatLabels:t(\"./format_labels\"),calc:t(\"../scattergeo/calc\"),plot:t(\"./plot\"),hoverPoints:t(\"./hover\"),eventData:t(\"./event_data\"),selectPoints:t(\"./select\"),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.update(e)},moduleType:\"trace\",name:\"scattermapbox\",basePlotModule:t(\"../../plots/mapbox\"),categories:[\"mapbox\",\"gl\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}},{\"../../plots/mapbox\":833,\"../scatter/marker_colorbar\":1152,\"../scattergeo/calc\":1176,\"./attributes\":1198,\"./defaults\":1200,\"./event_data\":1201,\"./format_labels\":1202,\"./hover\":1203,\"./plot\":1205,\"./select\":1206}],1205:[function(t,e,r){\"use strict\";var n=t(\"./convert\"),a=t(\"../../plots/mapbox/constants\").traceLayerPrefix,i=[\"fill\",\"line\",\"circle\",\"symbol\"];function o(t,e){this.type=\"scattermapbox\",this.subplot=t,this.uid=e,this.sourceIds={fill:\"source-\"+e+\"-fill\",line:\"source-\"+e+\"-line\",circle:\"source-\"+e+\"-circle\",symbol:\"source-\"+e+\"-symbol\"},this.layerIds={fill:a+e+\"-fill\",line:a+e+\"-line\",circle:a+e+\"-circle\",symbol:a+e+\"-symbol\"},this.below=null}var s=o.prototype;s.addSource=function(t,e){this.subplot.map.addSource(this.sourceIds[t],{type:\"geojson\",data:e.geojson})},s.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},s.addLayer=function(t,e,r){this.subplot.addLayer({type:t,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint},r)},s.update=function(t){var e,r,a,o=this.subplot,s=o.map,l=n(o.gd,t),c=o.belowLookup[\"trace-\"+this.uid];if(c!==this.below){for(e=i.length-1;e>=0;e--)r=i[e],s.removeLayer(this.layerIds[r]);for(e=0;e<i.length;e++)a=l[r=i[e]],this.addLayer(r,a,c);this.below=c}for(e=0;e<i.length;e++)a=l[r=i[e]],o.setOptions(this.layerIds[r],\"setLayoutProperty\",a.layout),\"visible\"===a.layout.visibility&&(this.setSourceData(r,a),o.setOptions(this.layerIds[r],\"setPaintProperty\",a.paint));t[0].trace._glTrace=this},s.dispose=function(){for(var t=this.subplot.map,e=i.length-1;e>=0;e--){var r=i[e];t.removeLayer(this.layerIds[r]),t.removeSource(this.sourceIds[r])}},e.exports=function(t,e){for(var r=e[0].trace,a=new o(t,r.uid),s=n(t.gd,e),l=a.below=t.belowLookup[\"trace-\"+r.uid],c=0;c<i.length;c++){var u=i[c],h=s[u];a.addSource(u,h),a.addLayer(u,h,l)}return e[0].trace._glTrace=a,a}},{\"../../plots/mapbox/constants\":831,\"./convert\":1199}],1206:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../scatter/subtypes\"),i=t(\"../../constants/numerical\").BADNUM;e.exports=function(t,e){var r,o=t.cd,s=t.xaxis,l=t.yaxis,c=[],u=o[0].trace;if(!a.hasMarkers(u))return[];if(!1===e)for(r=0;r<o.length;r++)o[r].selected=0;else for(r=0;r<o.length;r++){var h=o[r],f=h.lonlat;if(f[0]!==i){var p=[n.modHalf(f[0],360),f[1]],d=[s.c2p(p),l.c2p(p)];e.contains(d,null,r,t)?(c.push({pointNumber:r,lon:f[0],lat:f[1]}),h.selected=1):h.selected=0}}return c}},{\"../../constants/numerical\":704,\"../../lib\":728,\"../scatter/subtypes\":1158}],1207:[function(t,e,r){\"use strict\";var n=t(\"../../plots/template_attributes\").hovertemplateAttrs,a=t(\"../../plots/template_attributes\").texttemplateAttrs,i=t(\"../../lib/extend\").extendFlat,o=t(\"../scatter/attributes\"),s=t(\"../../plots/attributes\"),l=o.line;e.exports={mode:o.mode,r:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},theta:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},r0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dr:{valType:\"number\",dflt:1,editType:\"calc\"},theta0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dtheta:{valType:\"number\",editType:\"calc\"},thetaunit:{valType:\"enumerated\",values:[\"radians\",\"degrees\",\"gradians\"],dflt:\"degrees\",editType:\"calc+clearAxisTypes\"},text:o.text,texttemplate:a({editType:\"plot\"},{keys:[\"r\",\"theta\",\"text\"]}),hovertext:o.hovertext,line:{color:l.color,width:l.width,dash:l.dash,shape:i({},l.shape,{values:[\"linear\",\"spline\"]}),smoothing:l.smoothing,editType:\"calc\"},connectgaps:o.connectgaps,marker:o.marker,cliponaxis:i({},o.cliponaxis,{dflt:!1}),textposition:o.textposition,textfont:o.textfont,fill:i({},o.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:o.fillcolor,hoverinfo:i({},s.hoverinfo,{flags:[\"r\",\"theta\",\"text\",\"name\"]}),hoveron:o.hoveron,hovertemplate:n(),selected:o.selected,unselected:o.unselected}},{\"../../lib/extend\":719,\"../../plots/attributes\":773,\"../../plots/template_attributes\":854,\"../scatter/attributes\":1134}],1208:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"../../constants/numerical\").BADNUM,i=t(\"../../plots/cartesian/axes\"),o=t(\"../scatter/colorscale_calc\"),s=t(\"../scatter/arrays_to_calcdata\"),l=t(\"../scatter/calc_selection\"),c=t(\"../scatter/calc\").calcMarkerSize;e.exports=function(t,e){for(var r=t._fullLayout,u=e.subplot,h=r[u].radialaxis,f=r[u].angularaxis,p=h.makeCalcdata(e,\"r\"),d=f.makeCalcdata(e,\"theta\"),g=e._length,m=new Array(g),v=0;v<g;v++){var y=p[v],x=d[v],b=m[v]={};n(y)&&n(x)?(b.r=y,b.theta=x):b.r=a}var _=c(e,g);return e._extremes.x=i.findExtremes(h,p,{ppad:_}),o(t,e),s(m,e),l(m,e),m}},{\"../../constants/numerical\":704,\"../../plots/cartesian/axes\":776,\"../scatter/arrays_to_calcdata\":1133,\"../scatter/calc\":1135,\"../scatter/calc_selection\":1136,\"../scatter/colorscale_calc\":1137,\"fast-isnumeric\":236}],1209:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../scatter/subtypes\"),i=t(\"../scatter/marker_defaults\"),o=t(\"../scatter/line_defaults\"),s=t(\"../scatter/line_shape_defaults\"),l=t(\"../scatter/text_defaults\"),c=t(\"../scatter/fillcolor_defaults\"),u=t(\"../scatter/constants\").PTS_LINESONLY,h=t(\"./attributes\");function f(t,e,r,n){var a,i=n(\"r\"),o=n(\"theta\");if(i)o?a=Math.min(i.length,o.length):(a=i.length,n(\"theta0\"),n(\"dtheta\"));else{if(!o)return 0;a=e.theta.length,n(\"r0\"),n(\"dr\")}return e._length=a,a}e.exports={handleRThetaDefaults:f,supplyDefaults:function(t,e,r,p){function d(r,a){return n.coerce(t,e,h,r,a)}var g=f(t,e,p,d);if(g){d(\"thetaunit\"),d(\"mode\",g<u?\"lines+markers\":\"lines\"),d(\"text\"),d(\"hovertext\"),\"fills\"!==e.hoveron&&d(\"hovertemplate\"),a.hasLines(e)&&(o(t,e,r,p,d),s(t,e,d),d(\"connectgaps\")),a.hasMarkers(e)&&i(t,e,r,p,d,{gradient:!0}),a.hasText(e)&&(d(\"texttemplate\"),l(t,e,p,d));var m=[];(a.hasMarkers(e)||a.hasText(e))&&(d(\"cliponaxis\"),d(\"marker.maxdisplayed\"),m.push(\"points\")),d(\"fill\"),\"none\"!==e.fill&&(c(t,e,r,d),a.hasLines(e)||s(t,e,d)),\"tonext\"!==e.fill&&\"toself\"!==e.fill||m.push(\"fills\"),d(\"hoveron\",m.join(\"+\")||\"points\"),n.coerceSelectionMarkerOpacity(e,d)}else e.visible=!1}}},{\"../../lib\":728,\"../scatter/constants\":1138,\"../scatter/fillcolor_defaults\":1142,\"../scatter/line_defaults\":1147,\"../scatter/line_shape_defaults\":1149,\"../scatter/marker_defaults\":1153,\"../scatter/subtypes\":1158,\"../scatter/text_defaults\":1159,\"./attributes\":1207}],1210:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\");e.exports=function(t,e,r){var i,o,s={},l=r[e.subplot]._subplot;l?(i=l.radialAxis,o=l.angularAxis):(i=(l=r[e.subplot]).radialaxis,o=l.angularaxis);var c=i.c2l(t.r);s.rLabel=a.tickText(i,c,!0).text;var u=\"degrees\"===o.thetaunit?n.rad2deg(t.theta):t.theta;return s.thetaLabel=a.tickText(o,u,!0).text,s}},{\"../../lib\":728,\"../../plots/cartesian/axes\":776}],1211:[function(t,e,r){\"use strict\";var n=t(\"../scatter/hover\");function a(t,e,r,n){var a=r.radialAxis,i=r.angularAxis;a._hovertitle=\"r\",i._hovertitle=\"\\u03b8\";var o={};o[e.subplot]={_subplot:r};var s=e._module.formatLabels(t,e,o);n.rLabel=s.rLabel,n.thetaLabel=s.thetaLabel;var l=t.hi||e.hoverinfo,c=[];function u(t,e){c.push(t._hovertitle+\": \"+e)}if(!e.hovertemplate){var h=l.split(\"+\");-1!==h.indexOf(\"all\")&&(h=[\"r\",\"theta\",\"text\"]),-1!==h.indexOf(\"r\")&&u(a,n.rLabel),-1!==h.indexOf(\"theta\")&&u(i,n.thetaLabel),-1!==h.indexOf(\"text\")&&n.text&&(c.push(n.text),delete n.text),n.extraText=c.join(\"<br>\")}}e.exports={hoverPoints:function(t,e,r,i){var o=n(t,e,r,i);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,c=s.cd[s.index],u=s.trace;if(l.isPtInside(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,a(c,u,l,s),s.hovertemplate=u.hovertemplate,o}},makeHoverPointText:a}},{\"../scatter/hover\":1145}],1212:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"scatterpolar\",basePlotModule:t(\"../../plots/polar\"),categories:[\"polar\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\").supplyDefaults,colorbar:t(\"../scatter/marker_colorbar\"),formatLabels:t(\"./format_labels\"),calc:t(\"./calc\"),plot:t(\"./plot\"),style:t(\"../scatter/style\").style,styleOnSelect:t(\"../scatter/style\").styleOnSelect,hoverPoints:t(\"./hover\").hoverPoints,selectPoints:t(\"../scatter/select\"),meta:{}}},{\"../../plots/polar\":842,\"../scatter/marker_colorbar\":1152,\"../scatter/select\":1155,\"../scatter/style\":1157,\"./attributes\":1207,\"./calc\":1208,\"./defaults\":1209,\"./format_labels\":1210,\"./hover\":1211,\"./plot\":1213}],1213:[function(t,e,r){\"use strict\";var n=t(\"../scatter/plot\"),a=t(\"../../constants/numerical\").BADNUM;e.exports=function(t,e,r){for(var i=e.layers.frontplot.select(\"g.scatterlayer\"),o={xaxis:e.xaxis,yaxis:e.yaxis,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},s=e.radialAxis,l=e.angularAxis,c=0;c<r.length;c++)for(var u=r[c],h=0;h<u.length;h++){var f=u[h],p=f.r;if(p===a)f.x=f.y=a;else{var d=s.c2g(p),g=l.c2g(f.theta);f.x=d*Math.cos(g),f.y=d*Math.sin(g)}}n(t,o,r,i)}},{\"../../constants/numerical\":704,\"../scatter/plot\":1154}],1214:[function(t,e,r){\"use strict\";var n=t(\"../scatterpolar/attributes\"),a=t(\"../scattergl/attributes\"),i=t(\"../../plots/template_attributes\").texttemplateAttrs;e.exports={mode:n.mode,r:n.r,theta:n.theta,r0:n.r0,dr:n.dr,theta0:n.theta0,dtheta:n.dtheta,thetaunit:n.thetaunit,text:n.text,texttemplate:i({editType:\"plot\"},{keys:[\"r\",\"theta\",\"text\"]}),hovertext:n.hovertext,hovertemplate:n.hovertemplate,line:a.line,connectgaps:a.connectgaps,marker:a.marker,fill:a.fill,fillcolor:a.fillcolor,textposition:a.textposition,textfont:a.textfont,hoverinfo:n.hoverinfo,selected:n.selected,unselected:n.unselected}},{\"../../plots/template_attributes\":854,\"../scattergl/attributes\":1185,\"../scatterpolar/attributes\":1207}],1215:[function(t,e,r){\"use strict\";var n=t(\"../scatter/colorscale_calc\"),a=t(\"../scatter/calc\").calcMarkerSize,i=t(\"../scattergl/convert\"),o=t(\"../../plots/cartesian/axes\"),s=t(\"../scattergl/constants\").TOO_MANY_POINTS;e.exports=function(t,e){var r=t._fullLayout,l=e.subplot,c=r[l].radialaxis,u=r[l].angularaxis,h=e._r=c.makeCalcdata(e,\"r\"),f=e._theta=u.makeCalcdata(e,\"theta\"),p=e._length,d={};p<h.length&&(h=h.slice(0,p)),p<f.length&&(f=f.slice(0,p)),d.r=h,d.theta=f,n(t,e);var g,m=d.opts=i.style(t,e);return p<s?g=a(e,p):m.marker&&(g=2*(m.marker.sizeAvg||Math.max(m.marker.size,3))),e._extremes.x=o.findExtremes(c,h,{ppad:g}),[{x:!1,y:!1,t:d,trace:e}]}},{\"../../plots/cartesian/axes\":776,\"../scatter/calc\":1135,\"../scatter/colorscale_calc\":1137,\"../scattergl/constants\":1187,\"../scattergl/convert\":1188}],1216:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../scatter/subtypes\"),i=t(\"../scatterpolar/defaults\").handleRThetaDefaults,o=t(\"../scatter/marker_defaults\"),s=t(\"../scatter/line_defaults\"),l=t(\"../scatter/text_defaults\"),c=t(\"../scatter/fillcolor_defaults\"),u=t(\"../scatter/constants\").PTS_LINESONLY,h=t(\"./attributes\");e.exports=function(t,e,r,f){function p(r,a){return n.coerce(t,e,h,r,a)}var d=i(t,e,f,p);d?(p(\"thetaunit\"),p(\"mode\",d<u?\"lines+markers\":\"lines\"),p(\"text\"),p(\"hovertext\"),\"fills\"!==e.hoveron&&p(\"hovertemplate\"),a.hasLines(e)&&(s(t,e,r,f,p),p(\"connectgaps\")),a.hasMarkers(e)&&o(t,e,r,f,p),a.hasText(e)&&(p(\"texttemplate\"),l(t,e,f,p)),p(\"fill\"),\"none\"!==e.fill&&c(t,e,r,p),n.coerceSelectionMarkerOpacity(e,p)):e.visible=!1}},{\"../../lib\":728,\"../scatter/constants\":1138,\"../scatter/fillcolor_defaults\":1142,\"../scatter/line_defaults\":1147,\"../scatter/marker_defaults\":1153,\"../scatter/subtypes\":1158,\"../scatter/text_defaults\":1159,\"../scatterpolar/defaults\":1209,\"./attributes\":1214}],1217:[function(t,e,r){\"use strict\";var n=t(\"../scatterpolar/format_labels\");e.exports=function(t,e,r){var a=t.i;return\"r\"in t||(t.r=e._r[a]),\"theta\"in t||(t.theta=e._theta[a]),n(t,e,r)}},{\"../scatterpolar/format_labels\":1210}],1218:[function(t,e,r){\"use strict\";var n=t(\"../scattergl/hover\"),a=t(\"../scatterpolar/hover\").makeHoverPointText;e.exports={hoverPoints:function(t,e,r,i){var o=t.cd[0].t,s=o.r,l=o.theta,c=n.hoverPoints(t,e,r,i);if(c&&!1!==c[0].index){var u=c[0];if(void 0===u.index)return c;var h=t.subplot,f=u.cd[u.index],p=u.trace;if(f.r=s[u.index],f.theta=l[u.index],h.isPtInside(f))return u.xLabelVal=void 0,u.yLabelVal=void 0,a(f,p,h,u),c}}}},{\"../scattergl/hover\":1193,\"../scatterpolar/hover\":1211}],1219:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"scatterpolargl\",basePlotModule:t(\"../../plots/polar\"),categories:[\"gl\",\"regl\",\"polar\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../scatter/marker_colorbar\"),formatLabels:t(\"./format_labels\"),calc:t(\"./calc\"),plot:t(\"./plot\"),hoverPoints:t(\"./hover\").hoverPoints,selectPoints:t(\"../scattergl/select\"),meta:{}}},{\"../../plots/polar\":842,\"../scatter/marker_colorbar\":1152,\"../scattergl/select\":1197,\"./attributes\":1214,\"./calc\":1215,\"./defaults\":1216,\"./format_labels\":1217,\"./hover\":1218,\"./plot\":1220}],1220:[function(t,e,r){\"use strict\";var n=t(\"point-cluster\"),a=t(\"fast-isnumeric\"),i=t(\"../scattergl/plot\"),o=t(\"../scattergl/scene_update\"),s=t(\"../scattergl/convert\"),l=t(\"../../lib\"),c=t(\"../scattergl/constants\").TOO_MANY_POINTS;e.exports=function(t,e,r){if(r.length){var u=e.radialAxis,h=e.angularAxis,f=o(t,e);return r.forEach((function(r){if(r&&r[0]&&r[0].trace){var i,o=r[0],p=o.trace,d=o.t,g=p._length,m=d.r,v=d.theta,y=d.opts,x=m.slice(),b=v.slice();for(i=0;i<m.length;i++)e.isPtInside({r:m[i],theta:v[i]})||(x[i]=NaN,b[i]=NaN);var _=new Array(2*g),w=Array(g),T=Array(g);for(i=0;i<g;i++){var k,A,M=x[i];if(a(M)){var S=u.c2g(M),E=h.c2g(b[i],p.thetaunit);k=S*Math.cos(E),A=S*Math.sin(E)}else k=A=NaN;w[i]=_[2*i]=k,T[i]=_[2*i+1]=A}d.tree=n(_),y.marker&&g>=c&&(y.marker.cluster=d.tree),y.marker&&(y.markerSel.positions=y.markerUnsel.positions=y.marker.positions=_),y.line&&_.length>1&&l.extendFlat(y.line,s.linePositions(t,p,_)),y.text&&(l.extendFlat(y.text,{positions:_},s.textPosition(t,p,y.text,y.marker)),l.extendFlat(y.textSel,{positions:_},s.textPosition(t,p,y.text,y.markerSel)),l.extendFlat(y.textUnsel,{positions:_},s.textPosition(t,p,y.text,y.markerUnsel))),y.fill&&!f.fill2d&&(f.fill2d=!0),y.marker&&!f.scatter2d&&(f.scatter2d=!0),y.line&&!f.line2d&&(f.line2d=!0),y.text&&!f.glText&&(f.glText=!0),f.lineOptions.push(y.line),f.fillOptions.push(y.fill),f.markerOptions.push(y.marker),f.markerSelectedOptions.push(y.markerSel),f.markerUnselectedOptions.push(y.markerUnsel),f.textOptions.push(y.text),f.textSelectedOptions.push(y.textSel),f.textUnselectedOptions.push(y.textUnsel),f.selectBatch.push([]),f.unselectBatch.push([]),d.x=w,d.y=T,d.rawx=w,d.rawy=T,d.r=m,d.theta=v,d.positions=_,d._scene=f,d.index=f.count,f.count++}})),i(t,e,r)}}},{\"../../lib\":728,\"../scattergl/constants\":1187,\"../scattergl/convert\":1188,\"../scattergl/plot\":1195,\"../scattergl/scene_update\":1196,\"fast-isnumeric\":236,\"point-cluster\":467}],1221:[function(t,e,r){\"use strict\";var n=t(\"../../plots/template_attributes\").hovertemplateAttrs,a=t(\"../../plots/template_attributes\").texttemplateAttrs,i=t(\"../scatter/attributes\"),o=t(\"../../plots/attributes\"),s=t(\"../../components/colorscale/attributes\"),l=t(\"../../components/drawing/attributes\").dash,c=t(\"../../lib/extend\").extendFlat,u=i.marker,h=i.line,f=u.line;e.exports={a:{valType:\"data_array\",editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},c:{valType:\"data_array\",editType:\"calc\"},sum:{valType:\"number\",dflt:0,min:0,editType:\"calc\"},mode:c({},i.mode,{dflt:\"markers\"}),text:c({},i.text,{}),texttemplate:a({editType:\"plot\"},{keys:[\"a\",\"b\",\"c\",\"text\"]}),hovertext:c({},i.hovertext,{}),line:{color:h.color,width:h.width,dash:l,shape:c({},h.shape,{values:[\"linear\",\"spline\"]}),smoothing:h.smoothing,editType:\"calc\"},connectgaps:i.connectgaps,cliponaxis:i.cliponaxis,fill:c({},i.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:i.fillcolor,marker:c({symbol:u.symbol,opacity:u.opacity,maxdisplayed:u.maxdisplayed,size:u.size,sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,line:c({width:f.width,editType:\"calc\"},s(\"marker.line\")),gradient:u.gradient,editType:\"calc\"},s(\"marker\")),textfont:i.textfont,textposition:i.textposition,selected:i.selected,unselected:i.unselected,hoverinfo:c({},o.hoverinfo,{flags:[\"a\",\"b\",\"c\",\"text\",\"name\"]}),hoveron:i.hoveron,hovertemplate:n()}},{\"../../components/colorscale/attributes\":602,\"../../components/drawing/attributes\":616,\"../../lib/extend\":719,\"../../plots/attributes\":773,\"../../plots/template_attributes\":854,\"../scatter/attributes\":1134}],1222:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),a=t(\"../scatter/colorscale_calc\"),i=t(\"../scatter/arrays_to_calcdata\"),o=t(\"../scatter/calc_selection\"),s=t(\"../scatter/calc\").calcMarkerSize,l=[\"a\",\"b\",\"c\"],c={a:[\"b\",\"c\"],b:[\"a\",\"c\"],c:[\"a\",\"b\"]};e.exports=function(t,e){var r,u,h,f,p,d,g=t._fullLayout[e.subplot].sum,m=e.sum||g,v={a:e.a,b:e.b,c:e.c};for(r=0;r<l.length;r++)if(!v[h=l[r]]){for(p=v[c[h][0]],d=v[c[h][1]],f=new Array(p.length),u=0;u<p.length;u++)f[u]=m-p[u]-d[u];v[h]=f}var y,x,b,_,w,T,k=e._length,A=new Array(k);for(r=0;r<k;r++)y=v.a[r],x=v.b[r],b=v.c[r],n(y)&&n(x)&&n(b)?(1!==(_=g/((y=+y)+(x=+x)+(b=+b)))&&(y*=_,x*=_,b*=_),T=y,w=b-x,A[r]={x:w,y:T,a:y,b:x,c:b}):A[r]={x:!1,y:!1};return s(e,k),a(t,e),i(A,e),o(A,e),A}},{\"../scatter/arrays_to_calcdata\":1133,\"../scatter/calc\":1135,\"../scatter/calc_selection\":1136,\"../scatter/colorscale_calc\":1137,\"fast-isnumeric\":236}],1223:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../scatter/constants\"),i=t(\"../scatter/subtypes\"),o=t(\"../scatter/marker_defaults\"),s=t(\"../scatter/line_defaults\"),l=t(\"../scatter/line_shape_defaults\"),c=t(\"../scatter/text_defaults\"),u=t(\"../scatter/fillcolor_defaults\"),h=t(\"./attributes\");e.exports=function(t,e,r,f){function p(r,a){return n.coerce(t,e,h,r,a)}var d,g=p(\"a\"),m=p(\"b\"),v=p(\"c\");if(g?(d=g.length,m?(d=Math.min(d,m.length),v&&(d=Math.min(d,v.length))):d=v?Math.min(d,v.length):0):m&&v&&(d=Math.min(m.length,v.length)),d){e._length=d,p(\"sum\"),p(\"text\"),p(\"hovertext\"),\"fills\"!==e.hoveron&&p(\"hovertemplate\"),p(\"mode\",d<a.PTS_LINESONLY?\"lines+markers\":\"lines\"),i.hasLines(e)&&(s(t,e,r,f,p),l(t,e,p),p(\"connectgaps\")),i.hasMarkers(e)&&o(t,e,r,f,p,{gradient:!0}),i.hasText(e)&&(p(\"texttemplate\"),c(t,e,f,p));var y=[];(i.hasMarkers(e)||i.hasText(e))&&(p(\"cliponaxis\"),p(\"marker.maxdisplayed\"),y.push(\"points\")),p(\"fill\"),\"none\"!==e.fill&&(u(t,e,r,p),i.hasLines(e)||l(t,e,p)),\"tonext\"!==e.fill&&\"toself\"!==e.fill||y.push(\"fills\"),p(\"hoveron\",y.join(\"+\")||\"points\"),n.coerceSelectionMarkerOpacity(e,p)}else e.visible=!1}},{\"../../lib\":728,\"../scatter/constants\":1138,\"../scatter/fillcolor_defaults\":1142,\"../scatter/line_defaults\":1147,\"../scatter/line_shape_defaults\":1149,\"../scatter/marker_defaults\":1153,\"../scatter/subtypes\":1158,\"../scatter/text_defaults\":1159,\"./attributes\":1221}],1224:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,a){if(e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),n[a]){var i=n[a];t.a=i.a,t.b=i.b,t.c=i.c}else t.a=e.a,t.b=e.b,t.c=e.c;return t}},{}],1225:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\");e.exports=function(t,e,r){var a={},i=r[e.subplot]._subplot;return a.aLabel=n.tickText(i.aaxis,t.a,!0).text,a.bLabel=n.tickText(i.baxis,t.b,!0).text,a.cLabel=n.tickText(i.caxis,t.c,!0).text,a}},{\"../../plots/cartesian/axes\":776}],1226:[function(t,e,r){\"use strict\";var n=t(\"../scatter/hover\");e.exports=function(t,e,r,a){var i=n(t,e,r,a);if(i&&!1!==i[0].index){var o=i[0];if(void 0===o.index){var s=1-o.y0/t.ya._length,l=t.xa._length,c=l*s/2,u=l-c;return o.x0=Math.max(Math.min(o.x0,u),c),o.x1=Math.max(Math.min(o.x1,u),c),i}var h=o.cd[o.index],f=o.trace,p=o.subplot;o.a=h.a,o.b=h.b,o.c=h.c,o.xLabelVal=void 0,o.yLabelVal=void 0;var d={};d[f.subplot]={_subplot:p};var g=f._module.formatLabels(h,f,d);o.aLabel=g.aLabel,o.bLabel=g.bLabel,o.cLabel=g.cLabel;var m=h.hi||f.hoverinfo,v=[];if(!f.hovertemplate){var y=m.split(\"+\");-1!==y.indexOf(\"all\")&&(y=[\"a\",\"b\",\"c\"]),-1!==y.indexOf(\"a\")&&x(p.aaxis,o.aLabel),-1!==y.indexOf(\"b\")&&x(p.baxis,o.bLabel),-1!==y.indexOf(\"c\")&&x(p.caxis,o.cLabel)}return o.extraText=v.join(\"<br>\"),o.hovertemplate=f.hovertemplate,i}function x(t,e){v.push(t._hovertitle+\": \"+e)}}},{\"../scatter/hover\":1145}],1227:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../scatter/marker_colorbar\"),formatLabels:t(\"./format_labels\"),calc:t(\"./calc\"),plot:t(\"./plot\"),style:t(\"../scatter/style\").style,styleOnSelect:t(\"../scatter/style\").styleOnSelect,hoverPoints:t(\"./hover\"),selectPoints:t(\"../scatter/select\"),eventData:t(\"./event_data\"),moduleType:\"trace\",name:\"scatterternary\",basePlotModule:t(\"../../plots/ternary\"),categories:[\"ternary\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}},{\"../../plots/ternary\":855,\"../scatter/marker_colorbar\":1152,\"../scatter/select\":1155,\"../scatter/style\":1157,\"./attributes\":1221,\"./calc\":1222,\"./defaults\":1223,\"./event_data\":1224,\"./format_labels\":1225,\"./hover\":1226,\"./plot\":1228}],1228:[function(t,e,r){\"use strict\";var n=t(\"../scatter/plot\");e.exports=function(t,e,r){var a=e.plotContainer;a.select(\".scatterlayer\").selectAll(\"*\").remove();var i={xaxis:e.xaxis,yaxis:e.yaxis,plot:a,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null},o=e.layers.frontplot.select(\"g.scatterlayer\");n(t,i,r,o)}},{\"../scatter/plot\":1154}],1229:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),a=t(\"../../components/colorscale/attributes\"),i=t(\"../../plots/template_attributes\").hovertemplateAttrs,o=t(\"../scattergl/attributes\"),s=t(\"../../plots/cartesian/constants\").idRegex,l=t(\"../../plot_api/plot_template\").templatedArray,c=t(\"../../lib/extend\").extendFlat,u=n.marker,h=u.line,f=c(a(\"marker.line\",{editTypeOverride:\"calc\"}),{width:c({},h.width,{editType:\"calc\"}),editType:\"calc\"}),p=c(a(\"marker\"),{symbol:u.symbol,size:c({},u.size,{editType:\"markerSize\"}),sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,opacity:u.opacity,colorbar:u.colorbar,line:f,editType:\"calc\"});function d(t){return{valType:\"info_array\",freeLength:!0,editType:\"calc\",items:{valType:\"subplotid\",regex:s[t],editType:\"plot\"}}}p.color.editType=p.cmin.editType=p.cmax.editType=\"style\",e.exports={dimensions:l(\"dimension\",{visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"},label:{valType:\"string\",editType:\"calc\"},values:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},axis:{type:{valType:\"enumerated\",values:[\"linear\",\"log\",\"date\",\"category\"],editType:\"calc+clearAxisTypes\"},matches:{valType:\"boolean\",dflt:!1,editType:\"calc\"},editType:\"calc+clearAxisTypes\"},editType:\"calc+clearAxisTypes\"}),text:c({},o.text,{}),hovertext:c({},o.hovertext,{}),hovertemplate:i(),marker:p,xaxes:d(\"x\"),yaxes:d(\"y\"),diagonal:{visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"},editType:\"calc\"},showupperhalf:{valType:\"boolean\",dflt:!0,editType:\"calc\"},showlowerhalf:{valType:\"boolean\",dflt:!0,editType:\"calc\"},selected:{marker:o.selected.marker,editType:\"calc\"},unselected:{marker:o.unselected.marker,editType:\"calc\"},opacity:o.opacity}},{\"../../components/colorscale/attributes\":602,\"../../lib/extend\":719,\"../../plot_api/plot_template\":766,\"../../plots/cartesian/constants\":782,\"../../plots/template_attributes\":854,\"../scatter/attributes\":1134,\"../scattergl/attributes\":1185}],1230:[function(t,e,r){\"use strict\";var n=t(\"regl-line2d\"),a=t(\"../../registry\"),i=t(\"../../lib/prepare_regl\"),o=t(\"../../plots/get_data\").getModuleCalcData,s=t(\"../../plots/cartesian\"),l=t(\"../../plots/cartesian/axis_ids\").getFromId,c=t(\"../../plots/cartesian/axes\").shouldShowZeroLine;function u(t,e,r){for(var n=r.matrixOptions.data.length,a=e._visibleDims,i=r.viewOpts.ranges=new Array(n),o=0;o<a.length;o++){var s=a[o],c=i[o]=new Array(4),u=l(t,e._diag[s][0]);u&&(c[0]=u.r2l(u.range[0]),c[2]=u.r2l(u.range[1]));var h=l(t,e._diag[s][1]);h&&(c[1]=h.r2l(h.range[0]),c[3]=h.r2l(h.range[1]))}r.selectBatch.length||r.unselectBatch.length?r.matrix.update({ranges:i},{ranges:i}):r.matrix.update({ranges:i})}function h(t){var e=t._fullLayout,r=e._glcanvas.data()[0].regl,a=e._splomGrid;a||(a=e._splomGrid=n(r)),a.update(function(t){var e,r=t._fullLayout,n=r._size,a=[0,0,r.width,r.height],i={};function o(t,e,r,n,o,s){var l=e[t+\"color\"],c=e[t+\"width\"],u=String(l+c);u in i?i[u].data.push(NaN,NaN,r,n,o,s):i[u]={data:[r,n,o,s],join:\"rect\",thickness:c,color:l,viewport:a,range:a,overlay:!1}}for(e in r._splomSubplots){var s,l,u=r._plots[e],h=u.xaxis,f=u.yaxis,p=h._gridVals,d=f._gridVals,g=n.b+f.domain[0]*n.h,m=-f._m,v=-m*f.r2l(f.range[0],f.calendar);if(h.showgrid)for(e=0;e<p.length;e++)s=h._offset+h.l2p(p[e].x),o(\"grid\",h,s,g,s,g+f._length);if(f.showgrid)for(e=0;e<d.length;e++)l=g+v+m*d[e].x,o(\"grid\",f,h._offset,l,h._offset+h._length,l);c(t,h,f)&&(s=h._offset+h.l2p(0),o(\"zeroline\",h,s,g,s,g+f._length)),c(t,f,h)&&(l=g+v+0,o(\"zeroline\",f,h._offset,l,h._offset+h._length,l))}var y=[];for(e in i)y.push(i[e]);return y}(t))}e.exports={name:\"splom\",attr:s.attr,attrRegex:s.attrRegex,layoutAttributes:s.layoutAttributes,supplyLayoutDefaults:s.supplyLayoutDefaults,drawFramework:s.drawFramework,plot:function(t){var e=t._fullLayout,r=a.getModule(\"splom\"),n=o(t.calcdata,r)[0];i(t,[\"ANGLE_instanced_arrays\",\"OES_element_index_uint\"])&&(e._hasOnlyLargeSploms&&h(t),r.plot(t,{},n))},drag:function(t){var e=t.calcdata,r=t._fullLayout;r._hasOnlyLargeSploms&&h(t);for(var n=0;n<e.length;n++){var a=e[n][0].trace,i=r._splomScenes[a.uid];\"splom\"===a.type&&i&&i.matrix&&u(t,a,i)}},updateGrid:h,clean:function(t,e,r,n){var a,i={};if(n._splomScenes){for(a=0;a<t.length;a++){var o=t[a];\"splom\"===o.type&&(i[o.uid]=1)}for(a=0;a<r.length;a++){var l=r[a];if(!i[l.uid]){var c=n._splomScenes[l.uid];c&&c.destroy&&c.destroy(),n._splomScenes[l.uid]=null,delete n._splomScenes[l.uid]}}}0===Object.keys(n._splomScenes||{}).length&&delete n._splomScenes,n._splomGrid&&!e._hasOnlyLargeSploms&&n._hasOnlyLargeSploms&&(n._splomGrid.destroy(),n._splomGrid=null,delete n._splomGrid),s.clean(t,e,r,n)},updateFx:s.updateFx,toSVG:s.toSVG}},{\"../../lib/prepare_regl\":741,\"../../plots/cartesian\":789,\"../../plots/cartesian/axes\":776,\"../../plots/cartesian/axis_ids\":779,\"../../plots/get_data\":813,\"../../registry\":859,\"regl-line2d\":489}],1231:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../plots/cartesian/axis_ids\"),i=t(\"../scatter/calc\").calcMarkerSize,o=t(\"../scatter/calc\").calcAxisExpansion,s=t(\"../scatter/colorscale_calc\"),l=t(\"../scattergl/convert\").markerSelection,c=t(\"../scattergl/convert\").markerStyle,u=t(\"./scene_update\"),h=t(\"../../constants/numerical\").BADNUM,f=t(\"../scattergl/constants\").TOO_MANY_POINTS;e.exports=function(t,e){var r,p,d,g,m,v,y=e.dimensions,x=e._length,b={},_=b.cdata=[],w=b.data=[],T=e._visibleDims=[];function k(t,r){for(var a=t.makeCalcdata({v:r.values,vcalendar:e.calendar},\"v\"),i=0;i<a.length;i++)a[i]=a[i]===h?NaN:a[i];_.push(a),w.push(\"log\"===t.type?n.simpleMap(a,t.c2l):a)}for(r=0;r<y.length;r++)if((d=y[r]).visible){if(g=a.getFromId(t,e._diag[r][0]),m=a.getFromId(t,e._diag[r][1]),g&&m&&g.type!==m.type){n.log(\"Skipping splom dimension \"+r+\" with conflicting axis types\");continue}g?(k(g,d),m&&\"category\"===m.type&&(m._categories=g._categories.slice())):k(m,d),T.push(r)}for(s(t,e),n.extendFlat(b,c(e)),v=_.length*x>f?2*(b.sizeAvg||Math.max(b.size,3)):i(e,x),p=0;p<T.length;p++)d=y[r=T[p]],g=a.getFromId(t,e._diag[r][0])||{},m=a.getFromId(t,e._diag[r][1])||{},o(t,e,g,m,_[p],_[p],v);var A=u(t,e);return A.matrix||(A.matrix=!0),A.matrixOptions=b,A.selectedOptions=l(e,e.selected),A.unselectedOptions=l(e,e.unselected),[{x:!1,y:!1,t:{},trace:e}]}},{\"../../constants/numerical\":704,\"../../lib\":728,\"../../plots/cartesian/axis_ids\":779,\"../scatter/calc\":1135,\"../scatter/colorscale_calc\":1137,\"../scattergl/constants\":1187,\"../scattergl/convert\":1188,\"./scene_update\":1238}],1232:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../plots/array_container_defaults\"),i=t(\"./attributes\"),o=t(\"../scatter/subtypes\"),s=t(\"../scatter/marker_defaults\"),l=t(\"../parcoords/merge_length\"),c=t(\"../scattergl/helpers\").isOpenSymbol;function u(t,e){function r(r,a){return n.coerce(t,e,i.dimensions,r,a)}r(\"label\");var a=r(\"values\");a&&a.length?r(\"visible\"):e.visible=!1,r(\"axis.type\"),r(\"axis.matches\")}e.exports=function(t,e,r,h){function f(r,a){return n.coerce(t,e,i,r,a)}var p=a(t,e,{name:\"dimensions\",handleItemDefaults:u}),d=f(\"diagonal.visible\"),g=f(\"showupperhalf\"),m=f(\"showlowerhalf\");if(l(e,p,\"values\")&&(d||g||m)){f(\"text\"),f(\"hovertext\"),f(\"hovertemplate\"),s(t,e,r,h,f);var v=c(e.marker.symbol),y=o.isBubble(e);f(\"marker.line.width\",v||y?1:0),function(t,e,r,n){var a,i,o=e.dimensions,s=o.length,l=e.showupperhalf,c=e.showlowerhalf,u=e.diagonal.visible,h=new Array(s),f=new Array(s);for(a=0;a<s;a++){var p=a?a+1:\"\";h[a]=\"x\"+p,f[a]=\"y\"+p}var d=n(\"xaxes\",h),g=n(\"yaxes\",f),m=e._diag=new Array(s);e._xaxes={},e._yaxes={};var v=[],y=[];function x(t,n,a,i){if(t){var o=t.charAt(0),s=r._splomAxes[o];if(e[\"_\"+o+\"axes\"][t]=1,i.push(t),!(t in s)){var l=s[t]={};a&&(l.label=a.label||\"\",a.visible&&a.axis&&(a.axis.type&&(l.type=a.axis.type),a.axis.matches&&(l.matches=n)))}}}var b=!u&&!c,_=!u&&!l;for(e._axesDim={},a=0;a<s;a++){var w=o[a],T=0===a,k=a===s-1,A=T&&b||k&&_?void 0:d[a],M=T&&_||k&&b?void 0:g[a];x(A,M,w,v),x(M,A,w,y),m[a]=[A,M],e._axesDim[A]=a,e._axesDim[M]=a}for(a=0;a<v.length;a++)for(i=0;i<y.length;i++){var S=v[a]+y[i];a>i&&l||a<i&&c?r._splomSubplots[S]=1:a!==i||!u&&c&&l||(r._splomSubplots[S]=1)}(!c||!u&&l&&c)&&(r._splomGridDflt.xside=\"bottom\",r._splomGridDflt.yside=\"left\")}(0,e,h,f),n.coerceSelectionMarkerOpacity(e,f)}else e.visible=!1}},{\"../../lib\":728,\"../../plots/array_container_defaults\":772,\"../parcoords/merge_length\":1105,\"../scatter/marker_defaults\":1153,\"../scatter/subtypes\":1158,\"../scattergl/helpers\":1192,\"./attributes\":1229}],1233:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../scatter/colorscale_calc\"),i=t(\"../scattergl/convert\").markerStyle;e.exports=function(t,e){var r=e.trace,o=t._fullLayout._splomScenes[r.uid];if(o){a(t,r),n.extendFlat(o.matrixOptions,i(r));var s=n.extendFlat({},o.matrixOptions,o.viewOpts);o.matrix.update(s,null)}}},{\"../../lib\":728,\"../scatter/colorscale_calc\":1137,\"../scattergl/convert\":1188}],1234:[function(t,e,r){\"use strict\";r.getDimIndex=function(t,e){for(var r=e._id,n={x:0,y:1}[r.charAt(0)],a=t._visibleDims,i=0;i<a.length;i++){var o=a[i];if(t._diag[o][n]===r)return i}return!1}},{}],1235:[function(t,e,r){\"use strict\";var n=t(\"./helpers\"),a=t(\"../scattergl/hover\").calcHover;e.exports={hoverPoints:function(t,e,r){var i=t.cd[0].trace,o=t.scene.matrixOptions.cdata,s=t.xa,l=t.ya,c=s.c2p(e),u=l.c2p(r),h=t.distance,f=n.getDimIndex(i,s),p=n.getDimIndex(i,l);if(!1===f||!1===p)return[t];for(var d,g,m=o[f],v=o[p],y=h,x=0;x<m.length;x++){var b=m[x],_=v[x],w=s.c2p(b)-c,T=l.c2p(_)-u,k=Math.sqrt(w*w+T*T);k<y&&(y=g=k,d=x)}return t.index=d,t.distance=y,t.dxy=g,void 0===d?[t]:[a(t,m,v,i)]}}},{\"../scattergl/hover\":1193,\"./helpers\":1234}],1236:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),a=t(\"../../components/grid\");e.exports={moduleType:\"trace\",name:\"splom\",basePlotModule:t(\"./base_plot\"),categories:[\"gl\",\"regl\",\"cartesian\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../scatter/marker_colorbar\"),calc:t(\"./calc\"),plot:t(\"./plot\"),hoverPoints:t(\"./hover\").hoverPoints,selectPoints:t(\"./select\"),editStyle:t(\"./edit_style\"),meta:{}},n.register(a)},{\"../../components/grid\":639,\"../../registry\":859,\"../scatter/marker_colorbar\":1152,\"./attributes\":1229,\"./base_plot\":1230,\"./calc\":1231,\"./defaults\":1232,\"./edit_style\":1233,\"./hover\":1235,\"./plot\":1237,\"./select\":1239}],1237:[function(t,e,r){\"use strict\";var n=t(\"regl-splom\"),a=t(\"../../lib\"),i=t(\"../../plots/cartesian/axis_ids\"),o=t(\"../../components/dragelement/helpers\").selectMode;function s(t,e){var r,s,l,c,u,h=t._fullLayout,f=h._size,p=e.trace,d=e.t,g=h._splomScenes[p.uid],m=g.matrixOptions,v=m.cdata,y=h._glcanvas.data()[0].regl,x=h.dragmode;if(0!==v.length){m.lower=p.showupperhalf,m.upper=p.showlowerhalf,m.diagonal=p.diagonal.visible;var b=p._visibleDims,_=v.length,w=g.viewOpts={};for(w.ranges=new Array(_),w.domains=new Array(_),u=0;u<b.length;u++){l=b[u];var T=w.ranges[u]=new Array(4),k=w.domains[u]=new Array(4);(r=i.getFromId(t,p._diag[l][0]))&&(T[0]=r._rl[0],T[2]=r._rl[1],k[0]=r.domain[0],k[2]=r.domain[1]),(s=i.getFromId(t,p._diag[l][1]))&&(T[1]=s._rl[0],T[3]=s._rl[1],k[1]=s.domain[0],k[3]=s.domain[1])}w.viewport=[f.l,f.b,f.w+f.l,f.h+f.b],!0===g.matrix&&(g.matrix=n(y));var A=h.clickmode.indexOf(\"select\")>-1,M=!0;if(o(x)||!!p.selectedpoints||A){var S=p._length;if(p.selectedpoints){g.selectBatch=p.selectedpoints;var E=p.selectedpoints,C={};for(l=0;l<E.length;l++)C[E[l]]=!0;var L=[];for(l=0;l<S;l++)C[l]||L.push(l);g.unselectBatch=L}var P=d.xpx=new Array(_),I=d.ypx=new Array(_);for(u=0;u<b.length;u++){if(l=b[u],r=i.getFromId(t,p._diag[l][0]))for(P[u]=new Array(S),c=0;c<S;c++)P[u][c]=r.c2p(v[u][c]);if(s=i.getFromId(t,p._diag[l][1]))for(I[u]=new Array(S),c=0;c<S;c++)I[u][c]=s.c2p(v[u][c])}if(g.selectBatch.length||g.unselectBatch.length){var z=a.extendFlat({},m,g.unselectedOptions,w),O=a.extendFlat({},m,g.selectedOptions,w);g.matrix.update(z,O),M=!1}}else d.xpx=d.ypx=null;if(M){var D=a.extendFlat({},m,w);g.matrix.update(D,null)}}}e.exports=function(t,e,r){if(r.length)for(var n=0;n<r.length;n++)s(t,r[n][0])}},{\"../../components/dragelement/helpers\":613,\"../../lib\":728,\"../../plots/cartesian/axis_ids\":779,\"regl-splom\":491}],1238:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e){var r=t._fullLayout,a=e.uid,i=r._splomScenes;i||(i=r._splomScenes={});var o={dirty:!0,selectBatch:[],unselectBatch:[]},s=i[e.uid];return s||((s=i[a]=n.extendFlat({},o,{matrix:!1,selectBatch:[],unselectBatch:[]})).draw=function(){s.matrix&&s.matrix.draw&&(s.selectBatch.length||s.unselectBatch.length?s.matrix.draw(s.unselectBatch,s.selectBatch):s.matrix.draw()),s.dirty=!1},s.destroy=function(){s.matrix&&s.matrix.destroy&&s.matrix.destroy(),s.matrixOptions=null,s.selectBatch=null,s.unselectBatch=null,s=null}),s.dirty||n.extendFlat(s,o),s}},{\"../../lib\":728}],1239:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../scatter/subtypes\"),i=t(\"./helpers\");e.exports=function(t,e){var r=t.cd,o=r[0].trace,s=r[0].t,l=t.scene,c=l.matrixOptions.cdata,u=t.xaxis,h=t.yaxis,f=[];if(!l)return f;var p=!a.hasMarkers(o)&&!a.hasText(o);if(!0!==o.visible||p)return f;var d=i.getDimIndex(o,u),g=i.getDimIndex(o,h);if(!1===d||!1===g)return f;var m=s.xpx[d],v=s.ypx[g],y=c[d],x=c[g],b=[],_=[];if(!1!==e&&!e.degenerate)for(var w=0;w<y.length;w++)e.contains([m[w],v[w]],null,w,t)?(b.push(w),f.push({pointNumber:w,x:y[w],y:x[w]})):_.push(w);var T=l.matrixOptions;return b.length||_.length?l.selectBatch.length||l.unselectBatch.length||l.matrix.update(l.unselectedOptions,n.extendFlat({},T,l.selectedOptions,l.viewOpts)):l.matrix.update(T,null),l.selectBatch=b,l.unselectBatch=_,f}},{\"../../lib\":728,\"../scatter/subtypes\":1158,\"./helpers\":1234}],1240:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/attributes\"),a=t(\"../../plots/template_attributes\").hovertemplateAttrs,i=t(\"../mesh3d/attributes\"),o=t(\"../../plots/attributes\"),s=t(\"../../lib/extend\").extendFlat,l={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},z:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},u:{valType:\"data_array\",editType:\"calc\"},v:{valType:\"data_array\",editType:\"calc\"},w:{valType:\"data_array\",editType:\"calc\"},starts:{x:{valType:\"data_array\",editType:\"calc\"},y:{valType:\"data_array\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"},maxdisplayed:{valType:\"integer\",min:0,dflt:1e3,editType:\"calc\"},sizeref:{valType:\"number\",editType:\"calc\",min:0,dflt:1},text:{valType:\"string\",dflt:\"\",editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",editType:\"calc\"},hovertemplate:a({editType:\"calc\"},{keys:[\"tubex\",\"tubey\",\"tubez\",\"tubeu\",\"tubev\",\"tubew\",\"norm\",\"divergence\"]}),showlegend:s({},o.showlegend,{dflt:!1})};s(l,n(\"\",{colorAttr:\"u/v/w norm\",showScaleDflt:!0,editTypeOverride:\"calc\"}));[\"opacity\",\"lightposition\",\"lighting\"].forEach((function(t){l[t]=i[t]})),l.hoverinfo=s({},o.hoverinfo,{editType:\"calc\",flags:[\"x\",\"y\",\"z\",\"u\",\"v\",\"w\",\"norm\",\"divergence\",\"text\",\"name\"],dflt:\"x+y+z+norm+text+name\"}),l.transforms=void 0,e.exports=l},{\"../../components/colorscale/attributes\":602,\"../../lib/extend\":719,\"../../plots/attributes\":773,\"../../plots/template_attributes\":854,\"../mesh3d/attributes\":1075}],1241:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../components/colorscale/calc\");function i(t){var e,r,a,i,s,l,c,u,h,f,p,d,g=t._x,m=t._y,v=t._z,y=t._len,x=-1/0,b=1/0,_=-1/0,w=1/0,T=-1/0,k=1/0,A=\"\";for(y&&(c=g[0],h=m[0],p=v[0]),y>1&&(u=g[y-1],f=m[y-1],d=v[y-1]),e=0;e<y;e++)x=Math.max(x,g[e]),b=Math.min(b,g[e]),_=Math.max(_,m[e]),w=Math.min(w,m[e]),T=Math.max(T,v[e]),k=Math.min(k,v[e]),i||g[e]===c||(i=!0,A+=\"x\"),s||m[e]===h||(s=!0,A+=\"y\"),l||v[e]===p||(l=!0,A+=\"z\");i||(A+=\"x\"),s||(A+=\"y\"),l||(A+=\"z\");var M=o(t._x),S=o(t._y),E=o(t._z);A=(A=(A=A.replace(\"x\",(c>u?\"-\":\"+\")+\"x\")).replace(\"y\",(h>f?\"-\":\"+\")+\"y\")).replace(\"z\",(p>d?\"-\":\"+\")+\"z\");var C=function(){y=0,M=[],S=[],E=[]};(!y||y<M.length*S.length*E.length)&&C();var L=function(t){return\"x\"===t?g:\"y\"===t?m:v},P=function(t){return\"x\"===t?M:\"y\"===t?S:E},I=function(t){return t[y-1]<t[0]?-1:1},z=L(A[1]),O=L(A[3]),D=L(A[5]),R=P(A[1]).length,F=P(A[3]).length,B=P(A[5]).length,N=!1,j=function(t,e,r){return R*(F*t+e)+r},V=I(L(A[1])),U=I(L(A[3])),q=I(L(A[5]));for(e=0;e<B-1;e++){for(r=0;r<F-1;r++){for(a=0;a<R-1;a++){var H=j(e,r,a),G=j(e,r,a+1),Y=j(e,r+1,a),W=j(e+1,r,a);if(z[H]*V<z[G]*V&&O[H]*U<O[Y]*U&&D[H]*q<D[W]*q||(N=!0),N)break}if(N)break}if(N)break}return N&&(n.warn(\"Encountered arbitrary coordinates! Unable to input data grid.\"),C()),{xMin:b,yMin:w,zMin:k,xMax:x,yMax:_,zMax:T,Xs:M,Ys:S,Zs:E,len:y,fill:A}}function o(t){return n.distinctVals(t).vals}function s(t,e){if(void 0===e&&(e=t.length),n.isTypedArray(t))return t.subarray(0,e);for(var r=[],a=0;a<e;a++)r[a]=+t[a];return r}e.exports={calc:function(t,e){e._len=Math.min(e.u.length,e.v.length,e.w.length,e.x.length,e.y.length,e.z.length),e._u=s(e.u,e._len),e._v=s(e.v,e._len),e._w=s(e.w,e._len),e._x=s(e.x,e._len),e._y=s(e.y,e._len),e._z=s(e.z,e._len);var r=i(e);e._gridFill=r.fill,e._Xs=r.Xs,e._Ys=r.Ys,e._Zs=r.Zs,e._len=r.len;var n,o,l,c=0;e.starts&&(n=s(e.starts.x||[]),o=s(e.starts.y||[]),l=s(e.starts.z||[]),c=Math.min(n.length,o.length,l.length)),e._startsX=n||[],e._startsY=o||[],e._startsZ=l||[];var u,h=0,f=1/0;for(u=0;u<e._len;u++){var p=e._u[u],d=e._v[u],g=e._w[u],m=Math.sqrt(p*p+d*d+g*g);h=Math.max(h,m),f=Math.min(f,m)}for(a(t,e,{vals:[f,h],containerStr:\"\",cLetter:\"c\"}),u=0;u<c;u++){var v=n[u];r.xMax=Math.max(r.xMax,v),r.xMin=Math.min(r.xMin,v);var y=o[u];r.yMax=Math.max(r.yMax,y),r.yMin=Math.min(r.yMin,y);var x=l[u];r.zMax=Math.max(r.zMax,x),r.zMin=Math.min(r.zMin,x)}e._slen=c,e._normMax=h,e._xbnds=[r.xMin,r.xMax],e._ybnds=[r.yMin,r.yMax],e._zbnds=[r.zMin,r.zMax]},filter:s,processGrid:i}},{\"../../components/colorscale/calc\":603,\"../../lib\":728}],1242:[function(t,e,r){\"use strict\";var n=t(\"gl-streamtube3d\"),a=n.createTubeMesh,i=t(\"../../lib\"),o=t(\"../../lib/gl_format_color\").parseColorScale,s=t(\"../../components/colorscale\").extractOpts,l=t(\"../../plots/gl3d/zip3\"),c={xaxis:0,yaxis:1,zaxis:2};function u(t,e){this.scene=t,this.uid=e,this.mesh=null,this.data=null}var h=u.prototype;function f(t){var e=t.length;return e>2?t.slice(1,e-1):2===e?[(t[0]+t[1])/2]:t}function p(t){var e=t.length;return 1===e?[.5,.5]:[t[1]-t[0],t[e-1]-t[e-2]]}function d(t,e){var r=t.fullSceneLayout,a=t.dataScale,u=e._len,h={};function d(t,e){var n=r[e],o=a[c[e]];return i.simpleMap(t,(function(t){return n.d2l(t)*o}))}if(h.vectors=l(d(e._u,\"xaxis\"),d(e._v,\"yaxis\"),d(e._w,\"zaxis\"),u),!u)return{positions:[],cells:[]};var g=d(e._Xs,\"xaxis\"),m=d(e._Ys,\"yaxis\"),v=d(e._Zs,\"zaxis\");if(h.meshgrid=[g,m,v],h.gridFill=e._gridFill,e._slen)h.startingPositions=l(d(e._startsX,\"xaxis\"),d(e._startsY,\"yaxis\"),d(e._startsZ,\"zaxis\"));else{for(var y=m[0],x=f(g),b=f(v),_=new Array(x.length*b.length),w=0,T=0;T<x.length;T++)for(var k=0;k<b.length;k++)_[w++]=[x[T],y,b[k]];h.startingPositions=_}h.colormap=o(e),h.tubeSize=e.sizeref,h.maxLength=e.maxdisplayed;var A=d(e._xbnds,\"xaxis\"),M=d(e._ybnds,\"yaxis\"),S=d(e._zbnds,\"zaxis\"),E=p(g),C=p(m),L=p(v),P=[[A[0]-E[0],M[0]-C[0],S[0]-L[0]],[A[1]+E[1],M[1]+C[1],S[1]+L[1]]],I=n(h,P),z=s(e);I.vertexIntensityBounds=[z.min/e._normMax,z.max/e._normMax];var O=e.lightposition;return I.lightPosition=[O.x,O.y,O.z],I.ambient=e.lighting.ambient,I.diffuse=e.lighting.diffuse,I.specular=e.lighting.specular,I.roughness=e.lighting.roughness,I.fresnel=e.lighting.fresnel,I.opacity=e.opacity,e._pad=I.tubeScale*e.sizeref*2,I}h.handlePick=function(t){var e=this.scene.fullSceneLayout,r=this.scene.dataScale;function n(t,n){var a=e[n],i=r[c[n]];return a.l2c(t)/i}if(t.object===this.mesh){var a=t.data.position,i=t.data.velocity;return t.traceCoordinate=[n(a[0],\"xaxis\"),n(a[1],\"yaxis\"),n(a[2],\"zaxis\"),n(i[0],\"xaxis\"),n(i[1],\"yaxis\"),n(i[2],\"zaxis\"),t.data.intensity*this.data._normMax,t.data.divergence],t.textLabel=this.data.hovertext||this.data.text,!0}},h.update=function(t){this.data=t;var e=d(this.scene,t);this.mesh.update(e)},h.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,n=d(t,e),i=a(r,n),o=new u(t,e.uid);return o.mesh=i,o.data=e,i._trace=o,t.glplot.add(i),o}},{\"../../components/colorscale\":607,\"../../lib\":728,\"../../lib/gl_format_color\":725,\"../../plots/gl3d/zip3\":829,\"gl-streamtube3d\":318}],1243:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../components/colorscale/defaults\"),i=t(\"./attributes\");e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}var l=s(\"u\"),c=s(\"v\"),u=s(\"w\"),h=s(\"x\"),f=s(\"y\"),p=s(\"z\");l&&l.length&&c&&c.length&&u&&u.length&&h&&h.length&&f&&f.length&&p&&p.length?(s(\"starts.x\"),s(\"starts.y\"),s(\"starts.z\"),s(\"maxdisplayed\"),s(\"sizeref\"),s(\"lighting.ambient\"),s(\"lighting.diffuse\"),s(\"lighting.specular\"),s(\"lighting.roughness\"),s(\"lighting.fresnel\"),s(\"lightposition.x\"),s(\"lightposition.y\"),s(\"lightposition.z\"),a(t,e,o,s,{prefix:\"\",cLetter:\"c\"}),s(\"text\"),s(\"hovertext\"),s(\"hovertemplate\"),e._length=null):e.visible=!1}},{\"../../components/colorscale/defaults\":605,\"../../lib\":728,\"./attributes\":1240}],1244:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"streamtube\",basePlotModule:t(\"../../plots/gl3d\"),categories:[\"gl3d\",\"showLegend\"],attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:{min:\"cmin\",max:\"cmax\"},calc:t(\"./calc\").calc,plot:t(\"./convert\"),eventData:function(t,e){return t.tubex=t.x,t.tubey=t.y,t.tubez=t.z,t.tubeu=e.traceCoordinate[3],t.tubev=e.traceCoordinate[4],t.tubew=e.traceCoordinate[5],t.norm=e.traceCoordinate[6],t.divergence=e.traceCoordinate[7],delete t.x,delete t.y,delete t.z,t},meta:{}}},{\"../../plots/gl3d\":818,\"./attributes\":1240,\"./calc\":1241,\"./convert\":1242,\"./defaults\":1243}],1245:[function(t,e,r){\"use strict\";var n=t(\"../../plots/attributes\"),a=t(\"../../plots/template_attributes\").hovertemplateAttrs,i=t(\"../../plots/template_attributes\").texttemplateAttrs,o=t(\"../../components/colorscale/attributes\"),s=t(\"../../plots/domain\").attributes,l=t(\"../pie/attributes\"),c=t(\"./constants\"),u=t(\"../../lib/extend\").extendFlat;e.exports={labels:{valType:\"data_array\",editType:\"calc\"},parents:{valType:\"data_array\",editType:\"calc\"},values:{valType:\"data_array\",editType:\"calc\"},branchvalues:{valType:\"enumerated\",values:[\"remainder\",\"total\"],dflt:\"remainder\",editType:\"calc\"},count:{valType:\"flaglist\",flags:[\"branches\",\"leaves\"],dflt:\"leaves\",editType:\"calc\"},level:{valType:\"any\",editType:\"plot\",anim:!0},maxdepth:{valType:\"integer\",editType:\"plot\",dflt:-1},marker:u({colors:{valType:\"data_array\",editType:\"calc\"},line:{color:u({},l.marker.line.color,{dflt:null}),width:u({},l.marker.line.width,{dflt:1}),editType:\"calc\"},editType:\"calc\"},o(\"marker\",{colorAttr:\"colors\",anim:!1})),leaf:{opacity:{valType:\"number\",editType:\"style\",min:0,max:1},editType:\"plot\"},text:l.text,textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"value\",\"current path\",\"percent root\",\"percent entry\",\"percent parent\"],extras:[\"none\"],editType:\"plot\"},texttemplate:i({editType:\"plot\"},{keys:c.eventDataKeys.concat([\"label\",\"value\"])}),hovertext:l.hovertext,hoverinfo:u({},n.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"name\",\"current path\",\"percent root\",\"percent entry\",\"percent parent\"],dflt:\"label+text+value+name\"}),hovertemplate:a({},{keys:c.eventDataKeys}),textfont:l.textfont,insidetextorientation:l.insidetextorientation,insidetextfont:l.insidetextfont,outsidetextfont:u({},l.outsidetextfont,{}),domain:s({name:\"sunburst\",trace:!0,editType:\"calc\"})}},{\"../../components/colorscale/attributes\":602,\"../../lib/extend\":719,\"../../plots/attributes\":773,\"../../plots/domain\":803,\"../../plots/template_attributes\":854,\"../pie/attributes\":1108,\"./constants\":1248}],1246:[function(t,e,r){\"use strict\";var n=t(\"../../plots/plots\");r.name=\"sunburst\",r.plot=function(t,e,a,i){n.plotBasePlot(r.name,t,e,a,i)},r.clean=function(t,e,a,i){n.cleanBasePlot(r.name,t,e,a,i)}},{\"../../plots/plots\":839}],1247:[function(t,e,r){\"use strict\";var n=t(\"d3-hierarchy\"),a=t(\"fast-isnumeric\"),i=t(\"../../lib\"),o=t(\"../../components/colorscale\").makeColorScaleFuncFromTrace,s=t(\"../pie/calc\").makePullColorFn,l=t(\"../pie/calc\").generateExtendedColors,c=t(\"../../components/colorscale\").calc,u=t(\"../../constants/numerical\").ALMOST_EQUAL,h={},f={};r.calc=function(t,e){var r,l,h,f,p,d,g=t._fullLayout,m=e.ids,v=i.isArrayOrTypedArray(m),y=e.labels,x=e.parents,b=e.values,_=i.isArrayOrTypedArray(b),w=[],T={},k={},A=function(t){return t||\"number\"==typeof t},M=function(t){return!_||a(b[t])&&b[t]>=0};v?(r=Math.min(m.length,x.length),l=function(t){return A(m[t])&&M(t)},h=function(t){return String(m[t])}):(r=Math.min(y.length,x.length),l=function(t){return A(y[t])&&M(t)},h=function(t){return String(y[t])}),_&&(r=Math.min(r,b.length));for(var S=0;S<r;S++)if(l(S)){var E=h(S),C=A(x[S])?String(x[S]):\"\",L={i:S,id:E,pid:C,label:A(y[S])?String(y[S]):\"\"};_&&(L.v=+b[S]),w.push(L),p=E,T[f=C]?T[f].push(p):T[f]=[p],k[p]=1}if(T[\"\"]){if(T[\"\"].length>1){for(var P=i.randstr(),I=0;I<w.length;I++)\"\"===w[I].pid&&(w[I].pid=P);w.unshift({hasMultipleRoots:!0,id:P,pid:\"\",label:\"\"})}}else{var z,O=[];for(z in T)k[z]||O.push(z);if(1!==O.length)return i.warn(\"Multiple implied roots, cannot build \"+e.type+\" hierarchy.\");z=O[0],w.unshift({hasImpliedRoot:!0,id:z,pid:\"\",label:z})}try{d=n.stratify().id((function(t){return t.id})).parentId((function(t){return t.pid}))(w)}catch(t){return i.warn(\"Failed to build \"+e.type+\" hierarchy. Error: \"+t.message)}var D=n.hierarchy(d),R=!1;if(_)switch(e.branchvalues){case\"remainder\":D.sum((function(t){return t.data.v}));break;case\"total\":D.each((function(t){var e=t.data.data,r=e.v;if(t.children){var n=t.children.reduce((function(t,e){return t+e.data.data.v}),0);if((e.hasImpliedRoot||e.hasMultipleRoots)&&(r=n),r<n*u)return R=!0,i.warn([\"Total value for node\",t.data.data.id,\"is smaller than the sum of its children.\",\"\\nparent value =\",r,\"\\nchildren sum =\",n].join(\" \"))}t.value=r}))}else!function t(e,r,n){var a=0,i=e.children;if(i){for(var o=i.length,s=0;s<o;s++)a+=t(i[s],r,n);n.branches&&a++}else n.leaves&&a++;e.value=e.data.data.value=a,r._values||(r._values=[]);return r._values[e.data.data.i]=a,a}(D,e,{branches:-1!==e.count.indexOf(\"branches\"),leaves:-1!==e.count.indexOf(\"leaves\")});if(!R){var F,B;D.sort((function(t,e){return e.value-t.value}));var N=e.marker.colors||[],j=!!N.length;return e._hasColorscale?(j||(N=_?e.values:e._values),c(t,e,{vals:N,containerStr:\"marker\",cLetter:\"c\"}),B=o(e.marker)):F=s(g[\"_\"+e.type+\"colormap\"]),D.each((function(t){var r=t.data.data;r.color=e._hasColorscale?B(N[r.i]):F(N[r.i],r.id)})),w[0].hierarchy=D,w}},r._runCrossTraceCalc=function(t,e){var r=e._fullLayout,n=e.calcdata,a=r[t+\"colorway\"],i=r[\"_\"+t+\"colormap\"];r[\"extend\"+t+\"colors\"]&&(a=l(a,\"treemap\"===t?f:h));var o=0;function s(t){var e=t.data.data,r=e.id;!1===e.color&&(i[r]?e.color=i[r]:t.parent?t.parent.parent?e.color=t.parent.data.data.color:(i[r]=e.color=a[o%a.length],o++):e.color=\"rgba(0,0,0,0)\")}for(var c=0;c<n.length;c++){var u=n[c][0];u.trace.type===t&&u.hierarchy&&u.hierarchy.each(s)}},r.crossTraceCalc=function(t){return r._runCrossTraceCalc(\"sunburst\",t)}},{\"../../components/colorscale\":607,\"../../constants/numerical\":704,\"../../lib\":728,\"../pie/calc\":1110,\"d3-hierarchy\":158,\"fast-isnumeric\":236}],1248:[function(t,e,r){\"use strict\";e.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:\"linear\",eventDataKeys:[\"currentPath\",\"root\",\"entry\",\"percentRoot\",\"percentEntry\",\"percentParent\"]}},{}],1249:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"./attributes\"),i=t(\"../../plots/domain\").defaults,o=t(\"../bar/defaults\").handleText,s=t(\"../../components/colorscale\"),l=s.hasColorscale,c=s.handleDefaults;e.exports=function(t,e,r,s){function u(r,i){return n.coerce(t,e,a,r,i)}var h=u(\"labels\"),f=u(\"parents\");if(h&&h.length&&f&&f.length){var p=u(\"values\");p&&p.length?u(\"branchvalues\"):u(\"count\"),u(\"level\"),u(\"maxdepth\"),u(\"marker.line.width\")&&u(\"marker.line.color\",s.paper_bgcolor),u(\"marker.colors\");var d=e._hasColorscale=l(t,\"marker\",\"colors\")||(t.marker||{}).coloraxis;d&&c(t,e,s,u,{prefix:\"marker.\",cLetter:\"c\"}),u(\"leaf.opacity\",d?1:.7);var g=u(\"text\");u(\"texttemplate\"),e.texttemplate||u(\"textinfo\",Array.isArray(g)?\"text+label\":\"label\"),u(\"hovertext\"),u(\"hovertemplate\");o(t,e,s,u,\"auto\",{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),u(\"insidetextorientation\"),i(e,s,u),e._length=null}else e.visible=!1}},{\"../../components/colorscale\":607,\"../../lib\":728,\"../../plots/domain\":803,\"../bar/defaults\":873,\"./attributes\":1245}],1250:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../registry\"),i=t(\"../../components/fx/helpers\").appendArrayPointValue,o=t(\"../../components/fx\"),s=t(\"../../lib\"),l=t(\"../../lib/events\"),c=t(\"./helpers\"),u=t(\"../pie/helpers\").formatPieValue;function h(t,e,r){for(var n=t.data.data,a={curveNumber:e.index,pointNumber:n.i,data:e._input,fullData:e},o=0;o<r.length;o++){var s=r[o];s in t&&(a[s]=t[s])}return\"parentString\"in t&&!c.isHierarchyRoot(t)&&(a.parent=t.parentString),i(a,e,n.i),a}e.exports=function(t,e,r,i,f){var p=i[0],d=p.trace,g=p.hierarchy,m=\"sunburst\"===d.type,v=\"treemap\"===d.type;\"_hasHoverLabel\"in d||(d._hasHoverLabel=!1),\"_hasHoverEvent\"in d||(d._hasHoverEvent=!1);t.on(\"mouseover\",(function(a){var i=r._fullLayout;if(!r._dragging&&!1!==i.hovermode){var l=r._fullData[d.index],y=a.data.data,x=y.i,b=c.isHierarchyRoot(a),_=c.getParent(g,a),w=c.getValue(a),T=function(t){return s.castOption(l,x,t)},k=T(\"hovertemplate\"),A=o.castHoverinfo(l,i,x),M=i.separators;if(k||A&&\"none\"!==A&&\"skip\"!==A){var S,E;m&&(S=p.cx+a.pxmid[0]*(1-a.rInscribed),E=p.cy+a.pxmid[1]*(1-a.rInscribed)),v&&(S=a._hoverX,E=a._hoverY);var C,L={},P=[],I=[],z=function(t){return-1!==P.indexOf(t)};A&&(P=\"all\"===A?l._module.attributes.hoverinfo.flags:A.split(\"+\")),L.label=y.label,z(\"label\")&&L.label&&I.push(L.label),y.hasOwnProperty(\"v\")&&(L.value=y.v,L.valueLabel=u(L.value,M),z(\"value\")&&I.push(L.valueLabel)),L.currentPath=a.currentPath=c.getPath(a.data),z(\"current path\")&&!b&&I.push(L.currentPath);var O=[],D=function(){-1===O.indexOf(C)&&(I.push(C),O.push(C))};L.percentParent=a.percentParent=w/c.getValue(_),L.parent=a.parentString=c.getPtLabel(_),z(\"percent parent\")&&(C=c.formatPercent(L.percentParent,M)+\" of \"+L.parent,D()),L.percentEntry=a.percentEntry=w/c.getValue(e),L.entry=a.entry=c.getPtLabel(e),!z(\"percent entry\")||b||a.onPathbar||(C=c.formatPercent(L.percentEntry,M)+\" of \"+L.entry,D()),L.percentRoot=a.percentRoot=w/c.getValue(g),L.root=a.root=c.getPtLabel(g),z(\"percent root\")&&!b&&(C=c.formatPercent(L.percentRoot,M)+\" of \"+L.root,D()),L.text=T(\"hovertext\")||T(\"text\"),z(\"text\")&&(C=L.text,s.isValidTextValue(C)&&I.push(C));var R={trace:l,y:E,text:I.join(\"<br>\"),name:k||z(\"name\")?l.name:void 0,color:T(\"hoverlabel.bgcolor\")||y.color,borderColor:T(\"hoverlabel.bordercolor\"),fontFamily:T(\"hoverlabel.font.family\"),fontSize:T(\"hoverlabel.font.size\"),fontColor:T(\"hoverlabel.font.color\"),nameLength:T(\"hoverlabel.namelength\"),textAlign:T(\"hoverlabel.align\"),hovertemplate:k,hovertemplateLabels:L,eventData:[h(a,l,f.eventDataKeys)]};m&&(R.x0=S-a.rInscribed*a.rpx1,R.x1=S+a.rInscribed*a.rpx1,R.idealAlign=a.pxmid[0]<0?\"left\":\"right\"),v&&(R.x=S,R.idealAlign=S<0?\"left\":\"right\"),o.loneHover(R,{container:i._hoverlayer.node(),outerContainer:i._paper.node(),gd:r}),d._hasHoverLabel=!0}if(v){var F=t.select(\"path.surface\");f.styleOne(F,a,l,{hovered:!0})}d._hasHoverEvent=!0,r.emit(\"plotly_hover\",{points:[h(a,l,f.eventDataKeys)],event:n.event})}})),t.on(\"mouseout\",(function(e){var a=r._fullLayout,i=r._fullData[d.index],s=n.select(this).datum();if(d._hasHoverEvent&&(e.originalEvent=n.event,r.emit(\"plotly_unhover\",{points:[h(s,i,f.eventDataKeys)],event:n.event}),d._hasHoverEvent=!1),d._hasHoverLabel&&(o.loneUnhover(a._hoverlayer.node()),d._hasHoverLabel=!1),v){var l=t.select(\"path.surface\");f.styleOne(l,s,i,{hovered:!1})}})),t.on(\"click\",(function(t){var e=r._fullLayout,i=r._fullData[d.index],s=m&&(c.isHierarchyRoot(t)||c.isLeaf(t)),u=c.getPtId(t),p=c.isEntry(t)?c.findEntryWithChild(g,u):c.findEntryWithLevel(g,u),v=c.getPtId(p),y={points:[h(t,i,f.eventDataKeys)],event:n.event};s||(y.nextLevel=v);var x=l.triggerHandler(r,\"plotly_\"+d.type+\"click\",y);if(!1!==x&&e.hovermode&&(r._hoverdata=[h(t,i,f.eventDataKeys)],o.click(r,n.event)),!s&&!1!==x&&!r._dragging&&!r._transitioning){a.call(\"_storeDirectGUIEdit\",i,e._tracePreGUI[i.uid],{level:i.level});var b={data:[{level:v}],traces:[d.index]},_={frame:{redraw:!1,duration:f.transitionTime},transition:{duration:f.transitionTime,easing:f.transitionEasing},mode:\"immediate\",fromcurrent:!0};o.loneUnhover(e._hoverlayer.node()),a.call(\"animate\",r,b,_)}}))}},{\"../../components/fx\":635,\"../../components/fx/helpers\":631,\"../../lib\":728,\"../../lib/events\":718,\"../../registry\":859,\"../pie/helpers\":1113,\"./helpers\":1251,d3:164}],1251:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../components/color\"),i=t(\"../../lib/setcursor\"),o=t(\"../pie/helpers\");function s(t){return t.data.data.pid}r.findEntryWithLevel=function(t,e){var n;return e&&t.eachAfter((function(t){if(r.getPtId(t)===e)return n=t.copy()})),n||t},r.findEntryWithChild=function(t,e){var n;return t.eachAfter((function(t){for(var a=t.children||[],i=0;i<a.length;i++){var o=a[i];if(r.getPtId(o)===e)return n=t.copy()}})),n||t},r.isEntry=function(t){return!t.parent},r.isLeaf=function(t){return!t.children},r.getPtId=function(t){return t.data.data.id},r.getPtLabel=function(t){return t.data.data.label},r.getValue=function(t){return t.value},r.isHierarchyRoot=function(t){return\"\"===s(t)},r.setSliceCursor=function(t,e,n){var a=n.isTransitioning;if(!a){var o=t.datum();a=n.hideOnRoot&&r.isHierarchyRoot(o)||n.hideOnLeaves&&r.isLeaf(o)}i(t,a?null:\"pointer\")},r.getInsideTextFontKey=function(t,e,r,a,i){var o=(i||{}).onPathbar?\"pathbar.textfont\":\"insidetextfont\",s=r.data.data.i;return n.castOption(e,s,o+\".\"+t)||n.castOption(e,s,\"textfont.\"+t)||a.size},r.getOutsideTextFontKey=function(t,e,r,a){var i=r.data.data.i;return n.castOption(e,i,\"outsidetextfont.\"+t)||n.castOption(e,i,\"textfont.\"+t)||a.size},r.isOutsideText=function(t,e){return!t._hasColorscale&&r.isHierarchyRoot(e)},r.determineTextFont=function(t,e,i,o){return r.isOutsideText(t,e)?function(t,e,n){return{color:r.getOutsideTextFontKey(\"color\",t,e,n),family:r.getOutsideTextFontKey(\"family\",t,e,n),size:r.getOutsideTextFontKey(\"size\",t,e,n)}}(t,e,i):function(t,e,i,o){var s=(o||{}).onPathbar,l=e.data.data,c=l.i,u=n.castOption(t,c,(s?\"pathbar.textfont\":\"insidetextfont\")+\".color\");return!u&&t._input.textfont&&(u=n.castOption(t._input,c,\"textfont.color\")),{color:u||a.contrast(l.color),family:r.getInsideTextFontKey(\"family\",t,e,i,o),size:r.getInsideTextFontKey(\"size\",t,e,i,o)}}(t,e,i,o)},r.hasTransition=function(t){return!!(t&&t.duration>0)},r.getMaxDepth=function(t){return t.maxdepth>=0?t.maxdepth:1/0},r.isHeader=function(t,e){return!(r.isLeaf(t)||t.depth===e._maxDepth-1)},r.getParent=function(t,e){return r.findEntryWithLevel(t,s(e))},r.listPath=function(t,e){var n=t.parent;if(!n)return[];var a=e?[n.data[e]]:[n];return r.listPath(n,e).concat(a)},r.getPath=function(t){return r.listPath(t,\"label\").join(\"/\")+\"/\"},r.formatValue=o.formatPieValue,r.formatPercent=function(t,e){var r=n.formatPercent(t,0);return\"0%\"===r&&(r=o.formatPiePercent(t,e)),r}},{\"../../components/color\":595,\"../../lib\":728,\"../../lib/setcursor\":748,\"../pie/helpers\":1113}],1252:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"sunburst\",basePlotModule:t(\"./base_plot\"),categories:[],animatable:!0,attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\"),supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\").calc,crossTraceCalc:t(\"./calc\").crossTraceCalc,plot:t(\"./plot\").plot,style:t(\"./style\").style,colorbar:t(\"../scatter/marker_colorbar\"),meta:{}}},{\"../scatter/marker_colorbar\":1152,\"./attributes\":1245,\"./base_plot\":1246,\"./calc\":1247,\"./defaults\":1249,\"./layout_attributes\":1253,\"./layout_defaults\":1254,\"./plot\":1255,\"./style\":1256}],1253:[function(t,e,r){\"use strict\";e.exports={sunburstcolorway:{valType:\"colorlist\",editType:\"calc\"},extendsunburstcolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}},{}],1254:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"./layout_attributes\");e.exports=function(t,e){function r(r,i){return n.coerce(t,e,a,r,i)}r(\"sunburstcolorway\",e.colorway),r(\"extendsunburstcolors\")}},{\"../../lib\":728,\"./layout_attributes\":1253}],1255:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"d3-hierarchy\"),i=t(\"../../components/drawing\"),o=t(\"../../lib\"),s=t(\"../../lib/svg_text_utils\"),l=t(\"../bar/uniform_text\"),c=l.recordMinTextSize,u=l.clearMinTextSize,h=t(\"../pie/plot\"),f=h.computeTransform,p=h.transformInsideText,d=t(\"./style\").styleOne,g=t(\"../bar/style\").resizeText,m=t(\"./fx\"),v=t(\"./constants\"),y=t(\"./helpers\");function x(t,e,l,u){var h=t._fullLayout,g=!h.uniformtext.mode&&y.hasTransition(u),x=n.select(l).selectAll(\"g.slice\"),_=e[0],w=_.trace,T=_.hierarchy,k=y.findEntryWithLevel(T,w.level),A=y.getMaxDepth(w),M=h._size,S=w.domain,E=M.w*(S.x[1]-S.x[0]),C=M.h*(S.y[1]-S.y[0]),L=.5*Math.min(E,C),P=_.cx=M.l+M.w*(S.x[1]+S.x[0])/2,I=_.cy=M.t+M.h*(1-S.y[0])-C/2;if(!k)return x.remove();var z=null,O={};g&&x.each((function(t){O[y.getPtId(t)]={rpx0:t.rpx0,rpx1:t.rpx1,x0:t.x0,x1:t.x1,transform:t.transform},!z&&y.isEntry(t)&&(z=t)}));var D=function(t){return a.partition().size([2*Math.PI,t.height+1])(t)}(k).descendants(),R=k.height+1,F=0,B=A;_.hasMultipleRoots&&y.isHierarchyRoot(k)&&(D=D.slice(1),R-=1,F=1,B+=1),D=D.filter((function(t){return t.y1<=B}));var N=Math.min(R,A),j=function(t){return(t-F)/N*L},V=function(t,e){return[t*Math.cos(e),-t*Math.sin(e)]},U=function(t){return o.pathAnnulus(t.rpx0,t.rpx1,t.x0,t.x1,P,I)},q=function(t){return P+b(t)[0]*(t.transform.rCenter||0)+(t.transform.x||0)},H=function(t){return I+b(t)[1]*(t.transform.rCenter||0)+(t.transform.y||0)};(x=x.data(D,y.getPtId)).enter().append(\"g\").classed(\"slice\",!0),g?x.exit().transition().each((function(){var t=n.select(this);t.select(\"path.surface\").transition().attrTween(\"d\",(function(t){var e=function(t){var e,r=y.getPtId(t),a=O[r],i=O[y.getPtId(k)];if(i){var o=t.x1>i.x1?2*Math.PI:0;e=t.rpx1<i.rpx1?{rpx0:0,rpx1:0}:{x0:o,x1:o}}else{var s,l=y.getPtId(t.parent);x.each((function(t){if(y.getPtId(t)===l)return s=t}));var c,u=s.children;u.forEach((function(t,e){if(y.getPtId(t)===r)return c=e}));var h=u.length,f=n.interpolate(s.x0,s.x1);e={rpx0:L,rpx1:L,x0:f(c/h),x1:f((c+1)/h)}}return n.interpolate(a,e)}(t);return function(t){return U(e(t))}})),t.select(\"g.slicetext\").attr(\"opacity\",0)})).remove():x.exit().remove(),x.order();var G=null;if(g&&z){var Y=y.getPtId(z);x.each((function(t){null===G&&y.getPtId(t)===Y&&(G=t.x1)}))}var W=x;function Z(t){var e=t.parent,r=O[y.getPtId(e)],a={};if(r){var i=e.children,o=i.indexOf(t),s=i.length,l=n.interpolate(r.x0,r.x1);a.x0=l(o/s),a.x1=l(o/s)}else a.x0=a.x1=0;return a}g&&(W=W.transition().each(\"end\",(function(){var e=n.select(this);y.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:!1})}))),W.each((function(a){var l=n.select(this),u=o.ensureSingle(l,\"path\",\"surface\",(function(t){t.style(\"pointer-events\",\"all\")}));a.rpx0=j(a.y0),a.rpx1=j(a.y1),a.xmid=(a.x0+a.x1)/2,a.pxmid=V(a.rpx1,a.xmid),a.midangle=-(a.xmid-Math.PI/2),a.startangle=-(a.x0-Math.PI/2),a.stopangle=-(a.x1-Math.PI/2),a.halfangle=.5*Math.min(o.angleDelta(a.x0,a.x1)||Math.PI,Math.PI),a.ring=1-a.rpx0/a.rpx1,a.rInscribed=function(t){return 0===t.rpx0&&o.isFullCircle([t.x0,t.x1])?1:Math.max(0,Math.min(1/(1+1/Math.sin(t.halfangle)),t.ring/2))}(a),g?u.transition().attrTween(\"d\",(function(t){var e=function(t){var e,r=O[y.getPtId(t)],a={x0:t.x0,x1:t.x1,rpx0:t.rpx0,rpx1:t.rpx1};if(r)e=r;else if(z)if(t.parent)if(G){var i=t.x1>G?2*Math.PI:0;e={x0:i,x1:i}}else e={rpx0:L,rpx1:L},o.extendFlat(e,Z(t));else e={rpx0:0,rpx1:0};else e={x0:0,x1:0};return n.interpolate(e,a)}(t);return function(t){return U(e(t))}})):u.attr(\"d\",U),l.call(m,k,t,e,{eventDataKeys:v.eventDataKeys,transitionTime:v.CLICK_TRANSITION_TIME,transitionEasing:v.CLICK_TRANSITION_EASING}).call(y.setSliceCursor,t,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:t._transitioning}),u.call(d,a,w);var x=o.ensureSingle(l,\"g\",\"slicetext\"),b=o.ensureSingle(x,\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),T=o.ensureUniformFontSize(t,y.determineTextFont(w,a,h.font));b.text(r.formatSliceLabel(a,k,w,e,h)).classed(\"slicetext\",!0).attr(\"text-anchor\",\"middle\").call(i.font,T).call(s.convertToTspans,t);var A=i.bBox(b.node());a.transform=p(A,a,_),a.transform.targetX=q(a),a.transform.targetY=H(a);var M=function(t,e){var r=t.transform;return f(r,e),r.fontSize=T.size,c(w.type,r,h),o.getTextTransform(r)};g?b.transition().attrTween(\"transform\",(function(t){var e=function(t){var e,r=O[y.getPtId(t)],a=t.transform;if(r)e=r;else if(e={rpx1:t.rpx1,transform:{textPosAngle:a.textPosAngle,scale:0,rotate:a.rotate,rCenter:a.rCenter,x:a.x,y:a.y}},z)if(t.parent)if(G){var i=t.x1>G?2*Math.PI:0;e.x0=e.x1=i}else o.extendFlat(e,Z(t));else e.x0=e.x1=0;else e.x0=e.x1=0;var s=n.interpolate(e.transform.textPosAngle,t.transform.textPosAngle),l=n.interpolate(e.rpx1,t.rpx1),u=n.interpolate(e.x0,t.x0),f=n.interpolate(e.x1,t.x1),p=n.interpolate(e.transform.scale,a.scale),d=n.interpolate(e.transform.rotate,a.rotate),g=0===a.rCenter?3:0===e.transform.rCenter?1/3:1,m=n.interpolate(e.transform.rCenter,a.rCenter);return function(t){var e=l(t),r=u(t),n=f(t),i=function(t){return m(Math.pow(t,g))}(t),o={pxmid:V(e,(r+n)/2),rpx1:e,transform:{textPosAngle:s(t),rCenter:i,x:a.x,y:a.y}};return c(w.type,a,h),{transform:{targetX:q(o),targetY:H(o),scale:p(t),rotate:d(t),rCenter:i}}}}(t);return function(t){return M(e(t),A)}})):b.attr(\"transform\",M(a,A))}))}function b(t){return e=t.rpx1,r=t.transform.textPosAngle,[e*Math.sin(r),-e*Math.cos(r)];var e,r}r.plot=function(t,e,r,a){var i,o,s=t._fullLayout,l=s._sunburstlayer,c=!r,h=!s.uniformtext.mode&&y.hasTransition(r);(u(\"sunburst\",s),(i=l.selectAll(\"g.trace.sunburst\").data(e,(function(t){return t[0].trace.uid}))).enter().append(\"g\").classed(\"trace\",!0).classed(\"sunburst\",!0).attr(\"stroke-linejoin\",\"round\"),i.order(),h)?(a&&(o=a()),n.transition().duration(r.duration).ease(r.easing).each(\"end\",(function(){o&&o()})).each(\"interrupt\",(function(){o&&o()})).each((function(){l.selectAll(\"g.trace\").each((function(e){x(t,e,this,r)}))}))):(i.each((function(e){x(t,e,this,r)})),s.uniformtext.mode&&g(t,s._sunburstlayer.selectAll(\".trace\"),\"sunburst\"));c&&i.exit().remove()},r.formatSliceLabel=function(t,e,r,n,a){var i=r.texttemplate,s=r.textinfo;if(!(i||s&&\"none\"!==s))return\"\";var l=a.separators,c=n[0],u=t.data.data,h=c.hierarchy,f=y.isHierarchyRoot(t),p=y.getParent(h,t),d=y.getValue(t);if(!i){var g,m=s.split(\"+\"),v=function(t){return-1!==m.indexOf(t)},x=[];if(v(\"label\")&&u.label&&x.push(u.label),u.hasOwnProperty(\"v\")&&v(\"value\")&&x.push(y.formatValue(u.v,l)),!f){v(\"current path\")&&x.push(y.getPath(t.data));var b=0;v(\"percent parent\")&&b++,v(\"percent entry\")&&b++,v(\"percent root\")&&b++;var _=b>1;if(b){var w,T=function(t){g=y.formatPercent(w,l),_&&(g+=\" of \"+t),x.push(g)};v(\"percent parent\")&&!f&&(w=d/y.getValue(p),T(\"parent\")),v(\"percent entry\")&&(w=d/y.getValue(e),T(\"entry\")),v(\"percent root\")&&(w=d/y.getValue(h),T(\"root\"))}}return v(\"text\")&&(g=o.castOption(r,u.i,\"text\"),o.isValidTextValue(g)&&x.push(g)),x.join(\"<br>\")}var k=o.castOption(r,u.i,\"texttemplate\");if(!k)return\"\";var A={};u.label&&(A.label=u.label),u.hasOwnProperty(\"v\")&&(A.value=u.v,A.valueLabel=y.formatValue(u.v,l)),A.currentPath=y.getPath(t.data),f||(A.percentParent=d/y.getValue(p),A.percentParentLabel=y.formatPercent(A.percentParent,l),A.parent=y.getPtLabel(p)),A.percentEntry=d/y.getValue(e),A.percentEntryLabel=y.formatPercent(A.percentEntry,l),A.entry=y.getPtLabel(e),A.percentRoot=d/y.getValue(h),A.percentRootLabel=y.formatPercent(A.percentRoot,l),A.root=y.getPtLabel(h),u.hasOwnProperty(\"color\")&&(A.color=u.color);var M=o.castOption(r,u.i,\"text\");return(o.isValidTextValue(M)||\"\"===M)&&(A.text=M),A.customdata=o.castOption(r,u.i,\"customdata\"),o.texttemplateString(k,A,a._d3locale,A,r._meta||{})}},{\"../../components/drawing\":617,\"../../lib\":728,\"../../lib/svg_text_utils\":752,\"../bar/style\":883,\"../bar/uniform_text\":885,\"../pie/plot\":1117,\"./constants\":1248,\"./fx\":1250,\"./helpers\":1251,\"./style\":1256,d3:164,\"d3-hierarchy\":158}],1256:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../components/color\"),i=t(\"../../lib\"),o=t(\"../bar/uniform_text\").resizeText;function s(t,e,r){var n=e.data.data,o=!e.children,s=n.i,l=i.castOption(r,s,\"marker.line.color\")||a.defaultLine,c=i.castOption(r,s,\"marker.line.width\")||0;t.style(\"stroke-width\",c).call(a.fill,n.color).call(a.stroke,l).style(\"opacity\",o?r.leaf.opacity:null)}e.exports={style:function(t){var e=t._fullLayout._sunburstlayer.selectAll(\".trace\");o(t,e,\"sunburst\"),e.each((function(t){var e=n.select(this),r=t[0].trace;e.style(\"opacity\",r.opacity),e.selectAll(\"path.surface\").each((function(t){n.select(this).call(s,t,r)}))}))},styleOne:s}},{\"../../components/color\":595,\"../../lib\":728,\"../bar/uniform_text\":885,d3:164}],1257:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),a=t(\"../../components/colorscale/attributes\"),i=t(\"../../plots/template_attributes\").hovertemplateAttrs,o=t(\"../../plots/attributes\"),s=t(\"../../lib/extend\").extendFlat,l=t(\"../../plot_api/edit_types\").overrideAll;function c(t){return{show:{valType:\"boolean\",dflt:!1},start:{valType:\"number\",dflt:null,editType:\"plot\"},end:{valType:\"number\",dflt:null,editType:\"plot\"},size:{valType:\"number\",dflt:null,min:0,editType:\"plot\"},project:{x:{valType:\"boolean\",dflt:!1},y:{valType:\"boolean\",dflt:!1},z:{valType:\"boolean\",dflt:!1}},color:{valType:\"color\",dflt:n.defaultLine},usecolormap:{valType:\"boolean\",dflt:!1},width:{valType:\"number\",min:1,max:16,dflt:2},highlight:{valType:\"boolean\",dflt:!0},highlightcolor:{valType:\"color\",dflt:n.defaultLine},highlightwidth:{valType:\"number\",min:1,max:16,dflt:2}}}var u=e.exports=l(s({z:{valType:\"data_array\"},x:{valType:\"data_array\"},y:{valType:\"data_array\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertemplate:i(),connectgaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},surfacecolor:{valType:\"data_array\"}},a(\"\",{colorAttr:\"z or surfacecolor\",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:\"calc\"}),{contours:{x:c(),y:c(),z:c()},hidesurface:{valType:\"boolean\",dflt:!1},lightposition:{x:{valType:\"number\",min:-1e5,max:1e5,dflt:10},y:{valType:\"number\",min:-1e5,max:1e5,dflt:1e4},z:{valType:\"number\",min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:\"number\",min:0,max:1,dflt:.8},diffuse:{valType:\"number\",min:0,max:1,dflt:.8},specular:{valType:\"number\",min:0,max:2,dflt:.05},roughness:{valType:\"number\",min:0,max:1,dflt:.5},fresnel:{valType:\"number\",min:0,max:5,dflt:.2}},opacity:{valType:\"number\",min:0,max:1,dflt:1},opacityscale:{valType:\"any\",editType:\"calc\"},_deprecated:{zauto:s({},a.zauto,{}),zmin:s({},a.zmin,{}),zmax:s({},a.zmax,{})},hoverinfo:s({},o.hoverinfo),showlegend:s({},o.showlegend,{dflt:!1})}),\"calc\",\"nested\");u.x.editType=u.y.editType=u.z.editType=\"calc+clearAxisTypes\",u.transforms=void 0},{\"../../components/color\":595,\"../../components/colorscale/attributes\":602,\"../../lib/extend\":719,\"../../plot_api/edit_types\":759,\"../../plots/attributes\":773,\"../../plots/template_attributes\":854}],1258:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/calc\");e.exports=function(t,e){e.surfacecolor?n(t,e,{vals:e.surfacecolor,containerStr:\"\",cLetter:\"c\"}):n(t,e,{vals:e.z,containerStr:\"\",cLetter:\"c\"})}},{\"../../components/colorscale/calc\":603}],1259:[function(t,e,r){\"use strict\";var n=t(\"gl-surface3d\"),a=t(\"ndarray\"),i=t(\"ndarray-linear-interpolate\").d2,o=t(\"../heatmap/interp2d\"),s=t(\"../heatmap/find_empties\"),l=t(\"../../lib\").isArrayOrTypedArray,c=t(\"../../lib/gl_format_color\").parseColorScale,u=t(\"../../lib/str2rgbarray\"),h=t(\"../../components/colorscale\").extractOpts;function f(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var p=f.prototype;p.getXat=function(t,e,r,n){var a=l(this.data.x)?l(this.data.x[0])?this.data.x[e][t]:this.data.x[t]:t;return void 0===r?a:n.d2l(a,0,r)},p.getYat=function(t,e,r,n){var a=l(this.data.y)?l(this.data.y[0])?this.data.y[e][t]:this.data.y[e]:e;return void 0===r?a:n.d2l(a,0,r)},p.getZat=function(t,e,r,n){var a=this.data.z[e][t];return null===a&&this.data.connectgaps&&this.data._interpolatedZ&&(a=this.data._interpolatedZ[e][t]),void 0===r?a:n.d2l(a,0,r)},p.handlePick=function(t){if(t.object===this.surface){var e=(t.data.index[0]-1)/this.dataScaleX-1,r=(t.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(e),this.data.z[0].length-1),0),a=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);t.index=[n,a],t.traceCoordinate=[this.getXat(n,a),this.getYat(n,a),this.getZat(n,a)],t.dataCoordinate=[this.getXat(n,a,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,a,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,a,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var i=0;i<3;i++){var o=t.dataCoordinate[i];null!=o&&(t.dataCoordinate[i]*=this.scene.dataScale[i])}var s=this.data.hovertext||this.data.text;return Array.isArray(s)&&s[a]&&void 0!==s[a][n]?t.textLabel=s[a][n]:t.textLabel=s||\"\",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}};var d=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999];function g(t,e){if(t<e)return 0;for(var r=0;0===Math.floor(t%e);)t/=e,r++;return r}function m(t){for(var e=[],r=0;r<d.length;r++){var n=d[r];e.push(g(t,n))}return e}function v(t){for(var e=m(t),r=t,n=0;n<d.length;n++)if(e[n]>0){r=d[n];break}return r}function y(t,e){if(!(t<1||e<1)){for(var r=m(t),n=m(e),a=1,i=0;i<d.length;i++)a*=Math.pow(d[i],Math.max(r[i],n[i]));return a}}p.calcXnums=function(t){var e,r=[];for(e=1;e<t;e++){var n=this.getXat(e-1,0),a=this.getXat(e,0);r[e-1]=a!==n&&null!=n&&null!=a?Math.abs(a-n):0}var i=0;for(e=1;e<t;e++)i+=r[e-1];for(e=1;e<t;e++)0===r[e-1]?r[e-1]=1:r[e-1]=Math.round(i/r[e-1]);return r},p.calcYnums=function(t){var e,r=[];for(e=1;e<t;e++){var n=this.getYat(0,e-1),a=this.getYat(0,e);r[e-1]=a!==n&&null!=n&&null!=a?Math.abs(a-n):0}var i=0;for(e=1;e<t;e++)i+=r[e-1];for(e=1;e<t;e++)0===r[e-1]?r[e-1]=1:r[e-1]=Math.round(i/r[e-1]);return r};var x=[1,2,4,6,12,24,36,48,60,120,180,240,360,720,840,1260],b=x[9],_=x[13];function w(t,e,r){var n=r[8]+r[2]*e[0]+r[5]*e[1];return t[0]=(r[6]+r[0]*e[0]+r[3]*e[1])/n,t[1]=(r[7]+r[1]*e[0]+r[4]*e[1])/n,t}function T(t,e,r){return function(t,e,r,n){for(var a=[0,0],o=t.shape[0],s=t.shape[1],l=0;l<o;l++)for(var c=0;c<s;c++)r(a,[l,c],n),t.set(l,c,i(e,a[0],a[1]))}(t,e,w,r),t}function k(t,e){for(var r=!1,n=0;n<t.length;n++)if(e===t[n]){r=!0;break}!1===r&&t.push(e)}p.estimateScale=function(t,e){for(var r=1+function(t){if(0!==t.length){for(var e=1,r=0;r<t.length;r++)e=y(e,t[r]);return e}}(0===e?this.calcXnums(t):this.calcYnums(t));r<b;)r*=2;for(;r>_;)r--,r/=v(r),++r<b&&(r=_);var n=Math.round(r/t);return n>1?n:1},p.refineCoords=function(t){for(var e=this.dataScaleX,r=this.dataScaleY,n=t[0].shape[0],i=t[0].shape[1],o=0|Math.floor(t[0].shape[0]*e+1),s=0|Math.floor(t[0].shape[1]*r+1),l=1+n+1,c=1+i+1,u=a(new Float32Array(l*c),[l,c]),h=[1/e,0,0,0,1/r,0,0,0,1],f=0;f<t.length;++f){this.surface.padField(u,t[f]);var p=a(new Float32Array(o*s),[o,s]);T(p,u,h),t[f]=p}},p.setContourLevels=function(){var t,e,r,n=[[],[],[]],a=[!1,!1,!1],i=!1;for(t=0;t<3;++t)if(this.showContour[t]&&(i=!0,this.contourSize[t]>0&&null!==this.contourStart[t]&&null!==this.contourEnd[t]&&this.contourEnd[t]>this.contourStart[t]))for(a[t]=!0,e=this.contourStart[t];e<this.contourEnd[t];e+=this.contourSize[t])r=e*this.scene.dataScale[t],k(n[t],r);if(i){var o=[[],[],[]];for(t=0;t<3;++t)this.showContour[t]&&(o[t]=a[t]?n[t]:this.scene.contourLevels[t]);this.surface.update({levels:o})}},p.update=function(t){var e,r,n,i,l=this.scene,f=l.fullSceneLayout,p=this.surface,d=t.opacity,g=c(t,d),m=l.dataScale,v=t.z[0].length,y=t._ylength,x=l.contourLevels;this.data=t;var b=[];for(e=0;e<3;e++)for(b[e]=[],r=0;r<v;r++)b[e][r]=[];for(r=0;r<v;r++)for(n=0;n<y;n++)b[0][r][n]=this.getXat(r,n,t.xcalendar,f.xaxis),b[1][r][n]=this.getYat(r,n,t.ycalendar,f.yaxis),b[2][r][n]=this.getZat(r,n,t.zcalendar,f.zaxis);if(t.connectgaps)for(t._emptypoints=s(b[2]),o(b[2],t._emptypoints),t._interpolatedZ=[],r=0;r<v;r++)for(t._interpolatedZ[r]=[],n=0;n<y;n++)t._interpolatedZ[r][n]=b[2][r][n];for(e=0;e<3;e++)for(r=0;r<v;r++)for(n=0;n<y;n++)null==(i=b[e][r][n])?b[e][r][n]=NaN:i=b[e][r][n]*=m[e];for(e=0;e<3;e++)for(r=0;r<v;r++)for(n=0;n<y;n++)null!=(i=b[e][r][n])&&(this.minValues[e]>i&&(this.minValues[e]=i),this.maxValues[e]<i&&(this.maxValues[e]=i));for(e=0;e<3;e++)this.objectOffset[e]=.5*(this.minValues[e]+this.maxValues[e]);for(e=0;e<3;e++)for(r=0;r<v;r++)for(n=0;n<y;n++)null!=(i=b[e][r][n])&&(b[e][r][n]-=this.objectOffset[e]);var w=[a(new Float32Array(v*y),[v,y]),a(new Float32Array(v*y),[v,y]),a(new Float32Array(v*y),[v,y])];for(e=0;e<3;e++)for(r=0;r<v;r++)for(n=0;n<y;n++)w[e].set(r,n,b[e][r][n]);b=[];var T={colormap:g,levels:[[],[],[]],showContour:[!0,!0,!0],showSurface:!t.hidesurface,contourProject:[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],contourWidth:[1,1,1],contourColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],contourTint:[1,1,1],dynamicColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],dynamicWidth:[1,1,1],dynamicTint:[1,1,1],opacityscale:t.opacityscale,opacity:t.opacity},k=h(t);if(T.intensityBounds=[k.min,k.max],t.surfacecolor){var A=a(new Float32Array(v*y),[v,y]);for(r=0;r<v;r++)for(n=0;n<y;n++)A.set(r,n,t.surfacecolor[n][r]);w.push(A)}else T.intensityBounds[0]*=m[2],T.intensityBounds[1]*=m[2];(_<w[0].shape[0]||_<w[0].shape[1])&&(this.refineData=!1),!0===this.refineData&&(this.dataScaleX=this.estimateScale(w[0].shape[0],0),this.dataScaleY=this.estimateScale(w[0].shape[1],1),1===this.dataScaleX&&1===this.dataScaleY||this.refineCoords(w)),t.surfacecolor&&(T.intensity=w.pop());var M=[!0,!0,!0],S=[\"x\",\"y\",\"z\"];for(e=0;e<3;++e){var E=t.contours[S[e]];M[e]=E.highlight,T.showContour[e]=E.show||E.highlight,T.showContour[e]&&(T.contourProject[e]=[E.project.x,E.project.y,E.project.z],E.show?(this.showContour[e]=!0,T.levels[e]=x[e],p.highlightColor[e]=T.contourColor[e]=u(E.color),E.usecolormap?p.highlightTint[e]=T.contourTint[e]=0:p.highlightTint[e]=T.contourTint[e]=1,T.contourWidth[e]=E.width,this.contourStart[e]=E.start,this.contourEnd[e]=E.end,this.contourSize[e]=E.size):(this.showContour[e]=!1,this.contourStart[e]=null,this.contourEnd[e]=null,this.contourSize[e]=0),E.highlight&&(T.dynamicColor[e]=u(E.highlightcolor),T.dynamicWidth[e]=E.highlightwidth))}(function(t){var e=t[0].rgb,r=t[t.length-1].rgb;return e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]})(g)&&(T.vertexColor=!0),T.objectOffset=this.objectOffset,T.coords=w,p.update(T),p.visible=t.visible,p.enableDynamic=M,p.enableHighlight=M,p.snapToData=!0,\"lighting\"in t&&(p.ambientLight=t.lighting.ambient,p.diffuseLight=t.lighting.diffuse,p.specularLight=t.lighting.specular,p.roughness=t.lighting.roughness,p.fresnel=t.lighting.fresnel),\"lightposition\"in t&&(p.lightPosition=[t.lightposition.x,t.lightposition.y,t.lightposition.z]),d&&d<1&&(p.supportsTransparency=!0)},p.dispose=function(){this.scene.glplot.remove(this.surface),this.surface.dispose()},e.exports=function(t,e){var r=t.glplot.gl,a=n({gl:r}),i=new f(t,a,e.uid);return a._trace=i,i.update(e),t.glplot.add(a),i}},{\"../../components/colorscale\":607,\"../../lib\":728,\"../../lib/gl_format_color\":725,\"../../lib/str2rgbarray\":751,\"../heatmap/find_empties\":1019,\"../heatmap/interp2d\":1022,\"gl-surface3d\":320,ndarray:448,\"ndarray-linear-interpolate\":442}],1260:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),a=t(\"../../lib\"),i=t(\"../../components/colorscale/defaults\"),o=t(\"./attributes\");function s(t,e,r,n){var a=n(\"opacityscale\");\"max\"===a?e.opacityscale=[[0,.1],[1,1]]:\"min\"===a?e.opacityscale=[[0,1],[1,.1]]:\"extremes\"===a?e.opacityscale=function(t,e){for(var r=[],n=0;n<32;n++){var a=n/31,i=e+(1-e)*(1-Math.pow(Math.sin(t*a*Math.PI),2));r.push([a,Math.max(0,Math.min(1,i))])}return r}(1,.1):function(t){var e=0;if(!Array.isArray(t)||t.length<2)return!1;if(!t[0]||!t[t.length-1])return!1;if(0!=+t[0][0]||1!=+t[t.length-1][0])return!1;for(var r=0;r<t.length;r++){var n=t[r];if(2!==n.length||+n[0]<e)return!1;e=+n[0]}return!0}(a)||(e.opacityscale=void 0)}function l(t,e,r){e in t&&!(r in t)&&(t[r]=t[e])}e.exports={supplyDefaults:function(t,e,r,c){var u,h;function f(r,n){return a.coerce(t,e,o,r,n)}var p=f(\"x\"),d=f(\"y\"),g=f(\"z\");if(!g||!g.length||p&&p.length<1||d&&d.length<1)e.visible=!1;else{e._xlength=Array.isArray(p)&&a.isArrayOrTypedArray(p[0])?g.length:g[0].length,e._ylength=g.length,n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\",\"z\"],c),f(\"text\"),f(\"hovertext\"),f(\"hovertemplate\"),[\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"hidesurface\",\"connectgaps\",\"opacity\"].forEach((function(t){f(t)}));var m=f(\"surfacecolor\"),v=[\"x\",\"y\",\"z\"];for(u=0;u<3;++u){var y=\"contours.\"+v[u],x=f(y+\".show\"),b=f(y+\".highlight\");if(x||b)for(h=0;h<3;++h)f(y+\".project.\"+v[h]);x&&(f(y+\".color\"),f(y+\".width\"),f(y+\".usecolormap\")),b&&(f(y+\".highlightcolor\"),f(y+\".highlightwidth\")),f(y+\".start\"),f(y+\".end\"),f(y+\".size\")}m||(l(t,\"zmin\",\"cmin\"),l(t,\"zmax\",\"cmax\"),l(t,\"zauto\",\"cauto\")),i(t,e,c,f,{prefix:\"\",cLetter:\"c\"}),s(t,e,c,f),e._length=null}},opacityscaleDefaults:s}},{\"../../components/colorscale/defaults\":605,\"../../lib\":728,\"../../registry\":859,\"./attributes\":1257}],1261:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\").supplyDefaults,colorbar:{min:\"cmin\",max:\"cmax\"},calc:t(\"./calc\"),plot:t(\"./convert\"),moduleType:\"trace\",name:\"surface\",basePlotModule:t(\"../../plots/gl3d\"),categories:[\"gl3d\",\"2dMap\",\"showLegend\"],meta:{}}},{\"../../plots/gl3d\":818,\"./attributes\":1257,\"./calc\":1258,\"./convert\":1259,\"./defaults\":1260}],1262:[function(t,e,r){\"use strict\";var n=t(\"../../components/annotations/attributes\"),a=t(\"../../lib/extend\").extendFlat,i=t(\"../../plot_api/edit_types\").overrideAll,o=t(\"../../plots/font_attributes\"),s=t(\"../../plots/domain\").attributes;t(\"../../constants/docs\").FORMAT_LINK;(e.exports=i({domain:s({name:\"table\",trace:!0}),columnwidth:{valType:\"number\",arrayOk:!0,dflt:null},columnorder:{valType:\"data_array\"},header:{values:{valType:\"data_array\",dflt:[]},format:{valType:\"data_array\",dflt:[]},prefix:{valType:\"string\",arrayOk:!0,dflt:null},suffix:{valType:\"string\",arrayOk:!0,dflt:null},height:{valType:\"number\",dflt:28},align:a({},n.align,{arrayOk:!0}),line:{width:{valType:\"number\",arrayOk:!0,dflt:1},color:{valType:\"color\",arrayOk:!0,dflt:\"grey\"}},fill:{color:{valType:\"color\",arrayOk:!0,dflt:\"white\"}},font:a({},o({arrayOk:!0}))},cells:{values:{valType:\"data_array\",dflt:[]},format:{valType:\"data_array\",dflt:[]},prefix:{valType:\"string\",arrayOk:!0,dflt:null},suffix:{valType:\"string\",arrayOk:!0,dflt:null},height:{valType:\"number\",dflt:20},align:a({},n.align,{arrayOk:!0}),line:{width:{valType:\"number\",arrayOk:!0,dflt:1},color:{valType:\"color\",arrayOk:!0,dflt:\"grey\"}},fill:{color:{valType:\"color\",arrayOk:!0,dflt:\"white\"}},font:a({},o({arrayOk:!0}))}},\"calc\",\"from-root\")).transforms=void 0},{\"../../components/annotations/attributes\":578,\"../../constants/docs\":699,\"../../lib/extend\":719,\"../../plot_api/edit_types\":759,\"../../plots/domain\":803,\"../../plots/font_attributes\":804}],1263:[function(t,e,r){\"use strict\";var n=t(\"../../plots/get_data\").getModuleCalcData,a=t(\"./plot\");r.name=\"table\",r.plot=function(t){var e=n(t.calcdata,\"table\")[0];e.length&&a(t,e)},r.clean=function(t,e,r,n){var a=n._has&&n._has(\"table\"),i=e._has&&e._has(\"table\");a&&!i&&n._paperdiv.selectAll(\".table\").remove()}},{\"../../plots/get_data\":813,\"./plot\":1270}],1264:[function(t,e,r){\"use strict\";var n=t(\"../../lib/gup\").wrap;e.exports=function(){return n({})}},{\"../../lib/gup\":726}],1265:[function(t,e,r){\"use strict\";e.exports={cellPad:8,columnExtentOffset:10,columnTitleOffset:28,emptyHeaderHeight:16,latexCheck:/^\\$.*\\$$/,goldenRatio:1.618,lineBreaker:\"<br>\",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:\"cubic-out\",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:\"cubic-out\",uplift:5,wrapSpacer:\" \",wrapSplitCharacter:\" \",cn:{table:\"table\",tableControlView:\"table-control-view\",scrollBackground:\"scroll-background\",yColumn:\"y-column\",columnBlock:\"column-block\",scrollAreaClip:\"scroll-area-clip\",scrollAreaClipRect:\"scroll-area-clip-rect\",columnBoundary:\"column-boundary\",columnBoundaryClippath:\"column-boundary-clippath\",columnBoundaryRect:\"column-boundary-rect\",columnCells:\"column-cells\",columnCell:\"column-cell\",cellRect:\"cell-rect\",cellText:\"cell-text\",cellTextHolder:\"cell-text-holder\",scrollbarKit:\"scrollbar-kit\",scrollbar:\"scrollbar\",scrollbarSlider:\"scrollbar-slider\",scrollbarGlyph:\"scrollbar-glyph\",scrollbarCaptureZone:\"scrollbar-capture-zone\"}}},{}],1266:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),a=t(\"../../lib/extend\").extendFlat,i=t(\"fast-isnumeric\");function o(t){if(Array.isArray(t)){for(var e=0,r=0;r<t.length;r++)e=Math.max(e,o(t[r]));return e}return t}function s(t,e){return t+e}function l(t){var e,r=t.slice(),n=1/0,a=0;for(e=0;e<r.length;e++)Array.isArray(r[e])||(r[e]=[r[e]]),n=Math.min(n,r[e].length),a=Math.max(a,r[e].length);if(n!==a)for(e=0;e<r.length;e++){var i=a-r[e].length;i&&(r[e]=r[e].concat(c(i)))}return r}function c(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=\"\";return e}function u(t){return t.calcdata.columns.reduce((function(e,r){return r.xIndex<t.xIndex?e+r.columnWidth:e}),0)}function h(t,e){return Object.keys(t).map((function(r){return a({},t[r],{auxiliaryBlocks:e})}))}function f(t,e){for(var r,n={},a=0,i=0,o={firstRowIndex:null,lastRowIndex:null,rows:[]},s=0,l=0,c=0;c<t.length;c++)r=t[c],o.rows.push({rowIndex:c,rowHeight:r}),((i+=r)>=e||c===t.length-1)&&(n[a]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=c,o={firstRowIndex:null,lastRowIndex:null,rows:[]},a+=i,s=c+1,i=0);return n}e.exports=function(t,e){var r=l(e.cells.values),p=function(t){return t.slice(e.header.values.length,t.length)},d=l(e.header.values);d.length&&!d[0].length&&(d[0]=[\"\"],d=l(d));var g=d.concat(p(r).map((function(){return c((d[0]||[\"\"]).length)}))),m=e.domain,v=Math.floor(t._fullLayout._size.w*(m.x[1]-m.x[0])),y=Math.floor(t._fullLayout._size.h*(m.y[1]-m.y[0])),x=e.header.values.length?g[0].map((function(){return e.header.height})):[n.emptyHeaderHeight],b=r.length?r[0].map((function(){return e.cells.height})):[],_=x.reduce(s,0),w=f(b,y-_+n.uplift),T=h(f(x,_),[]),k=h(w,T),A={},M=e._fullInput.columnorder.concat(p(r.map((function(t,e){return e})))),S=g.map((function(t,r){var n=Array.isArray(e.columnwidth)?e.columnwidth[Math.min(r,e.columnwidth.length-1)]:e.columnwidth;return i(n)?Number(n):1})),E=S.reduce(s,0);S=S.map((function(t){return t/E*v}));var C=Math.max(o(e.header.line.width),o(e.cells.line.width)),L={key:e.uid+t._context.staticPlot,translateX:m.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-m.y[1]),size:t._fullLayout._size,width:v,maxLineWidth:C,height:y,columnOrder:M,groupHeight:y,rowBlocks:k,headerRowBlocks:T,scrollY:0,cells:a({},e.cells,{values:r}),headerCells:a({},e.header,{values:g}),gdColumns:g.map((function(t){return t[0]})),gdColumnsOriginalOrder:g.map((function(t){return t[0]})),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:g.map((function(t,e){var r=A[t];return A[t]=(r||0)+1,{key:t+\"__\"+A[t],label:t,specIndex:e,xIndex:M[e],xScale:u,x:void 0,calcdata:void 0,columnWidth:S[e]}}))};return L.columns.forEach((function(t){t.calcdata=L,t.x=u(t)})),L}},{\"../../lib/extend\":719,\"./constants\":1265,\"fast-isnumeric\":236}],1267:[function(t,e,r){\"use strict\";var n=t(\"../../lib/extend\").extendFlat;r.splitToPanels=function(t){var e=[0,0],r=n({},t,{key:\"header\",type:\"header\",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!0,values:t.calcdata.headerCells.values[t.specIndex],rowBlocks:t.calcdata.headerRowBlocks,calcdata:n({},t.calcdata,{cells:t.calcdata.headerCells})});return[n({},t,{key:\"cells1\",type:\"cells\",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),n({},t,{key:\"cells2\",type:\"cells\",page:1,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),r]},r.splitToCells=function(t){var e=function(t){var e=t.rowBlocks[t.page],r=e?e.rows[0].rowIndex:0,n=e?r+e.rows.length:0;return[r,n]}(t);return(t.values||[]).slice(e[0],e[1]).map((function(r,n){return{keyWithinBlock:n+(\"string\"==typeof r&&r.match(/[<$&> ]/)?\"_keybuster_\"+Math.random():\"\"),key:e[0]+n,column:t,calcdata:t.calcdata,page:t.page,rowBlocks:t.rowBlocks,value:r}}))}},{\"../../lib/extend\":719}],1268:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"./attributes\"),i=t(\"../../plots/domain\").defaults;e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}i(e,o,s),s(\"columnwidth\"),s(\"header.values\"),s(\"header.format\"),s(\"header.align\"),s(\"header.prefix\"),s(\"header.suffix\"),s(\"header.height\"),s(\"header.line.width\"),s(\"header.line.color\"),s(\"header.fill.color\"),n.coerceFont(s,\"header.font\",n.extendFlat({},o.font)),function(t,e){for(var r=t.columnorder||[],n=t.header.values.length,a=r.slice(0,n),i=a.slice().sort((function(t,e){return t-e})),o=a.map((function(t){return i.indexOf(t)})),s=o.length;s<n;s++)o.push(s);e(\"columnorder\",o)}(e,s),s(\"cells.values\"),s(\"cells.format\"),s(\"cells.align\"),s(\"cells.prefix\"),s(\"cells.suffix\"),s(\"cells.height\"),s(\"cells.line.width\"),s(\"cells.line.color\"),s(\"cells.fill.color\"),n.coerceFont(s,\"cells.font\",n.extendFlat({},o.font)),e._length=null}},{\"../../lib\":728,\"../../plots/domain\":803,\"./attributes\":1262}],1269:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\"),plot:t(\"./plot\"),moduleType:\"trace\",name:\"table\",basePlotModule:t(\"./base_plot\"),categories:[\"noOpacity\"],meta:{}}},{\"./attributes\":1262,\"./base_plot\":1263,\"./calc\":1264,\"./defaults\":1268,\"./plot\":1270}],1270:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),a=t(\"d3\"),i=t(\"../../lib/gup\"),o=t(\"../../components/drawing\"),s=t(\"../../lib/svg_text_utils\"),l=t(\"../../lib\").raiseToTop,c=t(\"../../lib\").cancelTransition,u=t(\"./data_preparation_helper\"),h=t(\"./data_split_helpers\"),f=t(\"../../components/color\");function p(t){return Math.ceil(t.calcdata.maxLineWidth/2)}function d(t,e){return\"clip\"+t._fullLayout._uid+\"_scrollAreaBottomClip_\"+e.key}function g(t,e){return\"clip\"+t._fullLayout._uid+\"_columnBoundaryClippath_\"+e.calcdata.key+\"_\"+e.specIndex}function m(t){return[].concat.apply([],t.map((function(t){return t}))).map((function(t){return t.__data__}))}function v(t,e,r){var o=t.selectAll(\".\"+n.cn.scrollbarKit).data(i.repeat,i.keyFun);o.enter().append(\"g\").classed(n.cn.scrollbarKit,!0).style(\"shape-rendering\",\"geometricPrecision\"),o.each((function(t){var e=t.scrollbarState;e.totalHeight=function(t){var e=t.rowBlocks;return z(e,e.length-1)+(e.length?O(e[e.length-1],1/0):1)}(t),e.scrollableAreaHeight=t.groupHeight-A(t),e.currentlyVisibleHeight=Math.min(e.totalHeight,e.scrollableAreaHeight),e.ratio=e.currentlyVisibleHeight/e.totalHeight,e.barLength=Math.max(e.ratio*e.currentlyVisibleHeight,n.goldenRatio*n.scrollbarWidth),e.barWiggleRoom=e.currentlyVisibleHeight-e.barLength,e.wiggleRoom=Math.max(0,e.totalHeight-e.scrollableAreaHeight),e.topY=0===e.barWiggleRoom?0:t.scrollY/e.wiggleRoom*e.barWiggleRoom,e.bottomY=e.topY+e.barLength,e.dragMultiplier=e.wiggleRoom/e.barWiggleRoom})).attr(\"transform\",(function(t){return\"translate(\"+(t.width+n.scrollbarWidth/2+n.scrollbarOffset)+\" \"+A(t)+\")\"}));var s=o.selectAll(\".\"+n.cn.scrollbar).data(i.repeat,i.keyFun);s.enter().append(\"g\").classed(n.cn.scrollbar,!0);var l=s.selectAll(\".\"+n.cn.scrollbarSlider).data(i.repeat,i.keyFun);l.enter().append(\"g\").classed(n.cn.scrollbarSlider,!0),l.attr(\"transform\",(function(t){return\"translate(0 \"+(t.scrollbarState.topY||0)+\")\"}));var c=l.selectAll(\".\"+n.cn.scrollbarGlyph).data(i.repeat,i.keyFun);c.enter().append(\"line\").classed(n.cn.scrollbarGlyph,!0).attr(\"stroke\",\"black\").attr(\"stroke-width\",n.scrollbarWidth).attr(\"stroke-linecap\",\"round\").attr(\"y1\",n.scrollbarWidth/2),c.attr(\"y2\",(function(t){return t.scrollbarState.barLength-n.scrollbarWidth/2})).attr(\"stroke-opacity\",(function(t){return t.columnDragInProgress||!t.scrollbarState.barWiggleRoom||r?0:.4})),c.transition().delay(0).duration(0),c.transition().delay(n.scrollbarHideDelay).duration(n.scrollbarHideDuration).attr(\"stroke-opacity\",0);var u=s.selectAll(\".\"+n.cn.scrollbarCaptureZone).data(i.repeat,i.keyFun);u.enter().append(\"line\").classed(n.cn.scrollbarCaptureZone,!0).attr(\"stroke\",\"white\").attr(\"stroke-opacity\",.01).attr(\"stroke-width\",n.scrollbarCaptureWidth).attr(\"stroke-linecap\",\"butt\").attr(\"y1\",0).on(\"mousedown\",(function(r){var n=a.event.y,i=this.getBoundingClientRect(),o=r.scrollbarState,s=n-i.top,l=a.scale.linear().domain([0,o.scrollableAreaHeight]).range([0,o.totalHeight]).clamp(!0);o.topY<=s&&s<=o.bottomY||S(e,t,null,l(s-o.barLength/2))(r)})).call(a.behavior.drag().origin((function(t){return a.event.stopPropagation(),t.scrollbarState.scrollbarScrollInProgress=!0,t})).on(\"drag\",S(e,t)).on(\"dragend\",(function(){}))),u.attr(\"y2\",(function(t){return t.scrollbarState.scrollableAreaHeight})),e._context.staticPlot&&(c.remove(),u.remove())}function y(t,e,r,s){var l=function(t){var e=t.selectAll(\".\"+n.cn.columnCell).data(h.splitToCells,(function(t){return t.keyWithinBlock}));return e.enter().append(\"g\").classed(n.cn.columnCell,!0),e.exit().remove(),e}(function(t){var e=t.selectAll(\".\"+n.cn.columnCells).data(i.repeat,i.keyFun);return e.enter().append(\"g\").classed(n.cn.columnCells,!0),e.exit().remove(),e}(r));!function(t){t.each((function(t,e){var r=t.calcdata.cells.font,n=t.column.specIndex,a={size:_(r.size,n,e),color:_(r.color,n,e),family:_(r.family,n,e)};t.rowNumber=t.key,t.align=_(t.calcdata.cells.align,n,e),t.cellBorderWidth=_(t.calcdata.cells.line.width,n,e),t.font=a}))}(l),function(t){t.attr(\"width\",(function(t){return t.column.columnWidth})).attr(\"stroke-width\",(function(t){return t.cellBorderWidth})).each((function(t){var e=a.select(this);f.stroke(e,_(t.calcdata.cells.line.color,t.column.specIndex,t.rowNumber)),f.fill(e,_(t.calcdata.cells.fill.color,t.column.specIndex,t.rowNumber))}))}(function(t){var e=t.selectAll(\".\"+n.cn.cellRect).data(i.repeat,(function(t){return t.keyWithinBlock}));return e.enter().append(\"rect\").classed(n.cn.cellRect,!0),e}(l));var c=function(t){var e=t.selectAll(\".\"+n.cn.cellText).data(i.repeat,(function(t){return t.keyWithinBlock}));return e.enter().append(\"text\").classed(n.cn.cellText,!0).style(\"cursor\",(function(){return\"auto\"})).on(\"mousedown\",(function(){a.event.stopPropagation()})),e}(function(t){var e=t.selectAll(\".\"+n.cn.cellTextHolder).data(i.repeat,(function(t){return t.keyWithinBlock}));return e.enter().append(\"g\").classed(n.cn.cellTextHolder,!0).style(\"shape-rendering\",\"geometricPrecision\"),e}(l));!function(t){t.each((function(t){o.font(a.select(this),t.font)}))}(c),x(c,e,s,t),I(l)}function x(t,e,r,i){t.text((function(t){var e=t.column.specIndex,r=t.rowNumber,i=t.value,o=\"string\"==typeof i,s=o&&i.match(/<br>/i),l=!o||s;t.mayHaveMarkup=o&&i.match(/[<&>]/);var c,u=\"string\"==typeof(c=i)&&c.match(n.latexCheck);t.latex=u;var h,f,p=u?\"\":_(t.calcdata.cells.prefix,e,r)||\"\",d=u?\"\":_(t.calcdata.cells.suffix,e,r)||\"\",g=u?null:_(t.calcdata.cells.format,e,r)||null,m=p+(g?a.format(g)(t.value):t.value)+d;if(t.wrappingNeeded=!t.wrapped&&!l&&!u&&(h=b(m)),t.cellHeightMayIncrease=s||u||t.mayHaveMarkup||(void 0===h?b(m):h),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex,t.wrappingNeeded){var v=(\" \"===n.wrapSplitCharacter?m.replace(/<a href=/gi,\"<a_href=\"):m).split(n.wrapSplitCharacter),y=\" \"===n.wrapSplitCharacter?v.map((function(t){return t.replace(/<a_href=/gi,\"<a href=\")})):v;t.fragments=y.map((function(t){return{text:t,width:null}})),t.fragments.push({fragment:n.wrapSpacer,width:null}),f=y.join(n.lineBreaker)+n.lineBreaker+n.wrapSpacer}else delete t.fragments,f=m;return f})).attr(\"dy\",(function(t){return t.needsConvertToTspans?0:\"0.75em\"})).each((function(t){var o=a.select(this),l=t.wrappingNeeded?C:L;t.needsConvertToTspans?s.convertToTspans(o,i,l(r,this,e,i,t)):a.select(this.parentNode).attr(\"transform\",(function(t){return\"translate(\"+P(t)+\" \"+n.cellPad+\")\"})).attr(\"text-anchor\",(function(t){return{left:\"start\",center:\"middle\",right:\"end\"}[t.align]}))}))}function b(t){return-1!==t.indexOf(n.wrapSplitCharacter)}function _(t,e,r){if(Array.isArray(t)){var n=t[Math.min(e,t.length-1)];return Array.isArray(n)?n[Math.min(r,n.length-1)]:n}return t}function w(t,e,r){t.transition().ease(n.releaseTransitionEase).duration(n.releaseTransitionDuration).attr(\"transform\",\"translate(\"+e.x+\" \"+r+\")\")}function T(t){return\"cells\"===t.type}function k(t){return\"header\"===t.type}function A(t){return(t.rowBlocks.length?t.rowBlocks[0].auxiliaryBlocks:[]).reduce((function(t,e){return t+O(e,1/0)}),0)}function M(t,e,r){var n=m(e)[0];if(void 0!==n){var a=n.rowBlocks,i=n.calcdata,o=z(a,a.length),s=n.calcdata.groupHeight-A(n),l=i.scrollY=Math.max(0,Math.min(o-s,i.scrollY)),c=function(t,e,r){for(var n=[],a=0,i=0;i<t.length;i++){for(var o=t[i],s=o.rows,l=0,c=0;c<s.length;c++)l+=s[c].rowHeight;o.allRowsHeight=l;e<a+l&&e+r>a&&n.push(i),a+=l}return n}(a,l,s);1===c.length&&(c[0]===a.length-1?c.unshift(c[0]-1):c.push(c[0]+1)),c[0]%2&&c.reverse(),e.each((function(t,e){t.page=c[e],t.scrollY=l})),e.attr(\"transform\",(function(t){return\"translate(0 \"+(z(t.rowBlocks,t.page)-t.scrollY)+\")\"})),t&&(E(t,r,e,c,n.prevPages,n,0),E(t,r,e,c,n.prevPages,n,1),v(r,t))}}function S(t,e,r,i){return function(o){var s=o.calcdata?o.calcdata:o,l=e.filter((function(t){return s.key===t.key})),c=r||s.scrollbarState.dragMultiplier,u=s.scrollY;s.scrollY=void 0===i?s.scrollY+c*a.event.dy:i;var h=l.selectAll(\".\"+n.cn.yColumn).selectAll(\".\"+n.cn.columnBlock).filter(T);return M(t,h,l),s.scrollY===u}}function E(t,e,r,n,a,i,o){n[o]!==a[o]&&(clearTimeout(i.currentRepaint[o]),i.currentRepaint[o]=setTimeout((function(){var i=r.filter((function(t,e){return e===o&&n[e]!==a[e]}));y(t,e,i,r),a[o]=n[o]})))}function C(t,e,r,i){return function(){var o=a.select(e.parentNode);o.each((function(t){var e=t.fragments;o.selectAll(\"tspan.line\").each((function(t,r){e[r].width=this.getComputedTextLength()}));var r,a,i=e[e.length-1].width,s=e.slice(0,-1),l=[],c=0,u=t.column.columnWidth-2*n.cellPad;for(t.value=\"\";s.length;)c+(a=(r=s.shift()).width+i)>u&&(t.value+=l.join(n.wrapSpacer)+n.lineBreaker,l=[],c=0),l.push(r.text),c+=a;c&&(t.value+=l.join(n.wrapSpacer)),t.wrapped=!0})),o.selectAll(\"tspan.line\").remove(),x(o.select(\".\"+n.cn.cellText),r,t,i),a.select(e.parentNode.parentNode).call(I)}}function L(t,e,r,i,o){return function(){if(!o.settledY){var s=a.select(e.parentNode),l=R(o),c=o.key-l.firstRowIndex,u=l.rows[c].rowHeight,h=o.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*n.cellPad:u,f=Math.max(h,u);f-l.rows[c].rowHeight&&(l.rows[c].rowHeight=f,t.selectAll(\".\"+n.cn.columnCell).call(I),M(null,t.filter(T),0),v(r,i,!0)),s.attr(\"transform\",(function(){var t=this.parentNode.getBoundingClientRect(),e=a.select(this.parentNode).select(\".\"+n.cn.cellRect).node().getBoundingClientRect(),r=this.transform.baseVal.consolidate(),i=e.top-t.top+(r?r.matrix.f:n.cellPad);return\"translate(\"+P(o,a.select(this.parentNode).select(\".\"+n.cn.cellTextHolder).node().getBoundingClientRect().width)+\" \"+i+\")\"})),o.settledY=!0}}}function P(t,e){switch(t.align){case\"left\":return n.cellPad;case\"right\":return t.column.columnWidth-(e||0)-n.cellPad;case\"center\":return(t.column.columnWidth-(e||0))/2;default:return n.cellPad}}function I(t){t.attr(\"transform\",(function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce((function(t,e){return t+O(e,1/0)}),0);return\"translate(0 \"+(O(R(t),t.key)+e)+\")\"})).selectAll(\".\"+n.cn.cellRect).attr(\"height\",(function(t){return(e=R(t),r=t.key,e.rows[r-e.firstRowIndex]).rowHeight;var e,r}))}function z(t,e){for(var r=0,n=e-1;n>=0;n--)r+=D(t[n]);return r}function O(t,e){for(var r=0,n=0;n<t.rows.length&&t.rows[n].rowIndex<e;n++)r+=t.rows[n].rowHeight;return r}function D(t){var e=t.allRowsHeight;if(void 0!==e)return e;for(var r=0,n=0;n<t.rows.length;n++)r+=t.rows[n].rowHeight;return t.allRowsHeight=r,r}function R(t){return t.rowBlocks[t.page]}e.exports=function(t,e){var r=!t._context.staticPlot,s=t._fullLayout._paper.selectAll(\".\"+n.cn.table).data(e.map((function(e){var r=i.unwrap(e).trace;return u(t,r)})),i.keyFun);s.exit().remove(),s.enter().append(\"g\").classed(n.cn.table,!0).attr(\"overflow\",\"visible\").style(\"box-sizing\",\"content-box\").style(\"position\",\"absolute\").style(\"left\",0).style(\"overflow\",\"visible\").style(\"shape-rendering\",\"crispEdges\").style(\"pointer-events\",\"all\"),s.attr(\"width\",(function(t){return t.width+t.size.l+t.size.r})).attr(\"height\",(function(t){return t.height+t.size.t+t.size.b})).attr(\"transform\",(function(t){return\"translate(\"+t.translateX+\",\"+t.translateY+\")\"}));var f=s.selectAll(\".\"+n.cn.tableControlView).data(i.repeat,i.keyFun),x=f.enter().append(\"g\").classed(n.cn.tableControlView,!0).style(\"box-sizing\",\"content-box\");r&&x.on(\"mousemove\",(function(e){f.filter((function(t){return e===t})).call(v,t)})).on(\"mousewheel\",(function(e){if(!e.scrollbarState.wheeling){e.scrollbarState.wheeling=!0;var r=e.scrollY+a.event.deltaY;S(t,f,null,r)(e)||(a.event.stopPropagation(),a.event.preventDefault()),e.scrollbarState.wheeling=!1}})).call(v,t,!0),f.attr(\"transform\",(function(t){return\"translate(\"+t.size.l+\" \"+t.size.t+\")\"}));var b=f.selectAll(\".\"+n.cn.scrollBackground).data(i.repeat,i.keyFun);b.enter().append(\"rect\").classed(n.cn.scrollBackground,!0).attr(\"fill\",\"none\"),b.attr(\"width\",(function(t){return t.width})).attr(\"height\",(function(t){return t.height})),f.each((function(e){o.setClipUrl(a.select(this),d(t,e),t)}));var _=f.selectAll(\".\"+n.cn.yColumn).data((function(t){return t.columns}),i.keyFun);_.enter().append(\"g\").classed(n.cn.yColumn,!0),_.exit().remove(),_.attr(\"transform\",(function(t){return\"translate(\"+t.x+\" 0)\"})),r&&_.call(a.behavior.drag().origin((function(e){return w(a.select(this),e,-n.uplift),l(this),e.calcdata.columnDragInProgress=!0,v(f.filter((function(t){return e.calcdata.key===t.key})),t),e})).on(\"drag\",(function(t){var e=a.select(this),r=function(e){return(t===e?a.event.x:e.x)+e.columnWidth/2};t.x=Math.max(-n.overdrag,Math.min(t.calcdata.width+n.overdrag-t.columnWidth,a.event.x)),m(_).filter((function(e){return e.calcdata.key===t.calcdata.key})).sort((function(t,e){return r(t)-r(e)})).forEach((function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e)})),_.filter((function(e){return t!==e})).transition().ease(n.transitionEase).duration(n.transitionDuration).attr(\"transform\",(function(t){return\"translate(\"+t.x+\" 0)\"})),e.call(c).attr(\"transform\",\"translate(\"+t.x+\" -\"+n.uplift+\" )\")})).on(\"dragend\",(function(e){var r=a.select(this),n=e.calcdata;e.x=e.xScale(e),e.calcdata.columnDragInProgress=!1,w(r,e,0),function(t,e,r){var n=e.gdColumnsOriginalOrder;e.gdColumns.sort((function(t,e){return r[n.indexOf(t)]-r[n.indexOf(e)]})),e.columnorder=r,t.emit(\"plotly_restyle\")}(t,n,n.columns.map((function(t){return t.xIndex})))}))),_.each((function(e){o.setClipUrl(a.select(this),g(t,e),t)}));var A=_.selectAll(\".\"+n.cn.columnBlock).data(h.splitToPanels,i.keyFun);A.enter().append(\"g\").classed(n.cn.columnBlock,!0).attr(\"id\",(function(t){return t.key})),A.style(\"cursor\",(function(t){return t.dragHandle?\"ew-resize\":t.calcdata.scrollbarState.barWiggleRoom?\"ns-resize\":\"default\"}));var E=A.filter(k),C=A.filter(T);r&&C.call(a.behavior.drag().origin((function(t){return a.event.stopPropagation(),t})).on(\"drag\",S(t,f,-1)).on(\"dragend\",(function(){}))),y(t,f,E,A),y(t,f,C,A);var L=f.selectAll(\".\"+n.cn.scrollAreaClip).data(i.repeat,i.keyFun);L.enter().append(\"clipPath\").classed(n.cn.scrollAreaClip,!0).attr(\"id\",(function(e){return d(t,e)}));var P=L.selectAll(\".\"+n.cn.scrollAreaClipRect).data(i.repeat,i.keyFun);P.enter().append(\"rect\").classed(n.cn.scrollAreaClipRect,!0).attr(\"x\",-n.overdrag).attr(\"y\",-n.uplift).attr(\"fill\",\"none\"),P.attr(\"width\",(function(t){return t.width+2*n.overdrag})).attr(\"height\",(function(t){return t.height+n.uplift})),_.selectAll(\".\"+n.cn.columnBoundary).data(i.repeat,i.keyFun).enter().append(\"g\").classed(n.cn.columnBoundary,!0);var I=_.selectAll(\".\"+n.cn.columnBoundaryClippath).data(i.repeat,i.keyFun);I.enter().append(\"clipPath\").classed(n.cn.columnBoundaryClippath,!0),I.attr(\"id\",(function(e){return g(t,e)}));var z=I.selectAll(\".\"+n.cn.columnBoundaryRect).data(i.repeat,i.keyFun);z.enter().append(\"rect\").classed(n.cn.columnBoundaryRect,!0).attr(\"fill\",\"none\"),z.attr(\"width\",(function(t){return t.columnWidth+2*p(t)})).attr(\"height\",(function(t){return t.calcdata.height+2*p(t)+n.uplift})).attr(\"x\",(function(t){return-p(t)})).attr(\"y\",(function(t){return-p(t)})),M(null,C,f)}},{\"../../components/color\":595,\"../../components/drawing\":617,\"../../lib\":728,\"../../lib/gup\":726,\"../../lib/svg_text_utils\":752,\"./constants\":1265,\"./data_preparation_helper\":1266,\"./data_split_helpers\":1267,d3:164}],1271:[function(t,e,r){\"use strict\";var n=t(\"../../plots/template_attributes\").hovertemplateAttrs,a=t(\"../../plots/template_attributes\").texttemplateAttrs,i=t(\"../../components/colorscale/attributes\"),o=t(\"../../plots/domain\").attributes,s=t(\"../pie/attributes\"),l=t(\"../sunburst/attributes\"),c=t(\"./constants\"),u=t(\"../../lib/extend\").extendFlat;e.exports={labels:l.labels,parents:l.parents,values:l.values,branchvalues:l.branchvalues,count:l.count,level:l.level,maxdepth:l.maxdepth,tiling:{packing:{valType:\"enumerated\",values:[\"squarify\",\"binary\",\"dice\",\"slice\",\"slice-dice\",\"dice-slice\"],dflt:\"squarify\",editType:\"plot\"},squarifyratio:{valType:\"number\",min:1,dflt:1,editType:\"plot\"},flip:{valType:\"flaglist\",flags:[\"x\",\"y\"],dflt:\"\",editType:\"plot\"},pad:{valType:\"number\",min:0,dflt:3,editType:\"plot\"},editType:\"calc\"},marker:u({pad:{t:{valType:\"number\",min:0,editType:\"plot\"},l:{valType:\"number\",min:0,editType:\"plot\"},r:{valType:\"number\",min:0,editType:\"plot\"},b:{valType:\"number\",min:0,editType:\"plot\"},editType:\"calc\"},colors:l.marker.colors,depthfade:{valType:\"enumerated\",values:[!0,!1,\"reversed\"],editType:\"style\"},line:l.marker.line,editType:\"calc\"},i(\"marker\",{colorAttr:\"colors\",anim:!1})),pathbar:{visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},side:{valType:\"enumerated\",values:[\"top\",\"bottom\"],dflt:\"top\",editType:\"plot\"},edgeshape:{valType:\"enumerated\",values:[\">\",\"<\",\"|\",\"/\",\"\\\\\"],dflt:\">\",editType:\"plot\"},thickness:{valType:\"number\",min:12,editType:\"plot\"},textfont:u({},s.textfont,{}),editType:\"calc\"},text:s.text,textinfo:l.textinfo,texttemplate:a({editType:\"plot\"},{keys:c.eventDataKeys.concat([\"label\",\"value\"])}),hovertext:s.hovertext,hoverinfo:l.hoverinfo,hovertemplate:n({},{keys:c.eventDataKeys}),textfont:s.textfont,insidetextfont:s.insidetextfont,outsidetextfont:u({},s.outsidetextfont,{}),textposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle left\",\"middle center\",\"middle right\",\"bottom left\",\"bottom center\",\"bottom right\"],dflt:\"top left\",editType:\"plot\"},domain:o({name:\"treemap\",trace:!0,editType:\"calc\"})}},{\"../../components/colorscale/attributes\":602,\"../../lib/extend\":719,\"../../plots/domain\":803,\"../../plots/template_attributes\":854,\"../pie/attributes\":1108,\"../sunburst/attributes\":1245,\"./constants\":1274}],1272:[function(t,e,r){\"use strict\";var n=t(\"../../plots/plots\");r.name=\"treemap\",r.plot=function(t,e,a,i){n.plotBasePlot(r.name,t,e,a,i)},r.clean=function(t,e,a,i){n.cleanBasePlot(r.name,t,e,a,i)}},{\"../../plots/plots\":839}],1273:[function(t,e,r){\"use strict\";var n=t(\"../sunburst/calc\");r.calc=function(t,e){return n.calc(t,e)},r.crossTraceCalc=function(t){return n._runCrossTraceCalc(\"treemap\",t)}},{\"../sunburst/calc\":1247}],1274:[function(t,e,r){\"use strict\";e.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:\"poly\",eventDataKeys:[\"currentPath\",\"root\",\"entry\",\"percentRoot\",\"percentEntry\",\"percentParent\"],gapWithPathbar:1}},{}],1275:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"./attributes\"),i=t(\"../../components/color\"),o=t(\"../../plots/domain\").defaults,s=t(\"../bar/defaults\").handleText,l=t(\"../bar/constants\").TEXTPAD,c=t(\"../../components/colorscale\"),u=c.hasColorscale,h=c.handleDefaults;e.exports=function(t,e,r,c){function f(r,i){return n.coerce(t,e,a,r,i)}var p=f(\"labels\"),d=f(\"parents\");if(p&&p.length&&d&&d.length){var g=f(\"values\");g&&g.length?f(\"branchvalues\"):f(\"count\"),f(\"level\"),f(\"maxdepth\"),\"squarify\"===f(\"tiling.packing\")&&f(\"tiling.squarifyratio\"),f(\"tiling.flip\"),f(\"tiling.pad\");var m=f(\"text\");f(\"texttemplate\"),e.texttemplate||f(\"textinfo\",Array.isArray(m)?\"text+label\":\"label\"),f(\"hovertext\"),f(\"hovertemplate\");var v=f(\"pathbar.visible\");s(t,e,c,f,\"auto\",{hasPathbar:v,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),f(\"textposition\");var y=-1!==e.textposition.indexOf(\"bottom\");f(\"marker.line.width\")&&f(\"marker.line.color\",c.paper_bgcolor);var x=f(\"marker.colors\"),b=e._hasColorscale=u(t,\"marker\",\"colors\")||(t.marker||{}).coloraxis;b?h(t,e,c,f,{prefix:\"marker.\",cLetter:\"c\"}):f(\"marker.depthfade\",!(x||[]).length);var _=2*e.textfont.size;f(\"marker.pad.t\",y?_/4:_),f(\"marker.pad.l\",_/4),f(\"marker.pad.r\",_/4),f(\"marker.pad.b\",y?_:_/4),b&&h(t,e,c,f,{prefix:\"marker.\",cLetter:\"c\"}),e._hovered={marker:{line:{width:2,color:i.contrast(c.paper_bgcolor)}}},v&&(f(\"pathbar.thickness\",e.pathbar.textfont.size+2*l),f(\"pathbar.side\"),f(\"pathbar.edgeshape\")),o(e,c,f),e._length=null}else e.visible=!1}},{\"../../components/color\":595,\"../../components/colorscale\":607,\"../../lib\":728,\"../../plots/domain\":803,\"../bar/constants\":871,\"../bar/defaults\":873,\"./attributes\":1271}],1276:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../lib\"),i=t(\"../../components/drawing\"),o=t(\"../../lib/svg_text_utils\"),s=t(\"./partition\"),l=t(\"./style\").styleOne,c=t(\"./constants\"),u=t(\"../sunburst/helpers\"),h=t(\"../sunburst/fx\");e.exports=function(t,e,r,f,p){var d=p.barDifY,g=p.width,m=p.height,v=p.viewX,y=p.viewY,x=p.pathSlice,b=p.toMoveInsideSlice,_=p.strTransform,w=p.hasTransition,T=p.handleSlicesExit,k=p.makeUpdateSliceInterpolator,A=p.makeUpdateTextInterpolator,M={},S=t._fullLayout,E=e[0],C=E.trace,L=E.hierarchy,P=g/C._entryDepth,I=u.listPath(r.data,\"id\"),z=s(L.copy(),[g,m],{packing:\"dice\",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();(z=z.filter((function(t){var e=I.indexOf(t.data.id);return-1!==e&&(t.x0=P*e,t.x1=P*(e+1),t.y0=d,t.y1=d+m,t.onPathbar=!0,!0)}))).reverse(),(f=f.data(z,u.getPtId)).enter().append(\"g\").classed(\"pathbar\",!0),T(f,!0,M,[g,m],x),f.order();var O=f;w&&(O=O.transition().each(\"end\",(function(){var e=n.select(this);u.setSliceCursor(e,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})}))),O.each((function(s){s._hoverX=v(s.x1-Math.min(g,m)/2),s._hoverY=y(s.y1-m/2);var f=n.select(this),p=a.ensureSingle(f,\"path\",\"surface\",(function(t){t.style(\"pointer-events\",\"all\")}));w?p.transition().attrTween(\"d\",(function(t){var e=k(t,!0,M,[g,m]);return function(t){return x(e(t))}})):p.attr(\"d\",x),f.call(h,r,t,e,{styleOne:l,eventDataKeys:c.eventDataKeys,transitionTime:c.CLICK_TRANSITION_TIME,transitionEasing:c.CLICK_TRANSITION_EASING}).call(u.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),p.call(l,s,C,{hovered:!1}),s._text=(u.getPtLabel(s)||\"\").split(\"<br>\").join(\" \")||\"\";var d=a.ensureSingle(f,\"g\",\"slicetext\"),T=a.ensureSingle(d,\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),E=a.ensureUniformFontSize(t,u.determineTextFont(C,s,S.font,{onPathbar:!0}));T.text(s._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",\"start\").call(i.font,E).call(o.convertToTspans,t),s.textBB=i.bBox(T.node()),s.transform=b(s,{fontSize:E.size,onPathbar:!0}),s.transform.fontSize=E.size,w?T.transition().attrTween(\"transform\",(function(t){var e=A(t,!0,M,[g,m]);return function(t){return _(e(t))}})):T.attr(\"transform\",_(s))}))}},{\"../../components/drawing\":617,\"../../lib\":728,\"../../lib/svg_text_utils\":752,\"../sunburst/fx\":1250,\"../sunburst/helpers\":1251,\"./constants\":1274,\"./partition\":1281,\"./style\":1283,d3:164}],1277:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../lib\"),i=t(\"../../components/drawing\"),o=t(\"../../lib/svg_text_utils\"),s=t(\"./partition\"),l=t(\"./style\").styleOne,c=t(\"./constants\"),u=t(\"../sunburst/helpers\"),h=t(\"../sunburst/fx\"),f=t(\"../sunburst/plot\").formatSliceLabel;e.exports=function(t,e,r,p,d){var g=d.width,m=d.height,v=d.viewX,y=d.viewY,x=d.pathSlice,b=d.toMoveInsideSlice,_=d.strTransform,w=d.hasTransition,T=d.handleSlicesExit,k=d.makeUpdateSliceInterpolator,A=d.makeUpdateTextInterpolator,M=d.prevEntry,S=t._fullLayout,E=e[0].trace,C=-1!==E.textposition.indexOf(\"left\"),L=-1!==E.textposition.indexOf(\"right\"),P=-1!==E.textposition.indexOf(\"bottom\"),I=!P&&!E.marker.pad.t||P&&!E.marker.pad.b,z=s(r,[g,m],{packing:E.tiling.packing,squarifyratio:E.tiling.squarifyratio,flipX:E.tiling.flip.indexOf(\"x\")>-1,flipY:E.tiling.flip.indexOf(\"y\")>-1,pad:{inner:E.tiling.pad,top:E.marker.pad.t,left:E.marker.pad.l,right:E.marker.pad.r,bottom:E.marker.pad.b}}).descendants(),O=1/0,D=-1/0;z.forEach((function(t){var e=t.depth;e>=E._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(O=Math.min(O,e),D=Math.max(D,e))})),p=p.data(z,u.getPtId),E._maxVisibleLayers=isFinite(D)?D-O+1:0,p.enter().append(\"g\").classed(\"slice\",!0),T(p,!1,{},[g,m],x),p.order();var R=null;if(w&&M){var F=u.getPtId(M);p.each((function(t){null===R&&u.getPtId(t)===F&&(R={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var B=function(){return R||{x0:0,x1:g,y0:0,y1:m}},N=p;return w&&(N=N.transition().each(\"end\",(function(){var e=n.select(this);u.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),N.each((function(s){var p=u.isHeader(s,E);s._hoverX=v(s.x1-E.marker.pad.r),s._hoverY=y(P?s.y1-E.marker.pad.b/2:s.y0+E.marker.pad.t/2);var d=n.select(this),T=a.ensureSingle(d,\"path\",\"surface\",(function(t){t.style(\"pointer-events\",\"all\")}));w?T.transition().attrTween(\"d\",(function(t){var e=k(t,!1,B(),[g,m]);return function(t){return x(e(t))}})):T.attr(\"d\",x),d.call(h,r,t,e,{styleOne:l,eventDataKeys:c.eventDataKeys,transitionTime:c.CLICK_TRANSITION_TIME,transitionEasing:c.CLICK_TRANSITION_EASING}).call(u.setSliceCursor,t,{isTransitioning:t._transitioning}),T.call(l,s,E,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text=\"\":s._text=p?I?\"\":u.getPtLabel(s)||\"\":f(s,r,E,e,S)||\"\";var M=a.ensureSingle(d,\"g\",\"slicetext\"),z=a.ensureSingle(M,\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),O=a.ensureUniformFontSize(t,u.determineTextFont(E,s,S.font));z.text(s._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",L?\"end\":C||p?\"start\":\"middle\").call(i.font,O).call(o.convertToTspans,t),s.textBB=i.bBox(z.node()),s.transform=b(s,{fontSize:O.size,isHeader:p}),s.transform.fontSize=O.size,w?z.transition().attrTween(\"transform\",(function(t){var e=A(t,!1,B(),[g,m]);return function(t){return _(e(t))}})):z.attr(\"transform\",_(s))})),R}},{\"../../components/drawing\":617,\"../../lib\":728,\"../../lib/svg_text_utils\":752,\"../sunburst/fx\":1250,\"../sunburst/helpers\":1251,\"../sunburst/plot\":1255,\"./constants\":1274,\"./partition\":1281,\"./style\":1283,d3:164}],1278:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"treemap\",basePlotModule:t(\"./base_plot\"),categories:[],animatable:!0,attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\"),supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\").calc,crossTraceCalc:t(\"./calc\").crossTraceCalc,plot:t(\"./plot\"),style:t(\"./style\").style,colorbar:t(\"../scatter/marker_colorbar\"),meta:{}}},{\"../scatter/marker_colorbar\":1152,\"./attributes\":1271,\"./base_plot\":1272,\"./calc\":1273,\"./defaults\":1275,\"./layout_attributes\":1279,\"./layout_defaults\":1280,\"./plot\":1282,\"./style\":1283}],1279:[function(t,e,r){\"use strict\";e.exports={treemapcolorway:{valType:\"colorlist\",editType:\"calc\"},extendtreemapcolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}},{}],1280:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"./layout_attributes\");e.exports=function(t,e){function r(r,i){return n.coerce(t,e,a,r,i)}r(\"treemapcolorway\",e.colorway),r(\"extendtreemapcolors\")}},{\"../../lib\":728,\"./layout_attributes\":1279}],1281:[function(t,e,r){\"use strict\";var n=t(\"d3-hierarchy\");e.exports=function(t,e,r){var a,i=r.flipX,o=r.flipY,s=\"dice-slice\"===r.packing,l=r.pad[o?\"bottom\":\"top\"],c=r.pad[i?\"right\":\"left\"],u=r.pad[i?\"left\":\"right\"],h=r.pad[o?\"top\":\"bottom\"];s&&(a=c,c=l,l=a,a=u,u=h,h=a);var f=n.treemap().tile(function(t,e){switch(t){case\"squarify\":return n.treemapSquarify.ratio(e);case\"binary\":return n.treemapBinary;case\"dice\":return n.treemapDice;case\"slice\":return n.treemapSlice;default:return n.treemapSliceDice}}(r.packing,r.squarifyratio)).paddingInner(r.pad.inner).paddingLeft(c).paddingRight(u).paddingTop(l).paddingBottom(h).size(s?[e[1],e[0]]:e)(t);return(s||i||o)&&function t(e,r,n){var a;n.swapXY&&(a=e.x0,e.x0=e.y0,e.y0=a,a=e.x1,e.x1=e.y1,e.y1=a);n.flipX&&(a=e.x0,e.x0=r[0]-e.x1,e.x1=r[0]-a);n.flipY&&(a=e.y0,e.y0=r[1]-e.y1,e.y1=r[1]-a);var i=e.children;if(i)for(var o=0;o<i.length;o++)t(i[o],r,n)}(f,e,{swapXY:s,flipX:i,flipY:o}),f}},{\"d3-hierarchy\":158}],1282:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../sunburst/helpers\"),i=t(\"../../lib\"),o=t(\"../bar/constants\").TEXTPAD,s=t(\"../bar/plot\").toMoveInsideBar,l=t(\"../bar/uniform_text\"),c=l.recordMinTextSize,u=l.clearMinTextSize,h=t(\"../bar/style\").resizeText,f=t(\"./constants\"),p=t(\"./draw_descendants\"),d=t(\"./draw_ancestors\");function g(t){return a.isHierarchyRoot(t)?\"\":a.getPtId(t)}function m(t,e,r,l){var u=t._fullLayout,h=e[0],m=h.trace,v=h.hierarchy,y=a.findEntryWithLevel(v,m.level),x=n.select(r),b=x.selectAll(\"g.pathbar\"),_=x.selectAll(\"g.slice\");if(!y)return b.remove(),void _.remove();var w=a.isHierarchyRoot(y),T=!u.uniformtext.mode&&a.hasTransition(l),k=a.getMaxDepth(m),A=u._size,M=m.domain,S=A.w*(M.x[1]-M.x[0]),E=A.h*(M.y[1]-M.y[0]),C=S,L=m.pathbar.thickness,P=m.marker.line.width+f.gapWithPathbar,I=m.pathbar.visible?m.pathbar.side.indexOf(\"bottom\")>-1?E+P:-(L+P):0,z={x0:C,x1:C,y0:I,y1:I+L},O=function(t,e,r){var n=m.tiling.pad,a=function(t){return t-n<=e.x0},i=function(t){return t+n>=e.x1},o=function(t){return t-n<=e.y0},s=function(t){return t+n>=e.y1};return{x0:a(t.x0-n)?0:i(t.x0-n)?r[0]:t.x0,x1:a(t.x1+n)?0:i(t.x1+n)?r[0]:t.x1,y0:o(t.y0-n)?0:s(t.y0-n)?r[1]:t.y0,y1:o(t.y1+n)?0:s(t.y1+n)?r[1]:t.y1}},D=null,R={},F={},B=null,N=function(t,e){return e?R[g(t)]:F[g(t)]},j=function(t,e,r,n){if(e)return R[g(v)]||z;var a=F[m.level]||r;return function(t){return t.data.depth-y.data.depth<k}(t)?O(t,a,n):{}};h.hasMultipleRoots&&w&&k++,m._maxDepth=k,m._backgroundColor=u.paper_bgcolor,m._entryDepth=y.data.depth,m._atRootLevel=w;var V=-S/2+A.l+A.w*(M.x[1]+M.x[0])/2,U=-E/2+A.t+A.h*(1-(M.y[1]+M.y[0])/2),q=function(t){return V+t},H=function(t){return U+t},G=H(0),Y=q(0),W=function(t){return Y+t},Z=function(t){return G+t};function X(t,e){return t+\",\"+e}var J=W(0),K=function(t){t.x=Math.max(J,t.x)},Q=m.pathbar.edgeshape,$=function(t,e){var r=t.x0,n=t.x1,a=t.y0,i=t.y1,l=t.textBB,h=function(t){return-1!==m.textposition.indexOf(t)},f=h(\"bottom\"),p=h(\"top\")||e.isHeader&&!f?\"start\":f?\"end\":\"middle\",d=h(\"right\"),g=h(\"left\")||e.onPathbar?-1:d?1:0,v=m.marker.pad;if(e.isHeader){if((r+=v.l-o)>=(n-=v.r-o)){var y=(r+n)/2;r=y,n=y}var x;f?a<(x=i-v.b)&&x<i&&(a=x):a<(x=a+v.t)&&x<i&&(i=x)}var b=s(r,n,a,i,l,{isHorizontal:!1,constrained:!0,angle:0,anchor:p,leftToRight:g});return b.fontSize=e.fontSize,b.targetX=q(b.targetX),b.targetY=H(b.targetY),isNaN(b.targetX)||isNaN(b.targetY)?{}:(r!==n&&a!==i&&c(m.type,b,u),{scale:b.scale,rotate:b.rotate,textX:b.textX,textY:b.textY,anchorX:b.anchorX,anchorY:b.anchorY,targetX:b.targetX,targetY:b.targetY})},tt=function(t,e){for(var r,n=0,a=t;!r&&n<k;)n++,(a=a.parent)?r=N(a,e):n=k;return r||{}},et=function(t,e,r,a){var o,s=N(t,e);if(s)o=s;else if(e)o=z;else if(D)if(t.parent){var l=B||r;l&&!e?o=O(t,l,a):(o={},i.extendFlat(o,tt(t,e)))}else o=t;else o={};return n.interpolate(o,{x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})},rt=function(t,e,r,o){var s=N(t,e),l={},h=j(t,e,r,o);i.extendFlat(l,{transform:$({x0:h.x0,x1:h.x1,y0:h.y0,y1:h.y1,textBB:t.textBB,_text:t._text},{isHeader:a.isHeader(t,m)})}),s?l=s:t.parent&&i.extendFlat(l,tt(t,e));var f=t.transform;return t.x0!==t.x1&&t.y0!==t.y1&&c(m.type,f,u),n.interpolate(l,{transform:{scale:f.scale,rotate:f.rotate,textX:f.textX,textY:f.textY,anchorX:f.anchorX,anchorY:f.anchorY,targetX:f.targetX,targetY:f.targetY}})},nt=function(t,e,r,a,i){var o=a[0],s=a[1];T?t.exit().transition().each((function(){var t=n.select(this);t.select(\"path.surface\").transition().attrTween(\"d\",(function(t){var r=function(t,e,r,a){var i,o=N(t,e);if(e)i=z;else{var s=N(y,e);i=s?O(t,s,a):{}}return n.interpolate(o,i)}(t,e,0,[o,s]);return function(t){return i(r(t))}})),t.select(\"g.slicetext\").attr(\"opacity\",0)})).remove():t.exit().remove()},at=function(t){var e=t.transform;return t.x0!==t.x1&&t.y0!==t.y1&&c(m.type,e,u),i.getTextTransform({textX:e.textX,textY:e.textY,anchorX:e.anchorX,anchorY:e.anchorY,targetX:e.targetX,targetY:e.targetY,scale:e.scale,rotate:e.rotate})};T&&(b.each((function(t){R[g(t)]={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1},t.transform&&(R[g(t)].transform={textX:t.transform.textX,textY:t.transform.textY,anchorX:t.transform.anchorX,anchorY:t.transform.anchorY,targetX:t.transform.targetX,targetY:t.transform.targetY,scale:t.transform.scale,rotate:t.transform.rotate})})),_.each((function(t){F[g(t)]={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1},t.transform&&(F[g(t)].transform={textX:t.transform.textX,textY:t.transform.textY,anchorX:t.transform.anchorX,anchorY:t.transform.anchorY,targetX:t.transform.targetX,targetY:t.transform.targetY,scale:t.transform.scale,rotate:t.transform.rotate}),!D&&a.isEntry(t)&&(D=t)}))),B=p(t,e,y,_,{width:S,height:E,viewX:q,viewY:H,pathSlice:function(t){var e=q(t.x0),r=q(t.x1),n=H(t.y0),a=H(t.y1),i=r-e,o=a-n;if(!i||!o)return\"\";return\"M\"+X(e,n+0)+\"L\"+X(r-0,n)+\"L\"+X(r,a-0)+\"L\"+X(e+0,a)+\"Z\"},toMoveInsideSlice:$,prevEntry:D,makeUpdateSliceInterpolator:et,makeUpdateTextInterpolator:rt,handleSlicesExit:nt,hasTransition:T,strTransform:at}),m.pathbar.visible?d(t,e,y,b,{barDifY:I,width:C,height:L,viewX:W,viewY:Z,pathSlice:function(t){var e=W(Math.max(Math.min(t.x0,t.x0),0)),r=W(Math.min(Math.max(t.x1,t.x1),C)),n=Z(t.y0),a=Z(t.y1),i=L/2,o={},s={};o.x=e,s.x=r,o.y=s.y=(n+a)/2;var l={x:e,y:n},c={x:r,y:n},u={x:r,y:a},h={x:e,y:a};return\">\"===Q?(l.x-=i,c.x-=i,u.x-=i,h.x-=i):\"/\"===Q?(u.x-=i,h.x-=i,o.x-=i/2,s.x-=i/2):\"\\\\\"===Q?(l.x-=i,c.x-=i,o.x-=i/2,s.x-=i/2):\"<\"===Q&&(o.x-=i,s.x-=i),K(l),K(h),K(o),K(c),K(u),K(s),\"M\"+X(l.x,l.y)+\"L\"+X(c.x,c.y)+\"L\"+X(s.x,s.y)+\"L\"+X(u.x,u.y)+\"L\"+X(h.x,h.y)+\"L\"+X(o.x,o.y)+\"Z\"},toMoveInsideSlice:$,makeUpdateSliceInterpolator:et,makeUpdateTextInterpolator:rt,handleSlicesExit:nt,hasTransition:T,strTransform:at}):b.remove()}e.exports=function(t,e,r,i){var o,s,l=t._fullLayout,c=l._treemaplayer,f=!r;(u(\"treemap\",l),(o=c.selectAll(\"g.trace.treemap\").data(e,(function(t){return t[0].trace.uid}))).enter().append(\"g\").classed(\"trace\",!0).classed(\"treemap\",!0),o.order(),!l.uniformtext.mode&&a.hasTransition(r))?(i&&(s=i()),n.transition().duration(r.duration).ease(r.easing).each(\"end\",(function(){s&&s()})).each(\"interrupt\",(function(){s&&s()})).each((function(){c.selectAll(\"g.trace\").each((function(e){m(t,e,this,r)}))}))):(o.each((function(e){m(t,e,this,r)})),l.uniformtext.mode&&h(t,l._treemaplayer.selectAll(\".trace\"),\"treemap\"));f&&o.exit().remove()}},{\"../../lib\":728,\"../bar/constants\":871,\"../bar/plot\":880,\"../bar/style\":883,\"../bar/uniform_text\":885,\"../sunburst/helpers\":1251,\"./constants\":1274,\"./draw_ancestors\":1276,\"./draw_descendants\":1277,d3:164}],1283:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../components/color\"),i=t(\"../../lib\"),o=t(\"../sunburst/helpers\"),s=t(\"../bar/uniform_text\").resizeText;function l(t,e,r,n){var s,l,c=(n||{}).hovered,u=e.data.data,h=u.i,f=u.color,p=o.isHierarchyRoot(e),d=1;if(c)s=r._hovered.marker.line.color,l=r._hovered.marker.line.width;else if(p&&\"rgba(0,0,0,0)\"===f)d=0,s=\"rgba(0,0,0,0)\",l=0;else if(s=i.castOption(r,h,\"marker.line.color\")||a.defaultLine,l=i.castOption(r,h,\"marker.line.width\")||0,!r._hasColorscale&&!e.onPathbar){var g=r.marker.depthfade;if(g){var m,v=a.combine(a.addOpacity(r._backgroundColor,.75),f);if(!0===g){var y=o.getMaxDepth(r);m=isFinite(y)?o.isLeaf(e)?0:r._maxVisibleLayers-(e.data.depth-r._entryDepth):e.data.height+1}else m=e.data.depth-r._entryDepth,r._atRootLevel||m++;if(m>0)for(var x=0;x<m;x++){var b=.5*x/m;f=a.combine(a.addOpacity(v,b),f)}}}t.style(\"stroke-width\",l).call(a.fill,f).call(a.stroke,s).style(\"opacity\",d)}e.exports={style:function(t){var e=t._fullLayout._treemaplayer.selectAll(\".trace\");s(t,e,\"treemap\"),e.each((function(t){var e=n.select(this),r=t[0].trace;e.style(\"opacity\",r.opacity),e.selectAll(\"path.surface\").each((function(t){n.select(this).call(l,t,r,{hovered:!1})}))}))},styleOne:l}},{\"../../components/color\":595,\"../../lib\":728,\"../bar/uniform_text\":885,\"../sunburst/helpers\":1251,d3:164}],1284:[function(t,e,r){\"use strict\";var n=t(\"../box/attributes\"),a=t(\"../../lib/extend\").extendFlat;e.exports={y:n.y,x:n.x,x0:n.x0,y0:n.y0,name:a({},n.name,{}),orientation:a({},n.orientation,{}),bandwidth:{valType:\"number\",min:0,editType:\"calc\"},scalegroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},scalemode:{valType:\"enumerated\",values:[\"width\",\"count\"],dflt:\"width\",editType:\"calc\"},spanmode:{valType:\"enumerated\",values:[\"soft\",\"hard\",\"manual\"],dflt:\"soft\",editType:\"calc\"},span:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}],editType:\"calc\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,dflt:2,editType:\"style\"},editType:\"plot\"},fillcolor:n.fillcolor,points:a({},n.boxpoints,{}),jitter:a({},n.jitter,{}),pointpos:a({},n.pointpos,{}),width:a({},n.width,{}),marker:n.marker,text:n.text,hovertext:n.hovertext,hovertemplate:n.hovertemplate,box:{visible:{valType:\"boolean\",dflt:!1,editType:\"plot\"},width:{valType:\"number\",min:0,max:1,dflt:.25,editType:\"plot\"},fillcolor:{valType:\"color\",editType:\"style\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},editType:\"plot\"},meanline:{visible:{valType:\"boolean\",dflt:!1,editType:\"plot\"},color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,editType:\"style\"},editType:\"plot\"},side:{valType:\"enumerated\",values:[\"both\",\"positive\",\"negative\"],dflt:\"both\",editType:\"calc\"},offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup,selected:n.selected,unselected:n.unselected,hoveron:{valType:\"flaglist\",flags:[\"violins\",\"points\",\"kde\"],dflt:\"violins+points+kde\",extras:[\"all\"],editType:\"style\"}}},{\"../../lib/extend\":719,\"../box/attributes\":894}],1285:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),i=t(\"../box/calc\"),o=t(\"./helpers\"),s=t(\"../../constants/numerical\").BADNUM;function l(t,e,r){var a=e.max-e.min;if(!a)return t.bandwidth?t.bandwidth:0;if(t.bandwidth)return Math.max(t.bandwidth,a/1e4);var i=r.length,o=n.stdev(r,i-1,e.mean);return Math.max(function(t,e,r){return 1.059*Math.min(e,r/1.349)*Math.pow(t,-.2)}(i,o,e.q3-e.q1),a/100)}function c(t,e,r,n){var i,o=t.spanmode,l=t.span||[],c=[e.min,e.max],u=[e.min-2*n,e.max+2*n];function h(n){var a=l[n],i=\"multicategory\"===r.type?r.r2c(a):r.d2c(a,0,t[e.valLetter+\"calendar\"]);return i===s?u[n]:i}var f={type:\"linear\",range:i=\"soft\"===o?u:\"hard\"===o?c:[h(0),h(1)]};return a.setConvert(f),f.cleanRange(),i}e.exports=function(t,e){var r=i(t,e);if(r[0].t.empty)return r;for(var s=t._fullLayout,u=a.getFromId(t,e[\"h\"===e.orientation?\"xaxis\":\"yaxis\"]),h=1/0,f=-1/0,p=0,d=0,g=0;g<r.length;g++){var m=r[g],v=m.pts.map(o.extractVal),y=m.bandwidth=l(e,m,v),x=m.span=c(e,m,u,y);if(m.min===m.max&&0===y)x=m.span=[m.min,m.max],m.density=[{v:1,t:x[0]}],m.bandwidth=y,p=Math.max(p,1);else{var b=x[1]-x[0],_=Math.ceil(b/(y/3)),w=b/_;if(!isFinite(w)||!isFinite(_))return n.error(\"Something went wrong with computing the violin span\"),r[0].t.empty=!0,r;var T=o.makeKDE(m,e,v);m.density=new Array(_);for(var k=0,A=x[0];A<x[1]+w/2;k++,A+=w){var M=T(A);m.density[k]={v:M,t:A},p=Math.max(p,M)}}d=Math.max(d,v.length),h=Math.min(h,x[0]),f=Math.max(f,x[1])}var S=a.findExtremes(u,[h,f],{padded:!0});if(e._extremes[u._id]=S,e.width)r[0].t.maxKDE=p;else{var E=s._violinScaleGroupStats,C=e.scalegroup,L=E[C];L?(L.maxKDE=Math.max(L.maxKDE,p),L.maxCount=Math.max(L.maxCount,d)):E[C]={maxKDE:p,maxCount:d}}return r[0].t.labels.kde=n._(t,\"kde:\"),r}},{\"../../constants/numerical\":704,\"../../lib\":728,\"../../plots/cartesian/axes\":776,\"../box/calc\":895,\"./helpers\":1288}],1286:[function(t,e,r){\"use strict\";var n=t(\"../box/cross_trace_calc\").setPositionOffset,a=[\"v\",\"h\"];e.exports=function(t,e){for(var r=t.calcdata,i=e.xaxis,o=e.yaxis,s=0;s<a.length;s++){for(var l=a[s],c=\"h\"===l?o:i,u=[],h=0;h<r.length;h++){var f=r[h],p=f[0].t,d=f[0].trace;!0!==d.visible||\"violin\"!==d.type||p.empty||d.orientation!==l||d.xaxis!==i._id||d.yaxis!==o._id||u.push(h)}n(\"violin\",t,u,c)}}},{\"../box/cross_trace_calc\":896}],1287:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../components/color\"),i=t(\"../box/defaults\"),o=t(\"./attributes\");e.exports=function(t,e,r,s){function l(r,a){return n.coerce(t,e,o,r,a)}function c(r,a){return n.coerce2(t,e,o,r,a)}if(i.handleSampleDefaults(t,e,l,s),!1!==e.visible){l(\"bandwidth\"),l(\"side\"),l(\"width\")||(l(\"scalegroup\",e.name),l(\"scalemode\"));var u,h=l(\"span\");Array.isArray(h)&&(u=\"manual\"),l(\"spanmode\",u);var f=l(\"line.color\",(t.marker||{}).color||r),p=l(\"line.width\"),d=l(\"fillcolor\",a.addOpacity(e.line.color,.5));i.handlePointsDefaults(t,e,l,{prefix:\"\"});var g=c(\"box.width\"),m=c(\"box.fillcolor\",d),v=c(\"box.line.color\",f),y=c(\"box.line.width\",p);l(\"box.visible\",Boolean(g||m||v||y))||(e.box={visible:!1});var x=c(\"meanline.color\",f),b=c(\"meanline.width\",p);l(\"meanline.visible\",Boolean(x||b))||(e.meanline={visible:!1})}}},{\"../../components/color\":595,\"../../lib\":728,\"../box/defaults\":897,\"./attributes\":1284}],1288:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=function(t){return 1/Math.sqrt(2*Math.PI)*Math.exp(-.5*t*t)};r.makeKDE=function(t,e,r){var n=r.length,i=a,o=t.bandwidth,s=1/(n*o);return function(t){for(var e=0,a=0;a<n;a++)e+=i((t-r[a])/o);return s*e}},r.getPositionOnKdePath=function(t,e,r){var a,i;\"h\"===e.orientation?(a=\"y\",i=\"x\"):(a=\"x\",i=\"y\");var o=n.findPointOnPath(t.path,r,i,{pathLength:t.pathLength}),s=t.posCenterPx,l=o[a];return[l,\"both\"===e.side?2*s-l:s]},r.getKdeValue=function(t,e,n){var a=t.pts.map(r.extractVal);return r.makeKDE(t,e,a)(n)/t.posDensityScale},r.extractVal=function(t){return t.v}},{\"../../lib\":728}],1289:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),i=t(\"../box/hover\"),o=t(\"./helpers\");e.exports=function(t,e,r,s,l){var c,u,h=t.cd,f=h[0].trace,p=f.hoveron,d=-1!==p.indexOf(\"violins\"),g=-1!==p.indexOf(\"kde\"),m=[];if(d||g){var v=i.hoverOnBoxes(t,e,r,s);if(g&&v.length>0){var y,x,b,_,w,T=t.xa,k=t.ya;\"h\"===f.orientation?(w=e,y=\"y\",b=k,x=\"x\",_=T):(w=r,y=\"x\",b=T,x=\"y\",_=k);var A=h[t.index];if(w>=A.span[0]&&w<=A.span[1]){var M=n.extendFlat({},t),S=_.c2p(w,!0),E=o.getKdeValue(A,f,w),C=o.getPositionOnKdePath(A,f,S),L=b._offset,P=b._length;M[y+\"0\"]=C[0],M[y+\"1\"]=C[1],M[x+\"0\"]=M[x+\"1\"]=S,M[x+\"Label\"]=x+\": \"+a.hoverLabelText(_,w)+\", \"+h[0].t.labels.kde+\" \"+E.toFixed(3),M.spikeDistance=v[0].spikeDistance;var I=y+\"Spike\";M[I]=v[0][I],v[0].spikeDistance=void 0,v[0][I]=void 0,M.hovertemplate=!1,m.push(M),(u={stroke:t.color})[y+\"1\"]=n.constrain(L+C[0],L,L+P),u[y+\"2\"]=n.constrain(L+C[1],L,L+P),u[x+\"1\"]=u[x+\"2\"]=_._offset+S}}d&&(m=m.concat(v))}-1!==p.indexOf(\"points\")&&(c=i.hoverOnPoints(t,e,r));var z=l.selectAll(\".violinline-\"+f.uid).data(u?[0]:[]);return z.enter().append(\"line\").classed(\"violinline-\"+f.uid,!0).attr(\"stroke-width\",1.5),z.exit().remove(),z.attr(u),\"closest\"===s?c?[c]:m:c?(m.push(c),m):m}},{\"../../lib\":728,\"../../plots/cartesian/axes\":776,\"../box/hover\":899,\"./helpers\":1288}],1290:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\"),crossTraceDefaults:t(\"../box/defaults\").crossTraceDefaults,supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\"),crossTraceCalc:t(\"./cross_trace_calc\"),plot:t(\"./plot\"),style:t(\"./style\"),styleOnSelect:t(\"../scatter/style\").styleOnSelect,hoverPoints:t(\"./hover\"),selectPoints:t(\"../box/select\"),moduleType:\"trace\",name:\"violin\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"symbols\",\"oriented\",\"box-violin\",\"showLegend\",\"violinLayout\",\"zoomScale\"],meta:{}}},{\"../../plots/cartesian\":789,\"../box/defaults\":897,\"../box/select\":904,\"../scatter/style\":1157,\"./attributes\":1284,\"./calc\":1285,\"./cross_trace_calc\":1286,\"./defaults\":1287,\"./hover\":1289,\"./layout_attributes\":1291,\"./layout_defaults\":1292,\"./plot\":1293,\"./style\":1294}],1291:[function(t,e,r){\"use strict\";var n=t(\"../box/layout_attributes\"),a=t(\"../../lib\").extendFlat;e.exports={violinmode:a({},n.boxmode,{}),violingap:a({},n.boxgap,{}),violingroupgap:a({},n.boxgroupgap,{})}},{\"../../lib\":728,\"../box/layout_attributes\":901}],1292:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"./layout_attributes\"),i=t(\"../box/layout_defaults\");e.exports=function(t,e,r){i._supply(t,e,r,(function(r,i){return n.coerce(t,e,a,r,i)}),\"violin\")}},{\"../../lib\":728,\"../box/layout_defaults\":902,\"./layout_attributes\":1291}],1293:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../lib\"),i=t(\"../../components/drawing\"),o=t(\"../box/plot\"),s=t(\"../scatter/line_points\"),l=t(\"./helpers\");e.exports=function(t,e,r,c){var u=t._fullLayout,h=e.xaxis,f=e.yaxis;function p(t){var e=s(t,{xaxis:h,yaxis:f,connectGaps:!0,baseTolerance:.75,shape:\"spline\",simplify:!0,linearized:!0});return i.smoothopen(e[0],1)}a.makeTraceGroups(c,r,\"trace violins\").each((function(t){var r=n.select(this),i=t[0],s=i.t,c=i.trace;if(!0!==c.visible||s.empty)r.remove();else{var d=s.bPos,g=s.bdPos,m=e[s.valLetter+\"axis\"],v=e[s.posLetter+\"axis\"],y=\"both\"===c.side,x=y||\"positive\"===c.side,b=y||\"negative\"===c.side,_=r.selectAll(\"path.violin\").data(a.identity);_.enter().append(\"path\").style(\"vector-effect\",\"non-scaling-stroke\").attr(\"class\",\"violin\"),_.exit().remove(),_.each((function(t){var e,r,a,i,o,l,h,f,_=n.select(this),w=t.density,T=w.length,k=v.c2l(t.pos+d,!0),A=v.l2p(k);if(c.width)e=s.maxKDE/g;else{var M=u._violinScaleGroupStats[c.scalegroup];e=\"count\"===c.scalemode?M.maxKDE/g*(M.maxCount/t.pts.length):M.maxKDE/g}if(x){for(h=new Array(T),o=0;o<T;o++)(f=h[o]={})[s.posLetter]=k+w[o].v/e,f[s.valLetter]=m.c2l(w[o].t,!0);r=p(h)}if(b){for(h=new Array(T),l=0,o=T-1;l<T;l++,o--)(f=h[l]={})[s.posLetter]=k-w[o].v/e,f[s.valLetter]=m.c2l(w[o].t,!0);a=p(h)}if(y)i=r+\"L\"+a.substr(1)+\"Z\";else{var S=[A,m.c2p(w[0].t)],E=[A,m.c2p(w[T-1].t)];\"h\"===c.orientation&&(S.reverse(),E.reverse()),i=x?\"M\"+S+\"L\"+r.substr(1)+\"L\"+E:\"M\"+E+\"L\"+a.substr(1)+\"L\"+S}_.attr(\"d\",i),t.posCenterPx=A,t.posDensityScale=e*g,t.path=_.node(),t.pathLength=t.path.getTotalLength()/(y?2:1)}));var w,T,k,A=c.box,M=A.width,S=(A.line||{}).width;y?(w=g*M,T=0):x?(w=[0,g*M/2],T=S*{x:1,y:-1}[s.posLetter]):(w=[g*M/2,0],T=S*{x:-1,y:1}[s.posLetter]),o.plotBoxAndWhiskers(r,{pos:v,val:m},c,{bPos:d,bdPos:w,bPosPxOffset:T}),o.plotBoxMean(r,{pos:v,val:m},c,{bPos:d,bdPos:w,bPosPxOffset:T}),!c.box.visible&&c.meanline.visible&&(k=a.identity);var E=r.selectAll(\"path.meanline\").data(k||[]);E.enter().append(\"path\").attr(\"class\",\"meanline\").style(\"fill\",\"none\").style(\"vector-effect\",\"non-scaling-stroke\"),E.exit().remove(),E.each((function(t){var e=m.c2p(t.mean,!0),r=l.getPositionOnKdePath(t,c,e);n.select(this).attr(\"d\",\"h\"===c.orientation?\"M\"+e+\",\"+r[0]+\"V\"+r[1]:\"M\"+r[0]+\",\"+e+\"H\"+r[1])})),o.plotPoints(r,{x:h,y:f},c,s)}}))}},{\"../../components/drawing\":617,\"../../lib\":728,\"../box/plot\":903,\"../scatter/line_points\":1148,\"./helpers\":1288,d3:164}],1294:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../components/color\"),i=t(\"../scatter/style\").stylePoints;e.exports=function(t){var e=n.select(t).selectAll(\"g.trace.violins\");e.style(\"opacity\",(function(t){return t[0].trace.opacity})),e.each((function(e){var r=e[0].trace,o=n.select(this),s=r.box||{},l=s.line||{},c=r.meanline||{},u=c.width;o.selectAll(\"path.violin\").style(\"stroke-width\",r.line.width+\"px\").call(a.stroke,r.line.color).call(a.fill,r.fillcolor),o.selectAll(\"path.box\").style(\"stroke-width\",l.width+\"px\").call(a.stroke,l.color).call(a.fill,s.fillcolor);var h={\"stroke-width\":u+\"px\",\"stroke-dasharray\":2*u+\"px,\"+u+\"px\"};o.selectAll(\"path.mean\").style(h).call(a.stroke,c.color),o.selectAll(\"path.meanline\").style(h).call(a.stroke,c.color),i(o,r,t)}))}},{\"../../components/color\":595,\"../scatter/style\":1157,d3:164}],1295:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/attributes\"),a=t(\"../isosurface/attributes\"),i=t(\"../surface/attributes\"),o=t(\"../../plots/attributes\"),s=t(\"../../lib/extend\").extendFlat,l=t(\"../../plot_api/edit_types\").overrideAll,c=e.exports=l(s({x:a.x,y:a.y,z:a.z,value:a.value,isomin:a.isomin,isomax:a.isomax,surface:a.surface,spaceframe:{show:{valType:\"boolean\",dflt:!1},fill:{valType:\"number\",min:0,max:1,dflt:1}},slices:a.slices,caps:a.caps,text:a.text,hovertext:a.hovertext,hovertemplate:a.hovertemplate},n(\"\",{colorAttr:\"`value`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{colorbar:a.colorbar,opacity:a.opacity,opacityscale:i.opacityscale,lightposition:a.lightposition,lighting:a.lighting,flatshading:a.flatshading,contour:a.contour,hoverinfo:s({},o.hoverinfo),showlegend:s({},o.showlegend,{dflt:!1})}),\"calc\",\"nested\");c.x.editType=c.y.editType=c.z.editType=c.value.editType=\"calc+clearAxisTypes\",c.transforms=void 0},{\"../../components/colorscale/attributes\":602,\"../../lib/extend\":719,\"../../plot_api/edit_types\":759,\"../../plots/attributes\":773,\"../isosurface/attributes\":1070,\"../surface/attributes\":1257}],1296:[function(t,e,r){\"use strict\";var n=t(\"gl-mesh3d\"),a=t(\"../../lib/gl_format_color\").parseColorScale,i=t(\"../../lib/str2rgbarray\"),o=t(\"../../components/colorscale\").extractOpts,s=t(\"../../plots/gl3d/zip3\"),l=t(\"../isosurface/convert\").findNearestOnAxis,c=t(\"../isosurface/convert\").generateIsoMeshes;function u(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name=\"\",this.data=null,this.showContour=!1}var h=u.prototype;h.handlePick=function(t){if(t.object===this.mesh){var e=t.data.index,r=this.data._meshX[e],n=this.data._meshY[e],a=this.data._meshZ[e],i=this.data._Ys.length,o=this.data._Zs.length,s=l(r,this.data._Xs).id,c=l(n,this.data._Ys).id,u=l(a,this.data._Zs).id,h=t.index=u+o*c+o*i*s;t.traceCoordinate=[this.data._meshX[h],this.data._meshY[h],this.data._meshZ[h],this.data._value[h]];var f=this.data.hovertext||this.data.text;return Array.isArray(f)&&void 0!==f[h]?t.textLabel=f[h]:f&&(t.textLabel=f),!0}},h.update=function(t){var e=this.scene,r=e.fullSceneLayout;function n(t,e,r,n){return e.map((function(e){return t.d2l(e,0,n)*r}))}this.data=c(t);var l={positions:s(n(r.xaxis,t._meshX,e.dataScale[0],t.xcalendar),n(r.yaxis,t._meshY,e.dataScale[1],t.ycalendar),n(r.zaxis,t._meshZ,e.dataScale[2],t.zcalendar)),cells:s(t._meshI,t._meshJ,t._meshK),lightPosition:[t.lightposition.x,t.lightposition.y,t.lightposition.z],ambient:t.lighting.ambient,diffuse:t.lighting.diffuse,specular:t.lighting.specular,roughness:t.lighting.roughness,fresnel:t.lighting.fresnel,vertexNormalsEpsilon:t.lighting.vertexnormalsepsilon,faceNormalsEpsilon:t.lighting.facenormalsepsilon,opacity:t.opacity,opacityscale:t.opacityscale,contourEnable:t.contour.show,contourColor:i(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading},u=o(t);l.vertexIntensity=t._meshIntensity,l.vertexIntensityBounds=[u.min,u.max],l.colormap=a(t),this.mesh.update(l)},h.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,a=n({gl:r}),i=new u(t,a,e.uid);return a._trace=i,i.update(e),t.glplot.add(a),i}},{\"../../components/colorscale\":607,\"../../lib/gl_format_color\":725,\"../../lib/str2rgbarray\":751,\"../../plots/gl3d/zip3\":829,\"../isosurface/convert\":1072,\"gl-mesh3d\":287}],1297:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"./attributes\"),i=t(\"../isosurface/defaults\").supplyIsoDefaults,o=t(\"../surface/defaults\").opacityscaleDefaults;e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,a,r,i)}i(t,e,r,s,l),o(t,e,s,l)}},{\"../../lib\":728,\"../isosurface/defaults\":1073,\"../surface/defaults\":1260,\"./attributes\":1295}],1298:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"../isosurface/calc\"),colorbar:{min:\"cmin\",max:\"cmax\"},plot:t(\"./convert\"),moduleType:\"trace\",name:\"volume\",basePlotModule:t(\"../../plots/gl3d\"),categories:[\"gl3d\",\"showLegend\"],meta:{}}},{\"../../plots/gl3d\":818,\"../isosurface/calc\":1071,\"./attributes\":1295,\"./convert\":1296,\"./defaults\":1297}],1299:[function(t,e,r){\"use strict\";var n=t(\"../bar/attributes\"),a=t(\"../scatter/attributes\").line,i=t(\"../../plots/attributes\"),o=t(\"../../plots/template_attributes\").hovertemplateAttrs,s=t(\"../../plots/template_attributes\").texttemplateAttrs,l=t(\"./constants\"),c=t(\"../../lib/extend\").extendFlat,u=t(\"../../components/color\");function h(t){return{marker:{color:c({},n.marker.color,{arrayOk:!1,editType:\"style\"}),line:{color:c({},n.marker.line.color,{arrayOk:!1,editType:\"style\"}),width:c({},n.marker.line.width,{arrayOk:!1,editType:\"style\"}),editType:\"style\"},editType:\"style\"},editType:\"style\"}}e.exports={measure:{valType:\"data_array\",dflt:[],editType:\"calc\"},base:{valType:\"number\",dflt:null,arrayOk:!1,editType:\"calc\"},x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,hovertext:n.hovertext,hovertemplate:o({},{keys:l.eventDataKeys}),hoverinfo:c({},i.hoverinfo,{flags:[\"name\",\"x\",\"y\",\"text\",\"initial\",\"delta\",\"final\"]}),textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"initial\",\"delta\",\"final\"],extras:[\"none\"],editType:\"plot\",arrayOk:!1},texttemplate:s({editType:\"plot\"},{keys:l.eventDataKeys.concat([\"label\"])}),text:n.text,textposition:n.textposition,insidetextanchor:n.insidetextanchor,textangle:n.textangle,textfont:n.textfont,insidetextfont:n.insidetextfont,outsidetextfont:n.outsidetextfont,constraintext:n.constraintext,cliponaxis:n.cliponaxis,orientation:n.orientation,offset:n.offset,width:n.width,increasing:h(),decreasing:h(),totals:h(),connector:{line:{color:c({},a.color,{dflt:u.defaultLine}),width:c({},a.width,{editType:\"plot\"}),dash:a.dash,editType:\"plot\"},mode:{valType:\"enumerated\",values:[\"spanning\",\"between\"],dflt:\"between\",editType:\"plot\"},visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup}},{\"../../components/color\":595,\"../../lib/extend\":719,\"../../plots/attributes\":773,\"../../plots/template_attributes\":854,\"../bar/attributes\":869,\"../scatter/attributes\":1134,\"./constants\":1301}],1300:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),a=t(\"../../lib\").mergeArray,i=t(\"../scatter/calc_selection\"),o=t(\"../../constants/numerical\").BADNUM;function s(t){return\"a\"===t||\"absolute\"===t}function l(t){return\"t\"===t||\"total\"===t}e.exports=function(t,e){var r,c,u=n.getFromId(t,e.xaxis||\"x\"),h=n.getFromId(t,e.yaxis||\"y\");\"h\"===e.orientation?(r=u.makeCalcdata(e,\"x\"),c=h.makeCalcdata(e,\"y\")):(r=h.makeCalcdata(e,\"y\"),c=u.makeCalcdata(e,\"x\"));for(var f,p=Math.min(c.length,r.length),d=new Array(p),g=0,m=!1,v=0;v<p;v++){var y=r[v]||0,x=!1;(r[v]!==o||l(e.measure[v])||s(e.measure[v]))&&v+1<p&&(r[v+1]!==o||l(e.measure[v+1])||s(e.measure[v+1]))&&(x=!0);var b=d[v]={i:v,p:c[v],s:y,rawS:y,cNext:x};s(e.measure[v])?(g=b.s,b.isSum=!0,b.dir=\"totals\",b.s=g):l(e.measure[v])?(b.isSum=!0,b.dir=\"totals\",b.s=g):(b.isSum=!1,b.dir=b.rawS<0?\"decreasing\":\"increasing\",f=b.s,b.s=g+f,g+=f),\"totals\"===b.dir&&(m=!0),e.ids&&(b.id=String(e.ids[v])),b.v=(e.base||0)+g}return d.length&&(d[0].hasTotals=m),a(e.text,d,\"tx\"),a(e.hovertext,d,\"htx\"),i(d,e),d}},{\"../../constants/numerical\":704,\"../../lib\":728,\"../../plots/cartesian/axes\":776,\"../scatter/calc_selection\":1136}],1301:[function(t,e,r){\"use strict\";e.exports={eventDataKeys:[\"initial\",\"delta\",\"final\"]}},{}],1302:[function(t,e,r){\"use strict\";var n=t(\"../bar/cross_trace_calc\").setGroupPositions;e.exports=function(t,e){var r,a,i=t._fullLayout,o=t._fullData,s=t.calcdata,l=e.xaxis,c=e.yaxis,u=[],h=[],f=[];for(a=0;a<o.length;a++){var p=o[a];!0===p.visible&&p.xaxis===l._id&&p.yaxis===c._id&&\"waterfall\"===p.type&&(r=s[a],\"h\"===p.orientation?f.push(r):h.push(r),u.push(r))}var d={mode:i.waterfallmode,norm:i.waterfallnorm,gap:i.waterfallgap,groupgap:i.waterfallgroupgap};for(n(t,l,c,h,d),n(t,c,l,f,d),a=0;a<u.length;a++){r=u[a];for(var g=0;g<r.length;g++){var m=r[g];!1===m.isSum&&(m.s0+=0===g?0:r[g-1].s),g+1<r.length&&(r[g].nextP0=r[g+1].p0,r[g].nextS0=r[g+1].s0)}}}},{\"../bar/cross_trace_calc\":872}],1303:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"../bar/defaults\").handleGroupingDefaults,i=t(\"../bar/defaults\").handleText,o=t(\"../scatter/xy_defaults\"),s=t(\"./attributes\"),l=t(\"../../components/color\"),c=t(\"../../constants/delta.js\"),u=c.INCREASING.COLOR,h=c.DECREASING.COLOR;function f(t,e,r){t(e+\".marker.color\",r),t(e+\".marker.line.color\",l.defaultLine),t(e+\".marker.line.width\")}e.exports={supplyDefaults:function(t,e,r,a){function l(r,a){return n.coerce(t,e,s,r,a)}if(o(t,e,a,l)){l(\"measure\"),l(\"orientation\",e.x&&!e.y?\"h\":\"v\"),l(\"base\"),l(\"offset\"),l(\"width\"),l(\"text\"),l(\"hovertext\"),l(\"hovertemplate\");var c=l(\"textposition\");if(i(t,e,a,l,c,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),\"none\"!==e.textposition&&(l(\"texttemplate\"),e.texttemplate||l(\"textinfo\")),f(l,\"increasing\",u),f(l,\"decreasing\",h),f(l,\"totals\",\"#4499FF\"),l(\"connector.visible\"))l(\"connector.mode\"),l(\"connector.line.width\")&&(l(\"connector.line.color\"),l(\"connector.line.dash\"))}else e.visible=!1},crossTraceDefaults:function(t,e){var r,i;function o(t){return n.coerce(i._input,i,s,t)}if(\"group\"===e.waterfallmode)for(var l=0;l<t.length;l++)r=(i=t[l])._input,a(r,i,e,o)}}},{\"../../components/color\":595,\"../../constants/delta.js\":698,\"../../lib\":728,\"../bar/defaults\":873,\"../scatter/xy_defaults\":1160,\"./attributes\":1299}],1304:[function(t,e,r){\"use strict\";e.exports=function(t,e){return t.x=\"xVal\"in e?e.xVal:e.x,t.y=\"yVal\"in e?e.yVal:e.y,\"initial\"in e&&(t.initial=e.initial),\"delta\"in e&&(t.delta=e.delta),\"final\"in e&&(t.final=e.final),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t}},{}],1305:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\").hoverLabelText,a=t(\"../../components/color\").opacity,i=t(\"../bar/hover\").hoverOnBars,o=t(\"../../constants/delta.js\"),s=o.INCREASING.SYMBOL,l=o.DECREASING.SYMBOL;e.exports=function(t,e,r,o){var c=i(t,e,r,o);if(c){var u=c.cd,h=u[0].trace,f=\"h\"===h.orientation,p=f?t.xa:t.ya,d=u[c.index],g=d.isSum?d.b+d.s:d.rawS;if(!d.isSum){c.initial=d.b+d.s-g,c.delta=g,c.final=c.initial+c.delta;var m=w(Math.abs(c.delta));c.deltaLabel=g<0?\"(\"+m+\")\":m,c.finalLabel=w(c.final),c.initialLabel=w(c.initial)}var v=d.hi||h.hoverinfo,y=[];if(v&&\"none\"!==v&&\"skip\"!==v){var x=\"all\"===v,b=v.split(\"+\"),_=function(t){return x||-1!==b.indexOf(t)};d.isSum||(!_(\"final\")||_(f?\"x\":\"y\")||y.push(c.finalLabel),_(\"delta\")&&(g<0?y.push(c.deltaLabel+\" \"+l):y.push(c.deltaLabel+\" \"+s)),_(\"initial\")&&y.push(\"Initial: \"+c.initialLabel))}return y.length&&(c.extraText=y.join(\"<br>\")),c.color=function(t,e){var r=t[e.dir].marker,n=r.color,i=r.line.color,o=r.line.width;if(a(n))return n;if(a(i)&&o)return i}(h,d),[c]}function w(t){return n(p,t)}}},{\"../../components/color\":595,\"../../constants/delta.js\":698,\"../../plots/cartesian/axes\":776,\"../bar/hover\":876}],1306:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\").supplyDefaults,crossTraceDefaults:t(\"./defaults\").crossTraceDefaults,supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\"),crossTraceCalc:t(\"./cross_trace_calc\"),plot:t(\"./plot\"),style:t(\"./style\").style,hoverPoints:t(\"./hover\"),eventData:t(\"./event_data\"),selectPoints:t(\"../bar/select\"),moduleType:\"trace\",name:\"waterfall\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"bar-like\",\"cartesian\",\"svg\",\"oriented\",\"showLegend\",\"zoomScale\"],meta:{}}},{\"../../plots/cartesian\":789,\"../bar/select\":881,\"./attributes\":1299,\"./calc\":1300,\"./cross_trace_calc\":1302,\"./defaults\":1303,\"./event_data\":1304,\"./hover\":1305,\"./layout_attributes\":1307,\"./layout_defaults\":1308,\"./plot\":1309,\"./style\":1310}],1307:[function(t,e,r){\"use strict\";e.exports={waterfallmode:{valType:\"enumerated\",values:[\"group\",\"overlay\"],dflt:\"group\",editType:\"calc\"},waterfallgap:{valType:\"number\",min:0,max:1,editType:\"calc\"},waterfallgroupgap:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"}}},{}],1308:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),a=t(\"./layout_attributes\");e.exports=function(t,e,r){var i=!1;function o(r,i){return n.coerce(t,e,a,r,i)}for(var s=0;s<r.length;s++){var l=r[s];if(l.visible&&\"waterfall\"===l.type){i=!0;break}}i&&(o(\"waterfallmode\"),o(\"waterfallgap\",.2),o(\"waterfallgroupgap\"))}},{\"../../lib\":728,\"./layout_attributes\":1307}],1309:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../lib\"),i=t(\"../../components/drawing\"),o=t(\"../../constants/numerical\").BADNUM,s=t(\"../bar/plot\"),l=t(\"../bar/uniform_text\").clearMinTextSize;e.exports=function(t,e,r,c){var u=t._fullLayout;l(\"waterfall\",u),s.plot(t,e,r,c,{mode:u.waterfallmode,norm:u.waterfallmode,gap:u.waterfallgap,groupgap:u.waterfallgroupgap}),function(t,e,r,s){var l=e.xaxis,c=e.yaxis;a.makeTraceGroups(s,r,\"trace bars\").each((function(r){var s=n.select(this),u=r[0].trace,h=a.ensureSingle(s,\"g\",\"lines\");if(u.connector&&u.connector.visible){var f=\"h\"===u.orientation,p=u.connector.mode,d=h.selectAll(\"g.line\").data(a.identity);d.enter().append(\"g\").classed(\"line\",!0),d.exit().remove();var g=d.size();d.each((function(r,s){if(s===g-1||r.cNext){var u=function(t,e,r,n){var a=[],i=[],o=n?e:r,s=n?r:e;return a[0]=o.c2p(t.s0,!0),i[0]=s.c2p(t.p0,!0),a[1]=o.c2p(t.s1,!0),i[1]=s.c2p(t.p1,!0),a[2]=o.c2p(t.nextS0,!0),i[2]=s.c2p(t.nextP0,!0),n?[a,i]:[i,a]}(r,l,c,f),h=u[0],d=u[1],m=\"\";h[0]!==o&&d[0]!==o&&h[1]!==o&&d[1]!==o&&(\"spanning\"===p&&!r.isSum&&s>0&&(m+=f?\"M\"+h[0]+\",\"+d[1]+\"V\"+d[0]:\"M\"+h[1]+\",\"+d[0]+\"H\"+h[0]),\"between\"!==p&&(r.isSum||s<g-1)&&(m+=f?\"M\"+h[1]+\",\"+d[0]+\"V\"+d[1]:\"M\"+h[0]+\",\"+d[1]+\"H\"+h[1]),h[2]!==o&&d[2]!==o&&(m+=f?\"M\"+h[1]+\",\"+d[1]+\"V\"+d[2]:\"M\"+h[1]+\",\"+d[1]+\"H\"+h[2])),\"\"===m&&(m=\"M0,0Z\"),a.ensureSingle(n.select(this),\"path\").attr(\"d\",m).call(i.setClipUrl,e.layerClipId,t)}}))}else h.remove()}))}(t,e,r,c)}},{\"../../components/drawing\":617,\"../../constants/numerical\":704,\"../../lib\":728,\"../bar/plot\":880,\"../bar/uniform_text\":885,d3:164}],1310:[function(t,e,r){\"use strict\";var n=t(\"d3\"),a=t(\"../../components/drawing\"),i=t(\"../../components/color\"),o=t(\"../../constants/interactions\").DESELECTDIM,s=t(\"../bar/style\"),l=t(\"../bar/uniform_text\").resizeText,c=s.styleTextPoints;e.exports={style:function(t,e,r){var s=r||n.select(t).selectAll(\"g.waterfalllayer\").selectAll(\"g.trace\");l(t,s,\"waterfall\"),s.style(\"opacity\",(function(t){return t[0].trace.opacity})),s.each((function(e){var r=n.select(this),s=e[0].trace;r.selectAll(\".point > path\").each((function(t){if(!t.isBlank){var e=s[t.dir].marker;n.select(this).call(i.fill,e.color).call(i.stroke,e.line.color).call(a.dashLine,e.line.dash,e.line.width).style(\"opacity\",s.selectedpoints&&!t.selected?o:1)}})),c(r,s,t),r.selectAll(\".lines\").each((function(){var t=s.connector.line;a.lineGroupStyle(n.select(this).selectAll(\"path\"),t.width,t.color,t.dash)}))}))}}},{\"../../components/color\":595,\"../../components/drawing\":617,\"../../constants/interactions\":703,\"../bar/style\":883,\"../bar/uniform_text\":885,d3:164}],1311:[function(t,e,r){\"use strict\";var n=t(\"../plots/cartesian/axes\"),a=t(\"../lib\"),i=t(\"../plot_api/plot_schema\"),o=t(\"./helpers\").pointsAccessorFunction,s=t(\"../constants/numerical\").BADNUM;r.moduleType=\"transform\",r.name=\"aggregate\";var l=r.attributes={enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},groups:{valType:\"string\",strict:!0,noBlank:!0,arrayOk:!0,dflt:\"x\",editType:\"calc\"},aggregations:{_isLinkedToArray:\"aggregation\",target:{valType:\"string\",editType:\"calc\"},func:{valType:\"enumerated\",values:[\"count\",\"sum\",\"avg\",\"median\",\"mode\",\"rms\",\"stddev\",\"min\",\"max\",\"first\",\"last\",\"change\",\"range\"],dflt:\"first\",editType:\"calc\"},funcmode:{valType:\"enumerated\",values:[\"sample\",\"population\"],dflt:\"sample\",editType:\"calc\"},enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},editType:\"calc\"},editType:\"calc\"},c=l.aggregations;function u(t,e,r,i){if(i.enabled){for(var o=i.target,l=a.nestedProperty(e,o),c=l.get(),u=function(t,e){var r=t.func,n=e.d2c,i=e.c2d;switch(r){case\"count\":return h;case\"first\":return f;case\"last\":return p;case\"sum\":return function(t,e){for(var r=0,a=0;a<e.length;a++){var o=n(t[e[a]]);o!==s&&(r+=o)}return i(r)};case\"avg\":return function(t,e){for(var r=0,a=0,o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&(r+=l,a++)}return a?i(r/a):s};case\"min\":return function(t,e){for(var r=1/0,a=0;a<e.length;a++){var o=n(t[e[a]]);o!==s&&(r=Math.min(r,o))}return r===1/0?s:i(r)};case\"max\":return function(t,e){for(var r=-1/0,a=0;a<e.length;a++){var o=n(t[e[a]]);o!==s&&(r=Math.max(r,o))}return r===-1/0?s:i(r)};case\"range\":return function(t,e){for(var r=1/0,a=-1/0,o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&(r=Math.min(r,l),a=Math.max(a,l))}return a===-1/0||r===1/0?s:i(a-r)};case\"change\":return function(t,e){var r=n(t[e[0]]),a=n(t[e[e.length-1]]);return r===s||a===s?s:i(a-r)};case\"median\":return function(t,e){for(var r=[],o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&r.push(l)}if(!r.length)return s;r.sort(a.sorterAsc);var c=(r.length-1)/2;return i((r[Math.floor(c)]+r[Math.ceil(c)])/2)};case\"mode\":return function(t,e){for(var r={},a=0,o=s,l=0;l<e.length;l++){var c=n(t[e[l]]);if(c!==s){var u=r[c]=(r[c]||0)+1;u>a&&(a=u,o=c)}}return a?i(o):s};case\"rms\":return function(t,e){for(var r=0,a=0,o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&(r+=l*l,a++)}return a?i(Math.sqrt(r/a)):s};case\"stddev\":return function(e,r){var a,i=0,o=0,l=1,c=s;for(a=0;a<r.length&&c===s;a++)c=n(e[r[a]]);if(c===s)return s;for(;a<r.length;a++){var u=n(e[r[a]]);if(u!==s){var h=u-c;i+=h,o+=h*h,l++}}var f=\"sample\"===t.funcmode?l-1:l;return f?Math.sqrt((o-i*i/l)/f):0}}}(i,n.getDataConversions(t,e,o,c)),d=new Array(r.length),g=0;g<r.length;g++)d[g]=u(c,r[g]);l.set(d),\"count\"===i.func&&a.pushUnique(e._arrayAttrs,o)}}function h(t,e){return e.length}function f(t,e){return t[e[0]]}function p(t,e){return t[e[e.length-1]]}r.supplyDefaults=function(t,e){var r,n={};function o(e,r){return a.coerce(t,n,l,e,r)}if(!o(\"enabled\"))return n;var s=i.findArrayAttributes(e),u={};for(r=0;r<s.length;r++)u[s[r]]=1;var h=o(\"groups\");if(!Array.isArray(h)){if(!u[h])return n.enabled=!1,n;u[h]=0}var f,p=t.aggregations||[],d=n.aggregations=new Array(p.length);function g(t,e){return a.coerce(p[r],f,c,t,e)}for(r=0;r<p.length;r++){f={_index:r};var m=g(\"target\"),v=g(\"func\");g(\"enabled\")&&m&&(u[m]||\"count\"===v&&void 0===u[m])?(\"stddev\"===v&&g(\"funcmode\"),u[m]=0,d[r]=f):d[r]={enabled:!1,_index:r}}for(r=0;r<s.length;r++)u[s[r]]&&d.push({target:s[r],func:c.func.dflt,enabled:!0,_index:-1});return n},r.calcTransform=function(t,e,r){if(r.enabled){var n=r.groups,i=a.getTargetArray(e,{target:n});if(i){var s,l,c,h,f={},p={},d=[],g=o(e.transforms,r),m=i.length;for(e._length&&(m=Math.min(m,e._length)),s=0;s<m;s++)void 0===(c=f[l=i[s]])?(f[l]=d.length,h=[s],d.push(h),p[f[l]]=g(s)):(d[c].push(s),p[f[l]]=(p[f[l]]||[]).concat(g(s)));r._indexToPoints=p;var v=r.aggregations;for(s=0;s<v.length;s++)u(t,e,d,v[s]);\"string\"==typeof n&&u(t,e,d,{target:n,func:\"first\",enabled:!0}),e._length=d.length}}}},{\"../constants/numerical\":704,\"../lib\":728,\"../plot_api/plot_schema\":765,\"../plots/cartesian/axes\":776,\"./helpers\":1314}],1312:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),a=t(\"../registry\"),i=t(\"../plots/cartesian/axes\"),o=t(\"./helpers\").pointsAccessorFunction,s=t(\"../constants/filter_ops\"),l=s.COMPARISON_OPS,c=s.INTERVAL_OPS,u=s.SET_OPS;r.moduleType=\"transform\",r.name=\"filter\",r.attributes={enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},target:{valType:\"string\",strict:!0,noBlank:!0,arrayOk:!0,dflt:\"x\",editType:\"calc\"},operation:{valType:\"enumerated\",values:[].concat(l).concat(c).concat(u),dflt:\"=\",editType:\"calc\"},value:{valType:\"any\",dflt:0,editType:\"calc\"},preservegaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},editType:\"calc\"},r.supplyDefaults=function(t){var e={};function i(a,i){return n.coerce(t,e,r.attributes,a,i)}if(i(\"enabled\")){var o=i(\"target\");if(n.isArrayOrTypedArray(o)&&0===o.length)return e.enabled=!1,e;i(\"preservegaps\"),i(\"operation\"),i(\"value\");var s=a.getComponentMethod(\"calendars\",\"handleDefaults\");s(t,e,\"valuecalendar\",null),s(t,e,\"targetcalendar\",null)}return e},r.calcTransform=function(t,e,r){if(r.enabled){var a=n.getTargetArray(e,r);if(a){var s=r.target,h=a.length;e._length&&(h=Math.min(h,e._length));var f=r.targetcalendar,p=e._arrayAttrs,d=r.preservegaps;if(\"string\"==typeof s){var g=n.nestedProperty(e,s+\"calendar\").get();g&&(f=g)}var m,v,y=function(t,e,r){var n=t.operation,a=t.value,i=Array.isArray(a);function o(t){return-1!==t.indexOf(n)}var s,h=function(r){return e(r,0,t.valuecalendar)},f=function(t){return e(t,0,r)};o(l)?s=h(i?a[0]:a):o(c)?s=i?[h(a[0]),h(a[1])]:[h(a),h(a)]:o(u)&&(s=i?a.map(h):[h(a)]);switch(n){case\"=\":return function(t){return f(t)===s};case\"!=\":return function(t){return f(t)!==s};case\"<\":return function(t){return f(t)<s};case\"<=\":return function(t){return f(t)<=s};case\">\":return function(t){return f(t)>s};case\">=\":return function(t){return f(t)>=s};case\"[]\":return function(t){var e=f(t);return e>=s[0]&&e<=s[1]};case\"()\":return function(t){var e=f(t);return e>s[0]&&e<s[1]};case\"[)\":return function(t){var e=f(t);return e>=s[0]&&e<s[1]};case\"(]\":return function(t){var e=f(t);return e>s[0]&&e<=s[1]};case\"][\":return function(t){var e=f(t);return e<=s[0]||e>=s[1]};case\")(\":return function(t){var e=f(t);return e<s[0]||e>s[1]};case\"](\":return function(t){var e=f(t);return e<=s[0]||e>s[1]};case\")[\":return function(t){var e=f(t);return e<s[0]||e>=s[1]};case\"{}\":return function(t){return-1!==s.indexOf(f(t))};case\"}{\":return function(t){return-1===s.indexOf(f(t))}}}(r,i.getDataToCoordFunc(t,e,s,a),f),x={},b={},_=0;d?(m=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(h))},v=function(t,e){var r=x[t.astr][e];t.get()[e]=r}):(m=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set([])},v=function(t,e){var r=x[t.astr][e];t.get().push(r)}),k(m);for(var w=o(e.transforms,r),T=0;T<h;T++){y(a[T])?(k(v,T),b[_++]=w(T)):d&&_++}r._indexToPoints=b,e._length=_}}function k(t,r){for(var a=0;a<p.length;a++){t(n.nestedProperty(e,p[a]),r)}}}},{\"../constants/filter_ops\":700,\"../lib\":728,\"../plots/cartesian/axes\":776,\"../registry\":859,\"./helpers\":1314}],1313:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),a=t(\"../plot_api/plot_schema\"),i=t(\"../plots/plots\"),o=t(\"./helpers\").pointsAccessorFunction;function s(t,e){var r,s,l,c,u,h,f,p,d,g,m=e.transform,v=e.transformIndex,y=t.transforms[v].groups,x=o(t.transforms,m);if(!n.isArrayOrTypedArray(y)||0===y.length)return[t];var b=n.filterUnique(y),_=new Array(b.length),w=y.length,T=a.findArrayAttributes(t),k=m.styles||[],A={};for(r=0;r<k.length;r++)A[k[r].target]=k[r].value;m.styles&&(g=n.keyedContainer(m,\"styles\",\"target\",\"value.name\"));var M={},S={};for(r=0;r<b.length;r++){M[h=b[r]]=r,S[h]=0,(f=_[r]=n.extendDeepNoArrays({},t))._group=h,f.transforms[v]._indexToPoints={};var E=null;for(g&&(E=g.get(h)),f.name=E||\"\"===E?E:n.templateString(m.nameformat,{trace:t.name,group:h}),p=f.transforms,f.transforms=[],s=0;s<p.length;s++)f.transforms[s]=n.extendDeepNoArrays({},p[s]);for(s=0;s<T.length;s++)n.nestedProperty(f,T[s]).set([])}for(l=0;l<T.length;l++){for(c=T[l],s=0,d=[];s<b.length;s++)d[s]=n.nestedProperty(_[s],c).get();for(u=n.nestedProperty(t,c).get(),s=0;s<w;s++)d[M[y[s]]].push(u[s])}for(s=0;s<w;s++){(f=_[M[y[s]]]).transforms[v]._indexToPoints[S[y[s]]]=x(s),S[y[s]]++}for(r=0;r<b.length;r++)h=b[r],f=_[r],i.clearExpandedTraceDefaultColors(f),f=n.extendDeepNoArrays(f,A[h]||{});return _}r.moduleType=\"transform\",r.name=\"groupby\",r.attributes={enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},groups:{valType:\"data_array\",dflt:[],editType:\"calc\"},nameformat:{valType:\"string\",editType:\"calc\"},styles:{_isLinkedToArray:\"style\",target:{valType:\"string\",editType:\"calc\"},value:{valType:\"any\",dflt:{},editType:\"calc\",_compareAsJSON:!0},editType:\"calc\"},editType:\"calc\"},r.supplyDefaults=function(t,e,a){var i,o={};function s(e,a){return n.coerce(t,o,r.attributes,e,a)}if(!s(\"enabled\"))return o;s(\"groups\"),s(\"nameformat\",a._dataLength>1?\"%{group} (%{trace})\":\"%{group}\");var l=t.styles,c=o.styles=[];if(l)for(i=0;i<l.length;i++){var u=c[i]={};n.coerce(l[i],c[i],r.attributes.styles,\"target\");var h=n.coerce(l[i],c[i],r.attributes.styles,\"value\");n.isPlainObject(h)?u.value=n.extendDeep({},h):h&&delete u.value}return o},r.transform=function(t,e){var r,n,a,i=[];for(n=0;n<t.length;n++)for(r=s(t[n],e),a=0;a<r.length;a++)i.push(r[a]);return i}},{\"../lib\":728,\"../plot_api/plot_schema\":765,\"../plots/plots\":839,\"./helpers\":1314}],1314:[function(t,e,r){\"use strict\";r.pointsAccessorFunction=function(t,e){for(var r,n,a=0;a<t.length&&(r=t[a])!==e;a++)r._indexToPoints&&!1!==r.enabled&&(n=r._indexToPoints);return n?function(t){return n[t]}:function(t){return[t]}}},{}],1315:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),a=t(\"../plots/cartesian/axes\"),i=t(\"./helpers\").pointsAccessorFunction,o=t(\"../constants/numerical\").BADNUM;r.moduleType=\"transform\",r.name=\"sort\",r.attributes={enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},target:{valType:\"string\",strict:!0,noBlank:!0,arrayOk:!0,dflt:\"x\",editType:\"calc\"},order:{valType:\"enumerated\",values:[\"ascending\",\"descending\"],dflt:\"ascending\",editType:\"calc\"},editType:\"calc\"},r.supplyDefaults=function(t){var e={};function a(a,i){return n.coerce(t,e,r.attributes,a,i)}return a(\"enabled\")&&(a(\"target\"),a(\"order\")),e},r.calcTransform=function(t,e,r){if(r.enabled){var s=n.getTargetArray(e,r);if(s){var l=r.target,c=s.length;e._length&&(c=Math.min(c,e._length));var u,h,f=e._arrayAttrs,p=function(t,e,r,n){var a,i=new Array(n),s=new Array(n);for(a=0;a<n;a++)i[a]={v:e[a],i:a};for(i.sort(function(t,e){switch(t.order){case\"ascending\":return function(t,r){var n=e(t.v),a=e(r.v);return n===o?1:a===o?-1:n-a};case\"descending\":return function(t,r){var n=e(t.v),a=e(r.v);return n===o?1:a===o?-1:a-n}}}(t,r)),a=0;a<n;a++)s[a]=i[a].i;return s}(r,s,a.getDataToCoordFunc(t,e,l,s),c),d=i(e.transforms,r),g={};for(u=0;u<f.length;u++){var m=n.nestedProperty(e,f[u]),v=m.get(),y=new Array(c);for(h=0;h<c;h++)y[h]=v[p[h]];m.set(y)}for(h=0;h<c;h++)g[h]=d(p[h]);r._indexToPoints=g,e._length=c}}}},{\"../constants/numerical\":704,\"../lib\":728,\"../plots/cartesian/axes\":776,\"./helpers\":1314}],1316:[function(t,e,r){\"use strict\";r.version=\"1.54.6\"},{}]},{},[26])(26)}));\n",
       "        });\n",
       "        require(['plotly'], function(Plotly) {\n",
       "            window._Plotly = Plotly;\n",
       "        });\n",
       "        }\n",
       "        </script>\n",
       "        "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.plotly.v1+json": {
       "config": {
        "plotlyServerURL": "https://plot.ly"
       },
       "data": [
        {
         "marker": {
          "color": "orange",
          "line": {
           "color": "DarkSlateGrey",
           "width": 2
          },
          "size": 5
         },
         "mode": "markers",
         "name": "centroids",
         "text": [
          "Miele - DAR 1130 - 85cm Integrated Rangehood",
          "Targus - TSS88610AU - 15.6\" Bex II Laptop Sleeve - Black",
          "Samsung - EF-NG973PBEGWW - Galaxy S10 LED View Cover",
          "Noirot - 7384-5 - 1500W Evolution Tall Heater ",
          "Sangean - Portable Digital Radio - DPR34W",
          "DJI - 4088375 - Mavic Air - Onyx Black    ",
          "LG - WD1208TC4W - 8kg Front Load Washer",
          "Audio-Technica - In-Ear Headphones - ATH-CK330iBK",
          "Vogels - WALL3450 - Full-Motion TV Wall Mount",
          "BeefEater - BS19942 - Signature 3000E Built-in BBQ",
          "Ring - 8SS1E8-WAU0 - Stick Up Cam Elite - 1080p Security Camera - White  ",
          "Yamaha - MCR-B043D Black - Micro HiFi System",
          "Neff N 90 Built-in Oven with steam function 60 cm Stainless steel - B48FT78H0B",
          "Glem - CK90SCF - 90cm Canopy Rangehood",
          "Adobe - Premiere Elements 2020 - Mac - Digital Delivery",
          "Breville - BCG200 - the Coffee & Spice™",
          "Fisher & Paykel - OR90SCI4B1 - 90cm Freestanding Induction Cooker",
          "Zip - HT4785 - HydroTap Elite - Boiling | Ambient",
          "Smeg - CGF01BLAU - Coffee Grinder - Black",
          "Chef - CHC644BA - 60cm Ceramic Cooktop",
          "Cygnett - CY2290CPTGL - iPhone X Tempered Glass Screen Protector",
          "Mitsubishi - MSZ-AP25VGKIT - 2.5kW/3.2kW RC Inverter Split System ",
          "Canon - CLI681XLBK - 681 XL Black Ink Cartridge",
          "Smart Cover for 10.5\" iPad Pro - Charcoal Grey",
          "Logitech - 910-002151 -  Wireless Mouse M325",
          "Cygnett - CY2146PCUSA - 1m USB-C To USB-A Cable",
          "Hitachi - R-WB640VT0 - 638L French Door Fridge   ",
          "Blanco - SUBLINE500UWK5 - Single Bowl Undermount Sink - White",
          "Oppo Find X2 Pro Smartphone - 6.7\" AMOLED - 512GB - Black  ",
          "Asus VivoBook F420FAC - i5/1.6GHz - 8GB - 256GB SSD - 14\" FHD ",
          "Westinghouse - WVG655SNG - 60cm Underbench Oven",
          "Cygnett - 10,000mAh USB-C Power Bank - CY2219PBCHE",
          "iPhone 11 256GB Black",
          "Bosch - Serie 8 | HBG633BS1A - 60cm Built-in Oven ",
          "Samsung - SM-G960FZBAXSA - Galaxy S9 64GB - Coral Blue  ",
          "Panasonic - LR03EG/4B - EVOLTA AAA 4pk",
          "Smeg - DWAU6315X2 - 60cm Underbench Dishwasher",
          "Apple 11\" iPad Pro 128GB Wi-Fi Space Grey   ",
          "Electrolux - EHC644BA - 60cm Electric Cooktop",
          "JBL - JBLGO2BLUE - Portable Bluetooth Speaker - Blue",
          "Sennheiser - MOMENTUM In-Ear Wireless Black Headphones - M2IEBTBLK",
          "Philips - Pro Straightener - HPS930/00",
          "SodaStream - Lemon Lime Bitters 440ml",
          "Sandisk Extreme Portable SSD - 2TB",
          "Samsung - UA65NU7100WXXY - 65\" 4K UHD Smart LED TV  ",
          "GoPro - ANVGM-001 - NVG Mount",
          "Smeg - FAB28RDBB3 - 281L 50's Retro Aesthetics Fridge",
          "Excelair - EHVF4590 - 45cm Floor Fan",
          "Westinghouse - WBE4502SB-R - 453L Bottom Mount Fridge",
          "Franke Bolero Single Bowl Sink - BOX210-68"
         ],
         "type": "scatter",
         "x": [
          -0.22667419910430908,
          0.19534116983413696,
          0.15072274208068848,
          -0.13041508197784424,
          0.1916317194700241,
          0.1369260549545288,
          -0.09277349710464478,
          0.30943208932876587,
          0.007617935538291931,
          -0.18883198499679565,
          0.10306807607412338,
          0.28292882442474365,
          -0.4278973937034607,
          -0.11901507526636124,
          0.23934951424598694,
          -0.08587929606437683,
          -0.3009621202945709,
          -0.10447513312101364,
          -0.1155930832028389,
          -0.3705446720123291,
          0.12953537702560425,
          0.05177586153149605,
          0.13680359721183777,
          0.22734776139259338,
          0.24558125436306,
          0.2256128489971161,
          -0.17861315608024597,
          -0.16976290941238403,
          0.3699491620063782,
          0.287032812833786,
          -0.4836435616016388,
          0.21803966164588928,
          0.3304075598716736,
          -0.3083575963973999,
          0.24197760224342346,
          0.052455976605415344,
          -0.3207946717739105,
          0.35864371061325073,
          -0.3169093728065491,
          0.32945916056632996,
          0.3093481659889221,
          0.014278560876846313,
          -0.053228870034217834,
          0.28131282329559326,
          0.2156922072172165,
          0.16538241505622864,
          -0.2515796422958374,
          -0.17291247844696045,
          -0.2587909400463104,
          -0.18351159989833832
         ],
         "y": [
          -0.0037857573479413986,
          -0.006495622918009758,
          0.28739383816719055,
          -0.02930467389523983,
          -0.13482427597045898,
          -0.17634186148643494,
          0.2362469881772995,
          -0.24227231740951538,
          0.043058641254901886,
          -0.06548621505498886,
          0.13119855523109436,
          -0.2358345091342926,
          0.15026207268238068,
          -0.014946404844522476,
          -0.03953191265463829,
          -0.2666502892971039,
          -0.02763938158750534,
          -0.05139359086751938,
          -0.15683609247207642,
          0.015726212412118912,
          0.055434416979551315,
          0.023188840597867966,
          -0.024935688823461533,
          0.05345987528562546,
          -0.2018473595380783,
          -0.10365592688322067,
          0.0004988498985767365,
          -0.12165416777133942,
          0.13176767528057098,
          0.3321794271469116,
          0.16759082674980164,
          -0.09563855081796646,
          0.1753685474395752,
          0.09205101430416107,
          0.41931021213531494,
          0.07027182728052139,
          0.10339739173650742,
          0.14452965557575226,
          0.019779659807682037,
          -0.33149486780166626,
          -0.33298254013061523,
          -0.10248634219169617,
          -0.04904043674468994,
          0.21175304055213928,
          0.6024991869926453,
          -0.01701279729604721,
          -0.11785101890563965,
          0.039704106748104095,
          0.022831786423921585,
          -0.19730673730373383
         ]
        },
        {
         "marker": {
          "color": 5,
          "size": 5
         },
         "mode": "markers",
         "name": "0",
         "text": [
          "Miele - KM 2312 G - Gas Cooktop",
          "Unilux - Universal Dryer Venting Kit - ULX103 ",
          "Dyson Cinetic Big Ball Multi Floor Extra Barrel Vacuum - 300278-01 ",
          "Dyson Cinetic Big Ball Animal Pro Barrel Vacuum - 214893-01 ",
          "Shark Ion W1 Cordless Handheld Vacuum - WV203ANZ ",
          "Miele - K 28202 D WS - 393L Freestanding Refrigerator - White",
          "Miele FashionMaster Steam Ironing System - B 3847",
          "Miele - H 7840 BM PureLine CleanSteel - 60cm Speed Oven",
          "Dyson V7 Motorhead Cordless Vacuum - 278176-01 ",
          "Miele H 2890 B PureLine CleanSteel 90cm Oven ",
          "Miele - CS 1327 Y - TepanYaki Grill Combiset",
          "Honeywell - CL30XC - Evaporative Cooler",
          "Miele - DA 3496 - 90cm Wide Slimline Rangehood",
          "Miele - DA 2360 - 60cm Wide Built-in Rangehood",
          "Miele KM 7897 FL Induction Cooktop",
          "Remington - D7779AU - AIR3D Plus Hair Dryer",
          "Miele - SBB 300-3 HF - Hardfloor Twister Brush",
          "Honeywell - CL25AE - Evaporative Cooler",
          "FoodSaver® Handheld Vacuum Sealer - VS1190",
          "Miele - KM 2012 G - Gas Cooktop",
          "Shark HZ390 Corded Handstick Premium Vacuum",
          "Dyson Supersonic™ Hair Dryer (Fuchsia/Nickel) Mother's Day Gift Edition - 333258-01",
          "Miele - HR 1956 G - 120cm Dual Fuel Upright Cooker   ",
          "Miele - KFNS 37432 iD - 283L Integrated Fridge",
          "Miele - M 7244 TC VitroLine Graphite Grey - Built-in Microwave",
          "Miele - H 7840 BM VitroLine Graphite Grey - Speed Oven ",
          "DeLonghi PrimaDonna Elite Fully Automatic Coffe Machine - ECAM 650.55.MS",
          "Miele - SUB 10 - Universal Brush",
          "Miele DGM 7440 PureLine CleanSteel Steam oven With Microwave",
          "Dyson V11 Absolute Extra Stick Vacuum - 347782-01   ",
          "Miele M 7244 TC PureLine CleanSteel Built-in Microwave Oven ",
          "Miele - TWR860 WP - 9kg T1 Heat-Pump Tumble Dryer",
          "Miele - DA 2808 - Ceiling Extractor ",
          "Miele - DA 2628 - 118cm Built-in Rangehood  ",
          "Dyson V7 Trigger Handheld - 282064-01 ",
          "Miele - Maxipack FJM 3D Hyclean Dustbags",
          "Miele H 7840 BMX ArtLine Graphite Grey - Handleless Speed Oven",
          "Numatic International - HVB160 - 6L Henry Cordless Vacuum Cleaner  ",
          "Miele - STB 305-3 - TurboTeQ",
          "Miele - DA 4228 W - 120cm Puristic Plus Wall Mounted Rangehood",
          "Miele DA 2668 Built-in Rangehood",
          "Miele - DA 2450 - 53cm Fully Integrated Rangehood",
          "Miele - DG 2740 ContourLine CleanSteel - Steam Oven ",
          "Miele - DAR 1150 - 115cm Freestading Cooker Extract Unit ",
          "Miele - DA 7198 W Triple Black - 88cm Wall Mounted Rangehood  ",
          "Miele - DA 2518 - 110cm Fixed Rangehood",
          "Miele - DA 186 60cm Wide Integrated Rangehood",
          "DeLonghi Dinamica Plus Fully Automatic Coffee Machine  - ECAM37095T ",
          "Samsung Jet™ 70 Complete Cordless Stick Vacuum Cleaner - VS15T7036R5",
          "Dyson Cyclone V10 Animal+ Cordless Vacuum - 286273-01   ",
          "Dyson - V6 Cord-free Handstick - 218109-01",
          "Miele - KM 362-1 G - Gas Cooktop",
          "Dyson Light Ball Multi Floor+ Upright Vacuum - 281282-01  ",
          "Miele H 7890 BP PureLine CleanSteel 90cm Pyrolytic Oven",
          "Miele - KWT 6831 SG - Freestanding Wine Conditioning Unit",
          "Miele - FN 28262 WS - Freestanding Freezer - White",
          "Miele - M 7244 TC VitroLine Obsidian Black - Built-in Microwave",
          "Miele KM 7594 FL Induction Cooktop ",
          "Miele - PUR 98 W - Wall-mounted Rangehood",
          "LG CordZero - A9ULTIMATE - Cordless Handstick Vacuum Cleaner    ",
          "Miele - SF AA 50 - AirClean Filter",
          "LG CordZero A9NEOMULTI Cordless Handheld Stick Vacuum   ",
          "Dyson Cinetic Big Ball Absolute Barrel Vacuum - 300282-01 ",
          "Miele - DAR 1250 - 120cm Freestanding Cooker Wall Mount Rangehood ",
          "Miele - DAR 1230 - 90cm Freestanding Cooker Wall Mount Rangehood ",
          "Miele - DAR 1130 - 85cm Integrated Rangehood",
          "Miele - H 7140 BM ContourLine CleanSteel - 60cm Speed Oven",
          "Miele - DA 6700 D AURA Ed. 6000 Brilliant white Island décor rangehood",
          "Miele - DA 3466 EXT - Slimline Rangehood with External Fan",
          "Miele - DA 2620 - 120cm Wide Built-in Rangedhood",
          "Miele - KWT 6321 UG - Built-under Wine Conditioning Unit",
          "Miele ESW 7020 PureLine CleanSteel Gourmet Warming Drawer",
          "Miele - EVS 7010 VitroLine Obsidian Black - Vacuum Sealing Drawer",
          "Shark NZ801 Ultimate Upright Vacuum",
          "Miele - WDB 030 + TDB 130 WP - Washer & Dryer Package ",
          "Dyson Supersonic™ Hair Dryer Iron/Fuchsia - 323191-01  ",
          "Miele - TWV 680 WP - 9kg Heat Pump Tumble Dryer ",
          "Dyson - V8 Origin Cordless Vacuum - 271642-01  ",
          "Miele DGM 7640 PureLine CleanSteel Steam Oven with Microwave",
          "Miele - H 7840 BM VitroLine Obsidian Black - Speed Oven ",
          "Miele - ESW 6229X Obsidian Black - Gourmet Warming Drawer",
          "Miele - H 7440 BM VitroLine Graphite Grey - Speed Oven ",
          "Miele CVA 7440 VitroLine Obsidian Black Built-in Coffee Machine",
          "Honeywell - CS10XE - Indoor Evaporative Cooler",
          "Miele - SMD 10 - Mattress Nozzle",
          "Miele Allergy XL Pack - HyClean 3D -10632880",
          "Miele - H 7440 BMX ArtLine Obsidian Black - 60cm Speed Oven",
          "Miele - Puristic Edition 6000 Rangehood - DA 6690 W Clean Steel",
          "Shark ZU62 Navigator Pet Vacuum ",
          "Miele - H 7840 BMX ArtLine Obsidian Black - Handleless Speed Oven",
          "Miele CVA 7440 PureLine CleanSteel Built-in Coffee Machine ",
          "Dyson V11 Outsize Stick Vacuum - 346614-01 ",
          "Miele - SFD 10 - Long Crevice Nozzle",
          "Dyson Cinetic Big Ball Animal+ Barrel Vacuum - 300280-01 ",
          "Miele KM 7684 FL Induction Cooktop ",
          "Vax - VX40 - Wet & Dry Vacuum Cleaner - 1250W ",
          "Miele - STB 101 - Handheld TurboBrush",
          "Dyson V8 Animal Extra Stick Vacuum - 298903-01",
          "Miele - KM 2357 G - Gas Cooktop",
          "Miele - KS 37422 iD - 348L Integrated Refrigerator",
          "Miele - KS 37472 iD - 344L Integrated Fridge",
          "Miele EVS 7010 Handleless Graphite Grey Built-in Vacuum Sealing Drawer",
          "Bissell PowerClean® Upright Carpet Washer - 2771B ",
          "Miele - DA 6890 Levantar - 90cm Wide - Downdraught Extractor ",
          "Miele - DA 424 V-6 Puristic Varia - 120cm Island Decor Rangehood",
          "Miele - DA 3466 - 60cm Slimline Rangehood ",
          "Miele - DA 3366 - 60cm Slimline Rangehood",
          "Miele - KM 2334 G - 77cm Gas Cooktop",
          "Black & Decker - PD1820L-XE - Flexi Dustbuster Cordless Vacuum Cleaner",
          "Miele - CS 1013 G - Gas Cooktop Combiset",
          "Miele - CS 1212-1 I - Induction CombiSet",
          "Miele - H 7440 BM PureLine CleanSteel - 60cm Speed Oven",
          "Miele - CS 1018 G - Dual Gas Wok Burner Combiset",
          "Miele - DA 2390 - 90cm Integrated Extractor Rangehood ",
          "Miele KM 7564 FL Induction Cooktop ",
          "Miele - DA 6700 D AURA Ed. 6000 Obsidian black Island décor rangehood",
          "Miele - DA 6700 D AURA Ed.6000 Island décor rangehood - CleanSteel",
          "Numatic International - HVR160 - Henry Compact Vacuum Cleaner",
          "Miele - DA 2660 - 60cm Wide Built-in Rangehood",
          "Miele KM 7464 FL Induction Cooktop ",
          "Miele - K 12820 SD edt CS Freestanding Fridge - CleanSteel",
          "Miele - K 14820 SD ed CS Freestanding Fridge - CleanSteel",
          "Vax - VX71B - Advance Max Vacuum Cleaner",
          "Miele - DA 2698 - 88cm Fixed Rangehood",
          "Miele - GN HyClean 3D XXL Pack",
          "Miele KM 7678 FL Induction Cooktop ",
          "Miele KM 7575 FL Induction Cooktop",
          "Remington - D7777AU - Air3D Hair Dryer",
          "Miele - 90cm Slimline Rangehood - DA 3496 EXT ",
          "Bosch Zoo'o 25.2V Rechargeable Vacuum Cleaner - Red ",
          "Miele - K 28202 D edt/CS - 393L Freestanding Refrigerator - CleanSteel",
          "Miele DGC 7860 XXL VitroLine Graphite Grey Steam Combination Oven",
          "Miele - Blizzard CX1 Excellence - Bagless Vacuum Cleaner - 10502200 ",
          "Miele - SF-AAC 50 - Active Air Clean Filter",
          "Miele - KMDA 7633 FL - 80cm Induction Cooktop with Extractor  ",
          "Miele KM 7574 FL Induction Cooktop",
          "Miele KM 7200 FR Induction Cooktop ",
          "Miele - KM 2354 G - Gas Cooktop",
          "Miele CVA 7440 VitroLine Graphite Grey Built-in Coffee Machine",
          "Miele Classic C1 Powerline Vacuum Cleaner - Grey - 10797640 ",
          "Samsung Jet™ 90 Complete Cordless Stick Vacuum Cleaner - VS20R9046T3 ",
          "Miele - Blizzard CX1 Cat & Dog - Bagless Vacuum Cleaner - 10502220  ",
          "Bissell SpotClean™ Turbo Carpet Washer",
          "Miele Blizzard CX1 - 10502270 - Graphite ",
          "DeLonghi - DDS30COMBI - Dehumidifier   ",
          "Miele - SBB 400-3 - Parquet Twister XL floorbrush",
          "Miele Complete C3 Cat & Dog Vacuum - Autumn Red ",
          "DeLonghi - DDS25 - AriaDry 25L Dehumidifier",
          "Miele - DGC 7440 XL VitroLine Graphite Grey - Steam Combination Oven   ",
          "Miele - KM 3054 - Gas Cooktop",
          "Dyson - 323025-01 - Corrale™ Straightener - Black Nickel/Fuchsia",
          "LG CordZero A9NEOMASTER Cordless Handheld Stick Vacuum",
          "Miele HEPA AirClean Filter - SF HA 50",
          "Dyson Ball Animal Upright Vacuum - 206273-01 ",
          "Miele CVA 7840 PureLine CleanSteel Built-in Coffee Machine ",
          "Miele - 10797760 - Complete C3 Family All-Rounder Vacuum Cleaner - Graphite Grey",
          "Miele SBB 300-3 PQ Twister - Parquet Twister Floorbrush",
          "Miele - KM 6629 - Induction Cooktop",
          "Miele - STB 205-3 - TurboBrush",
          "Miele ESW 7020 Obsidian Black Gourmet Warming Drawer",
          "Miele ESW 7010 Graphite Grey Gourmet Warming Drawer ",
          "Dyson - 967763-02 - Quick Release Mattress Tool",
          "Miele - KM 6839 - Flush-Mount Induction Cooktop",
          "Miele DGM 7640 VitroLine Obsidian Black Steam Oven with Microwave",
          "Miele DGM 7640 VitroLine Graphite Grey Steam Oven with Microwave",
          "Dyson Cinetic Big Ball Origin - 300272-01  ",
          "Miele - TWB 140 WP - 7kg Heat Pump Dyer",
          "Miele - TCR 870 WP - 9kg Heat Pump Tumble Dryer ",
          "Miele - TCJ 690 WP - 9kg Heat Pump Tumble Dryer ",
          "Miele - H 7440 BMX ArtLine Graphite Grey - 60cm Speed Oven",
          "Miele - KM 3034 - Gas Cooktop ",
          "Miele - KM 3014 - Gas Cooktop",
          "Miele - SB GN HyClean 3D - GN HyClean 3D Dustbags",
          "Miele - KM 6349-1 - Induction Cooktop - Flush Mount",
          "Miele - G 4263 Vi Active - Fully Integrated Dishwasher ",
          "Miele - DA 2578 EXTERNAL 70cm Extractor Unit with External Fan",
          "Miele - DA 2578 - 70cm Fully Integrated Rangehood",
          "LG CordZero A9NEOMAX Cordless Handheld Stick Vacuum   ",
          "Miele ESW 7110 ContourLine CleanSteel Gourmet Warming Drawer",
          "Miele - DA 1260 - Built-under rangehood",
          "Miele ESW 7010 Obsidian Black Gourmet Warming Drawer",
          "Dyson Supersonic™ Hair Dryer Black/Nickel - 323227-01",
          "Dyson Soft Dusting Brush",
          "Miele - FJM Hyclean 3D - FJM Hyclean 3D Dustbags",
          "Miele DGM 7440 VitroLine Obsidian Black Steam Oven with Microwave",
          "Miele DGM 7440 VitroLine Graphite Grey Steam Oven with Microwave",
          "Samsung Jet™ 90 Pet Cordless Stick Vacuum Cleaner - VS20R9042T2",
          "Miele - KFN 14827 SDE ed CS Freestanding Fridge / Freezer Combinations",
          "Miele - TWD 440 WP - EcoSpeed 8kg Heat Pump Tumble Dryer "
         ],
         "type": "scatter",
         "x": [
          -0.30566054582595825,
          -0.1589573323726654,
          -0.10073666274547577,
          -0.07277452945709229,
          0.006174191832542419,
          -0.23382431268692017,
          -0.18816006183624268,
          -0.3212316632270813,
          0.0045214369893074036,
          -0.35290518403053284,
          -0.22564709186553955,
          -0.1670486330986023,
          -0.24123290181159973,
          -0.2145441770553589,
          -0.27817755937576294,
          -0.019922927021980286,
          -0.16957442462444305,
          -0.17211896181106567,
          -0.1493874192237854,
          -0.2120782434940338,
          -0.036951012909412384,
          -0.011354096233844757,
          -0.3518529236316681,
          -0.27662989497184753,
          -0.16153517365455627,
          -0.2296842336654663,
          -0.09561627358198166,
          -0.08667521178722382,
          -0.27231213450431824,
          -0.02782866358757019,
          -0.276994526386261,
          -0.1527387797832489,
          -0.12928062677383423,
          -0.2351449429988861,
          0.024539262056350708,
          -0.048410698771476746,
          -0.15668633580207825,
          -0.12341443449258804,
          -0.18909767270088196,
          -0.18346357345581055,
          -0.1624598205089569,
          -0.19315385818481445,
          -0.36740612983703613,
          -0.32399851083755493,
          -0.1696944534778595,
          -0.20963257551193237,
          -0.21235617995262146,
          -0.09501022845506668,
          0.04562452435493469,
          -0.024060003459453583,
          -0.04143071174621582,
          -0.3039894998073578,
          -0.06879188865423203,
          -0.34425339102745056,
          -0.23169854283332825,
          -0.24972984194755554,
          -0.20574477314949036,
          -0.2861059308052063,
          -0.17402037978172302,
          0.06754447519779205,
          -0.10495541989803314,
          0.15428823232650757,
          -0.10542545467615128,
          -0.31988683342933655,
          -0.3333740532398224,
          -0.22667419910430908,
          -0.33904847502708435,
          -0.05025481432676315,
          -0.14462152123451233,
          -0.2314009666442871,
          -0.19437241554260254,
          -0.3136119842529297,
          -0.1982763111591339,
          -0.06786344200372696,
          -0.1892106533050537,
          -0.042493924498558044,
          -0.1834438443183899,
          -0.016080811619758606,
          -0.2950904667377472,
          -0.25978657603263855,
          -0.29415714740753174,
          -0.21362555027008057,
          -0.14607959985733032,
          -0.15881425142288208,
          -0.06803572922945023,
          -0.0834914892911911,
          -0.2100244164466858,
          -0.1798020601272583,
          -0.09714484959840775,
          -0.18363481760025024,
          -0.16431376338005066,
          -0.07138697803020477,
          -0.17628008127212524,
          -0.10080023854970932,
          -0.27947452664375305,
          -0.09760492295026779,
          -0.11041704565286636,
          -0.08477398008108139,
          -0.2908455729484558,
          -0.23863476514816284,
          -0.25148630142211914,
          -0.15272784233093262,
          -0.11973395198583603,
          -0.2552073895931244,
          -0.19457173347473145,
          -0.22809910774230957,
          -0.22179585695266724,
          -0.3616917133331299,
          -0.05169610679149628,
          -0.2859917879104614,
          -0.12168293446302414,
          -0.30394721031188965,
          -0.258212685585022,
          -0.200289785861969,
          -0.3450019061565399,
          -0.041045963764190674,
          -0.08835025131702423,
          -0.06418713927268982,
          -0.24696022272109985,
          -0.2626398503780365,
          -0.21650958061218262,
          -0.21321836113929749,
          -0.07203686982393265,
          -0.23266062140464783,
          -0.09807176142930984,
          -0.26888149976730347,
          -0.2719367742538452,
          -0.02717491239309311,
          -0.2430955469608307,
          -0.1165487989783287,
          -0.25430774688720703,
          -0.2957865595817566,
          -0.09292375296354294,
          -0.08594586700201035,
          -0.3370380699634552,
          -0.27074918150901794,
          -0.26841363310813904,
          -0.28838518261909485,
          -0.12541213631629944,
          -0.10278347879648209,
          0.03585921972990036,
          -0.12623974680900574,
          -0.04539966583251953,
          -0.132330983877182,
          -0.11353381723165512,
          -0.150417298078537,
          -0.0485675111413002,
          -0.1104813888669014,
          -0.29287731647491455,
          -0.32265254855155945,
          -0.04677977412939072,
          0.15199753642082214,
          -0.0989496186375618,
          -0.11931019276380539,
          -0.166742205619812,
          -0.07916052639484406,
          -0.13546523451805115,
          -0.2861829400062561,
          -0.1625075340270996,
          -0.28185227513313293,
          -0.24636995792388916,
          -0.04557880014181137,
          -0.32550618052482605,
          -0.3016437590122223,
          -0.24169501662254333,
          -0.06353124231100082,
          -0.20908737182617188,
          -0.1712857484817505,
          -0.1775650978088379,
          -0.18884208798408508,
          -0.2922062575817108,
          -0.2685185372829437,
          -0.05829069763422012,
          -0.31352153420448303,
          -0.22728407382965088,
          -0.21294569969177246,
          -0.21786543726921082,
          0.16960829496383667,
          -0.3123503029346466,
          -0.15282192826271057,
          -0.2705751359462738,
          0.03567191958427429,
          0.0035874173045158386,
          -0.05138377845287323,
          -0.28893792629241943,
          -0.22820430994033813,
          0.02492821216583252,
          -0.20093482732772827,
          -0.16051191091537476
         ],
         "y": [
          0.05072450637817383,
          -0.04559049382805824,
          -0.05831419304013252,
          -0.04448214918375015,
          -0.007220318540930748,
          0.042612750083208084,
          -0.048458442091941833,
          0.15723279118537903,
          -0.007567385211586952,
          0.1371104121208191,
          0.02152758464217186,
          -0.01702115125954151,
          -0.0011760946363210678,
          -0.006543632596731186,
          0.04501766711473465,
          -0.08834295719861984,
          -0.1506369411945343,
          -0.04298092797398567,
          -0.026327792555093765,
          0.016915271058678627,
          -0.022396007552742958,
          -0.13478048145771027,
          0.1026117280125618,
          0.013927980326116085,
          0.03645303100347519,
          0.09310373663902283,
          -0.05824694782495499,
          -0.08455851674079895,
          0.1814747452735901,
          0.03892013430595398,
          0.09657549113035202,
          0.060734789818525314,
          -0.09615601599216461,
          -0.03589051961898804,
          0.10326527804136276,
          -0.13576820492744446,
          0.05037728324532509,
          -0.040304034948349,
          0.02295728772878647,
          -0.0033365795388817787,
          -0.07424565404653549,
          -0.04079461097717285,
          0.12475567311048508,
          0.007601534947752953,
          -0.010366199538111687,
          -0.03914344310760498,
          -0.0009887469932436943,
          -0.014642434194684029,
          0.22394882142543793,
          -0.013870462775230408,
          -0.028147391974925995,
          0.05826439708471298,
          -0.031230680644512177,
          0.16770021617412567,
          0.025883501395583153,
          -0.012190290726721287,
          0.009444286115467548,
          0.056259095668792725,
          -0.05492005869746208,
          0.07176917046308517,
          -0.05920780450105667,
          0.15555325150489807,
          -0.05842342600226402,
          -0.00020682625472545624,
          0.05391369014978409,
          -0.0037857573479413986,
          0.13878121972084045,
          -0.008932223543524742,
          -0.03270269185304642,
          -0.04222860187292099,
          0.04168300703167915,
          0.11477966606616974,
          0.022525830194354057,
          -0.033027246594429016,
          -0.09680379927158356,
          -0.13751962780952454,
          0.057683177292346954,
          0.0238522719591856,
          0.19552144408226013,
          0.08699975907802582,
          -0.01594417169690132,
          0.09771636128425598,
          0.08288943767547607,
          -0.0275674220174551,
          -0.09444734454154968,
          -0.06422656774520874,
          0.09461290389299393,
          -0.010546624660491943,
          -0.012509969994425774,
          0.02707604691386223,
          0.10130956023931503,
          0.06438036262989044,
          -0.10929665714502335,
          -0.050804052501916885,
          0.06779471039772034,
          -0.03679245337843895,
          -0.06355516612529755,
          0.06263899803161621,
          0.010784100741147995,
          0.021629977971315384,
          0.027296297252178192,
          0.0764014720916748,
          -0.11674723029136658,
          0.038802556693553925,
          -0.02229790762066841,
          -0.02396017126739025,
          -0.027996396645903587,
          0.10403759777545929,
          -0.06972998380661011,
          0.09402996301651001,
          -0.005195047706365585,
          0.16836188733577728,
          0.08174018561840057,
          -0.023273563012480736,
          0.08983443677425385,
          -0.018366316333413124,
          -0.005028447136282921,
          -0.0618111789226532,
          0.02471327595412731,
          0.05404310300946236,
          0.07377684116363525,
          0.07071135193109512,
          -0.03835383057594299,
          -0.07655069231987,
          0.017615366727113724,
          0.06640540063381195,
          0.08327627927064896,
          -0.07600847631692886,
          -0.006690402515232563,
          -0.10432762652635574,
          0.045685529708862305,
          0.20163874328136444,
          -0.06436614692211151,
          -0.09539185464382172,
          0.06504292786121368,
          0.059570908546447754,
          0.04494725912809372,
          0.03304394334554672,
          0.10535423457622528,
          0.0006832331418991089,
          0.19132550060749054,
          -0.049976855516433716,
          -0.10747812688350677,
          0.0028524119406938553,
          -0.14993563294410706,
          -0.10235625505447388,
          -0.07179263234138489,
          -0.0904611349105835,
          0.148440420627594,
          0.03779108077287674,
          -0.11784978210926056,
          0.13043075799942017,
          -0.053257398307323456,
          -0.0795922577381134,
          0.108693927526474,
          0.02932727336883545,
          -0.07699862867593765,
          0.01668279990553856,
          -0.05778248608112335,
          0.07274594157934189,
          0.10480064153671265,
          -0.08333133161067963,
          0.029371945187449455,
          0.1807446926832199,
          0.17970852553844452,
          -0.05721037834882736,
          0.016304783523082733,
          0.013980422168970108,
          0.023435357958078384,
          0.10358120501041412,
          0.033296726644039154,
          0.031029876321554184,
          -0.03543826565146446,
          -0.03798489272594452,
          0.09419465065002441,
          0.04624636471271515,
          -0.017936473712325096,
          0.13565737009048462,
          0.12736330926418304,
          -0.09216846525669098,
          0.07842861115932465,
          -0.16002291440963745,
          -0.033961836248636246,
          -0.094846710562706,
          0.17229227721691132,
          0.17049267888069153,
          0.17660821974277496,
          0.032978907227516174,
          0.0933564156293869
         ]
        },
        {
         "marker": {
          "color": 6,
          "size": 5
         },
         "mode": "markers",
         "name": "1",
         "text": [
          "Targus - TSS954AU - 15.6\" Bex II Slipcase",
          "Targus - CityGear -17\" Slim Topload Laptop Case - Black - TSS868AU",
          "Blanco - SUBLINE400UK5 - SILGRANIT™ PuraDur™ Undermount Sink - Anthracite",
          "Targus - TBC002AU - Intellect Clamshell Laptop Case",
          "STM Dux Plus iPad 5th/6th Gen Case with Apple Pencil Storage - Black",
          "STM Dux Plus iPad 5th/6th Gen Case with Apple Pencil Storage - Blue",
          "Blanco - LINUSSA - Silgranit™ Tap - Anthracite",
          "Targus - CNFS415AU - 15\" - 15.6\" Classic+ Clamshell Case",
          "Blanco - NAYA6 - Elegant SILGRANIT™ PuraDur™ Sink - Anthracite",
          "Targus - TBS604AU - 13.3\" Dual-purpose Hardsided Slipcase",
          "Targus - 13.3\" Pewter Slipcase - TSS660AU",
          "Blanco - SUBLINE700UWK5 - SILGRANIT™ PuraDur™ Sink - White",
          "Targus - TSS95301AU - 13-14\" Bex II Sleeve",
          "Targus - 12.1” Bex II Laptop Sleeve - Black - TSS88110AU",
          "STM - STM-222-166JW-03 - Atlas iPad/Pro/Air Case - Dark Red",
          "Targus - TSS953AU - 13-14\" Bex II Sleeve",
          "Targus - THZ635GL - Smart Case For iPad - Black",
          "STM Studio iPad  Flip Cover - Black Smoke",
          "Targus - TSS87810AU - 13-14\" Bex II Laptop Sleeve - Black",
          "Targus - TSS961AU - 11-12” Bex II Laptop Sleeve",
          "Targus - VersaVu® Classic Case For 12.9\" iPad Pro - THZ651GL",
          "Tauris - TITAN 1500 WHITE - Titan 1500 Entertainment Unit",
          "STM Dux Plus iPad 5th/6th Gen Case with Apple Pencil Storage - Red",
          "Targus - TSS88610AU - 15.6\" Bex II Laptop Sleeve - Black",
          "Targus - THZ636GL - VersaVu® Signature Case for iPad - Black",
          "Targus - TBB565AU - 15.6\" Intellect Laptop Backpack",
          "Blanco - LINUSSW - Silgranit™ Tap - White",
          "Blanco - SUBLINE700UK5 - SILGRANIT™ PuraDur™ Sink - Anthracite",
          "Targus - TSB80304AU - 15.6\" T-1211 Backpack",
          "Targus - TBB565GL - 15.6\" Intellect Laptop Backpack",
          "STM - STM-114-168M-16 - 13\" Summary Laptop Sleeve",
          "Targus - CNFS418AU - 17\" - 18.2\" Classic+ Clamshell Case",
          "Blanco - SUBLINE400UWK5 - SILGRANIT™ PuraDur™ Undermount Sink - White",
          "Blanco - NAYA6W - Elegant SILGRANIT™ PuraDur™ Sink - White",
          "Blanco - LINUSSG - Silgranit™ Tap - Rock Grey",
          "Targus - THZ665AU - Pro-Tek 9-10” Rotating Tablet Case",
          "Targus - THZ664AU - Pro-Tek 7-8” Rotating Tablet Case Black",
          "Targus - THZ594GL - Versavu™ Slim Case for iPad mini - Black",
          "STM - STM-117-169M-01 - 13\" Chapter laptop brief"
         ],
         "type": "scatter",
         "x": [
          0.01671294867992401,
          0.20416691899299622,
          -0.035381168127059937,
          0.18511968851089478,
          0.28522759675979614,
          0.2780297100543976,
          0.029551219195127487,
          0.018506325781345367,
          0.03830350562930107,
          0.004096105694770813,
          0.01456587016582489,
          0.012405842542648315,
          0.06935146450996399,
          0.18276037275791168,
          0.28616073727607727,
          0.05865921452641487,
          0.16253924369812012,
          0.17781390249729156,
          0.21408788859844208,
          0.15348629653453827,
          0.17326858639717102,
          0.11463243514299393,
          0.2629616856575012,
          0.19534116983413696,
          0.15421472489833832,
          0.16604024171829224,
          0.009158559143543243,
          0.01456441730260849,
          -0.018295638263225555,
          0.1558852344751358,
          0.21873414516448975,
          0.014852475374937057,
          -0.036870766431093216,
          0.014845523983240128,
          0.035702869296073914,
          0.1639515608549118,
          0.15777097642421722,
          0.13254326581954956,
          0.2398962676525116
         ],
         "y": [
          -0.049669161438941956,
          0.07239408791065216,
          -0.10011409968137741,
          -0.09481457620859146,
          0.044581178575754166,
          0.008149892091751099,
          -0.20807769894599915,
          -0.016322817653417587,
          -0.11285954713821411,
          -0.0940425917506218,
          -0.06463856995105743,
          -0.10577479004859924,
          -0.026957528665661812,
          0.02776721492409706,
          -0.025024186819791794,
          -0.05503593757748604,
          0.08606312423944473,
          -0.07743154466152191,
          0.00972505658864975,
          -0.025717325508594513,
          0.07572102546691895,
          -0.12120779603719711,
          0.04147980362176895,
          -0.006495622918009758,
          0.04099588096141815,
          0.00739482045173645,
          -0.21457648277282715,
          -0.0911666601896286,
          -0.07184707373380661,
          0.0386614128947258,
          0.02135673724114895,
          0.006216403096914291,
          -0.11896035075187683,
          -0.1195567324757576,
          -0.17698432505130768,
          0.018051564693450928,
          0.010406751185655594,
          0.013358468189835548,
          0.04529307782649994
         ]
        },
        {
         "marker": {
          "color": 7,
          "size": 5
         },
         "mode": "markers",
         "name": "2",
         "text": [
          "Samsung - EF-RN975CBEGWW - Galaxy Note10+ Protective Standing Cover - Black",
          "Samsung - ET-FG975CTEGWW - Screen Protector for Galaxy S10+",
          "Samsung - VG-SCFT55BE/RU - 55\" (2020) Beige Wood Customisable Frame Bezel ",
          "Speck - Presidio Clear Samsung Galaxy S8 Case",
          "Samsung - HAFIN2/EXP - Water Filter",
          "Samsung - VCA-ADB90 - Auto Dust Disposal Bag (5pcs)",
          "Cygnett - CY2419CPAEG - Slim Protective Case For Galaxy S9",
          "Samsung - EF-CG930PFEGWW - S View Cover (Galaxy S7)",
          "Samsung Smart Wi-Fi Door Lock - SHP-DP609 ",
          "Samsung - LC24F390FHEXXY - 24\" Curved FHD Monitor",
          "Samsung - Galaxy S8+ Alcantara Back Cover - Grey - EF-XG955ASEGWW",
          "Samsung - EF-GG960FREGWW - Galaxy S9 HyperKnit Cover - Red",
          "Samsung - Galaxy S8 Alcantara Cover - Dark Gray - EF-XG950ASEGWW  ",
          "Samsung - EP-YO805BBEGWW - Galaxy Watch Wireless Charger",
          "Samsung - EF-FG960CTEGWW - Galaxy S9 Clean Screen Protector ",
          "Samsung - EF-NG973PBEGWW - Galaxy S10 LED View Cover",
          "Cygnett - CY2425CPSKI - Slimline Case for Samsung Galaxy S9+ - Black",
          "Samsung - EF-ZG973CBEGWW - Galaxy S10 Clear View Cover",
          "Samsung - Galaxy Tab S3 9.7\" Book Cover - EF-BT820PBEGWW ",
          "Samsung - EF-NG965PBEGWW - Galaxy S9+ LED View Cover - Black",
          "Samsung - EE-GN930BWEGWW - Micro USB Connector (USB Type-C to Micro USB)",
          "Samsung - HAFEX/EXP - Water Filter ",
          "Samsung Smart Wi-Fi Biometric Mortise Door Lock - SHP-DR708",
          "Samsung - EF-NG965PLEGWW - Galaxy S9+ LED View Cover - Blue",
          "Samsung - EF-NG960PLEGWW - Galaxy S9 LED View Cover - Blue",
          "Samsung - EF-KN975CWEGWW - Galaxy Note10+ LED Back Cover",
          "Cygnett - CY2828CXCUR - Galaxy S10e Tempered Glass Screen Protector",
          "Samsung - VG-SCFT65BE/RU - 65\" (2020) Beige Wood Customisable Frame Bezel",
          "Samsung - ME73M - 20L Microwave ",
          "Cygnett - CY2424CPAEG - Slim Protective Case For Galaxy S9+",
          "Samsung - EF-PN970TSEGWW - Galaxy Note 10 Silicone Cover - Silver",
          "Samsung - LC27T550FDEXXY - 27\" CT550 Curved FHD Monitor",
          "Samsung - EF-NN960PBEGWW - Galaxy Note9 LED View Cover",
          "Samsung - EF-ZG930CSEGWW - Clear View Cover (Galaxy S7) - Silver",
          "Samsung - EE-I3100FBEGWW - 1.380m Dex Cable",
          "Samsung - LED View Cover Galaxy S7 - EF-NG930PFEGWW",
          "Samsung - EF-BT550BLEGWW - Tab A 9.7\" Book Cover",
          "Samsung - EF-PJ250CBEGME - Galaxy J2 Pro Dual Layer Cover",
          "Speck - Presidio Clear Samsung Galaxy S8+ Case",
          "Speck - 124607-1050 - Presidio Grip Galaxy S10+ Case - Black/Black",
          "Samsung - EF-GG965FJEGWW - Galaxy S9+ HyperKnit Cover - Grey",
          "Samsung - EF-RG973CBEGWW - Galaxy S10 Protective Standing Cover",
          "Samsung - EF-ZN960CBEGWW - Galaxy Note9 Clear View Standing Cover",
          "Samsung - EF-KN970CBEGWW - Galaxy Note10 LED Cover - Black",
          "Samsung - EF-PN970TBEGWW - Galaxy Note 10 Silicone Cover - Black ",
          "Samsung - GP-FBP615TGABW - Targus Slim Keyboard Cover",
          "Samsung - LC27F390FHEXXY - 27\" Curved FHD Monitor ",
          "Samsung - EJ-PN970BBEGWW - Note10 S Pen Black",
          "Samsung VCA-SAE90A Jet Clean Station",
          "Samsung - EF-ZG975CBEGWW - Galaxy S10+ Clear View Cover",
          "Samsung - EF-NN960PLEGWW - Note9 LED View Cover",
          "Samsung - EF-WA908PWEGWW - Galaxy A90 5G Wallet Cover  ",
          "Samsung - EF-PG973TBEGWW - Galaxy S10 Silicone Cover (Black)",
          "Samsung - EF-AA505CVEGWW - A50 Gradation Cover - Violet",
          "Samsung - EF-AA505CBEGWW - A50 Gradation Cover - Black",
          "Samsung - EF-NG960PBEGWW - Galaxy S9 LED View Cover - Black",
          "Samsung - EF-PG975TBEGWW - Galaxy S10+ Silicone Cover - Black",
          "Samsung - EF-RG975CSEGWW - Galaxy S10+ Protective Standing Cover",
          "Samsung - EF-WJ530CBEGME - Galaxy J5 Pro Wallet Cover",
          "Samsung - EF-NN970PBEGWW - Galaxy Note10 LED View Cover - Black",
          "Samsung - EF-AA705CVEGWW - A70 Gradation Cover - Violet",
          "Samsung - VG-SCFT65WT/RU - 65\" (2020) White Customisable Frame Bezel ",
          "Samsung - EF-XN950ABEGWW - Galaxy Note 8 Alcantara Cover - Black",
          "Samsung - EF-ZG935CSEGWW - Clear View Cover (Galaxy S7 Edge)",
          "Samsung - CLT-K404S - Black Toner",
          "Speck - 124589-1050 - Presidio Grip Galaxy S10 Case - Black/Black",
          "Uniden - SS E07 - Sight & Sound Enhanced Cordless Phone - Additional Handset",
          "Samsung - Galaxy S8 Alcantara Cover - Blue - EF-XG950ALEGWW",
          "Samsung - ET-FG965CTEGWW - Screen Protector",
          "Samsung - HW-Q950T - 9.1.4Ch Soundbar - 546W  ",
          "Samsung - EF-DT860UJEGWW - Galaxy Tab S6 Book Cover Keyboard",
          "Cygnett - CY2127CPAEG - AeroShield Case for Samsung Galaxy S8 - Crystal",
          "Samsung - 1091100864 - S View Cover (Galaxy S7)",
          "Samsung - VG-SCFT55WT/RU - 55\" (2020) White Customisable Frame Bezel ",
          "Samsung Smart Bluetooth Mortise Lock - SHP-DH525",
          "Cygnett OpticShield Tempered Glass Screen Protector for Samsung A70",
          "Samsung - EF-BT715 Black - Tab S2 Book Cover (8.0\")",
          "Cygnett - CY2420CPSKI - Slimline Case for Samsung Galaxy S9 - Black",
          "Samsung - EF-NG965PVEGWW - Galaxy S9+ LED View Cover - Violet",
          "Samsung - EF-AA305CVEGWW - A30 Gradation Cover - Violet",
          "Samsung - EF-RN950CBEGWW - Galaxy Note 8 Protective Standing Cover - Black",
          "Samsung - EF-NN950PFEGWW - Galaxy Note 8 LED View Cover - Gold",
          "Samsung - EF-GG965FREGWW - Galaxy S9+ HyperKnit Cover - Red",
          "Samsung - CLT-Y404S - Yellow Toner",
          "Cygnett - Samsung Galaxy Note 8 Case - CY2132CPAEG",
          "Samsung - DF60R8200WG/SA - AirDresser Clothing Care System  ",
          "Samsung - EF-GG960FJEGWW - Galaxy S9 HyperKnit Cover - Grey",
          "Samsung - EF-ZN960CAEGWW - Galaxy Note9 S-View Flip Cover",
          "Samsung - VG-SCFT65BW/RU - 65\" (2020) Walnut Customisable Frame Bezel",
          "Samsung - EF-PN975TSEGWW - Galaxy Note10+ Silicone Cover - Silver",
          "Samsung - LS27R750QEEXXY - 27\"  Clamp-type Monitor",
          "Samsung - EJ-FT830UBEGWW - Tab S4 Keyboard Cover - Black",
          "Samsung - EF-AA305CBEGWW - A30 Gradation Cover - Black",
          "Samsung - ME6144ST - Microwave",
          "Samsung - 1091100733 - Note 5 S View Cover Blue/Black",
          "Samsung - Wireless Charger Convertible 2017 - EP-PG950BBEGWW ",
          "Samsung - LC32T550FDEXXY - 32\" CT550 Curved FHD Monitor ",
          "Samsung - VG-SCFT43WT/RU - 43\" (2020) White Customisable Frame Bezel ",
          "Speck - 124606-5085 - Presidio Stay Clear Galaxy S10+ Case",
          "Speck - 124588-5085 - Presidio Stay Clear Galaxy S10 Case",
          "Samsung - Galaxy S8+ Alcantara Back Cover - Blue - EF-XG955ALEGWW",
          "Cygnett - CY3006CXCUR - Galaxy Note 10+ 3D PET Screen Protector",
          "Samsung - EF-KN975CBEGWW - Galaxy Note10+ LED Cover - Black",
          "Samsung - EF-RG973CSEGWW - Galaxy S10 Protective Standing Cover",
          "Speck - Presidio Grip Samsung Galaxy Note 8 Case",
          "Samsung - EF-BT810 Black - Tab S2 Book Cover (9.7\")",
          "Samsung - EF-BT550BSEGWW - Tab A 9.7\" Book Cover",
          "Samsung - EJ-FT720UBEGWW - Galaxy Tab S5e Book Cover Keyboard",
          "Samsung - EJ-PN960BLEGWW - Note 9 S Pen – Blue",
          "Samsung - VCA-SBT90E - Jet VS70 Battery (White)",
          "Samsung - EF-AA505CPEGWW - A50 Gradation Cover - Pink",
          "Samsung - VCA-WB650/GL - Jet Spinning Sweeper Tool (Silver)  ",
          "Samsung - EF-AA705CBEGWW - A70 Gradation Cover - Black",
          "Samsung - EF-BT350BSEGWW - Tab A 8.0\" Book Cover",
          "Samsung - EF-AA305CPEGWW - A30 Gradation Cover - Pink",
          "Samsung - EP-TA20HWECGAU - Fast Charging Travel Adapter (Type C)(9V) ",
          "Samsung - EP-P5200TBEGAU - Wireless Charger Duo Pad",
          "Samsung Smart Bluetooth Rim Lock - SHP-DS705",
          "Samsung - EF-NN950PBEGWW - Galaxy Note8 LED View Cover - Black",
          "Samsung - EJ-PN970BSEGWW - Note10 S Pen Silver",
          "Samsung - VG-SCFT43BE/RU - 43\" (2020) Beige Wood Customisable Frame Bezel ",
          "Samsung - VG-SCFT43BW/RU - 43\" (2020) Walnut Customisable Frame Bezel ",
          "Samsung CF397 - LC32F397FWEXXY - 32\" FHD Curved Monitor",
          "Samsung - EF-CG930PSEGWW - S View Cover (Galaxy S7) ",
          "Speck - Presidio Grip Samsung Galaxy S8+ Case",
          "Samsung - VG-SCFT55BW/RU - 55\" (2020) Walnut Customisable Frame Bezel  ",
          "Samsung - EF-PN975TBEGWW - Galaxy Note10+ Silicone Cover - Black",
          "Samsung - EP-TA20HWEUGAU - Fast Charging Travel Adaptor",
          "Samsung - EF-VN975LAEGWW - Galaxy Note10+ Leather Cover ",
          "Samsung - VCA-SBT90 - Jet VS90 Battery",
          "Samsung - ET-FG973CTEGWW - Screen Protector for Galaxy S10",
          "Samsung - EF-NN975PBEGWW - Galaxy Note10+ LED View Cover - Black",
          "Samsung - EF-NN960PAEGWW - Galaxy Note9 LED View Cover",
          "Samsung - EP-LN915CBEGWW - Fast Charge Car Charger",
          "Cygnett - CY3005CXCUR - Galaxy Note 10 3D PET Screen Protector",
          "Samsung - Galaxy S8+ LED View Cover - Black - EF-NG955PBEGWW",
          "Samsung - Galaxy S8 Screen Protector - ET-FG950CTEGWW"
         ],
         "type": "scatter",
         "x": [
          0.1723070591688156,
          0.16985706984996796,
          0.07762640714645386,
          0.12168088555335999,
          0.1081230640411377,
          0.08907272666692734,
          0.14103901386260986,
          0.18387912213802338,
          0.19192391633987427,
          0.14150670170783997,
          0.1977776736021042,
          0.19181394577026367,
          0.2343090921640396,
          0.2245846390724182,
          0.14259545505046844,
          0.15072274208068848,
          0.20586761832237244,
          0.1397118866443634,
          0.24625052511692047,
          0.1868390589952469,
          0.23559726774692535,
          0.09831614792346954,
          0.15690487623214722,
          0.1836250126361847,
          0.17643879354000092,
          0.1817861944437027,
          0.10614174604415894,
          0.059469059109687805,
          -0.03624036908149719,
          0.1625579297542572,
          0.1714715212583542,
          0.16600574553012848,
          0.14937226474285126,
          0.1720028519630432,
          0.14219984412193298,
          0.18647336959838867,
          0.1906396597623825,
          0.19030368328094482,
          0.12893468141555786,
          0.10545292496681213,
          0.20773960649967194,
          0.10601702332496643,
          0.12805937230587006,
          0.20552727580070496,
          0.19565719366073608,
          0.1613929718732834,
          0.15831300616264343,
          0.24929141998291016,
          0.1262044459581375,
          0.1531136929988861,
          0.13567671179771423,
          0.11957027018070221,
          0.19182588160037994,
          0.0800609365105629,
          0.10050494223833084,
          0.17965710163116455,
          0.1947380006313324,
          0.13674396276474,
          0.2096525877714157,
          0.183444082736969,
          0.0838875025510788,
          0.1001800000667572,
          0.23394300043582916,
          0.17963218688964844,
          0.2088496834039688,
          0.09047024697065353,
          0.1895628273487091,
          0.2271336317062378,
          0.08358334749937057,
          0.2304895520210266,
          0.17452576756477356,
          0.19382981956005096,
          0.18901626765727997,
          0.1183229610323906,
          0.23601508140563965,
          0.15723367035388947,
          0.28203654289245605,
          0.20744949579238892,
          0.1849793940782547,
          0.061274513602256775,
          0.16435562074184418,
          0.17143553495407104,
          0.19882676005363464,
          0.21068421006202698,
          0.2009008228778839,
          0.018572956323623657,
          0.20256084203720093,
          0.17153571546077728,
          0.055865705013275146,
          0.17876335978507996,
          0.17687565088272095,
          0.20401600003242493,
          0.08490226417779922,
          -0.03795783221721649,
          0.20347367227077484,
          0.25510042905807495,
          0.15949006378650665,
          0.13262803852558136,
          0.041201427578926086,
          0.019769731909036636,
          0.19946785271167755,
          0.156586691737175,
          0.21239584684371948,
          0.11458420008420944,
          0.13440558314323425,
          0.2708885073661804,
          0.18420284986495972,
          0.21913567185401917,
          0.2386084496974945,
          0.2055310308933258,
          0.08353899419307709,
          0.024638943374156952,
          0.10553131252527237,
          0.1984233260154724,
          0.05839347094297409,
          0.24268700182437897,
          0.21169282495975494,
          0.2558482587337494,
          0.18426983058452606,
          0.21443238854408264,
          0.09073750674724579,
          0.09464389085769653,
          0.15752598643302917,
          0.1891614943742752,
          0.13544747233390808,
          0.08000002801418304,
          0.20464859902858734,
          0.21894991397857666,
          0.1599465161561966,
          0.19614051282405853,
          0.1507376730442047,
          0.19739492237567902,
          0.15229319036006927,
          0.11615785211324692,
          0.15435448288917542,
          0.20687814056873322,
          0.18406306207180023
         ],
         "y": [
          0.21997201442718506,
          0.31992506980895996,
          0.2781675457954407,
          0.19938328862190247,
          0.05671500414609909,
          0.15193550288677216,
          0.18393871188163757,
          0.333224892616272,
          0.1937316358089447,
          0.4061327576637268,
          0.2810904383659363,
          0.2741971015930176,
          0.2842022180557251,
          0.12966372072696686,
          0.3213474154472351,
          0.28739383816719055,
          0.21037906408309937,
          0.2894122004508972,
          0.27787911891937256,
          0.3181957006454468,
          0.18000943958759308,
          0.05775660276412964,
          0.17460152506828308,
          0.26605841517448425,
          0.260765016078949,
          0.2830048203468323,
          0.190397709608078,
          0.29286953806877136,
          0.2655114531517029,
          0.20265302062034607,
          0.23655714094638824,
          0.4293350875377655,
          0.3149368166923523,
          0.31021058559417725,
          0.23414397239685059,
          0.360989511013031,
          0.26217955350875854,
          0.14739787578582764,
          0.20898519456386566,
          0.17734313011169434,
          0.29549747705459595,
          0.22659718990325928,
          0.3260924816131592,
          0.2685585021972656,
          0.23389141261577606,
          0.2053234726190567,
          0.4176047444343567,
          0.29447105526924133,
          0.22685909271240234,
          0.3016074001789093,
          0.2950877249240875,
          0.3091464638710022,
          0.23110273480415344,
          0.173336461186409,
          0.1543818712234497,
          0.3040938675403595,
          0.2644975781440735,
          0.26886793971061707,
          0.19407537579536438,
          0.2699207067489624,
          0.21340878307819366,
          0.3445162773132324,
          0.29056423902511597,
          0.3396289348602295,
          0.12105852365493774,
          0.17036283016204834,
          -0.0761740431189537,
          0.22994109988212585,
          0.2796058654785156,
          0.21980224549770355,
          0.2992948889732361,
          0.1804679036140442,
          0.33460360765457153,
          0.3305234909057617,
          0.11465715616941452,
          0.2845195531845093,
          0.1767714023590088,
          0.20081627368927002,
          0.32567813992500305,
          0.17530754208564758,
          0.25536832213401794,
          0.3402497172355652,
          0.27950844168663025,
          0.15987776219844818,
          0.23214282095432281,
          0.19088828563690186,
          0.29051071405410767,
          0.3239287734031677,
          0.3171757459640503,
          0.25016382336616516,
          0.35524076223373413,
          0.2422827035188675,
          0.16336692869663239,
          0.2524699568748474,
          0.24368755519390106,
          0.19643987715244293,
          0.4233962893486023,
          0.31722575426101685,
          0.20107676088809967,
          0.18286418914794922,
          0.24570752680301666,
          0.20600247383117676,
          0.2763672471046448,
          0.2547946870326996,
          0.18519355356693268,
          0.1986696720123291,
          0.25739121437072754,
          0.2980467975139618,
          0.24785920977592468,
          0.17779123783111572,
          0.1554143875837326,
          0.1309221088886261,
          0.19351136684417725,
          0.23916447162628174,
          0.15684783458709717,
          0.20212450623512268,
          0.10846183449029922,
          0.09411324560642242,
          0.2955111861228943,
          0.2835657596588135,
          0.2615409791469574,
          0.2872482240200043,
          0.4049798548221588,
          0.33166491985321045,
          0.20107948780059814,
          0.30778321623802185,
          0.24314847588539124,
          0.14279015362262726,
          0.27351224422454834,
          0.18433409929275513,
          0.3119209408760071,
          0.27517855167388916,
          0.325072705745697,
          0.20565807819366455,
          0.19690245389938354,
          0.315002977848053,
          0.3410123586654663
         ]
        },
        {
         "marker": {
          "color": 8,
          "size": 5
         },
         "mode": "markers",
         "name": "3",
         "text": [
          "DeLonghi - CTOC 2003.Y - Icona Capitals 2 Slice Toaster - New York Yellow",
          "Omega Altise - OAPE2000W - 2000W Panel Convection Heater - White",
          "Omega Altise - AALTURASB - 2400W Ceramic Tower Heater - Black",
          "Noirot - 7358-5T - 1500W Spot Plus Heater with Timer",
          "Noirot - 7358-7T - 2000W Spot Plus Heater with Timer",
          "Noirot - 7358-3 - 1000W Spot Plus Heater",
          "ESW 7020 Graphite Grey Gourmet Warming drawer",
          "Tiger - PDUA40A - 4L Electric Water Heater",
          "Noirot - 7382-7 - 2000W Evolution Low Heater ",
          "DeLonghi - TRRS 0715T - Radia S Radiant Heater - 1500W",
          "DeLonghi - TRD42400MT - Dragon4 Oil Column Heater - 2400W",
          "DeLonghi - DCH7992ER - Digital Ceramic Tower Heater",
          "Morphy Richards - 100005 - Scandi White Aspect Kettle",
          "Noirot - 7358-3T - 1000W Spot Plus Heater with Timer ",
          "Noirot - 7358-8T - 2400W Spot Plus Heater with Timer",
          "Noirot - 7358-7 - 2000W Spot Plus Heater ",
          "DeLonghi - TCH8993ER - Tower Ceramic Heater",
          "DeLonghi - KBOC 2001.W - Icona Capitals Kettle - Sydney White",
          "DeLonghi - KBO2001W - Icona Kettle (White)",
          "DeLonghi - TRD41500MT - Dragon4 Oil Column Heater - 1500W",
          "Morphy Richards - Equip Black Jug 1.7L Kettle ",
          "Rinnai - 252SN - Granada 252 Radiant Convector - NG",
          "DeLonghi - CTOC 4003.O - Icona Capitals 4 Slice Toaster - Rome Orange",
          "Olimpia Splendid - 2000W Caldorad 9 Column Heater",
          "DeLonghi - CTOC 4003.BL - Icona Capitals 4 Slice Toaster - London Blue",
          "Morphy Richards - 102107 - Black Accents Traditional Pyramid Kettle",
          "DeLonghi - KBOC 2001.O - Icona Capitals Kettle - Rome Orange",
          "Nobo - NTL4T15-FS40 - 1.5kW Panel Heater",
          "Smeg - CPRA315MB - 60cm Classic Warming Drawer - Matte Black",
          "Noirot - 7384-3 - 1000W Evolution Tall Heater ",
          "Noirot - 7383-7 - 2000W Evolution Medium Heater ",
          "Tauris - NOVA1500GREY - NOVA 1500 Entertainment Unit",
          "WiZ - WZ0026011 - 10W Dimmable Warm White Light - E27 ",
          "Noirot - 7382-5 - 1500W Evolution Low Heater ",
          "Rinnai - DY15N - Dynamo 15 Convector - NG",
          "Tiger - PDU-A50A - 5L Electric Water Heater",
          "DeLonghi - DCH7092ER - 2200W Digital Ceramic Heater",
          "Kambrook - 1500W - 7 Fin Oil Column Heater - KOH107",
          "Rinnai - 252N - Granada 252 Radiant Convector - NG",
          "Nobo - NTL4S24-FS40 - 2.4kW Nobo Panel Heater",
          "Nobo - NTL4S20-FS40 - 2kW Nobo Panel Heater",
          "Noirot - 7384-7 - 2000W Evolution Tall Heater ",
          "Noirot - 7383-3 - 1000W Evolution Medium Heater",
          "Asko - ODW8127S - 14cm Warming Drawer - Stainless steel ",
          "DeLonghi - CTOC 4003.R - Icona Capitals 4 Slice Toaster - Tokyo Red ",
          "Sharp - 1000W Convection Microwave - R995DW",
          "DeLonghi - TRRS0715E.G - 1500W Radia S Digital Oil Column Heater",
          "Morphy Richards - 101005 - Accents 1L Kettle",
          "DeLonghi - KBOC 2001.R - Icona Capitals Kettle - Tokyo Red",
          "DeLonghi - PACWE120HP - Portable Air Conditioner",
          "Noirot - 7382-3 - 1000W Evolution Low Heater ",
          "Nobo - NTL4T24-FS40 - 2.4kW Panel Heater",
          "Asko - ODW8127B - 14cm Warming Drawer - Black Steel ",
          "Olimpia Splendid - 1500W Caldorad 7 Column Heater",
          "DeLonghi - Pinguino Portable Air Conditioner - PACN120",
          "DeLonghi - Radia S Radiant Heater - 1000W - TRRS 0510T ",
          "DeLonghi - 2400W Radia S Digital Oil Column Heater - TRRS1224EG",
          "Rinnai - DY15L - Dynamo 15 Convector - LPG",
          "Olimpia Splendid - 2000W Caldostile D Ceramic Fan Heater",
          "Morphy Richards - 102108 - White Accents Rose Gold Traditional Pyramid Kettle",
          "DeLonghi - PACWE112ECO - Water-To-Air 3.1kW Portable Air Conditioner",
          "DeLonghi - 5513214611 - Latte Macchiato Thermo Glasses",
          "DeLonghi - KBOC 2001.Y - Icona Capitals Kettle - New York Yellow",
          "Smeg - CPRA115N - Linea Warming Drawer",
          "DeLonghi - KBOC 2001.BL - Icona Capitals Kettle - London Blue",
          "Goldair - GIR400 - Radiant Heater",
          "Asko - ODW8127A - 14cm Warming Drawer - Anthracite ",
          "Inalto - IHPD7 - 7kg Heat Pump Dyer",
          "DeLonghi - DL2401TF - Oil Filled Radiator - 2400W",
          "DeLonghi - TRD41500ET - Oil Column Heater",
          "Westinghouse - WHIHWD01SS - Instant Hot Water Dispenser",
          "DeLonghi - CTOC 4003.AZ - Icona Capitals 4 Slice Toaster - Lisbon Azure",
          "DeLonghi - TRD42400ET - Dragon4 Oil Column Heater",
          "DeLonghi - KBOC 2001.AZ - Icona Capitals Kettle - Lisbon Azure",
          "Olimpia Splendid - 2400W Caldorad 11 Column Heater",
          "Noirot - 7358-5 - 1500W Spot Plus Heater",
          "Noirot - 7358-8 - 2400W Spot Plus Heater ",
          "DeLonghi - CTOC 4003.Y - Icona Capitals 4 Slice Toaster - New York Yellow  ",
          "DeLonghi - CTOC 2003.R - Icona Capitals 2 Slice Toaster - Tokyo Red",
          "Rinnai - DY15SN - Dynamo 15 Convector - NG",
          "Rinnai - DY15SL - Dynamo 15 Convector - LPG",
          "Ninja Foodi Cold & Hot Blender - HB150  ",
          "Tauris - NOVA1500OAK - NOVA 1500 Entertainment Unit",
          "DeLonghi - CTOC 4003.W - Icona Capitals 4 Slice Toaster - Sydney White",
          "DeLonghi - CTOC 2003.W - Icona Capitals 2 Slice Toaster - Sydney White",
          "Nobo - NTL4T20-FS40 - 2kW Panel Heater",
          "Rinnai - 252SL - Granada 252 Radiant Convector - LPG",
          "Morphy Richards - 100007 - Scandi Black Aspect Kettle",
          "WiZ - WZ0726011 - 10W Dimmable Warm White Light - B22  ",
          "DeLonghi - CTOC 2003.BL - Icona Capitals 2 Slice Toaster - London Blue",
          "Noirot - 7384-5 - 1500W Evolution Tall Heater ",
          "Noirot - 7383-5 - 1500W Evolution Medium Heater "
         ],
         "type": "scatter",
         "x": [
          -0.020554713904857635,
          -0.09654715657234192,
          -0.07200300693511963,
          -0.04198700934648514,
          -0.06560180336236954,
          -0.10070792585611343,
          -0.24205055832862854,
          -0.07700800895690918,
          -0.08912195265293121,
          -0.09271418303251266,
          -0.10064110904932022,
          -0.136453777551651,
          -0.017242856323719025,
          -0.03581497073173523,
          -0.08111678063869476,
          -0.13166961073875427,
          -0.16849084198474884,
          -0.037252072244882584,
          -0.07660304754972458,
          -0.09155197441577911,
          -0.022576414048671722,
          -0.06836695969104767,
          -0.03407125174999237,
          -0.09706330299377441,
          -0.09023531526327133,
          -0.07735931128263474,
          0.02111053466796875,
          -0.1442016065120697,
          -0.17970678210258484,
          -0.11121302098035812,
          -0.11166179925203323,
          0.02983981743454933,
          -0.12233958393335342,
          -0.08625581115484238,
          0.014488408342003822,
          -0.06971359997987747,
          -0.16040658950805664,
          -0.12519744038581848,
          -0.07596682012081146,
          -0.14836101233959198,
          -0.14124414324760437,
          -0.14370298385620117,
          -0.09432593733072281,
          -0.18276014924049377,
          -0.06401067227125168,
          -0.12742280960083008,
          -0.09956938773393631,
          -0.11382303386926651,
          -0.022654540836811066,
          -0.06964684277772903,
          -0.07285156100988388,
          -0.14226502180099487,
          -0.1597677767276764,
          -0.1007918044924736,
          -0.0019225403666496277,
          -0.09150642901659012,
          -0.10619883984327316,
          -0.08324851095676422,
          -0.1587677001953125,
          -0.07504751533269882,
          -0.04502817243337631,
          -0.0678139477968216,
          -0.020589180290699005,
          -0.1924460530281067,
          -0.01820259541273117,
          -0.06158086657524109,
          -0.16244810819625854,
          -0.050826720893383026,
          -0.17578935623168945,
          -0.12192919105291367,
          -0.240290105342865,
          -0.04339108616113663,
          -0.10947427898645401,
          0.022079948335886,
          -0.14076006412506104,
          -0.11439403146505356,
          -0.13634467124938965,
          -0.07811673730611801,
          -0.016866758465766907,
          0.013981346040964127,
          -0.06923813372850418,
          -0.12632983922958374,
          0.031826913356781006,
          -0.10272615402936935,
          -0.040853023529052734,
          -0.1356978416442871,
          -0.10505590587854385,
          0.0018259137868881226,
          -0.14121970534324646,
          -0.025383569300174713,
          -0.13041508197784424,
          -0.1100422814488411
         ],
         "y": [
          -0.13960859179496765,
          0.0058586858212947845,
          -0.017589733004570007,
          -0.014526404440402985,
          -0.03144770860671997,
          -0.06101367250084877,
          0.06149331480264664,
          0.006394716911017895,
          -0.07073371857404709,
          -0.04813660681247711,
          0.020626777783036232,
          -0.08621620386838913,
          -0.14339777827262878,
          -0.04532651603221893,
          1.3498589396476746e-05,
          -0.049715131521224976,
          -0.10763168334960938,
          -0.1280815303325653,
          -0.18720665574073792,
          0.01252153143286705,
          -0.1687605232000351,
          -0.014327269047498703,
          -0.08978129923343658,
          0.009725984185934067,
          -0.10868032276630402,
          -0.12884235382080078,
          -0.14648497104644775,
          0.011512810364365578,
          -0.02525453455746174,
          -0.049209922552108765,
          -0.07838631421327591,
          -0.09867148101329803,
          0.02281605266034603,
          -0.06897687911987305,
          -0.020228154957294464,
          0.018641266971826553,
          -0.020883291959762573,
          -0.05150863900780678,
          -0.017251670360565186,
          0.04800977557897568,
          0.032075051218271255,
          -0.04531276971101761,
          -0.08059327304363251,
          0.03668069839477539,
          -0.11425169557332993,
          -0.06949932873249054,
          0.0024852678179740906,
          -0.184926837682724,
          -0.17181622982025146,
          -0.15059292316436768,
          -0.09229152649641037,
          0.036548204720020294,
          0.001051347702741623,
          0.027803001925349236,
          -0.14941605925559998,
          -0.0657019391655922,
          0.00582079216837883,
          0.01987515762448311,
          -0.003498980775475502,
          -0.08345860987901688,
          -0.10836757719516754,
          -0.06111927703022957,
          -0.14009040594100952,
          -0.10416457802057266,
          -0.17150528728961945,
          -0.07856862992048264,
          -0.005654573440551758,
          0.03291458636522293,
          -0.05675031989812851,
          -0.06126691401004791,
          0.01540868729352951,
          -0.08242405951023102,
          -0.030985387042164803,
          -0.13884615898132324,
          0.021398380398750305,
          -0.0396525077521801,
          -0.01971258595585823,
          -0.08441122621297836,
          -0.17093642055988312,
          -0.01777195930480957,
          0.010212607681751251,
          -0.15520086884498596,
          -0.11487597227096558,
          -0.0555892139673233,
          -0.11700475215911865,
          0.023357773199677467,
          0.007662151008844376,
          -0.13943079113960266,
          -0.03234422579407692,
          -0.18002085387706757,
          -0.02930467389523983,
          -0.057179175317287445
         ]
        },
        {
         "marker": {
          "color": 9,
          "size": 5
         },
         "mode": "markers",
         "name": "4",
         "text": [
          "Universal Pictures - Sing - UHD/BD/UV",
          "Laser  - NAVC-503FHDI - FHD In Car Cigital Video Recorder",
          "Sony Pictures - Spider-Man: Homecoming - DVD/UV",
          "Bush - AURORA BLK - Digital Alarm Clock Radio with Bluetooth - DAB+/FM",
          "Sony Pictures - Life - UHD/BD/UV",
          "Laser  - SPK-FQC19-GY - 4-in-1 Digital Alarm Clock Radio",
          "Moki - ACC-FSR01 - DVD/CD/Game Disc Scratch Repair Kit",
          "Laser - DVD-PORT7-DUAL - DVD Player Dual In Car 7\" with Bonus Pack",
          "Sangean - DPR45 - AM/DAB+/FM-RDS Digital Radio",
          "CHiQ - L24K3 - 24\" HD TV/DVD Combo  ",
          "Sangean - U4 DBTB - Ultra Rugged Digital Tuning Receiver",
          "Universal Pictures - Despicable Me 3 - DVD",
          "Sony Pictures - Baby Driver - UHD/BD/UV",
          "LG - BP250 - Blu-ray Player",
          "Universal Pictures - Extreme Nature Collection - UHD/BD",
          "View Quest - MONTY WALNUT - DAB / DAB+ Digital & FM/AM Radio",
          "Universal Pictures - Atomic Blonde - DVD",
          "Pure - Elan E3 - Portable DAB/DAB+ & FM Radio - Black",
          "Uniden - DECT 1735 - DECT Digital Phone System",
          "Uniden - BW 3001 - 2.3\" Digital Wireless Baby Video Monitor",
          "Lightning Digital AV Adapter",
          "Uniden - DECT 1735 + 1 - DECT Digital Phone System",
          "Laser  - DVD-PT-10C - 10\" Portable DVD Player",
          "CHiQ - L24H3 - H3 24\" HD TV/DVD Combo",
          "UrbanWorx Digital Scale - UXLIBRA3  ",
          "Uniden - DECT 1735 + 2 - DECT Digital Phone System",
          "STUDIOCANAL - Paddington - DVD",
          "Trend Micro - Maximum Security - 5 Devices / 1 Year - Digital Delivery  ",
          "Universal Pictures - Minions -  DVD/UV",
          "Sangean - PR-D6 - Portable Radio",
          "Sangean - DPR-16CW - DAB+ / FM-RDS Portable Digital Radio",
          "Sangean - DAB+ / FM-RDS Pocket Radio - DPR-35-B",
          "View Quest - MONTY OAK - DAB / DAB+ Digital & FM/AM Radio",
          "Changhong - LED32D3700DV - 32\"/80cm LED TV/DVD COMBO",
          "Laser  - DVD-HD011 - DVD Player",
          "Universal Pictures - Despicable Me 3 - UHD/BD/UV",
          "Trend Micro - Maximum Security -  3 Devices / 2 Years - Digital Delivery ",
          "Trend Micro - Maximum Security - 1 Device / 2 Years - Digital Delivery ",
          "Trend Micro - Maximum Security - 1 Device / 1 Year - Digital Delivery ",
          "Universal Pictures - King Kong (2005) - UHD/BD/UV",
          "Sangean - DPR-67 Red - DAB+ / FM-RDS Digital Radio Receiver ",
          "Pure - Move R3 - Personal Stereo DAB+/FM Radio - Black",
          "Uniden - BW 3101 - 4.3\" Digital Wireless Baby Video Monitor",
          "STUDIOCANAL - John Wick: Chapter 2 - DVD",
          "Uniden - BW 3102 - 4.3\" Digital Wireless Baby Video Monitor",
          "Uniden - XDECT Cordless Phone System - XDECT 8355 + 2",
          "Universal Pictures - Fast & Furious 8 - DVD/UV",
          "Pure - Move T4 - Pocket-sized personal DAB+/FM radio with Bluetooth",
          "Trend Micro - Maximum Security - 5 Devices / 2 Years - Digital Delivery  ",
          "Sony Pictures - Baby Driver - DVD",
          "Laser  - DVD-HD009 - DVD Player",
          "Sangean - PR-D18 Blue - Portable FM/AM Digital Tuning Receiver",
          "View Quest - CHRISTIE NOIR - DAB / DAB+ Digital & FM Radio",
          "Laser  - MP4-P20-BLK - Digital Music and Video Player 32GB",
          "Laser  - SPK-FQC19-RD - 4-in-1 Digital Alarm Clock Radio",
          "Sangean - DPR-76 - DAB+/FM-RDS Digital Receiver",
          "TrendMicro - IT Helpdesk All Devices 1 Year - Digital Delivery",
          "Laser  - DVD-PT-7B - 7\" Portable DVD Player",
          "Laser  - DVD-HD008 - DVD Player",
          "CHiQ - L32K3 - 32\" HD TV/DVD Combo",
          "Sangean - DPR-16WH - DAB+/FM-RDS Portable Digital Radio",
          "Pure - Siesta S2 Graphite - Digital and FM Alarm Clock Radio",
          "Sangean - Portable Digital Radio - DPR34W",
          "Alogic - UCD3D34K-H - Universal Hybrid Docking Station ",
          "LG - BP556 - 3D Blu-ray Disc Player with Wi-Fi",
          "Universal Pictures - Atomic Blonde - UHD/BD/UV",
          "LG - GP60NB50 - External Slim USB DVD Writer",
          "Laser  - DVD-PT-7C - 7\" Portable DVD Player",
          "Trend Micro - Maximum Security - 3 Devices / 1 Year - Digital Download",
          "Uniden - XDECT8305WP - XDECT® Digital Cordless Additional Handset",
          "Sony Pictures - BDUHDG3066 - The Dark Tower - UHD/BD/UV",
          "Universal Pictures - Fast & Furious 8 - UHD/BD/UV",
          "Universal Pictures - Sing - DVD/UV",
          "Sony Pictures - The Dark Tower - DVD",
          "Laser  - DVD-HD010 - DVD Player",
          "Uniden - DECT 1730 + 1 - DECT Digital Phone System",
          "View Quest - CHRISTIE PURPLE - DAB / DAB+ Digital & FM Radio",
          "View Quest - CHRISTIE BROWN - DAB / DAB+ Digital & FM Radio",
          "CHiQ - L32G3 - 32\" HD TV/DVD Combo",
          "Uniden - DECT 1735 + 3 - DECT Digital Phone System",
          "STUDIOCANAL - John Wick: Chapter 2 - UHD/BD/UV",
          "Sony - DVPSR370 - DVD Player ",
          "Sangean - DCR-89+ - Digital Clock Radio",
          "Laser - Multi-Region Blu-Ray Player  - BLU-BD3000",
          "Sony Pictures - Spider-Man: Homecoming  UHD/BD/UV",
          "Laser  - MID-P-LCD120BLK - Precision 12\" LCD Writing Tablet",
          "Laser  - MID-P-LCD85BLK - Precision 8.5\" LCD Writing Tablet",
          "Sony - BDPS3500 - Blu-ray Disc™ Player"
         ],
         "type": "scatter",
         "x": [
          0.22857345640659332,
          0.09986498951911926,
          0.2165088653564453,
          0.20872779190540314,
          0.3009069263935089,
          0.13967442512512207,
          0.06602829694747925,
          0.20206867158412933,
          0.18666385114192963,
          0.11575385928153992,
          0.13364727795124054,
          0.13656622171401978,
          0.34007981419563293,
          0.19011428952217102,
          0.19263651967048645,
          0.18405389785766602,
          0.13406342267990112,
          0.26119813323020935,
          0.16126281023025513,
          0.1618497222661972,
          0.19416463375091553,
          0.1873941570520401,
          0.21185725927352905,
          0.08648132532835007,
          0.05578145384788513,
          0.19369842112064362,
          0.12916606664657593,
          0.20709848403930664,
          0.15284273028373718,
          0.20554335415363312,
          0.24864643812179565,
          0.21223662793636322,
          0.21110346913337708,
          0.10700930655002594,
          0.1596280336380005,
          0.21017181873321533,
          0.22127433121204376,
          0.21358507871627808,
          0.2023773193359375,
          0.20409266650676727,
          0.18761220574378967,
          0.24645063281059265,
          0.15945139527320862,
          0.18401482701301575,
          0.14809682965278625,
          0.20715801417827606,
          0.18050479888916016,
          0.2435833215713501,
          0.21806515753269196,
          0.26595234870910645,
          0.1679377257823944,
          0.19504693150520325,
          0.1948225498199463,
          0.23370391130447388,
          0.14085784554481506,
          0.16088904440402985,
          0.226471409201622,
          0.2303185611963272,
          0.14709612727165222,
          0.1320646107196808,
          0.21566396951675415,
          0.20708127319812775,
          0.1916317194700241,
          0.1555635631084442,
          0.21514591574668884,
          0.2117624431848526,
          0.13818812370300293,
          0.23446203768253326,
          0.21301642060279846,
          0.18800988793373108,
          0.22036123275756836,
          0.24272701144218445,
          0.16138845682144165,
          0.2163408249616623,
          0.15525642037391663,
          0.17141693830490112,
          0.1988382190465927,
          0.1746830940246582,
          0.12291420996189117,
          0.18798920512199402,
          0.2426603138446808,
          0.22385273873806,
          0.13650883734226227,
          0.23863589763641357,
          0.27199041843414307,
          0.15350797772407532,
          0.15974126756191254,
          0.3017686903476715
         ],
         "y": [
          0.08842456340789795,
          0.01572762057185173,
          0.023449594154953957,
          -0.2682655453681946,
          0.10094766318798065,
          -0.04331754893064499,
          -0.08513997495174408,
          -0.03136371076107025,
          -0.14002324640750885,
          0.1722850352525711,
          -0.07831278443336487,
          -0.07525251805782318,
          0.09648848325014114,
          0.022520262748003006,
          0.08268320560455322,
          -0.18598251044750214,
          -0.09354186803102493,
          -0.2215432971715927,
          -0.006695577874779701,
          -0.07686787843704224,
          -0.0903264582157135,
          -1.813843846321106e-05,
          -0.046908386051654816,
          0.16178128123283386,
          -0.1517224907875061,
          0.00015684962272644043,
          -0.10697980225086212,
          -0.05374441295862198,
          -0.03885235637426376,
          -0.11897172778844833,
          -0.13288572430610657,
          -0.20276808738708496,
          -0.20864051580429077,
          0.18046146631240845,
          -0.02505827695131302,
          0.07823171466588974,
          -0.08613148331642151,
          -0.08465169370174408,
          -0.07344238460063934,
          0.1183863952755928,
          -0.11705268919467926,
          -0.23403434455394745,
          -0.02697359025478363,
          -0.05983016639947891,
          -0.017496924847364426,
          -0.02613864839076996,
          0.03366710990667343,
          -0.21270431578159332,
          -0.059874605387449265,
          -0.029845260083675385,
          -0.05367070063948631,
          -0.13141947984695435,
          -0.21415042877197266,
          -0.06564002484083176,
          -0.06682751327753067,
          -0.10862816125154495,
          -0.05007586628198624,
          -0.04046211764216423,
          -0.034061260521411896,
          0.17572708427906036,
          -0.13689734041690826,
          -0.057894762605428696,
          -0.13482427597045898,
          -0.04644325003027916,
          0.08895649015903473,
          0.04803577437996864,
          0.13809186220169067,
          -0.008229441940784454,
          -0.06879296898841858,
          -0.015555204823613167,
          0.16651707887649536,
          0.16566549241542816,
          -0.040019482374191284,
          -0.010375861078500748,
          -0.041665706783533096,
          -0.009663976728916168,
          -0.21877194941043854,
          -0.22525346279144287,
          0.20342890918254852,
          0.00013664737343788147,
          0.08367942273616791,
          0.03820164501667023,
          -0.09267398715019226,
          -0.12372929602861404,
          0.1520136296749115,
          0.0048885829746723175,
          0.06475918740034103,
          -0.03011593222618103
         ]
        },
        {
         "marker": {
          "color": 10,
          "size": 5
         },
         "mode": "markers",
         "name": "5",
         "text": [
          "WiZ LED Colour LED Extension Strip 1m",
          "Moki - ACC-MTAUS - USA Travel Adaptor",
          "Moki - ACC-MTAUK - UK Travel Adaptor",
          "Theragun PRO Percussive Therapy Device",
          "DuPont Carbon Layer Replacement for TruSens Z1000 Air Purifier, 3 Pack - AFCZ100001AU ",
          "Tauris - Titan 1500 Entertainment Unit  ",
          "Blueant - CMT-2 - COMMUTE2 Voice Activated Handsfree",
          "DJI - Spark Fly More Combo - Lava Red",
          "DJI - Osmo Mobile - Mobile Handheld Stabiliser - Bluetooth   ",
          "DuPont Replacement Filter 2-In-1 HEPA Drum for TruSens Z1000 Air Purifier  ",
          "TruSens 3-In-1 HEPA Drum Replacement Filter",
          "Euromaid - DKW - Ducting Kit Wall",
          "Moki - BPDAA - Double Adaptor - Angled",
          "Ergovida - EMA10-C24 - Double Arm Gas Spring Monitor Desk Mount ",
          "Theragun Elite Percussive Therapy Device - White  ",
          "Energea - Travel Word 3.4 - Wall Charger Kit with Organizer ",
          "DJI - 4088300 - Mavic Air Intelligent Flight Battery ",
          "TruSens Replacement Filter HEPA 3-in-1 HEPA Drum for Z3000 Air Purifier",
          "Tauris - Ace 1200 Entertainment Unit",
          "Legrand Arteor™ with Netatmo Wireless Switch ",
          "Tauris - Titan 2100 Entertainment Unit - Black ",
          "Upright Go 2 - Posture Trainer -  Everyday Posture Coaching ",
          "Nanoleaf - Light Panels Expansion Kit (3 Pieces) ",
          "WiZ LED Strip 2m Starter Kit - 1600lm",
          "Jura - CLARIS Smart Filter Cartridge",
          "Merge Holographic Cube",
          "Uniden - XDECT Waterproof Cordless Additional* Handset",
          "Parrot - PF721920 - AR.Drone 2.0 Elite Edition - Sand",
          "3Doodler Create+ (Black)",
          "DJI - Mavic Pro - Remote Controller Monitor Hood - 3520809",
          "Tauris - Titan 2100 Entertainment Unit - White",
          "Jura E6 Atutomatic Coffee Machine",
          "DJI - 4301407 - Mavic 2 Pro - 1\" CMOS Drone",
          "iRobot Braava Jet 240 Robot Mop",
          "DJI - 4301409 - Mavic 2 Fly More Kit",
          "DJI - Care Refresh (Spark) - 1 Year Service Plan",
          "Thor - E1/45S - SMART PROTECT 4",
          "Nanoleaf - Expansion Pack - 4 Light Squares ",
          "Dyson Swivel Hard Floor Tool",
          "DJI - 4088375 - Mavic Air - Onyx Black    ",
          "Parrot - MAMBO Minidrone",
          "Sebo X7 BOOST Automatic Multi Floor Upright Vacuum",
          "Sensibo WiFi Air Conditioner Controller ",
          "Euromaid - DKE - Ducting Kit Eave",
          "Thor - B8G - Smart Filter 8",
          "Smeg Universal Griddle",
          "UBTECH - Jimu Robot - AstroBot Kit ",
          "Legrand Arteor™ with Netatmo Lighting Extension Kit ",
          "DJI - Phantom 4 Advanced",
          "TruSens Air Purifier - Z-1000 - Personal/Small Room  ",
          "DJI - 4088378 - Mavic Air Fly More Combo - Arctic White",
          "Ring Chime Pro - Wireless Security System Extender",
          "Osmo Genius Starter Kit  ",
          "Tauris - TITAN 1200 AVR - Titan 1200 Entertainment Unit",
          "iRobot Roomba e5 Wi-Fi Connected Robot Vacuum ",
          "3Doodler Start Essential Pen Set",
          "Tauris - NOVA2000GREY - NOVA 2000 Entertainment Unit",
          "Tauris - NOVA1800GREY - NOVA 1800 Entertainment Unit",
          "Everdure - ESIZPLATE - Sizzling Plate",
          "DJI - Osmo Mobile 3 Combo ( Case & Tripod )",
          "DJI - Osmo Pocket - 3-axis Stabilized Handheld Camera ",
          "DJI - 4301408 - Mavic 2 Zoom ",
          "GameSir - Bluetooth Controller for Tello Drone",
          "Monster - 4 Outlet Powerboard - 123064",
          "Moki - ACC-MTAEU - Europe Travel Adaptor",
          "Ring Chime Pro - Wi-Fi Extender and Indoor Chime",
          "Tauris - NOVA2000OAK - NOVA 2000 Entertainment Unit",
          "iRobot - 3 Pack Vacuum Bags for Roomba i7+",
          "Tauris - NOVA 1800 Entertainment Unit  ",
          "Tauris - OSPREY 1200 Entertainment Unit ",
          "Upright Go 2 - Adhesives - 10Pk",
          "iRobot Braava Jet m6 - Mopping Robot  - Wi-Fi Connected",
          "Smartivity Pump It Move It Hydraulic Crane",
          "DJI - Care Refresh (Phantom 4 Pro) - 1 Year Service Plan",
          "DJI - Spark Fly More Combo - White ",
          "Legrand Arteor™ with Netatmo Lighting Starter Kit ",
          "Theragun Elite Percussive Therapy Device - Black ",
          "Theragun Mini Percussive Therapy Device  ",
          "iRobot - Roomba 670 Robot Vacuum",
          "Urbanista -  Rome Bluetooth Neckband - Rose Gold",
          "Legrand Arteor™ with Netatmo Micro Module ",
          "Snap Circuits BRIC Structures -  For ages 8 and Up",
          "DJI Osmo Mobile 3 - Foldable Mobile Gimbal",
          "DJI - Osmo Action Waterproof Case",
          "DeLonghi - DD30PUMP - Dehumidifier",
          "iRobot - Roomba i7 Robot Vacuum ",
          "Smartivity Mechanical Hand",
          "Jura - Descaling Tablets - Descaling Tablets",
          "Aarke Sparkling Water Maker - Matte Black ",
          "AppliancePro - AIRREMOTE-II - Universal Air Conditioner Remote",
          "DJI - 4301410 - Mavic 2 Intelligent Flight Battery",
          "DJI - HB01-522365 - Osmo Intelligent Battery",
          "DJI - 3588920 - Mavic Propeller Guard",
          "DJI - Osmo Action Battery",
          "InSinkErator - EVOLUTION 100 - Food Waste Disposer",
          "DJI - Care Refresh (Phantom 4 Advanced) - 1 Year Service Plan ",
          "DJI - Mavic Pro Drone - 4K - 12MP ",
          "Thor - DUOT2 - Smart Filter Duo",
          "Snap Circuits Arcade - For ages 8 and Up",
          "Laurastar - Lift Steam Generator - White",
          "Dyson Mattress Tool",
          "TruSens Activated Carbon Filter - 3Pk",
          "DJI - 4334536 - Tello Boost Combo",
          "DJI Mavic Mini Drone   ",
          "Tauris - Titan 1800 Entertainment Unit - White ",
          "Snap Circuits Snapino - For ages 12 and Up",
          "Weight Watchers - WW910A - Body Balance Bluetooth Diagnostic Scale",
          "TruSens Replacement UV Bulb for TruSens Z1000 Air Purifier  ",
          "DJI - 4087408 - Tello Flight Battery",
          "DJI - 4087411 - Tello Snap-on Top Cover (Yellow)",
          "DJI  - Osmo Pocket",
          "DJI - Phantom 4 Pro+ Drone - Obsidian Black",
          "DJI - Spark Propeller Guard - 3661645  ",
          "Konka - U7 Space Grey",
          "DJI Mavic 2 Pro + DJI Smart Controller ",
          "Upright Go 2 Necklace ",
          "iRobot - Roomba i7+ Robot Vacuum - Automatic Dirt Disposal   ",
          "DJI - 4088387 - Tello Drone ",
          "DJI - Osmo Mobile 2 - Smartphone Stabilizer   ",
          "TruSens Z-3000 Air Purifier with SensorPod - Large Room  ",
          "Jura E8 Automatic Coffee Machine",
          "Ergovida - EMA14-C12 - Monitor Single Arm Mechanical Spring",
          "Conair - CBEMLRGA - Illuminations LED Lighted Mirror",
          "TruSens Carbon Layer Replacement for Z2000 Air Purifier - 3 Pack",
          "Laurastar - Lift Plus Steam Generator - Ultimate Black ",
          "Monster Platinum Surge Board - 8 Outlet",
          "Uniden - SS E34 - Sight & Sound Enhanced Corded Phone System",
          "Everdure - UNISTANDC - Universal Trolly Stand",
          "DJI Mavic Mini Fly More Combo  ",
          "AppliancePro - DBLSTOPHOSE - Dual Anti-Flood Appliance Hose",
          "Aarke PET Bottle",
          "Jura - Milk System Cleaner - Milk System Cleaner",
          "DJI - Care Refresh (Mavic Pro) - 1 Year Service Plan",
          "Nonda - ZUS® Smart Tire Safety Monitor",
          "Osmo Little Genius Starter Kit",
          "Jura - 2-Phase cleaning Tablets - 2-Phase Cleaning Tablets",
          "Osmo Genius Kit - Digital Learning in the Real World",
          "TruSens Z-2000 Air Purifier - Medium Room",
          "Ergovida - EMA14-C24 - Monitor Double Arms Mechanical Spring ",
          "Weight Watchers - Body Fit Smart Scale - WW800A",
          "Eufy RoboVac L70 Hybrid ",
          "3Doodler 3D Build & Play",
          "Jura - S8 - Automatic Coffee Machine",
          "Navman - MiTYRE Tyre Pressure Monitoring System",
          "DJI - 4087412 - Tello Snap-on Top Cover (Blue)",
          "Konka - U6 Phone - Mocca",
          "Moki - ACC-MTAJA - Japan Travel Adaptor",
          "Tauris - Titan 1800 Entertainment Unit",
          "Anki OVERDRIVE Fast & Furious Edition - Intelligent Racing Robot System",
          "Osmo Creative Starter Kit with Mirror + Base",
          "DJI - 3786038 - Mavic Low-Noise Quick-Release Propellers",
          "Tauris - VOODOO 1200 AVR - Voodoo 1200 Entertainment Unit",
          "Ergovida - EMA10-C12 - Gas Spring Monitor Arm Monitor Desk Mount ",
          "Dyson Flexi Crevice Tool",
          "Jura - Filter cartridge CLARIS Blue - Filter Cartridge CLARIS Blue",
          "DJI - Osmo Base",
          "DeLonghi - DES16EW - Dehumidifier",
          "InSinkErator - EVOLUTION 200 - Food Waste Disposer",
          "Everdure - E2GOSTANDC-10 - E2Go Stand",
          "Thor - E1/45U - SMART PROTECT 6",
          "Smartivity Mechanical Xylofun Music Fun",
          "Sirius - EASYWALL-150 - Ducting Wall Kit",
          "Theragun Prime™ Percussive Therapy Device ",
          "Everdure - ASADOR - ECHUSADOR - Asador Rotisserie Set",
          "Snap Circuits Snaptricity - For ages 8 and Up",
          "Snap Circuits Jr. Select - For ages 8 and Up",
          "EzyMount - EDS-V1 - Dyson Floor Stand   "
         ],
         "type": "scatter",
         "x": [
          0.09393729269504547,
          0.14357873797416687,
          0.13263177871704102,
          0.06081604212522507,
          0.0266704261302948,
          0.1253158003091812,
          0.2071833610534668,
          -0.025919049978256226,
          0.2597481608390808,
          0.10876871645450592,
          0.10107211023569107,
          -0.040452003479003906,
          0.0841330885887146,
          -0.023000217974185944,
          0.04548928141593933,
          0.12757159769535065,
          0.18616218864917755,
          0.1232476532459259,
          0.11166699230670929,
          0.15458258986473083,
          0.15323317050933838,
          0.09190922230482101,
          -0.0017305463552474976,
          0.037164486944675446,
          0.16314318776130676,
          -0.005275435745716095,
          0.14155857264995575,
          0.11686750501394272,
          0.1564423143863678,
          0.24210225045681,
          0.11621871590614319,
          -0.011368706822395325,
          0.23442885279655457,
          0.08206638693809509,
          0.12228178977966309,
          0.067577064037323,
          0.091981902718544,
          0.00869462639093399,
          -0.005295172333717346,
          0.1369260549545288,
          0.12455100566148758,
          -0.025543347001075745,
          0.09225938469171524,
          -0.04995787888765335,
          0.13827158510684967,
          -0.07197437435388565,
          0.11079959571361542,
          0.050830379128456116,
          0.14408205449581146,
          0.04356323927640915,
          0.06823214888572693,
          0.1804364174604416,
          0.09915318340063095,
          0.16369828581809998,
          0.12788431346416473,
          0.11548477411270142,
          0.06589469313621521,
          -0.0010494105517864227,
          -0.09187577664852142,
          0.20080094039440155,
          0.16644525527954102,
          0.15186358988285065,
          0.28884726762771606,
          0.01911354437470436,
          0.1502019613981247,
          0.1379067450761795,
          0.06757719814777374,
          0.10228349268436432,
          0.00986459106206894,
          0.12458954751491547,
          0.06112394109368324,
          0.1422906517982483,
          0.06785900145769119,
          0.12332278490066528,
          0.043310146778821945,
          0.023253388702869415,
          0.07755407691001892,
          0.04890212416648865,
          -0.030254371464252472,
          0.24171091616153717,
          0.11745131015777588,
          0.0205865278840065,
          0.09976369142532349,
          0.08433536440134048,
          -0.10318853706121445,
          0.12735848128795624,
          0.10943952202796936,
          0.14142267405986786,
          -0.047182343900203705,
          0.0785074308514595,
          0.21824294328689575,
          0.14434215426445007,
          0.07989552617073059,
          0.15269987285137177,
          -0.12373179197311401,
          0.10401664674282074,
          0.29575449228286743,
          0.20599961280822754,
          0.1051120012998581,
          -0.06845954805612564,
          0.016231536865234375,
          0.10153040289878845,
          0.09025154262781143,
          0.23391307890415192,
          0.07438632845878601,
          0.10021119564771652,
          0.1037435531616211,
          0.08974578231573105,
          0.11064203828573227,
          0.05071800947189331,
          0.13685090839862823,
          0.24125100672245026,
          -0.11282631009817123,
          0.12620647251605988,
          0.30201268196105957,
          0.1708517074584961,
          0.12494383752346039,
          0.11409381031990051,
          0.24105659127235413,
          0.06894949078559875,
          0.027674607932567596,
          0.06044086813926697,
          0.003955703228712082,
          0.040210261940956116,
          0.0030645132064819336,
          0.058921195566654205,
          0.181081622838974,
          0.01664329320192337,
          0.16514070332050323,
          -0.007745020091533661,
          0.08035200834274292,
          0.05847032740712166,
          0.11457491666078568,
          0.1297904998064041,
          0.0848187804222107,
          0.07623214274644852,
          0.20401933789253235,
          0.004355922341346741,
          0.030607864260673523,
          0.011175408959388733,
          -0.010215379297733307,
          0.10593710839748383,
          0.08654557168483734,
          0.08247090876102448,
          0.06921323388814926,
          0.11536736786365509,
          0.15272335708141327,
          0.07670924067497253,
          0.22091719508171082,
          0.109526127576828,
          0.12153911590576172,
          0.1401774287223816,
          0.021758094429969788,
          0.008847706019878387,
          0.14114563167095184,
          0.11149942129850388,
          -0.09126551449298859,
          -0.10418342053890228,
          0.07167825847864151,
          0.08056896924972534,
          0.17711690068244934,
          0.06607528030872345,
          0.05324694514274597,
          -0.07813407480716705,
          0.05759333446621895,
          0.08533435314893723,
          -0.016307443380355835
         ],
         "y": [
          0.009993202984333038,
          -0.1805477738380432,
          -0.15810954570770264,
          -0.12937110662460327,
          -0.09491215646266937,
          -0.12999434769153595,
          -0.2363286316394806,
          -0.27175837755203247,
          -0.20326855778694153,
          -0.16705362498760223,
          -0.18460753560066223,
          -0.07470334321260452,
          -0.2750700116157532,
          -0.019379407167434692,
          -0.18189644813537598,
          -0.04420606046915054,
          -0.11336131393909454,
          -0.12174494564533234,
          -0.14038166403770447,
          -0.12791401147842407,
          -0.1559765338897705,
          -0.1714564710855484,
          -0.14396092295646667,
          0.027080636471509933,
          -0.14513716101646423,
          -0.04310700669884682,
          -0.09550545364618301,
          -0.042051397264003754,
          -0.05419722944498062,
          -0.18567392230033875,
          -0.15705348551273346,
          -0.07547880709171295,
          -0.11367186158895493,
          -0.06663999706506729,
          -0.19584038853645325,
          -0.13805276155471802,
          0.04930160939693451,
          -0.15006862580776215,
          -0.030182039365172386,
          -0.17634186148643494,
          -0.20078057050704956,
          -0.03840591013431549,
          -0.08462110161781311,
          -0.13139358162879944,
          0.011268138885498047,
          0.014573022723197937,
          -0.17592671513557434,
          -0.08602438867092133,
          -0.1610105335712433,
          -0.13667415082454681,
          -0.2036585509777069,
          -0.19127361476421356,
          -0.019814621657133102,
          -0.0991128459572792,
          -0.03129059821367264,
          -0.005068615078926086,
          -0.14232878386974335,
          -0.08211272954940796,
          -0.1303640902042389,
          -0.19343863427639008,
          -0.15885481238365173,
          -0.14732250571250916,
          -0.18679071962833405,
          -0.02298138663172722,
          -0.10715989768505096,
          -0.12634913623332977,
          -0.1549028605222702,
          -0.03632625192403793,
          -0.11348661780357361,
          -0.18602892756462097,
          -0.11401544511318207,
          -0.12095300853252411,
          -0.01147777121514082,
          -0.15406407415866852,
          -0.2603157162666321,
          -0.06256091594696045,
          -0.19494280219078064,
          -0.1293739229440689,
          -0.10376838594675064,
          -0.23526179790496826,
          -0.07580475509166718,
          -0.20890797674655914,
          -0.15325981378555298,
          -0.17136690020561218,
          -0.16617101430892944,
          0.0034751370549201965,
          0.033520087599754333,
          -0.14017200469970703,
          -0.17955558001995087,
          -0.1400628536939621,
          -0.12476670742034912,
          -0.0890839621424675,
          -0.22406260669231415,
          -0.16695158183574677,
          -0.1001703143119812,
          -0.13229024410247803,
          -0.040732547640800476,
          -0.07795590162277222,
          -0.14384132623672485,
          -0.11290716379880905,
          -0.049708422273397446,
          -0.15690559148788452,
          -0.1320316195487976,
          -0.16822288930416107,
          -0.1306140273809433,
          -0.1626758873462677,
          -0.09317432343959808,
          -0.1094537079334259,
          -0.12615951895713806,
          -0.1270296275615692,
          -0.2559325098991394,
          -0.1467452496290207,
          -0.15645365417003632,
          -0.028750747442245483,
          -0.09608399122953415,
          -0.02466845139861107,
          0.04867997393012047,
          -0.12895938754081726,
          -0.06700003892183304,
          -0.09110502898693085,
          -0.02658713608980179,
          -0.053669530898332596,
          -0.1515294313430786,
          -0.11037465929985046,
          -0.10410881042480469,
          -0.0698481872677803,
          -0.032517701387405396,
          -0.15264374017715454,
          -0.22353214025497437,
          -0.26274019479751587,
          -0.0708925798535347,
          -0.1514386683702469,
          -0.1869942992925644,
          -0.01156684011220932,
          -0.05790106579661369,
          -0.1386370211839676,
          -0.021929504349827766,
          -0.12612269818782806,
          -0.06295515596866608,
          0.013282544910907745,
          -0.051904357969760895,
          -0.003852641209959984,
          0.052084945142269135,
          -0.14505676925182343,
          -0.22266730666160583,
          -0.06982450932264328,
          -0.1994064599275589,
          -0.1107805073261261,
          0.0331893265247345,
          -0.05533597618341446,
          -0.24744023382663727,
          -0.16280019283294678,
          -0.006404951214790344,
          -0.05990719795227051,
          -0.2506484389305115,
          -0.20894816517829895,
          -0.13090136647224426,
          -0.12184485793113708,
          -0.07004174590110779,
          0.04546147212386131,
          -0.08108319342136383,
          -0.1465066373348236,
          -0.138991579413414,
          -0.13102705776691437,
          -0.10559001564979553,
          -0.13776527345180511,
          -0.055663030594587326
         ]
        },
        {
         "marker": {
          "color": 11,
          "size": 5
         },
         "mode": "markers",
         "name": "6",
         "text": [
          "Simpson - 8kg Top Load Washer - SWT8043",
          "Fisher & Paykel - DH9060C1 - 9kg Heat Pump Condensing Dryer",
          "Electrolux - EWF14013 - 10kg Front Load Washer",
          "Haier - HWT90MW2 - 9kg Top Load Washer",
          "Fisher & Paykel - DE6060G1 - 6kg Vented Dryer",
          "Electrolux - EDH903BEWA - 9kg Heat Pump Condenser Dryer",
          "Bosch - Series 6 - WAP28482AU - 9kg  Front Load Washer",
          "Beko - BFL7510W - 7.5kg Front Loading Washing Machine ",
          "Inalto - ITLW80W - 8kg Top Load Washer",
          "Samsung - WW75K54E0UW - 7.5Kg AddWash™ Washer with Steam ",
          "Asko - T410HD.W.AU - 10kg Heat Pump Logic Dryer",
          "Simpson - SWT6055TMWA - 6.0kg EZI Set Top Load Washer",
          "Samsung - DV90N8289AW - 9kg Heat Pump Dryer",
          "Samsung - DV80M5010QW - 8Kg Heat Pump Dryer",
          "Beko - DCY 8502 XB1 - 8kg Condenser Dryer",
          "Asko - W4086C.W.AU - 8kg Front Load Washer - Logic  ",
          "Fisher & Paykel - DE5060M1 - 5kg Vented Dryer",
          "Fisher & Paykel - DE4060M1 - 4kg Front Load Vented Dryer",
          "Fisher & Paykel - DE4560M2 - 4.5kg Vented Dryer",
          "Haier - HWF75AW2 - 7.5kg Front Load Washer ",
          "Simpson - SWF8025DQWA - Ezi Set 8kg Front Load Washer",
          "Asko - DC7774V.W - 3.5kg Drying Cabinet ",
          "Electrolux - EDH3586GDW - 8kg Front Load Dryer",
          "Simpson - SDV556HQWA - 5.5kg Vented Clothes Dryer",
          "Beko - BFL853ADW - 8.5kg Front Load Washer",
          "Euromaid - WMFL55 - 5.5kg Front Load Washer ",
          "Samsung - WV16M9945KV - 16Kg + 2.5Kg FlexWash™ Washer",
          "Hisense - HWFL1014V - 10kg Front Load Washer",
          "Beko - BDP83HW - 8kg Sensor Hybrid Heat Pump Dryer",
          "Simpson - 10kg Top Load Washer - SWT1043",
          "Miele - TMR 840 WP - 9kg Front Load Dryer",
          "Simpson - 6kg Top Load Washer - SWT6041",
          "Beko - BWD7541IG - 7.5kg Wash / 4kg Dry Washer Dryer Combo",
          "Samsung - 11kg Activ DualWash™ Top Load Washer - WA11M8700GV ",
          "LG - WXL-1014W - 14kg Front Load Washer",
          "Miele WWI 860 - 9kg PWash & TDos Front Load Washer ",
          "Miele - WW V980 WPS Passion - 9kg Front Load Washing Machine",
          "Inalto - ITLW55W - 5.5kg Top Load Washer",
          "Simpson - SWT7055LMWA - 7.0kg EZI Set Top Load Washer",
          "Beko - BDV60W - 6kg Sensor Vented Dryer ",
          "Haier - 6kg Front Load Vented Dryer - HDV60A1    ",
          "Inalto - IVDE45W - 4.5kg Vented Dryer",
          "LG - WD1207ND - 7kg Front Load Washing Machine",
          "Beko - BFL8510W - 8.5kg Front Loading Washing Machine",
          "LG - DVH5-08W Series 5 - 8kg Heat Pump Dryer",
          "Asko - W2084C.W.AU - 8kg Front Load Washer - Classic    ",
          "Hitachi - SF-P160ZCV - 16kg Top Loading Washer",
          "Hitachi - SF-P200XWV - 20kg Top Load Washer",
          "Electrolux 8kg Heat Pump Dryer - WiFi Enabled - EDH803BEWA",
          "LG - WDC1215HSVE - 15kg/8kg Front Load Washer/Dryer Combo",
          "LG - WV5-1409W - 9kg Front Load Washer",
          "LG - WV9-1412W - 12kg Front Load Washer ",
          "Hitachi - SF-P100XAV - 10kg Top Load Washer",
          "Inalto - IVDE70 - 7kg Vented Dryer",
          "LG - WVC9-1410W - 10kg/6kg Washer/Dryer Combo",
          "LG - WV5-1275W - 7.5kg Front Load Washer  ",
          "Simpson - 9kg Top Load Washer - SWT9043",
          "LG - WTG1034WF - 10kg Top Load Washer",
          "Fisher & Paykel - 8kg Condensing Dryer - DH8060P1 ",
          "Miele - WTZH 730 WPM - WT1 Washer/Dryer - 8kg/4kg - WiFi",
          "Samsung - WW85K54E0UW - 8.5Kg AddWash™ Washer with Steam",
          "LG - WTG6520 - 6.5kg Top Load Washer  ",
          "Electrolux - EWF12853 - 8.5kg Front Load Washer  ",
          "Bosch - Series 6 - WAU28490AU - 10kg Front Load Washing Machine",
          "Miele WWG 660 - 9kg TDos Front Load Washer ",
          "Miele WWD 120 - 8kg W1 Front Load Washer",
          "Electrolux - 5.5kg Front Load Dryer - EDV5552     ",
          "Fisher & Paykel - WH1260P1 - 12kg WashSmart™ Front Load Washer  ",
          "Samsung - WW85M74FNOR - 8.5kg Front Load Washer  ",
          "LG - WTG8521 - 8.5kg Top Load Washer ",
          "Asko - T208H.W.AU - 8kg Heat Pump Classic Dryer   ",
          "Electrolux - EDV705HQWA - 7kg Vented Tumble Dryer",
          "Fisher & Paykel - DH9060P1 - 9kg Heat Pump Condensing Dryer ",
          "LG - WV9-1409B - 9kg Front Load Washing Machine",
          "Samsung - WA85N6750BV - 8.5Kg Activ DualWash Top Loader Washer ",
          "Fisher & Paykel WH8060J3 - 8kg Front Load Washer",
          "Electrolux 10kg UltimateCare™ Front Load Washer - EWF1041ZDWA",
          "Fisher & Paykel - WL1068P1 - 10Kg CleanSmart™ Top Load Washer",
          "Beko - BDP700W - 7kg Front Load Dryer",
          "Haier - HWT80MW1 - 8kg Top Load Washer",
          "Fisher & Paykel - WA1068P1 - 10kg FabricSmart™ Top Load Washer",
          "Haier - HWT60AW1 - 6kg Top Load Washer",
          "LG - WTG1434VHF - 14kg Top Load Washer ",
          "Samsung - WW75J54E0IW - 7.5kg BubbleWash™ Steam Front Load Washer",
          "Beko - WMY9046LB2 - 9kg Front Load Washer ",
          "Electrolux - EWF12753 - 7.5kg Front Load Washer ",
          "Bosch - Series 8 - WAW28460AU - 8kg Front Load Washing Machine  ",
          "Fisher & Paykel - DE7060G2 - 7kg Front Load Vented Dryer",
          "LG - WTS6520 - 6.5kg Top Load Washer",
          "Fisher & Paykel - DE8060P2 - 8kg Condensing Dryer",
          "Samsung - DV80M5010IW - 8kg Heat Pump Front Load Dryer",
          "Haier - HWF85BW1 - 8.5KG Front Load Washer",
          "LG - TWIN171216T - 18.5kg Total TWINWash™ System",
          "Rinnai - Dry-Soft 6 - 6.0kg Dry-Soft - NG Gas Dryer ",
          "Beko - BDV70WG - 7kg Tumble Dryer",
          "Asko - W4086P.W.AU - 8kg Front Load Washer  ",
          "Electrolux - 6.5kg Front Load Dryer - EDV6552",
          "Asko 8kg Front Load Condenser Dryer - T208C.W.AU ",
          "Beko - WMY7046LB2 - 7kg Front Load Washer ",
          "Beko - DV7220 X - 7kg Sensor Control Vented Dryer",
          "Fisher & Paykel - WH1260F1 - 12kg Front Load Washer ",
          "Fisher & Paykel 7kg WashSmart™ Top Load Washer - WA7060G2 ",
          "Fisher & Paykel - WH1060P1 - 10kg Front Loader Washer",
          "LG - WD1208TC4W - 8kg Front Load Washer",
          "LG - WV5-1408W - 8kg Front Load Washing Machine",
          "Inalto - IFLW60 - 6kg Front Load Washer",
          "Hisense - HWFM8012 - 8kg Front Load Washer",
          "Haier - HWT80AW1 - 8kg Top Load Washer",
          "Haier - HWT70AW1 - 7kg Top Load Washer  ",
          "LG - WD1408NCW - 8kg Front Load Washer",
          "Asko - W4104C.W.AU - 10kg Front Load Washer - Logic",
          "Haier - HWF10DW1 - 10kg Front Load Washer",
          "Haier - HWF12D1W1 - 12kg Front Load Washer ",
          "Haier - 4KG+8KG TwinTasker Washer - HWX8040DW1",
          "Beko - BFL1010W - 10kg Front Loading Washer",
          "Samsung - 13Kg Activ DualWash™ Top Load Washer - WA13M8700GW ",
          "Haier - HDHP80E1 - 8kg Heat Pump Dryer",
          "Inalto - ITLW70W - 7.0kg Top Load Washer",
          "Electrolux 8kg Ultimatecare™ Front Load Dryer - EDC804BEWA",
          "Electrolux 8kg UltimateCare™ Front Load Washer - EWF8024CDWA ",
          "Beko - BFL103ADW - 10kg Front Load Washer",
          "Fisher & Paykel - WH8560P2 - WashSmart™ 8.5kg Front Load Washer",
          "Weight Watchers - WW58A - Body Weight Electronic Scale ",
          "Miele WWG 360 - 9kg PWash Front Load Washer",
          "Hitachi - SF-P130TCV - 13kg Top Load Washer",
          "Miele - WCR 890 WPS - 9kg Front Load Washing Machine - SteamCare",
          "Haier - XPB60-287S - 6kg Twin Tub Top Loading Washer",
          "Bosch - Series 6 - WAT24261AU - 8kg Front Load Washing Machine",
          "Bosch - Series 6 - WVG28420AU - 8kg Washer/4.5kg Dryer",
          "Fisher & Paykel - WL8060P1 - CleanSmart™ - 8kg Top Load Washer",
          "Samsung - AddWash™ 8.5KG Front Loader with AddDoor - WW85K6410QX  ",
          "Fisher & Paykel 6kg Vented Dryer - DE6060M2",
          "Fisher & Paykel - WH9060J3 - 9kg Front Loader Washing Machine",
          "Haier - HWT10MW2 - 10kg Top Load Washer",
          "Haier - HWF80BW2 - 8.0kg Front Load Washer",
          "LG - WD1275TC5W - 7.5kg Front Load Washer    ",
          "LG - WVC5-1409W - 9kg/5kg Washer/Dryer Combo",
          "LG - WTG6530W - 6.5kg Top Load Washer ",
          "Miele - WTH 130 WPM - WT1 Washer/Dryer - 7kg/4kg  ",
          "Electrolux 7.5kg UltimateCare™ Front Load Washer - EWF7525DQWA  ",
          "Electrolux  9kg UltimateCare™ Front Load Washer - EWF9043BDWA",
          "LG - WTG1030SF - 10kg Top Load Washer",
          "Electrolux Wi-Fi Enabled 10kg UltimateCare™Front Load Washer  - EWF1042BDWA",
          "Asko - T408HD.W.AU - 8kg Heat Pump Logic Dryer  ",
          "LG - WTG6534W - 6.5kg Top Load Washing Machine",
          "Simpson - SDV457HQWA - 4.5kg Vented Tumble Dryer",
          "Haier - HDV70E1 - 7kg Sensor Vented Dryer",
          "LG - DVH9-09B - 9kg Heat Pump Dryer",
          "Miele - TDB 130 WP - 7kg Front Load Dryer",
          "Samsung - WD13J7825KP - 13kg  Front Load Washer /  7kg Dryer with AddDoor",
          "Haier - HDC80E1 - 8kg Front Load Condenser Dryer",
          "Fisher & Paykel - WA8560G1 - WashSmart™ 8.5kg Top Load Washer ",
          "Fisher & Paykel - MW513 - QuickSmart - 5.5 Kg Top Load Washer",
          "Samsung - WW95N54F5CW - 9.5kg Steam BubbleWash™ Front Load Washer",
          "Samsung - WW95N64FRPW - 9.5kg AddWash™ Steam Front Load Washer",
          "LG - WTR1234WF - 12Kg Top Load Washer",
          "Electrolux - EDV605HQWA - 6kg Vented Tumble Dryer",
          "LG - WTG9020V - 9kg Top Load Washer",
          "Haier - 4kg Front Load Vented Dryer - HDV40A1",
          "Miele WDB 030  7kg Front Load Washer  ",
          "Samsung - WW85J54E0IW/SA - 8.5kg BubbleWash™ Steam Front Load Washer",
          "Inalto - IFLW5 - 5kg Front Load Washer"
         ],
         "type": "scatter",
         "x": [
          -0.10401711612939835,
          -0.1763271689414978,
          -0.12896603345870972,
          -0.08741839975118637,
          -0.20923364162445068,
          -0.15863415598869324,
          -0.14497534930706024,
          -0.15795409679412842,
          -0.110496886074543,
          -0.10178578644990921,
          -0.0055063217878341675,
          -0.12131159007549286,
          -0.07945169508457184,
          -0.08935704827308655,
          -0.1621590405702591,
          -0.02384566143155098,
          -0.183517724275589,
          -0.14876991510391235,
          -0.18750816583633423,
          -0.11703959852457047,
          -0.09215261787176132,
          -0.11614091694355011,
          -0.08666704595088959,
          -0.10036753863096237,
          -0.18297874927520752,
          -0.1492549479007721,
          -0.07660388946533203,
          -0.11294285207986832,
          -0.10851012915372849,
          -0.11155319958925247,
          -0.11939245462417603,
          -0.13014540076255798,
          -0.1369764506816864,
          -0.022473156452178955,
          -0.0783153623342514,
          -0.1846315860748291,
          -0.15111175179481506,
          -0.11398624628782272,
          -0.09464456140995026,
          -0.13085591793060303,
          -0.0790552943944931,
          -0.1432371735572815,
          -0.056709229946136475,
          -0.1562838852405548,
          -0.09214774519205093,
          -0.09629533439874649,
          -0.0926734060049057,
          -0.09374327212572098,
          -0.06028025597333908,
          -0.09122868627309799,
          -0.07257116585969925,
          -0.07928977161645889,
          -0.09055587649345398,
          -0.13091081380844116,
          -0.10887179523706436,
          -0.10145048052072525,
          -0.08727557957172394,
          -0.08548972755670547,
          -0.16157126426696777,
          -0.09063804149627686,
          -0.10699304938316345,
          -0.10922793298959732,
          -0.1495746374130249,
          -0.16758033633232117,
          -0.17919906973838806,
          -0.1788991391658783,
          -0.08944899588823318,
          -0.08677688241004944,
          -0.04696337878704071,
          -0.10069870948791504,
          -0.11804866045713425,
          -0.14123263955116272,
          -0.16467896103858948,
          -0.06054477393627167,
          -0.06340409815311432,
          -0.14043602347373962,
          -0.11007271707057953,
          -0.08388441056013107,
          -0.06338425725698471,
          -0.09862195700407028,
          -0.05916055291891098,
          -0.11803650110960007,
          -0.08887240290641785,
          -0.0816839262843132,
          -0.155840665102005,
          -0.15580689907073975,
          -0.14104709029197693,
          -0.1484093964099884,
          -0.1006649062037468,
          -0.17591363191604614,
          -0.0737309381365776,
          -0.13459473848342896,
          -0.07740987837314606,
          -0.12968283891677856,
          -0.1464608609676361,
          -0.063199982047081,
          -0.13554003834724426,
          -0.09890464693307877,
          -0.1496122032403946,
          -0.039044007658958435,
          -0.14944374561309814,
          -0.10996246337890625,
          -0.1362408995628357,
          -0.09277349710464478,
          -0.05820576101541519,
          -0.1690327227115631,
          -0.11172223836183548,
          -0.09331467747688293,
          -0.0830460712313652,
          -0.06726016849279404,
          -0.028806619346141815,
          -0.10080122202634811,
          -0.1073976531624794,
          -0.13987219333648682,
          -0.139713317155838,
          -0.02604086697101593,
          -0.0923689678311348,
          -0.10598015040159225,
          -0.08228553086519241,
          -0.1104855015873909,
          -0.1753140687942505,
          -0.10559571534395218,
          -0.05151914060115814,
          -0.1715003252029419,
          -0.08551464229822159,
          -0.17717194557189941,
          -0.11357545107603073,
          -0.1538134068250656,
          -0.17589980363845825,
          -0.08217067271471024,
          -0.00216548889875412,
          -0.20423361659049988,
          -0.126360684633255,
          -0.07834795117378235,
          -0.12341554462909698,
          -0.09869864583015442,
          -0.1185530498623848,
          -0.11065109819173813,
          -0.15154042840003967,
          -0.12864083051681519,
          -0.09113841503858566,
          -0.08478738367557526,
          -0.0009947717189788818,
          -0.06258546561002731,
          -0.09152168035507202,
          -0.17069312930107117,
          -0.035123661160469055,
          -0.10273373872041702,
          -0.1482391655445099,
          -0.013279102742671967,
          -0.0890628919005394,
          -0.11514707654714584,
          -0.08314529806375504,
          -0.09632694721221924,
          -0.09083207696676254,
          -0.1204332560300827,
          -0.18330267071723938,
          -0.07828211039304733,
          -0.05013339966535568,
          -0.17523667216300964,
          -0.07802678644657135,
          -0.111397884786129
         ],
         "y": [
          0.056765198707580566,
          0.009280217811465263,
          0.02518935315310955,
          0.0478195920586586,
          0.012552578002214432,
          -0.011474871076643467,
          0.03166754171252251,
          -0.01368241012096405,
          0.053064748644828796,
          0.32247015833854675,
          0.061476316303014755,
          0.07449498027563095,
          0.2835659086704254,
          0.33959120512008667,
          -0.03747773543000221,
          0.019483013078570366,
          -0.041485510766506195,
          -0.025975819677114487,
          0.0023672152310609818,
          0.06488406658172607,
          0.05558967590332031,
          0.006022576242685318,
          0.011644162237644196,
          0.055596157908439636,
          -0.034424662590026855,
          0.07884711772203445,
          0.3890725374221802,
          0.04742661118507385,
          -0.08109887689352036,
          0.04637647792696953,
          0.0546596385538578,
          0.049553073942661285,
          -0.0018892353400588036,
          0.27994024753570557,
          0.16337814927101135,
          0.09194673597812653,
          0.1171010434627533,
          0.05498037487268448,
          0.05693252012133598,
          -0.07182681560516357,
          0.07718465477228165,
          0.0397910475730896,
          0.2207372784614563,
          -0.0076677072793245316,
          0.1908242106437683,
          0.022908691316843033,
          0.12243089079856873,
          0.11480312049388885,
          -0.029184473678469658,
          0.17647992074489594,
          0.2048642486333847,
          0.17932304739952087,
          0.11041142791509628,
          0.03203967213630676,
          0.18625059723854065,
          0.18147429823875427,
          0.05783984810113907,
          0.1994989812374115,
          -0.023315399885177612,
          0.111674003303051,
          0.3216274082660675,
          0.20318469405174255,
          0.042827945202589035,
          0.06040184199810028,
          0.12173105031251907,
          0.12772023677825928,
          -0.01169518567621708,
          0.03275395557284355,
          0.33522605895996094,
          0.1879352629184723,
          0.009248783811926842,
          0.03484300151467323,
          0.0031627248972654343,
          0.17908430099487305,
          0.3469754457473755,
          0.027215320616960526,
          -0.0025057075545191765,
          0.03760881721973419,
          -0.11646879464387894,
          0.04957273602485657,
          0.05210568383336067,
          0.0648331418633461,
          0.15247416496276855,
          0.2825200855731964,
          -0.03189197927713394,
          0.031748078763484955,
          0.056598465889692307,
          0.011866194196045399,
          0.19627906382083893,
          -0.04865415394306183,
          0.2571444809436798,
          0.06842043250799179,
          0.20302164554595947,
          -0.0001378711313009262,
          -0.08370175957679749,
          0.03340158611536026,
          -0.018431074917316437,
          -0.0008336212486028671,
          -0.02175859920680523,
          0.02166907861828804,
          -0.0074793510138988495,
          0.10486629605293274,
          -0.01479341834783554,
          0.2362469881772995,
          0.18452739715576172,
          0.06965669989585876,
          0.05469644069671631,
          0.06292321532964706,
          0.0747256726026535,
          0.1895143985748291,
          0.008642466738820076,
          0.02512342296540737,
          0.038201332092285156,
          0.07705099135637283,
          -0.07567505538463593,
          0.3051772713661194,
          0.0668129026889801,
          0.06194250285625458,
          -0.05803347006440163,
          0.03216557949781418,
          -0.07822403311729431,
          0.06036480516195297,
          0.021799389272928238,
          0.13154517114162445,
          0.09977240860462189,
          0.09224268794059753,
          0.028408899903297424,
          0.03974446281790733,
          0.10426075011491776,
          0.061996541917324066,
          0.308016300201416,
          0.005832626949995756,
          0.03742021322250366,
          0.01566828414797783,
          0.04822900891304016,
          0.2277480661869049,
          0.2147998809814453,
          0.2164972722530365,
          0.12400314956903458,
          0.027963493019342422,
          0.014342023059725761,
          0.19426487386226654,
          -0.010362951084971428,
          0.03489488363265991,
          0.18964669108390808,
          0.05430879443883896,
          0.09857965260744095,
          0.13415437936782837,
          -0.02269548550248146,
          0.30320292711257935,
          0.04696294665336609,
          0.09886552393436432,
          0.04086672142148018,
          0.29854321479797363,
          0.30171889066696167,
          0.12823644280433655,
          0.025278087705373764,
          0.20869392156600952,
          0.07471337914466858,
          0.04451742023229599,
          0.30105060338974,
          0.03156803548336029
         ]
        },
        {
         "marker": {
          "color": 12,
          "size": 5
         },
         "mode": "markers",
         "name": "7",
         "text": [
          "Audio-Technica - In-Ear Headphones - ATH-CK330iBK",
          "Audio-Technica - ATLP60XBK - Fully Automatic Belt-Drive Stereo Turntable",
          "Audio-Technica - ATLP60XRD - Fully Automatic Belt-Drive Stereo Turntable",
          "Audio-Technica - Solid Bass Over Ear Headphones - ATH-WS550isBRD",
          "Audio-Technica - ATR4750-USB - Omnidirectional Condenser Gooseneck Microphone",
          "Audio-Technica - PRO24CM - Stereo X/Y Cardioid Electret",
          "Harman Kardon - AURA STUDIO 2 - Aura Studio 2 Wireless Speaker",
          "Audio-Technica - ATH-ANC50IS - QuietPoint® Noise-Cancelling Headphones",
          "Audio-Technica - ATH-CKL220 - DIP In-Ear Headphones - Purple",
          "Audio-Technica - QuietPoint® Noise-cancelling On-Ear Headphones - ATH-ANC20",
          "Alogic - ACM2RBK - 3.5mm (Male) to 3.5mm (Male) Audio Cable",
          "Audio-Technica - ATR1100x - Unidirectional Dynamic Vocal/Instrument Microphone",
          "Audio-Technica - ATLP60XBTBK - Fully Automatic Wireless Belt-Drive Turntable",
          "Alogic - 3m 3.5mm Stereo Audio Extension Cable - AD-EXT-03",
          "Alogic - AD-SPL-02 - 3.5mm Stereo Audio to 2 X RCA Stereo Cable",
          "Audio-Technica - ATLP120XUSBBK - Direct-Drive Turntable (Analog & USB) - Black",
          "Audio-Technica - ATH-ANC40BT - In-Ear Noise Cancelling Headphones",
          "Audio-Technica - ATH-CKL220 - DIP In-Ear Headphones - Green",
          "Audio-Technica - LP120-USB - Stereo Turntable",
          "Audio-Technica - ATLP60XBTWH - Fully Automatic Wireless Belt-Drive Turntable",
          "Audio-Technica - ATLP120XUSBSV - Direct-Drive Turntable (Analog & USB) - Silver",
          "Audio-Technica - ATH-CKL220 - DIP In-Ear Headphones - Red",
          "Audio-Technica - In-Ear Headphones - ATH-CK330iSRD",
          "Alogic - MM-AD-03 - 3.5mm Stereo Audio Cable - Male to Male",
          "Alogic - 3.5mm Stereo Audio Cable - Male to Male - MM-AD-01",
          "Audio-Technica - ATGM1-USB - USB Gaming Desktop Microphone",
          "Audio-Technica - Creator Pack",
          "Arlo - AC1001 - Audio Doorbell"
         ],
         "type": "scatter",
         "x": [
          0.30943208932876587,
          0.17184779047966003,
          0.1855781078338623,
          0.278968870639801,
          0.25634026527404785,
          0.22468174993991852,
          0.30218106508255005,
          0.2622845470905304,
          0.30501246452331543,
          0.30507373809814453,
          0.2960892617702484,
          0.2430230677127838,
          0.19550377130508423,
          0.28319668769836426,
          0.32642191648483276,
          0.3036164939403534,
          0.2778412997722626,
          0.2964891195297241,
          0.2018207460641861,
          0.201038658618927,
          0.2625649571418762,
          0.3063678443431854,
          0.30798566341400146,
          0.2799549102783203,
          0.28828829526901245,
          0.3530021905899048,
          0.21935425698757172,
          0.14438706636428833
         ],
         "y": [
          -0.24227231740951538,
          -0.06421929597854614,
          -0.037383079528808594,
          -0.23399485647678375,
          -0.18852491676807404,
          -0.196567565202713,
          -0.21349668502807617,
          -0.23716948926448822,
          -0.2261413037776947,
          -0.23802976310253143,
          -0.20895344018936157,
          -0.19556181132793427,
          -0.14494875073432922,
          -0.1487419307231903,
          -0.12302972376346588,
          -0.09852121025323868,
          -0.24062274396419525,
          -0.19616910815238953,
          -0.1574232280254364,
          -0.11938011646270752,
          -0.06255145370960236,
          -0.23802362382411957,
          -0.22646990418434143,
          -0.1781618446111679,
          -0.18394127488136292,
          -0.12257649749517441,
          -0.26222795248031616,
          -0.2624676525592804
         ]
        },
        {
         "marker": {
          "color": 13,
          "size": 5
         },
         "mode": "markers",
         "name": "8",
         "text": [
          "Vogels - WALL3450 - Full-Motion TV Wall Mount",
          "Vogels - SOUND 3450 - Sound Bar Mount",
          "LG - AN-CR500 - TV Remote Control",
          "Vogels - AV 10 - AV Multi Support",
          "Vogels - THIN 515 - ExtraThin Tilting TV Wall Mount",
          "Crest - SGA05317 - Indoor Digital TV Antenna",
          "Sanus - ELM701 - TV Anti-Tip Strap For TV Safety",
          "Crest - INDU-V - Indoor Antenna",
          "Vogels - THIN 545 - ExtraThin Full-Motion TV Wall Mount - 40\" to 65\" ",
          "Uniden - UH820S-2 - UHF Handheld Radio",
          "One For All - SV 9510 - Signal Amplifier",
          "BLE - Tilt and Turn TV Wall Mount - BWM70TT",
          "One For All - URC 7140 - Essence 4 Remote Control",
          "Crest - SGA05329 - Indoor Digital TV Antenna",
          "One For All - URC1035 - Universal A/C Remote",
          "One For All - SV4210 - 40\" Flat & Tilt LCD/Plasma Wall Mount",
          "Uniden UH610-2 - 1W UHF Adventure 2-Way Radio",
          "One For All - SV 9495 - Amplified Indoor Antenna",
          "One For All - WM7472 - Universal TV Stand",
          "Sanus - VLF728-S2 - Advanced Full-Motion Premium TV Mount - 42” to 90” - Silver",
          "One For All - URC 1669 - Foxtel &  Digital Box Replacement Remote",
          "One For All - URC 1910 - Samsung TV Replacement Remote",
          "BLE - Slimline Wall Mount - 40\"- 75\" - BWM75FT",
          "One For All - URC 1911 - LG Replacement Remote",
          "Sanus - Swivel TV Base for 32-60\" TV's - VTVS1 ",
          "Vogels - THIN 505 - ExtraThin Fixed TV Wall Mount - 40\" to 65\"",
          "One For All - URC 6810 - TV Zapper",
          "One For All - URC 7110 - Essence TV",
          "Vogels - THIN 546 - ExtraThin Full-Motion TV Wall Mount for OLED TVs",
          "Vogels - WALL 3345 Black - Full-Motion TV Wall Mount",
          "Uniden - UH45-3 - 80 Channel UHF CB Handheld Radio - Triple Colour Pack",
          "Sanus - Fixed TV Wall Mount for 47\" - 80\" - VLL61",
          "One For All - SV 9395 - Full HD Indoor Antenna",
          "One For All - WM7471 - Universal TV Stand",
          "One For All - SV 9143 - Amplified Indoor Antenna",
          "Vogels - WALL 3345 White - Full-Motion TV Wall Mount ",
          "Sanus - Advanced Tilt Wall Mount for 46\" – 90\" TVs - VLT6",
          "One For All - URC 1912 - Sony Replacement Remote",
          "One For All - SV 1630 - Automatic HDMI Switcher ",
          "Vogels - WALL 2245 Black - Swivel TV Wall Mount",
          "Crest - PWA06040 - TV/Home Theatre Power Board",
          "Vogel's - EFW 8305 - Fixed TV Wall Mount  - 40\" to 80\" ",
          "Vogels - THIN 315 - UltraThin LED/LCD/Plasma Wall Mount",
          "One For All - SV 1730 - Wireless 5.8Ghz TV Sender",
          "Sanus - VMF720-S2 - Premium Full Motion Mount - 32\" to 55\"",
          "One For All - SV 9033 - Unamplified Indoor Antenna",
          "Vogels - THIN 405 - ExtraThin Fixed TV Wall Mount - 26\" to 55\"",
          "Crest - PWU02905C - 2 Socket Protector with Antenna Protection",
          "Vogels - NEXT 7345 - DesignMount Full-Motion TV Wall Mount - 40-65\" ",
          "BLE - BWM800 - 32\"-65\" Full Function TV Wall Mount",
          "Vogels - NEXT 7346 - DesignMount Full- Motion LG OLED TV Wall Mount  ",
          "One For All - SV 9420 - Amplified Indoor Antenna",
          "Vogels - NEXT 7825 - AV Support   ",
          "One For All - Remote Control Extender - URC 1000",
          "One For All - Evolve TV Remote Control - URC 7115",
          "Vogels - THIN 595 - Stud Adapter for TV Mounts",
          "BLE - BWM90TT - Tilt and Turn TV Wall Mount - 37-90”",
          "Cygnett VentView Universal Air Vent Car Mount - CY1217ACVVU ",
          "Vogels - WALL 3315 - Tilting TV Wall Mount",
          "Uniden UH620-2DLX - 2W UHF Adventure 2-Way Radio",
          "Crest - PWU04905C - 4 Socket Protector with TV & Data Protection",
          "One For All - SV 9460 - Amplified Indoor TV Antenna",
          "Vogels - WALL 3305 - Fixed TV Wall Mount  - 40\" to 100\" ",
          "Vogels - WALL 2345 Black - Swivel TV Wall Mount",
          "Sanus -Super Slim Full-Motion Mount For 40\" - 80\" TVs - VLF613",
          "Vogels - OP1 - NEXT TV Floor Stand   ",
          "Sanus - Swivel TV Base for 32\"-60\" TVs - WSTV1 BLACK ",
          "One For All - Hisense TV Replacement Remote - URC 1916",
          "LG - OLW480B - Slim Adjustable  Wall Bracket",
          "BLE - Tilt and Turn TV Wall Mount - BWM42TT",
          "Vogels - WALL 2245 White - Swivel TV Wall Mount ",
          "BLE - BWM55TT - Tilt & Turn TV Wall Mount",
          "Sanus - VLL5 - Fixed-Position Mount - For 42\"- 90\" TVs ",
          "Crest - SGA05331 - Indoor Antenna Passive",
          "Crest - PWU06905C - 6 Socket Protector with TV & Data Protection",
          "Uniden - SS E45 + 1 - Sight & Sound Enhanced Cordless Phone ",
          "EzyMount - VSQ-LED1 - Micro-Gap TV Wall Mount",
          "Sanus - VLF728-B2 - Advanced Full-Motion Premium TV Mount - 42” to 90” - Black",
          "Vogels - BASE 45 L - Full-Motion TV Wall Mount",
          "One For All - SV 9425 - Amplified Indoor Antenna",
          "Vogels - WALL 3245 Black - Full Motion TV Wall Mount - 32\" to 55\"",
          "BLE - BL-RRE-UN001 - Universal TV Remote",
          "Sanus - VXT7-B2 - Tilt Mount For 40\" - 110\" TVs",
          "Vogels - WALL 1105 - LED/LCD/Plasma Wall Mount",
          "One For All - SV 9450 - Full HD Outdoor Antenna",
          "Vogels - THIN 550 - ExtraThin Full-Motion TV Wall Mount - 40\" to 100\"",
          "Sanus - FTVS1 - Swivel TV Base Mount Stand",
          "One For All - URC 7120 - Essence 2 Remote Control",
          "BLE - BWM1011 - TV Wall Mount",
          "Vogels - WALL 3245 White - Full Motion TV Wall Mount",
          "One For All - SV 9360 - Performance Line Indoor Antenna",
          "One For All - SV9540 - 4 Way Antenna Distribution",
          "Vogels - EFW 8206 - Flat TV Wall Mount - 32\" to 55\"",
          "Uniden - SS E45W - Sight & Sound Enhanced Cordless Phone",
          "Vogels - NEXT 7840 - Cable Column",
          "Vogels - NEXT 7355 - MotionMount Full-Motion Motorised TV Wall Mount "
         ],
         "type": "scatter",
         "x": [
          0.007617935538291931,
          0.05222925543785095,
          0.1793968230485916,
          0.15519486367702484,
          0.018711864948272705,
          0.08833258599042892,
          0.11005520075559616,
          0.04960232600569725,
          -0.020674340426921844,
          0.16430823504924774,
          0.0668317973613739,
          -0.01500207930803299,
          0.043113380670547485,
          0.08656423538923264,
          0.0887315422296524,
          -0.005009487271308899,
          0.07998150587081909,
          0.036428242921829224,
          0.03383536636829376,
          0.06001598387956619,
          0.09457580745220184,
          0.13499510288238525,
          -0.09775979816913605,
          0.07754559814929962,
          0.05982023850083351,
          -0.015901431441307068,
          -0.025263413786888123,
          0.03593480587005615,
          0.09028641879558563,
          0.041319310665130615,
          0.08919091522693634,
          -0.016113705933094025,
          0.0686374306678772,
          0.03264392912387848,
          0.05535656958818436,
          0.012198254466056824,
          -0.005045443773269653,
          0.15271544456481934,
          0.06795516610145569,
          0.006359294056892395,
          0.02457888424396515,
          -0.063796266913414,
          0.05981472134590149,
          0.12829090654850006,
          0.10199631750583649,
          -0.03672736883163452,
          -0.005904018878936768,
          0.06643272936344147,
          0.011192664504051208,
          0.0300818532705307,
          0.11447589844465256,
          0.0452907532453537,
          0.016803815960884094,
          0.11763361841440201,
          0.11408497393131256,
          0.08668956905603409,
          -0.006456032395362854,
          0.02302003651857376,
          0.001546323299407959,
          0.07708211243152618,
          0.09847181290388107,
          0.06628715246915817,
          -0.052174441516399384,
          0.010307654738426208,
          -0.0028117820620536804,
          0.11227855086326599,
          0.07707629352807999,
          0.07844109833240509,
          0.010472752153873444,
          0.009992942214012146,
          -0.019061103463172913,
          -0.004584319889545441,
          0.026944346725940704,
          0.004643365740776062,
          0.07877619564533234,
          0.20421774685382843,
          0.10743016004562378,
          0.08524657785892487,
          -0.00624006986618042,
          0.042895570397377014,
          0.025053374469280243,
          0.09947728365659714,
          0.15926110744476318,
          0.06117607653141022,
          0.07061368227005005,
          -0.02210637927055359,
          0.044009774923324585,
          0.06367197632789612,
          0.02944369614124298,
          -0.005961671471595764,
          0.02781485766172409,
          0.02303329110145569,
          -0.038164570927619934,
          0.15835581719875336,
          0.047682538628578186,
          0.07131145894527435
         ],
         "y": [
          0.043058641254901886,
          -0.2334858775138855,
          0.14333780109882355,
          -0.06880193948745728,
          -0.029406286776065826,
          0.05515352636575699,
          0.021325770765542984,
          -0.016702041029930115,
          0.14365488290786743,
          -0.04754483699798584,
          -0.06710286438465118,
          -0.027194645255804062,
          -0.023290015757083893,
          0.05324678122997284,
          -0.07999420166015625,
          0.1321260631084442,
          -0.07155276834964752,
          -0.017259666696190834,
          0.06098156422376633,
          0.22593477368354797,
          -0.06213797628879547,
          0.15278004109859467,
          -0.026913056150078773,
          -0.0497298389673233,
          0.21481864154338837,
          0.057660702615976334,
          0.03464965522289276,
          0.07751236855983734,
          0.13812768459320068,
          0.013719473034143448,
          -0.057428620755672455,
          0.1919592320919037,
          0.10947488993406296,
          0.06610213965177536,
          -0.03389184921979904,
          0.009629592299461365,
          0.20302900671958923,
          -0.10225726664066315,
          0.08767429739236832,
          -0.012130942195653915,
          0.0025912001729011536,
          0.07831372320652008,
          0.019417500123381615,
          0.10894495248794556,
          0.1931370496749878,
          -0.030184384435415268,
          0.08203506469726562,
          -0.03195682913064957,
          0.10678111016750336,
          0.05104375630617142,
          0.17938239872455597,
          -0.02629757672548294,
          -0.054970741271972656,
          -0.1555478274822235,
          0.05234469473361969,
          -0.07302643358707428,
          0.029727334156632423,
          -0.0007012933492660522,
          0.006119132041931152,
          -0.05865681543946266,
          0.10270760208368301,
          0.04699581488966942,
          0.05014422535896301,
          -0.028911277651786804,
          0.20312047004699707,
          -0.07414839416742325,
          0.20583873987197876,
          0.009167410433292389,
          0.1079980880022049,
          -0.02733016014099121,
          -0.0096893310546875,
          -0.045134853571653366,
          0.1874632090330124,
          -0.05820246785879135,
          0.09466532617807388,
          -0.03190229833126068,
          0.10880011320114136,
          0.2057778239250183,
          0.010725762695074081,
          -0.03127758949995041,
          0.121303491294384,
          -0.10788734257221222,
          0.18344661593437195,
          0.05161049962043762,
          0.11847411841154099,
          0.07996204495429993,
          0.08325190097093582,
          -0.046323955059051514,
          -0.04728829488158226,
          0.004893388599157333,
          0.0016076695173978806,
          0.009479042142629623,
          0.10044033080339432,
          -0.032399021089076996,
          -0.05898580327630043,
          0.08522217720746994
         ]
        },
        {
         "marker": {
          "color": 14,
          "size": 5
         },
         "mode": "markers",
         "name": "9",
         "text": [
          "BeefEater - BD94835 - Rotisserie Spit Basket",
          "BeefEater - BB92965 - Roast Holder",
          "BeefEater - BS12340 - Signature 3000S Built-in BBQ",
          "BeefEater - BS12850S - Signature 3000SS Built-in BBQ",
          "BeefEater - BB94996 - BUGG®  Teflon Liner Pack",
          "BeefEater - BD93524 - Rotisserie Kit for 4 Burner BBQ",
          "BeefEater - BD16440 - Clubman 4 Burner ",
          "BeefEater - BB18226 - BUGG Graphite BBQ",
          "BeefEater - BSH158SA - Signature ProLine™ Built-in BBQ",
          "BeefEater - BD95166N - Gas Conversion Kit",
          "BeefEater - BB722AA - BIGG BUGG Amber Mobile BBQ",
          "BeefEater - BS30060 - BS30060 Signature SL4000 Mobile BBQ",
          "BeefEater - BB722BA - BIGG BUGG Black Mobile BBQ",
          "BeefEater - BD16252 - Discovery 1100E Built-in BBQ",
          "BeefEater - BB18224 - BUGG Amber BBQ",
          "BeefEater - BB94550 - BUGG® Cover (BBQ Only)",
          "BeefEater - BB92975 - BUGG Baking Dish",
          "BeefEater - BACB200A - BIGG BUGG Trolley Cover",
          "BeefEater - BD16232 - Discovery 1100E Built-in Burner",
          "BeefEater - BD93525 - Rotisserie Kit for 5 Burner BBQ",
          "Everdure - ECHUHOODB - eChurrasco Roasting Hood (Black)",
          "BeefEater - BACS200A - Cover Signature ProLine™ 6 Burner",
          "BeefEater - BS12850 - Signature 3000S Built-in BBQ",
          "BeefEater - BS12350 - Signature 3000S Built-in BBQ",
          "BeefEater - BD94945 - Poultry Roaster",
          "BeefEater - BSW318SA - Signature ProLine™ Built-in BBQ",
          "BeefEater - BS19242 - Signature 3000E Mobile Barbecue  ",
          "Smeg - BQI1205HAU - Alfresco Built-in BBQ",
          "BeefEater - BB94992 - BUGG®  Accessory Hooks",
          "BeefEater - BACS201A - Cover for Signature ProLine™ 6 Burner",
          "Everdure - EFISHGRILL - Fish Grill",
          "BeefEater - BD95166 - Gas Conversion Kit",
          "BeefEater - BB94923 - BUGG 3 Piece Tool Set",
          "BeefEater - BACB300A - BIGG BUGG Plancha Plate",
          "Smeg - SBQ48X - 120cm Barbecue Rangehood",
          "BeefEater - BS12840 - Signature 3000S Built-in BBQ",
          "BeefEater - BS31560 - Signature SL4000 Built-in BBQ",
          "BeefEater - BS19952 - Signature 3000E 5 Burner BBQ",
          "BeefEater - BS19942 - Signature 3000E Built-in BBQ",
          "BeefEater - BBB070015 - BUGG Plancha Plate",
          "BeefEater - BD94969 - Multifunctional Barbecue Spatula",
          "BeefEater - BB23326 - BUGG® Stand",
          "Everdure by Heston Blumenthal - HBCE1BS - Fusion Charcoal Barbecue with Stand ",
          "BeefEater - BSL158SA - Signature ProLine™ Built-in BBQ",
          "BeefEater - BS12840S - Signature 3000SS Built-in BBQ",
          "BeefEater - BD16640 - Clubman 4 Burner",
          "BeefEater - BB94560 - BUGG® Cover (BBQ & Trolley)",
          "BeefEater - BB95140 - BUGG Natural Gas Conversion Kit",
          "BeefEater - BB94982 - BUGG® Digital Thermometer",
          "BeefEater - BD16242 - Discovery 1100E Built-in BBQ",
          "BeefEater - BD94968 - Professional Barbecue Tongs",
          "BeefEater - BD16350 - Discovery 1100S Built-in BBQ",
          "BeefEater - BB94935 - Pizza Stone Set",
          "BeefEater - BD16340 - Discovery 1100S Built-in BBQ",
          "Everdure - NBUDLPC-12G - Neo Buddy Grill"
         ],
         "type": "scatter",
         "x": [
          -0.19186565279960632,
          -0.20140379667282104,
          -0.1846027672290802,
          -0.16373354196548462,
          -0.17085114121437073,
          -0.22882521152496338,
          -0.13366690278053284,
          -0.15738727152347565,
          -0.13848987221717834,
          -0.18652945756912231,
          -0.08457682281732559,
          -0.08344502002000809,
          -0.05167606472969055,
          -0.15645864605903625,
          -0.11243268102407455,
          -0.06699325144290924,
          -0.24004244804382324,
          -0.0703207328915596,
          -0.17667070031166077,
          -0.21942979097366333,
          -0.07481976598501205,
          -0.12173939496278763,
          -0.16452881693840027,
          -0.16615161299705505,
          -0.17461106181144714,
          -0.15998420119285583,
          -0.11585410684347153,
          -0.24275019764900208,
          -0.09556780755519867,
          -0.11740215867757797,
          -0.13803517818450928,
          -0.18834713101387024,
          -0.14299970865249634,
          -0.16592147946357727,
          -0.272552490234375,
          -0.165187805891037,
          -0.17438971996307373,
          -0.17813226580619812,
          -0.18883198499679565,
          -0.17664897441864014,
          -0.2088012993335724,
          -0.12590725719928741,
          -0.14652425050735474,
          -0.14546605944633484,
          -0.14971795678138733,
          -0.14341995120048523,
          -0.07101850211620331,
          -0.17513170838356018,
          -0.16472911834716797,
          -0.1679653823375702,
          -0.16088831424713135,
          -0.1422598958015442,
          -0.11791395395994186,
          -0.14603480696678162,
          -0.14129182696342468
         ],
         "y": [
          -0.12029213458299637,
          -0.13740934431552887,
          -0.08386484533548355,
          -0.021025951951742172,
          -0.16643181443214417,
          -0.009233491495251656,
          -0.10105841606855392,
          -0.08834929764270782,
          -0.08071274310350418,
          -0.026879042387008667,
          -0.10672147572040558,
          0.025029147043824196,
          -0.12278077006340027,
          -0.09269838035106659,
          -0.14736199378967285,
          -0.13086964190006256,
          -0.07252153754234314,
          -0.20861667394638062,
          -0.08875443041324615,
          -0.01887361891567707,
          -0.1563832312822342,
          -0.06975297629833221,
          -0.0673472210764885,
          -0.07987062633037567,
          -0.11108522862195969,
          -0.07572542876005173,
          -0.04858248680830002,
          -0.03393076732754707,
          -0.19659295678138733,
          -0.05957089364528656,
          -0.10202141106128693,
          -0.04412505030632019,
          -0.17093566060066223,
          -0.18765157461166382,
          0.01916307583451271,
          -0.06158461794257164,
          -0.047952987253665924,
          -0.039225973188877106,
          -0.06548621505498886,
          -0.16601774096488953,
          -0.09783613681793213,
          -0.23820839822292328,
          -0.13686935603618622,
          -0.094680055975914,
          -0.0005960604175925255,
          -0.09315735101699829,
          -0.13800106942653656,
          -0.0567689910531044,
          -0.1191721260547638,
          -0.0774000957608223,
          -0.146811842918396,
          -0.07399386167526245,
          -0.13261227309703827,
          -0.07595953345298767,
          -0.11915571987628937
         ]
        },
        {
         "marker": {
          "color": 15,
          "size": 5
         },
         "mode": "markers",
         "name": "10",
         "text": [
          "TP-Link Kasa Cam Outdoor - KC200",
          "Nikon - COOLPIX A100 Black - Digital Camera",
          "Eufy Security Entry Sensor - T89001D1",
          "Ring Door View Cam - 8SP1S9-0AU0 ",
          "Canon - SLRBAGII - DSLR Deluxe Bag",
          "Lightning To USB Camera Adapter  ",
          "Ring - 8SH1P7-BAU0 - Spotlight Cam Wired - Black",
          "Inca - 501136 - Camera & Lens Cleaning Kit",
          "Swann 4K UHD DVR Security Security System - 4 Camera 8 Channel  ",
          "Eufy Smart Floodlight With 1080p Camera - T8420C12",
          "Uniden - SOLOPTKIT - Guardian App Cam Solo PT Kit",
          "Eufy Cam Wire Free FHD Security Add-on Camera - T81111D2",
          "Nikon - AF-S DX NIKKOR 55-200mm f/4-5.6G ED VR II - DX Format Zoom Lens",
          "Sony - DSC-HX90V - 18.2 Mega Pixel Cyber-shot H Series",
          "Canon - Silver - PowerShot G9X Mark II Digital Camera",
          "Sony - DSCWX500B - 18.2MP Cyber-shot W Series",
          "Arlo Ultra - VMS5240 - 4K UHD Wire-Free Security 2-Camera System ",
          "Uniden - iGO CAM 30 - Smart Dash Cam Black Box",
          "Swann 4 Camera 4 Channel 1080p Full HD DVR Security System",
          "Ring Stick Up Cam Battery HD Security Camera (3rd Gen)  - Black",
          "Arlo Ultra - VMS5340 - 4K UHD Wire-Free Security 3-Camera System ",
          "Canon - IXUS 190 Silver - Digital Still Camera",
          "Canon EOS M50 Mirroless Camera with 4K Video - Single Kit - M50KIS",
          "Nikon - AF-P DX NIKKOR 70-300mm f/4.5-6.3G ED VR - DX Format Normal Zoom Lens",
          "DeLonghi - ECAM 250.33.TB - Magnifica S Smart ECAM",
          "Swann - SWDVK-845804B2DV - 8Ch 1080p Security Monitoring System",
          "Nikon - WU-1a - Wireless Mobile Adapter",
          "Swann - SWDVK-845808V - 8 Channel Security System",
          "Sony - ILCE6000KIT - 24.3MP E-Mount Camera with SELP1650 (16-50mm F3.5-5.6 OSS ) ",
          "TP-Link - KC100 - Kasa Spot Indoor Security Camera ",
          "DLink - DCS-8000LH - Mini HD Wi-Fi Surveillance Camera ",
          "D-Link - DCS-8100LH - HD 180-Degree Wi-Fi Camera",
          "Eufy Cam Wire Free FHD Security 4-Camera Set - T8807CD3 ",
          "Nikon - D5600 with AF-S 18-105mm VR Kit ",
          "Ring Video Doorbell 1080p HD (2nd Generation) - 8VR1SZ-SEN0 ",
          "Canon - EOS 200D KIS - EOS 200D Single Lens Kit ",
          "Ring Stick Up Cam Battery HD Security Camera (3rd Gen) - White ",
          "Eufy Video Doorbell 2K Wireless Add On Only - T8210CW1",
          "Ring Video Doorbell 3 Plus with Pre-Roll Technology",
          "Ring - 8SB1S7WAU03PK - 3-Pack Spotlight Cam Battery - White ",
          "Swann - SWNVK-1685808 - 4K - 16CH Security Monitoring System",
          "Ring - 8SF1P7WAU0 - Floodlight Cam",
          "Eufy Cam Wire Free FHD Security 2-Camera Set - T8801CD2  ",
          "Nikon - Coolpix B500 - 16MP - 40x Digital Compact Camera - Red",
          "Ring - 8VR1S70AU0 - 1080HD Video Doorbell 2",
          "Canon - EOS700DKIS - EOS 700D Single IS STM Kit - 18-55mm",
          "Maxxum - 888530 - Full HD Webcam",
          "Nikon - D5600 with AF-P 18-55m VR Kit - VBK500XA  ",
          "Ring Indoor Security Camera - 8SN1S9-WAU0 ",
          "Nikon - D3400 with 18-55mm Lens Kit ",
          "Ring - 8SB1S7WAU02PK - 2-Pack Spotlight Cam Battery - White ",
          "Swann 8 Camera 8 Channel 1080p Full HD DVR Security System",
          "Ring - 8SF1P7BAU0 - Floodlight Cam - Black ",
          "Uniden - BW 3102R - 4.3” Digital Wireless Baby Video Monitor - 2 Cameras",
          "Swann 4K Ultra HD DVR Security System - 6 Camera 8 Channel",
          "Swann - SWNVK-886804FB - 8 Channel 4K Ultra HD NVR Security System",
          "Canon - EOS 1500DKB - EOS 1500D Single Lens Kit   ",
          "Uniden - iGO CAM 70R - Smart Dash Cam Black Box",
          "Nikon - KEYMISSION 170 - Action Camera",
          "Canon - EOS 1300D Single Lens Kit - 18-55mm",
          "Sony - DSCW810S - 20.1MP W Series Cybershot (Silver)",
          "Ring Stick Up Cam HD Security Camera Battery - 3 Pack - White",
          "Ring - 8SS1S8-WAU0 - Stick Up Cam Battery - 1080p Security Camera - White  ",
          "Nikon - D5600 Twin Lens Kit - 18-55mm & 70-300mm Lens   ",
          "Laser  - NAVC-307 - Car Crash Camera FHD1080P",
          "DJI - Osmo Action Camera - 12MP - 4K/60fps",
          "Ring - 8VR4P6-0AU0 - 1080 HD Video Doorbell Pro Kit with Chime Pro",
          "Uniden - iGO CAM 60 - Smart Dash Cam Black Box  ",
          "Swann - SWNVK-885808 - 4K - 8CH Security Monitoring System  ",
          "Ring - 8SH1P7-WAU0 - Spotlight Cam Wired - White",
          "Ring - 8SB1S7WAU04PK - 4-Pack Spotlight Cam Battery - White  ",
          "Canon - EOS 700D Super Kit - 18-135mm - IS STM Lens  ",
          "Uniden - Guardian App Cam Solo+ Camera - Quad Pack ",
          "Eufy Smart Floodlight With 1080p Camera - T8420CW2",
          "Ring - 8SS1E8-WAU0 - Stick Up Cam Elite - 1080p Security Camera - White  ",
          "Nikon - CoolPix W100 Camera - 13.2MP - Waterproof",
          "Nikon - COOLPIX A300 Digital Camera - 20.1MP - 8x - Silver",
          "Eufy Cam Wire Free FHD Security 3-Camera Set - T8804CD2  ",
          "Swann - SWIFI-CAMWPK2 - Wire-Free 1080p Security Camera 2 Pack",
          "GoPro - CHDHX-801 - HERO8 Black - 12MP Action Camera - 4K60 Video  ",
          "Uniden - Guardian App Cam Solo+ Camera - Twin Pack",
          "Arlo - VMS4230P - Arlo Pro 2 Smart Security System - 1080p HD   ",
          "Ring Video Doorbell 3 ",
          "Eufy Video Doorbell 2K (Wired) - T8200CJ1",
          "Eufy Cam 2C Wire Free Full-HD Security Add-on Camera - T81131D2",
          "Ring - 8SS1S8-BAU0 - Stick Up Cam Battery -1080p Security Camera - Black ",
          "Ring Indoor Security Camera - 8SN1S9-BAU0",
          "Eufy Cam 2C Wire Free Full-HD Security 2-Camera Set - T8831CD3 ",
          "Nikon - WU-1B - Wireless Mobile Adapter",
          "Microsoft - Q2F-00017 - LifeCam Studio Webcam",
          "Swann - SWIFI-CAMW - Wire-Free 1080p Security Camera",
          "Laser  - NAVSPORT1080X - Sports Cam 1080X",
          "Eufy Cam 2C Wire Free FHD Security 4-Camera Set - T8833CD2    ",
          "Canon - STREET PHOTOGRAPHY PACK - Street Photography Pack",
          "Eufy Cam 2C Wire Free Full-HD Security 3-Camera Set - T8832CD3 ",
          "Canon - EOS750DMTK - EOS 750D Twin Lens Kit",
          "Canon - ZOOMKIT - DSLR Zoom Lens Kit",
          "Ring - 8SB1S7WAU0 - Spotlight Cam Battery - White  ",
          "Ring - 8SB1S7BAU0 - Spotlight Cam Battery - Black ",
          "Swann 1080p Full HD DVR Security System - 6 Camera 8 Channel ",
          "Uniden - BW 140R - Full HD Smart (WiFi) Baby Camera",
          "Swann - SWIFI-SPOTCAM - 1080p Spotlight Outdoor Security Camera",
          "Ring Stick Up Cam HD Security Camera Battery - 2 Pack - White",
          "Nikon - AF-S DX NIKKOR 18-140 f/3.5-5.6 G ED VR - DX Format Zoom Lens "
         ],
         "type": "scatter",
         "x": [
          0.12913845479488373,
          0.17656400799751282,
          0.045009173452854156,
          -0.011581502854824066,
          0.1641443520784378,
          0.2591451108455658,
          0.08415497839450836,
          0.03449784219264984,
          0.20262885093688965,
          0.14167660474777222,
          0.15321259200572968,
          0.10361264646053314,
          0.1405666172504425,
          0.20524099469184875,
          0.18339470028877258,
          0.24544724822044373,
          0.2079916149377823,
          0.13820239901542664,
          0.16241022944450378,
          0.20232731103897095,
          0.21730902791023254,
          0.13980315625667572,
          0.1660228967666626,
          0.1605238914489746,
          0.07808095216751099,
          0.054548680782318115,
          0.2587170898914337,
          0.04189492017030716,
          0.20876450836658478,
          0.12876109778881073,
          0.21557044982910156,
          0.16401375830173492,
          0.11924239993095398,
          0.13449902832508087,
          0.13783863186836243,
          0.15742796659469604,
          0.17859947681427002,
          0.14436165988445282,
          0.12287159264087677,
          0.06083621084690094,
          0.019236333668231964,
          0.006861105561256409,
          0.12904092669487,
          0.18468274176120758,
          0.0874749943614006,
          0.19641174376010895,
          0.17363232374191284,
          0.12762150168418884,
          0.04466366022825241,
          0.14717958867549896,
          0.06219876557588577,
          0.17530831694602966,
          0.04942578077316284,
          0.1738734245300293,
          0.17763210833072662,
          0.11422650516033173,
          0.1794886738061905,
          0.1234801635146141,
          0.15097878873348236,
          0.14834170043468475,
          0.292894184589386,
          0.1455199420452118,
          0.11353101581335068,
          0.1058051735162735,
          0.15740184485912323,
          0.23050934076309204,
          0.09993719309568405,
          0.1135035902261734,
          0.04591436684131622,
          0.03862680494785309,
          0.05081120878458023,
          0.19741883873939514,
          0.18990014493465424,
          0.1486167460680008,
          0.10306807607412338,
          0.12349089235067368,
          0.16504938900470734,
          0.1266060471534729,
          0.16796505451202393,
          0.22731086611747742,
          0.18294280767440796,
          0.20659810304641724,
          0.12664037942886353,
          0.11865083128213882,
          0.13955235481262207,
          0.13601386547088623,
          0.050104252994060516,
          0.13841620087623596,
          0.24813908338546753,
          0.16992777585983276,
          0.1563705950975418,
          0.1553925722837448,
          0.11045877635478973,
          0.14196933805942535,
          0.13886308670043945,
          0.16228991746902466,
          0.1290922462940216,
          0.07285802811384201,
          0.10665720701217651,
          0.14409111440181732,
          0.17649522423744202,
          0.14123131334781647,
          0.1561051309108734,
          0.1462457776069641
         ],
         "y": [
          -0.10497687757015228,
          -0.011718466877937317,
          -0.018928270787000656,
          -0.0560745969414711,
          -0.1470477133989334,
          -0.03942546620965004,
          -0.0959143340587616,
          -0.06388575583696365,
          0.2996748089790344,
          0.2122301608324051,
          -0.06533889472484589,
          0.0486447736620903,
          0.11551565676927567,
          0.217250257730484,
          0.05532481521368027,
          0.06330534815788269,
          0.1586565226316452,
          -0.010356523096561432,
          0.26085764169692993,
          0.00757698155939579,
          0.15546798706054688,
          -0.037754565477371216,
          0.10862483084201813,
          0.11308521777391434,
          -0.05499471724033356,
          0.14186516404151917,
          -0.1006060391664505,
          0.04955091327428818,
          0.1159711480140686,
          -0.06499278545379639,
          0.08220133930444717,
          0.10212373733520508,
          0.05831290781497955,
          0.11731889843940735,
          0.11607789248228073,
          -0.05411713570356369,
          0.007943048141896725,
          -0.017869960516691208,
          -0.04106254130601883,
          -0.01879693754017353,
          0.11324015259742737,
          -0.033451877534389496,
          0.027595924213528633,
          -0.008404186926782131,
          0.12337064743041992,
          0.032294098287820816,
          -0.0035161152482032776,
          0.09700022637844086,
          0.018205245956778526,
          0.02108810655772686,
          -0.022044040262699127,
          0.2717493176460266,
          -0.06132272258400917,
          -0.01731732487678528,
          0.28397414088249207,
          0.23274165391921997,
          -0.05944536253809929,
          0.03735775128006935,
          -0.03550613671541214,
          -0.017365511506795883,
          0.0027921535074710846,
          0.011395908892154694,
          0.14339470863342285,
          0.046328939497470856,
          -0.00395951047539711,
          0.08172116428613663,
          0.09290812909603119,
          0.05588547885417938,
          0.1045481413602829,
          -0.042457833886146545,
          0.00011932849884033203,
          0.07552756369113922,
          0.007388155907392502,
          0.1980503797531128,
          0.13119855523109436,
          -0.004246980883181095,
          0.0291905514895916,
          0.033833663910627365,
          -4.016607999801636e-05,
          0.18269950151443481,
          -0.021294279024004936,
          0.15527217090129852,
          -0.04406207799911499,
          -0.02593664824962616,
          0.0876825600862503,
          0.07732922583818436,
          -0.03309082239866257,
          0.03902991861104965,
          -0.1380370855331421,
          -0.03631933033466339,
          0.01565050147473812,
          0.01298436801880598,
          0.031209129840135574,
          -0.17256054282188416,
          0.03288114815950394,
          -0.004500945098698139,
          -0.10541017353534698,
          -0.027434732764959335,
          -0.050824493169784546,
          0.2364930957555771,
          0.04911637306213379,
          0.0513237901031971,
          0.008010433986783028,
          0.15975898504257202
         ]
        },
        {
         "marker": {
          "color": 16,
          "size": 5
         },
         "mode": "markers",
         "name": "11",
         "text": [
          "Panasonic - 2.1Ch Sound Bar System - 200W - SC-HTB488 ",
          "LG - WK7 - ThinQ™ Speaker with Google Assistant Built-In  ",
          "LG - 900W Mini Hi-Fi System - CJ65",
          "Samsung - HW-N650 - 5.1Ch Soundbar ",
          "Yamaha - NS-IC600 - In-ceiling Speakers Set ",
          "VQ - VQ-RETMKII-EBP - Retro Mk II - DAB+ Radio with Apple Lightning Dock & Bluetooth - Polka Dot ",
          "VQ - VQ-RETMKII-EBB - Retro Mk II - DAB+ Radio with Apple Lightning Dock & Bluetooth - Blue Daisy",
          "Panasonic - SC-HTB900 - Soundbar & Wireless Subwoofer",
          "Samsung - Series 4 HW-R450/XY Soundbar - 2.1 Ch Soundbar - 200W",
          "Sony - MHC-V90DW - High Power Home Audio System - MUTEKI",
          "Sony - Portable DAB/DAB+ Radio - XDRS41DW",
          "VQ - Retro Mini DAB+ Radio - VQ-MINI-BK - Black ",
          "Blaupunkt - BR-80DABC - Digital Radio",
          "Bowers & Wilkins Formation Flex Wireless Music Speaker - FP41528 ",
          "Sony - Shower Radio with Speaker - ICFS80",
          "Blaupunkt - BR-50DAB - Digital Radio",
          "Onkyo - TX-SR494 - 7.2 Channel AV Receiver  ",
          "VQ - Hepburn Mk II - DAB+ Radio & Bluetooth Speaker - Black - VQ HPMKII-BK",
          "Yamaha - All Weather Speakers - NS-AW392B",
          "Yamaha - Wireless Subwoofer Kit - SWK-W16",
          "Samsung HW-T450/XY - 2.1Ch Soundbar - 200W ",
          "Samsung HW-Q60T/XY - 5.1ch Acoustic Beam Soundbar - 360W",
          "One For All - SV 1820 - Bluetooth Music Receiver HD",
          "Yamaha - All Weather Speakers - NS-AW294B",
          "Yamaha - All Weather Speakers - NS-AW592B",
          "Onkyo - Black - 7.2Ch Network A/V Receiver - TX-NR676E",
          "Yamaha - SPS-90 - Optional Floorstanding Speaker Stands",
          "Sony - CMTSBT40D - Bluetooth CD/DVD/Tuner Micro Hi-Fi System",
          "Blaupunkt Android TV Box - BATV7  ",
          "Sony - Portable DAB/DAB+ Radio - XDRS41DB",
          "Yamaha - CD Player - CD-S300B",
          "Blaupunkt - BAC23BTC - FM Alarm Clock Radio",
          "Yamaha - MCR-B020 White - Micro Component System",
          "Yamaha - 7.1Ch Soundbar System - YSP-2700 Black   ",
          "Sengled - C01-BR30AUB22SW - Pulse LED + Wireless Speaker - Satellite Bulb",
          "Yamaha - Audio Component - WXA-50",
          "Yamaha - YAS-209B - 2.1Ch Sound Bar System",
          "Onkyo - HT-S7705 - 5.1.2-Ch ATMOS Home Theatre System",
          "Blaupunkt - 32\" HD Android TV - BP320HSG9200",
          "Yamaha - Wall Mounting Bracket - SPM-K20",
          "LG - SN8YG - 440W 3.1.2ch Dolby Atmos Wi-Fi Sound Bar",
          "Sony - SHAKE-X10D - Mini System",
          "Yamaha - Audio Component - WXC-50",
          "Yamaha - All Weather Speakers - NS-AW194B",
          "Yamaha - RX-V385 - 5.1Ch AV Receiver  ",
          "VQ - VQ-RETMKII-EBR - Retro Mk II - DAB+ Radio with Apple Lightning Dock & Bluetooth - Rosebee",
          "LG - FH2 - X-Boom Go Portable Sound System",
          "Yamaha - All Weather Speakers - NS-AW194W",
          "Blaupunkt - 42\" FHD Android TV - BP420FSG9200",
          "Yamaha - MCR-B043D White - Micro HiFi System",
          "Onkyo - TX-NR656 - 7.2-Channel Network AV Receiver",
          "Sony - ICDPX470 - 4GB Digital Voice Recorder",
          "Yamaha - Black - Micro Hi Fi System - MCR-N670",
          "Sony - ICFC1W - Single Alarm AM/FM Clock Radio - White",
          "Samsung - HW-Q70T/XY - 3.1.2CH Acoustic Beam Soundbar - 330W   ",
          "Yamaha - MCR-B043D Black - Micro HiFi System",
          "Sony - MHC-V41D - High Power Audio System",
          "Sangean - SR-35 - Pocket Radio",
          "Sony - MHC-V77DW - High Power Home Audio System ",
          "Yamaha - MCR-B270D - Micro Hi-Fi System - Silver ",
          "Yamaha - All Weather Speakers - NS-AW294W",
          "Sony - 4GB B Series MP3 Walkman - Black - NWZB183FB",
          "Sony - CMTSBT20B - Hi-Fi System with Bluetooth and DAB radio",
          "Yamaha - All Weather Speakers - NS-AW392W",
          "Sony - ZSPS55B - Radio Player",
          "TCL - TS3010 - 2.1 Channel Sound Bar - 160W",
          "Yamaha - MCR-B020 Black - Micro Component System",
          "Yamaha - NS-IC800 - In-ceiling Speakers Set",
          "Sanus - Advanced Sound Bar Mount - SA405",
          "Blaupunkt - BAC11AFC - FM/AM Alarm Clock Radio",
          "Sony - HT-S350 - 2.1Ch Soundbar",
          "Sony - XDRC1DBP - DAB/DAB+ Clock Radio",
          "Yamaha - Silver - Micro Hi Fi System - MCR-N670",
          "Blaupunkt - BCR-9DABi - DAB + Internet Radio",
          "Sengled - C01-A66EAE27W - Pulse Solo LED + Wireless Speaker",
          "LG - 2.1Ch Sound Bar System - 300W - SJ4",
          "Sony - ICF306 - Portable Radio",
          "Sony - ICF-P26 - Portable Radio with Speaker",
          "Yamaha - All Weather Speakers - NS-AW592W",
          "VQ - VQ-RETMKII-CR - Retro Mk II - DAB+ Radio with Apple Lightning Dock & Bluetooth - Cream  ",
          "Yamaha - All Weather Speakers - NS-AW992W",
          "Yamaha - ATS-1080 Black - 2.1Ch Soundbar System",
          "Sony - MHC-M80D - Hi-Fi System",
          "Yamaha - 7Ch Home Theatre System - LiveSTAGE7400",
          "Yamaha - CD Player - CD-C600B",
          "Sony - HT-X8500 - 2.1ch Sound Bar System",
          "Sony - HT-G700 - 3.1ch Dolby Atmos®/ DTS:X™ 400W Soundbar",
          "Yamaha - Subwoofer - NSSW100B",
          "View Quest - Hepburn MK II - DAB+ Radio & Bluetooth Speaker - Cream",
          "LG - SN5Y - 400W 2.1ch High Resolution Sound Bar ",
          "Yamaha - 5.1Ch AV Receiver - RX-S601B",
          "Blaupunkt - BR-90DABi - DAB+/FM Internet Radio",
          "Blaupunkt - BR-60DABC - Portable Digital Radio",
          "Yamaha - 7.1.2Ch Sound Bar System - YSP-5600BMK2",
          "Sony - ICFC1B - Single Alarm AM/FM Clock Radio - Black",
          "Samsung  HW-S61T/XY 4.0ch Soundbar - 180W  ",
          "Yamaha - Silver - Micro Hi-Fi System - MCR-N470",
          "Sony - MHC-V71D - High Power Audio System",
          "Yamaha YHT1840B - 5.1Ch Home Theatre Package ",
          "Yamaha - MCR-B270D - Micro Hi-Fi System - Black",
          "TCL - TS7010 - 2.1 Channel Sound Bar - 320W",
          "Sony - HT-S100F - 2Ch Single Sound Bar ",
          "Sony - ZSPS50 - CD Boombox ",
          "Samsung HW-Q800T/XY - 3.1.2Ch Soundbar - 330W",
          "Samsung HW-T650/XY 3.1ch Soundbar with Dolby Audio - 340W",
          "Samsung - SWA-8000S - Wireless Rear Speaker Kit",
          "One For All - SV 1810 - Bluetooth Music Receiver",
          "Yamaha - Wall Mount Bracket - SPM-K30",
          "Hisense - HS512 - 5.1.2 Ch Atmos Sound Bar System - 380W  ",
          "Sony - Portable FM/AM Radio - ICF506",
          "Soundbar Sound+ Series 7 - 5ch Sound Bar - HW-MS750 ",
          "Sony - PS-LX310BT - Turntable",
          "Yamaha - YHT-8930AX - 7.2Ch Home Theatre System",
          "Blaupunkt - BR-70DABB - Portable DAB+/FM Radio",
          "Yamaha - LiveSTAGE 5400 - LiveSTAGE5400 Home Theatre Package",
          "LG - SN11RG - 7.1.4Ch Dolby Atmos Wi-Fi Soundbar - 770W",
          "LG - SPK8-S - 2.0ch - 140W Sound Bar Wireless Rear Speaker Kit",
          "LG - SN7Y - 3.1.2Ch High Resolution Sound Bar ",
          "Bowers & Wilkins Formation Bass Wireless Subwoofer - FP40215",
          "Crosley - CR6018A-NA - Turntable with Detachable Speakers",
          "Yamaha - Black - Micro Hi-Fi System - MCR-N470",
          "VQ - Hepburn Mk II - DAB+ Radio & Bluetooth Speaker - Red - VQ-HEPMKII-RD ",
          "Yamaha - 2Ch Soundbar System - YAS-107"
         ],
         "type": "scatter",
         "x": [
          0.1488892138004303,
          0.21672873198986053,
          0.14021766185760498,
          0.22876405715942383,
          0.18214793503284454,
          0.30274850130081177,
          0.29704082012176514,
          0.20785276591777802,
          0.1965244561433792,
          0.19872455298900604,
          0.3342304825782776,
          0.2049010545015335,
          0.177978977560997,
          0.12623466551303864,
          0.13178057968616486,
          0.19897155463695526,
          0.24175891280174255,
          0.27259206771850586,
          0.18650397658348083,
          0.2011255919933319,
          0.21685107052326202,
          0.20974639058113098,
          0.23400461673736572,
          0.18738475441932678,
          0.18054309487342834,
          0.2625122368335724,
          0.17991042137145996,
          0.3269649147987366,
          0.3067634105682373,
          0.3440936207771301,
          0.22258399426937103,
          0.1909182369709015,
          0.2224206030368805,
          0.2991366982460022,
          0.1345435082912445,
          0.2103385478258133,
          0.23409070074558258,
          0.24615418910980225,
          0.34524354338645935,
          0.12764301896095276,
          0.2405138611793518,
          0.2496071308851242,
          0.19938185811042786,
          0.18938688933849335,
          0.24209725856781006,
          0.29080629348754883,
          0.236074760556221,
          0.18997609615325928,
          0.3173137307167053,
          0.268618106842041,
          0.2456689327955246,
          0.2941359877586365,
          0.2622734010219574,
          0.17532429099082947,
          0.19294780492782593,
          0.28292882442474365,
          0.26771125197410583,
          0.14750373363494873,
          0.21326205134391785,
          0.24827145040035248,
          0.1929173767566681,
          0.2399255633354187,
          0.33550626039505005,
          0.18532432615756989,
          0.25219887495040894,
          0.1585272252559662,
          0.2381732314825058,
          0.20853976905345917,
          0.06878609210252762,
          0.21371933817863464,
          0.2925562858581543,
          0.3217340409755707,
          0.23784980177879333,
          0.28666383028030396,
          0.15913133323192596,
          0.2016148567199707,
          0.23148059844970703,
          0.26288703083992004,
          0.17486430704593658,
          0.30583012104034424,
          0.1911267191171646,
          0.3088003098964691,
          0.21773116290569305,
          0.16612976789474487,
          0.1990252435207367,
          0.3047179877758026,
          0.32305148243904114,
          0.15125921368598938,
          0.26492393016815186,
          0.1874333620071411,
          0.2579458951950073,
          0.24357399344444275,
          0.21884869039058685,
          0.24108560383319855,
          0.19519232213497162,
          0.188228577375412,
          0.2594730854034424,
          0.248447448015213,
          0.15436521172523499,
          0.2673588693141937,
          0.1524784415960312,
          0.17003612220287323,
          0.2045765221118927,
          0.2476518750190735,
          0.2739693522453308,
          0.21777789294719696,
          0.20134247839450836,
          0.09534266591072083,
          0.13779830932617188,
          0.22588197886943817,
          0.16933636367321014,
          0.22764019668102264,
          0.15506066381931305,
          0.25992870330810547,
          0.12445667386054993,
          0.2632145881652832,
          0.2229539453983307,
          0.2073603868484497,
          0.11186982691287994,
          0.07365088164806366,
          0.28048133850097656,
          0.2757111191749573,
          0.22388210892677307
         ],
         "y": [
          -0.09753575921058655,
          0.11073912680149078,
          0.05523155629634857,
          0.09335430711507797,
          -0.22405661642551422,
          -0.17511725425720215,
          -0.14922890067100525,
          -0.11810512840747833,
          0.1260630488395691,
          -0.02834608405828476,
          -0.14550408720970154,
          -0.16272348165512085,
          -0.26550793647766113,
          -0.19995495676994324,
          -0.12768501043319702,
          -0.2669075131416321,
          -0.003203723579645157,
          -0.1941608190536499,
          -0.2631703019142151,
          -0.18344098329544067,
          0.13507382571697235,
          0.16253304481506348,
          -0.05089506506919861,
          -0.2665526568889618,
          -0.26689887046813965,
          -0.059601057320833206,
          -0.13766416907310486,
          -0.12777778506278992,
          0.0062178997322916985,
          -0.15575259923934937,
          -0.1638055443763733,
          -0.30524197220802307,
          -0.2536398768424988,
          -0.14143939316272736,
          -0.19169872999191284,
          -0.14167910814285278,
          -0.21538685262203217,
          -0.038441117852926254,
          0.12638218700885773,
          -0.16617244482040405,
          0.07337001711130142,
          -0.022768793627619743,
          -0.13956061005592346,
          -0.2704107165336609,
          -0.049977175891399384,
          -0.13423848152160645,
          -0.029593490064144135,
          -0.23846086859703064,
          0.13823968172073364,
          -0.23561275005340576,
          -0.0072732530534267426,
          0.050827763974666595,
          -0.19542010128498077,
          -0.10831446945667267,
          0.16103039681911469,
          -0.2358345091342926,
          -0.03624608367681503,
          -0.20652255415916443,
          -0.005381900817155838,
          -0.231523796916008,
          -0.23627537488937378,
          -0.030957339331507683,
          -0.21448206901550293,
          -0.2335311770439148,
          -0.07291656732559204,
          -0.12468484044075012,
          -0.2552274167537689,
          -0.2416137456893921,
          -0.1388610601425171,
          -0.254774272441864,
          -0.11010391265153885,
          -0.1344265341758728,
          -0.1967536211013794,
          -0.2362978607416153,
          -0.14172370731830597,
          -0.05930811166763306,
          -0.13867951929569244,
          -0.1179911196231842,
          -0.2423606663942337,
          -0.1475149691104889,
          -0.24816960096359253,
          -0.16497182846069336,
          -0.08474216610193253,
          -0.082011878490448,
          -0.17178906500339508,
          -0.0675353854894638,
          -0.007948978804051876,
          -0.1510583460330963,
          -0.2922595739364624,
          0.06520505249500275,
          -0.07954409718513489,
          -0.24591360986232758,
          -0.24544380605220795,
          -0.12121088057756424,
          -0.13845092058181763,
          0.23177587985992432,
          -0.2147243171930313,
          -0.02542796917259693,
          -0.11843478679656982,
          -0.22112280130386353,
          -0.10544858872890472,
          -0.07764123380184174,
          -0.04981625825166702,
          0.17814074456691742,
          0.10536839067935944,
          0.024786826223134995,
          -0.18667331337928772,
          -0.1726554036140442,
          -0.03457265347242355,
          -0.13610845804214478,
          -0.09081967175006866,
          -0.04048484191298485,
          -0.09421007335186005,
          -0.24733689427375793,
          -0.1121140867471695,
          0.06598449498414993,
          -0.01493082195520401,
          0.08966147154569626,
          -0.19214701652526855,
          -0.09373842179775238,
          -0.2080841362476349,
          -0.20300526916980743,
          -0.1851358562707901
         ]
        },
        {
         "marker": {
          "color": 17,
          "size": 5
         },
         "mode": "markers",
         "name": "12",
         "text": [
          "Falcon Elise 110cm Dual Fuel Range Cooker - ELS110DFGB/N - Black/Nickel",
          "Falcon Nexus SE 110cm Dual Fuel Range Cooker - NEXSE110DFBL/CH - Black/Chrome",
          "Beko - 60cm Dual Fuel Upright Cooker - BFC60GMX",
          "Neff N 90 Induction Cooktop 60 cm Black - T66TS61N0",
          "Neff N 70 Built-in oven with added steam function 60 cm Stainless steel - B57VR22N0B",
          "Neff N 90 Induction hob 60 cm Black - T56TS31N0",
          "Neff N 70 Built-In Microwave Oven Stainless steel - C17WR00N0A ",
          "Smeg - 90cm Duel Fuel Freestanding Cooker - TRA90P9",
          "Neff  N 90 Wall-mounted Cooker Hood 90 cm Stainless Steel - D96BMU5N0A",
          "Falcon Kitchener 90cm Dual Fuel Upright Cooker - KCH90DFFSS/CH - Stainless Steel/Chrome",
          "Bromic - DC100S - Deluxe LPG Wok Cooker",
          "Bromic - DC200S - Deluxe LPG Wok Cooker",
          "Asko - HG1986SD - 90cm Gas Cooktop - Stainless Steel",
          "Falcon Professional+ 90cm Dual Fuel Range Cooker - PROP90DFFSS/CH - Stainless Steel/Chrome",
          "Falcon Professional+ 110cm Dual Fuel Range Cooker - PROP110DFFGB/CH - Black/Chrome",
          "Smeg - FSP9610X - 90cm Dual Fuel Freestanding Cooker",
          "Neff Built-in oven 60 cm Stainless steel - B57CR22N0B",
          "Neff N 90 Gas hob 90 cm Stainless steel - T29DA79N0A",
          "Falcon Kitchener 90cm Dual Fuel Upright Cooker - KCH90DFFBL/CH - Black/Chrome",
          "Falcon Nexus 110cm Dual Fuel Upright Cooker - NEX110DFSS/CH - Stainless Steel/Chrome",
          "Smeg - TRA93BL - 90cm Thermoseal Freestanding Cooker - Black",
          "Neff N 90 Built-in oven with steam function 60 cm Stainless steel - B47FS36N0B",
          "Neff N 90 Built-in oven with added steam function 60 cm Stainless steel - B57VS26N0B",
          "Miele - HR 1936 G - 90cm Dual Fuel Upright Cooker",
          "Neff N 70 Built-in oven 60 cm Stainless steel - B47CR32N0B",
          "Euromaid - GG90S - 90cm Gas Upright Cooker",
          "Neff N 90 Built-in oven with added steam function 60 cm Stainless steel - B58VT68H0B",
          "Neff N 50 Built-in Oven 60 cm Stainless Steel - B6ACH7AN0A",
          "Neff N 70 Gas hob 60 cm Stainless steel - T26DS59N0A",
          "Neff N 30 Telescopic Cooker Hood 60 cm Silver Metallic - D46BR22X0",
          "Neff N 90 Compact oven with microwave Stainless steel - C28QT27N0 ",
          "Neff N 70 Built-in compact oven with microwave function Stainless steel - C17MR02N0B",
          "Falcon Classic 110cm Dual Fuel Upright Cooker - CLA110DFFCR/CH - Cream/Chrome",
          "Westinghouse - WFE914SC - 90cm Dual Fuel Freestanding Cooker",
          "Glem - UN765GGEI - 70cm Stainless Steel Cooker",
          "Neff N 90 Induction Hob 90 cm Black - T59TS61N0",
          "Smeg - 90cm Duel Fuel Freestanding Cooker - TRA90WH9",
          "Inalto - IO90XL10T - 90cm 10 Function Oven",
          "Glem - IT965MVN2 - 90cm Freestanding Gas Cooker",
          "Neff N 90 Built-in Oven with steam function 60 cm Stainless steel - B48FT78H0B",
          "Inalto - ICGW90S - 90cm Gas Cooktop",
          "Neff N 50 canopy cooker hood 52 cm Stainless steel - D55MH56N0B",
          "Falcon Nexus SE 110cm Induction Range Cooker - NEXSE110EISS/CH - Stainless Steel/Chrome",
          "Neff Built-in Double Oven Stainless Steel - U2ACH7CN0A",
          "Inalto - ICGG905W - 90cm Gas on Glass Cooktop",
          "DeLonghi - DEF905GW1X1 - 90cm Dual Fuel Freestanding Cooker",
          "Neff N 90 Gas hob 90 cm Black - T29TA79N0A",
          "Smeg - CSP9GMXA - 90cm Dual Fuel Freestanding Oven",
          "Falcon Professional+ FXP 90cm Pyrolitic Dual Fuel Upright Cooker - PROP90FXPDFGBCH - Black/Chrome",
          "Neff Compact Built-in Steam Cooker - C17DR02N0",
          "Ninja Foodi OP300 Multi Cooker, Pressure Cooker, Steamer & Air Fryer  ",
          "Neff N 70 Induction hob 80 cm Black - T58UD10X0",
          "Neff N 90 Induction Hob 80 cm Black - T68TS61N0",
          "Falcon Elise 90cm Dual Fuel Range Cooker - ELS90DFSL/N - Slate/Nickel",
          "Falcon Classic 110cm Induction Range Cooker - CLA110EI5BL/CH - Black/Chrome",
          "Falcon Classic Deluxe 110cm Dual Fuel Upright Cooker - CDL110DFBL/CH - Black/Chrome",
          "Smeg - CS95GMXNA - 90cm Duel Fuel Freestanding Cooker",
          "Neff N 90 Built-in compact oven with microwave function Stainless steel - C27MS22H0B",
          "Neff Built-in Warming Drawer 29 cm Stainless Steel - N17HH10N0A",
          "Smeg - 90cm Duel Fuel Freestanding Cooker - TRA90BL9 ",
          "Neff N 90 Compact Oven with Steam Function Stainless Steel - C17FS32H0B",
          "Neff N 70 Canopy Cooker Hood 86 cm Stainless Steel - D58ML66N1",
          "Glem - IT965PROEN2 - 90cm Dual Fuel Freestanding Cooker",
          "Neff N 70 Gas hob 75 cm Stainless steel - T27DA69N0A",
          "Beko - BCT90GG - 90cm Black Glass Gas Cooktop",
          "Neff N 90 Canopy Cooker Hood 70 cm Clear Glass Black Printed - D57ML67N1B",
          "Falcon Professional+ FX 90cm Dual Fuel Upright Cooker - PROP90FXDFSSCH - Stainless Steel/Chrome",
          "Falcon Professional+ FX 90cm Dual Fuel Upright Cooker - PROP90FXDFGBCH -Black/Chrome",
          "Neff N 70 Built-in Warming Drawer 14 cm Stainless Steel - N17HH10N0A",
          "Neff  N 90 Built-In Fully Automatic Coffee Machine - C17KS61H0",
          "Falcon Professional+ FXP 90cm Pyrolitic Dual Fuel Upright Cooker - PROP90FXPDFSSCH - Stainless Steel/Chrome",
          "Falcon Classic 90cm Induction Range Cooker - CLA90EI5CR/CH - CREAM/CHROME",
          "Falcon Classic 90cm Dual Fuel Upright Cooker - CLA90DFFCY/CH - Cranberry/Chrome"
         ],
         "type": "scatter",
         "x": [
          -0.22502171993255615,
          -0.13797825574874878,
          -0.35022300481796265,
          -0.2791345417499542,
          -0.3930109739303589,
          -0.11592607200145721,
          -0.31850555539131165,
          -0.3320426046848297,
          -0.3076707124710083,
          -0.2889673411846161,
          -0.2622937262058258,
          -0.2503209114074707,
          -0.3234025239944458,
          -0.19590213894844055,
          -0.1642760932445526,
          -0.3725569248199463,
          -0.4000184237957001,
          -0.2640650272369385,
          -0.268586128950119,
          -0.1748088002204895,
          -0.31400808691978455,
          -0.4013558328151703,
          -0.40754643082618713,
          -0.34531283378601074,
          -0.3660218417644501,
          -0.3736923336982727,
          -0.40578970313072205,
          -0.38273486495018005,
          -0.27982765436172485,
          -0.24767181277275085,
          -0.28734010457992554,
          -0.28852224349975586,
          -0.20676246285438538,
          -0.3844556510448456,
          -0.3550475537776947,
          -0.10729009658098221,
          -0.36746758222579956,
          -0.3322151005268097,
          -0.35792234539985657,
          -0.4278973937034607,
          -0.36546316742897034,
          -0.30516090989112854,
          -0.1392684280872345,
          -0.2917202413082123,
          -0.32661041617393494,
          -0.319202184677124,
          -0.20726937055587769,
          -0.3025650084018707,
          -0.16358891129493713,
          -0.3400622606277466,
          -0.1821574866771698,
          -0.12317635118961334,
          -0.11431648582220078,
          -0.26365572214126587,
          -0.19075211882591248,
          -0.1933545470237732,
          -0.3609379827976227,
          -0.28653448820114136,
          -0.22744792699813843,
          -0.3609778583049774,
          -0.3448197841644287,
          -0.3367576599121094,
          -0.3435865342617035,
          -0.2757052183151245,
          -0.28952160477638245,
          -0.2636525332927704,
          -0.19820332527160645,
          -0.1695782095193863,
          -0.23960673809051514,
          -0.13308918476104736,
          -0.19576555490493774,
          -0.21725192666053772,
          -0.21383878588676453
         ],
         "y": [
          0.00707545131444931,
          0.030767876654863358,
          -0.04371161386370659,
          0.09649576246738434,
          0.13008762896060944,
          0.05152226984500885,
          0.0368538461625576,
          0.04480591043829918,
          0.03448004275560379,
          0.07612096518278122,
          0.008177939802408218,
          0.0016309544444084167,
          0.08821329474449158,
          0.040814176201820374,
          0.0210544615983963,
          0.06933727115392685,
          0.03227318823337555,
          0.08640602976083755,
          0.042696110904216766,
          0.06322576850652695,
          -0.0036593154072761536,
          0.13823401927947998,
          0.13891583681106567,
          0.08912889659404755,
          0.07565012574195862,
          0.15118823945522308,
          0.14608140289783478,
          0.05840569734573364,
          0.1350933164358139,
          0.02696981281042099,
          0.07923418283462524,
          0.04979735612869263,
          0.010186024010181427,
          0.09125183522701263,
          0.07745625078678131,
          0.018704021349549294,
          0.04975610226392746,
          0.09866411983966827,
          0.1298232227563858,
          0.15026207268238068,
          0.1286434829235077,
          0.014544110745191574,
          0.06744499504566193,
          -0.03392215818166733,
          0.1408231407403946,
          0.05882496014237404,
          0.057964060455560684,
          0.09057140350341797,
          0.023097297176718712,
          -0.04457062482833862,
          -0.003987032920122147,
          -0.0076515525579452515,
          0.009076224640011787,
          0.001818738877773285,
          0.01821961998939514,
          0.011813141405582428,
          0.10913971066474915,
          0.06651800870895386,
          0.03651756793260574,
          0.008959267288446426,
          0.10770992934703827,
          0.05488556623458862,
          0.05578271299600601,
          0.09147143363952637,
          0.006488017737865448,
          0.07454688847064972,
          0.04075799137353897,
          0.033467892557382584,
          0.08422577381134033,
          0.01482691615819931,
          0.04229497164487839,
          0.040558457374572754,
          0.026335768401622772
         ]
        },
        {
         "marker": {
          "color": 18,
          "size": 5
         },
         "mode": "markers",
         "name": "13",
         "text": [
          "Falmec 90cm Lumen Wall Canopy Rangehood - F5LM90S1",
          "Electrolux - ERR927SA - 90cm Slide Out Rangehood",
          "Euromaid - 60cm Fixed Rangehood - R60FW",
          "Omega - ORC97G - 90cm Wallmount Rangehood",
          "Portofino By Smeg - KPFA9WH - 90cm Wallmount Rangehood",
          "Sirius - SL80 BBQ 1200M - 120cm Alfresco BBQ Marine Grade Hood",
          "Euromaid - 90cm Canopy Rangehood - RPT9",
          "DeLonghi - DE60UM - 60cm Undermount  Rangehood",
          "Euromaid - UC52 - 52cm Integrated Rangehood",
          "Beko - BRH90CX - 90cm Slim Pyramid Rangehood",
          "Vax - VX92 - Cordless Reach ",
          "Beko - CWB 9503 X - 90cm Canopy Rangehood",
          "Electrolux - ERCE9025BA - 90cm Canopy Rangehood",
          "Sirius - SL906-L 850 - 85cm Undermount Rangehood",
          "Beko - HCB91845BX - 90cm T-Shape Rangehood",
          "DeLonghi - DEBETA90 - Canopy Range Hood",
          "Smeg - KT90BLA - 90cm Wallmount Rangehood",
          "Smeg - KT90PA - 90cm Wallmount Rangehood",
          "Falmec 60cm Siena+ 60 Under Cupboard Rangehood - FP3SN60S2",
          "Sirius - SLTC 97 900 - 90cm Black Canopy Rangehood",
          "Falmec 80cm Gruppo Incasso Under Cupboard Rangehood - F3GI80S1",
          "Omega - ORW9XA - 90cm Wallmount Rangehood",
          "Westinghouse - WRCG940SB - 90cm Stainless Steel/Glass Rangehood",
          "Falcon 80cm Undermount Rangehood - FALUC801",
          "Omega - ORF60X - 60cm Fixed Rangehood ",
          "Smeg - STH600X1 - 60cm Telescopic Rangehood",
          "Omega - ORT60X - 60cm Slide-out Rangehood",
          "Westinghouse - ULX150 - Universal Rangehood Ducting",
          "Falmec 90cm Siena+ 90 Under Cupboard Rangehood - FP3SN90S2",
          "Westinghouse - WRF913SA - 90cm Fixed Rangehood",
          "Portofino By Smeg - KPFA9AN - 90cm Wallmount Rangehood ",
          "DeLonghi - DEGAMA90 - Glass Canopy Range Hood",
          "Westinghouse - WRF610WA - 60cm Fixed Rangehood",
          "Asko - CW4934S - 90cm Wall Mounted Rangehood  ",
          "Omega - ORC94XBA - 90cm Canopy Rangehood",
          "Euromaid - RGT9 - 90cm Canopy Rangehood",
          "Beko - CWB 6403 X - 60cm Canopy Rangehood",
          "Smeg - MTK60X34 - 60cm Trim Kit",
          "Westinghouse WRR904SB - 90cm Slide Out Rangehood",
          "Westinghouse - WRJ903UW - White Fixed Rangehood",
          "Westinghouse WRC614SC - 60cm Canopy Rangehood",
          "Glem - CK90CGLB - 90cm Curved Gas Canopy Rangehood",
          "Smeg - STH900X1 - 90cm Telescopic Rangehood",
          "Neff Pan 21 cm - Z9453X0",
          "Smeg - SHW181X90 - 90cm Wallmount T Shape Rangehood",
          "Smeg - CK2000LED - 76cm Concealed Rangehood",
          "Westinghouse - WRF613SA - 60cm Fixed Rangehood",
          "Sirius - SL80 FRESCO 900 - 90cm Ducted Rangehood",
          "Sirius - EASYROOF-150M - 125-150mm Metal Roof Ducting Kit",
          "Blanco - ESSENTIAL U2 - 80cm Undermount Sink",
          "Sirius - SL22 900 - 90cm Canopy Rangehood",
          "Falcon 90cm Canopy Rangehood - FALHDCP90SC - Stainless Steel",
          "Euromaid - RFT9 - 90cm Flat Canopy Rangehood  ",
          "Falcon 100cm Undermount Rangehood - FALUC1002",
          "Asko - CO4927S - 90cm Slide Out Rangehood",
          "Westinghouse WRCG914BC - 90cm Canopy Rangehood",
          "Westinghouse WRI700SB - 71cm Integrated Rangehood",
          "Westinghouse WRR626SB - 60cm Slide Out Rangehood",
          "Glem - CK90SCF - 90cm Canopy Rangehood",
          "Smeg - KS90AEA - 90cm Wall Mount Rangehood",
          "Portofino By Smeg - KPFA9YW - 90cm Wallmount Rangehood",
          "Westinghouse WRR926SB - 90cm Slideout Rangehood",
          "Westinghouse WRR604SB - 60cm Slide Out Rangehood",
          "Tefal Jamie Oliver Mediterranean Wokpan - 30cm  ",
          "Westinghouse WRR914SB - 90cm Slideout Rangehood",
          "Smeg - SHU770X - 70cm Classis Undermount Rangehood",
          "Westinghouse - WRH908IW - White Slideout Rangehood",
          "Glem - CK60SCF - 60cm Canopy Rangehood",
          "Glem - CK52UCF - 52cm Under Cupboard Rangehood",
          "DeLonghi - DEBETA70 - Canopy Range Hood",
          "Falmec 60cm Gruppo Incasso NRS Rangehood - F3GN60S1",
          "Inalto - ASL60DR2S - 60cm Slide-out Rangehood",
          "Fisher & Paykel - HS60LXW4 - 60cm Built-in Telescopic Slideout Rangehood",
          "Portofino By Smeg - KPFA9YX - 90cm Wallmount Rangehood",
          "Sirius - SL22 900B - 90cm Canopy Rangehood",
          "DeLonghi 90cm Slideout Stainless Steel Rangehood - TA90SS  ",
          "Sirius - SL906- L520 - 52cm Undermount Rangehood",
          "Omega - ORT9WXA - 90cm Slide Out Rangehood",
          "Beko - BRH60TW - 60cm Stainless Steel Telescopic Rangehood",
          "Unilux - Extension Drain Hose - ULX106",
          "DeLonghi - DEBETA60 - Canopy Range Hood ",
          "Euromaid - RS6S - 60cm Slideout Rangehood",
          "Omega ORT91X - 90cm Slide-Out Rangehood",
          "Westinghouse WRC924SC - 90cm Canopy Rangehood",
          "Sirius - EASYEAVE-150 - 125-150mm Under Eave Ducting Kit",
          "Westinghouse WRC914SC - 90cm Canopy Rangehood",
          "Euromaid - RGT6 - 60cm Canopy Rangehood",
          "Smeg - CPRA115B - 60cm Linea Warming Drawer - White",
          "Beko - BRH52UX - 52cm Undermount Rangehood",
          "Beko - CTB 6250 XA - 60 cm Retractable Rangehood",
          "DeLonghi - DE90UM - 90cm Undermount Rangehood ",
          "Sirius - SL83 FRESCO 1500 - 150cm Alfresco BBQ Rangehood",
          "Fisher & Paykel - HS90X4 - 90cm Built-in Telescopic Slideout Rangehood",
          "Westinghouse - WRJ900UW - White Fixed Rangehood",
          "DeLonghi - DETHALASA90B - Glass Canopy RangeHood",
          "Asko - CC4927S - 86cm Concealed Rangehood",
          "Falmec 90cm Siena+ 90 Deep Under Cupboard Rangehood - FP3SND90S2 ",
          "Smeg - SHU670X - 60cm Undermount Rangehood",
          "Smeg - SA940CXA - 90cm Wallmount Rangehood",
          "Westinghouse WRI814BB - 80cm Integrated Rangehood",
          "Asko - CC4727S - 77cm Concealed Rangehood",
          "Falcon 90cm Canopy Rangehood - FALHDCP90BC - Black",
          "Westinghouse WRR614SB - 60cm Slideout Rangehood",
          "Beko - CCB 5140 XA - 52cm Undermount Rangehood",
          "Euromaid - IRI9WE3 - 90cm Integrated Rangehood",
          "DeLonghi - TAFR60S - 60cm Front Slide Out Rangehood",
          "Blanco - ESSENTIAL U1/5 - 80cm Undermount Sink",
          "Falmec 60cm Gruppo Incasso Under Cupboard Rangehood - F3GI60S1",
          "Smeg - SHW181X60 - 60cm Wallmount T Shape Rangehood",
          "Smeg - SHW910X1 - 90cm Wallmount Rangehood",
          "Omega - ORT6WXA - 60cm Slide-out Rangehood",
          "Sirius - SM924-780 White - 78cm Undermount Rangehood",
          "DeLonghi - DESIGMA901 - 90cm Canopy Rangehood",
          "Smeg - SA5502X90 - 90cm Retractable Rangehood",
          "Westinghouse - WRF610SA - 60cm Fixed Rangehood",
          "Westinghouse WRI824BB - 86cm Integrated Rangehood",
          "Euromaid - RFT6 - 60cm Flat Canopy Rangehood",
          "Sirius - SL107 S 1200 - 1200mm Canopy Rangehood",
          "Westinghouse - WRJ900US - Stainless Steel Fixed Rangehood",
          "Asko - CO4627S - 60cm Slide Out Rangehood",
          "Sirius - SM924-520 White - 52cm Undermount Rangehood",
          "Glem - CK85UCF - 85cm Under Cupboard Rangehood",
          "Falmec 90cm Luce Wall Mount Rangehood - F5LC90B1",
          "Falmec 90cm Lumina NRS® Wall Canopy Rangehood - F5LA90B1",
          "Smeg - CPS115N - 60cm Linea Sommelier Drawer - Black",
          "Beko - BRH60CX - 60cm Slim Pyramid Rangehood",
          "DeLonghi - TA60SS - 60cm Slideout Rangehood",
          "Portofino By Smeg - KPFA9BL - 90cm Wallmount Rangehood",
          "Asko - CC4525S - 52cm Concealed Rangehood ",
          "Beko - CWB 9403 X - 90cm Canopy Rangehood",
          "Sirius - SM923-850 - 85cm Undermount Rangehood",
          "Euromaid - 60cm Fixed Rangehood - R60FS",
          "Portofino By Smeg - KPFA9RD - 90cm Wallmount Rangehood",
          "Portofino By Smeg - KPFA9OR - 90cm Wallmount Rangehood",
          "Portofino By Smeg - KPFA9OG - 90cm Wallmount Rangehood",
          "Westinghouse - WRJ603UW - White Fixed Rangehood",
          "Sirius - EASYROOF-150T - 125-150mm Tiled Roof Ducting Kit",
          "Smeg - CPS115S - 60cm Linea Sommelier Drawer - Silver",
          "Westinghouse - WRF910WA - 90cm Fixed Rangehood",
          "Smeg - SHW181X70 - 70cm Wallmount T Shape Rangehood",
          "Glem - CK90LBF - 90cm Canopy Rangehood",
          "Inca- I1004M - 4-Section Monopod ",
          "Westinghouse - WRJ611US - Stainless Steel Fixed Rangehood",
          "Omega - ORU50X - 52cm Undermount Rangehood",
          "Smeg - STK60X34D - 60cm Trim Kit",
          "Omega ORU70XL - 70cm Undermount Rangehood",
          "Omega ORT61X - 60cm Slide-Out Rangehood",
          "Inalto - ARBC90TPS - 90cm Box Canopy Rangehood",
          "Electrolux - ERC930SA - 90cm Canopy Rangehood",
          "Electrolux - ERC926BA - 90cm Canopy Rangehood",
          "Westinghouse - WRJ911US - Stainless Steel Fixed Rangehood",
          "Sirius - SLTC 107 G900 - 90cm Black Glass Canopy Rangehood",
          "Smeg - SHU970X - 90cm Undermount Rangehood",
          "Sirius - SM923-520 - 52cm Undermount Rangehood",
          "Westinghouse - WRCG933SB - 90cm Stainless Steel and Glass Canopy ",
          "Westinghouse WRC904SC - 90cm Canopy Rangehood",
          "Westinghouse - WRH608IW - White Retractable Rangehood",
          "Westinghouse - WRR614SA - 60cm Slideout Recirculating Rangehood",
          "Omega - ORC93XA - 90cm Canopy Rangehood",
          "Omega - ORW6XA - 60cm Canopy Rangehood",
          "Electrolux - ERC925DSD - 90cm Canopy Rangehood",
          "Falmec 60cm Lumen Wall Canopy Rangehood - F5LM60S1",
          "Falmec 80cm Gruppo Incasso NRS Under Cupboard Rangehood - F3GN80S1",
          "Westinghouse - WRF910SA - 90cm Fixed Rangehood"
         ],
         "type": "scatter",
         "x": [
          -0.10911305248737335,
          -0.06717752665281296,
          -0.1749965250492096,
          -0.08246346563100815,
          -0.10828057676553726,
          -0.07786041498184204,
          -0.09801965951919556,
          -0.14320555329322815,
          -0.09185496717691422,
          -0.09912014752626419,
          0.062138427048921585,
          -0.10958977043628693,
          -0.14383360743522644,
          0.02267298847436905,
          -0.1093684509396553,
          -0.02551879733800888,
          -0.11951839178800583,
          -0.10842233896255493,
          -0.11861986666917801,
          0.05103546380996704,
          -0.18223130702972412,
          -0.05698031932115555,
          -0.2086394727230072,
          -0.12506166100502014,
          -0.09745105355978012,
          -0.010307013988494873,
          -0.060554735362529755,
          -0.06880949437618256,
          -0.11007329821586609,
          -0.19281437993049622,
          -0.09530920535326004,
          -0.07630489021539688,
          -0.23218703269958496,
          -0.10323666036128998,
          -0.07340588420629501,
          -0.10305429995059967,
          -0.12441965192556381,
          -0.12463817000389099,
          -0.19317489862442017,
          -0.13227578997612,
          -0.22090238332748413,
          -0.20171323418617249,
          0.010723114013671875,
          -0.06605575233697891,
          -0.11438028514385223,
          -0.10810451209545135,
          -0.23000654578208923,
          -0.006843723356723785,
          0.0765833631157875,
          -0.07487382739782333,
          0.001769915223121643,
          -0.1433890014886856,
          -0.11009494215250015,
          -0.10726732015609741,
          -0.0837310403585434,
          -0.19789308309555054,
          -0.17099039256572723,
          -0.24883365631103516,
          -0.11901507526636124,
          -0.10259503871202469,
          -0.10356929153203964,
          -0.2001430094242096,
          -0.21074900031089783,
          -0.06520535051822662,
          -0.19870440661907196,
          -0.08939474076032639,
          -0.12120907008647919,
          -0.1408722698688507,
          -0.17824390530586243,
          -0.03276889771223068,
          -0.13532587885856628,
          -0.05736786872148514,
          -0.06180310249328613,
          -0.08851370960474014,
          0.0035629719495773315,
          -0.11690648645162582,
          0.03603660315275192,
          -0.039064921438694,
          -0.10853595286607742,
          -0.09539000689983368,
          -0.03514193743467331,
          -0.08998148888349533,
          -0.042330704629421234,
          -0.16314956545829773,
          0.06825438886880875,
          -0.15108421444892883,
          -0.13472041487693787,
          -0.2227514386177063,
          -0.1165258064866066,
          -0.12793730199337006,
          -0.12860819697380066,
          -0.1135546937584877,
          -0.040658436715602875,
          -0.10872499644756317,
          -0.08385337889194489,
          -0.11582227796316147,
          -0.12345095723867416,
          -0.11000556498765945,
          -0.12081824988126755,
          -0.21511903405189514,
          -0.09137921035289764,
          -0.06738239526748657,
          -0.1946815848350525,
          -0.08303720504045486,
          -0.11810874938964844,
          -0.10577236860990524,
          -0.10919227451086044,
          -0.1817607879638672,
          -0.1215384304523468,
          -0.10214140266180038,
          -0.07347872108221054,
          0.02547229453921318,
          -0.10015787929296494,
          -0.13504067063331604,
          -0.2063315361738205,
          -0.212251216173172,
          -0.14063817262649536,
          0.07295747101306915,
          -0.12737634778022766,
          -0.11426439136266708,
          0.048141200095415115,
          -0.1895589828491211,
          -0.122296042740345,
          -0.09124461561441422,
          -0.1306406855583191,
          -0.11059374362230301,
          -0.08933433145284653,
          -0.10282181948423386,
          -0.09223897755146027,
          -0.10636429488658905,
          0.03904517740011215,
          -0.17892584204673767,
          -0.09602335840463638,
          -0.10203579813241959,
          -0.08578408509492874,
          -0.15260887145996094,
          0.0723818987607956,
          -0.16301289200782776,
          -0.16890624165534973,
          -0.12034352868795395,
          -0.132132887840271,
          0.07743747532367706,
          -0.17328591644763947,
          -0.05668462812900543,
          -0.15007257461547852,
          -0.06927656382322311,
          -0.051933713257312775,
          -0.06214561313390732,
          -0.09250117093324661,
          -0.10151826590299606,
          -0.1372835636138916,
          0.049108993262052536,
          -0.03497307002544403,
          0.03873743116855621,
          -0.21541330218315125,
          -0.17127832770347595,
          -0.17770743370056152,
          -0.1622113287448883,
          -0.061631910502910614,
          -0.09101960062980652,
          -0.08701395243406296,
          -0.11577611416578293,
          -0.15054863691329956,
          -0.1563808023929596
         ],
         "y": [
          -0.030932579189538956,
          -0.029784811660647392,
          0.027816124260425568,
          0.052649639546871185,
          -0.08360043913125992,
          -0.045878976583480835,
          -0.03196711838245392,
          -0.05299531668424606,
          0.04459553584456444,
          -0.09865463525056839,
          -0.1411275714635849,
          -0.10385097563266754,
          -0.08891429007053375,
          0.00433732196688652,
          -0.08769159018993378,
          -0.22036568820476532,
          -0.05234626680612564,
          -0.024557996541261673,
          0.02373792603611946,
          -0.046569906175136566,
          -0.06808333098888397,
          0.022671028971672058,
          0.09104150533676147,
          -0.06828781217336655,
          0.06325268745422363,
          0.03882686793804169,
          0.048787131905555725,
          0.028633899986743927,
          -0.009923048317432404,
          0.019307877868413925,
          -0.10233355313539505,
          -0.13443908095359802,
          0.05487079545855522,
          0.043707482516765594,
          -0.022086724638938904,
          0.025693487375974655,
          -0.09498623013496399,
          0.043080154806375504,
          0.035734135657548904,
          -0.06229591742157936,
          0.07291960716247559,
          0.03627737611532211,
          0.021922629326581955,
          0.006797716021537781,
          0.06338831037282944,
          0.024806322529911995,
          0.055399008095264435,
          -0.06310493499040604,
          -0.1157476007938385,
          -0.11366599798202515,
          -0.03957836329936981,
          0.007869943976402283,
          -0.026980169117450714,
          -0.08894909918308258,
          0.026954572647809982,
          0.0025216713547706604,
          0.02852417342364788,
          0.06952587515115738,
          -0.014946404844522476,
          0.004249103367328644,
          -0.08897091448307037,
          -0.007747948169708252,
          0.07206973433494568,
          -0.06833209097385406,
          -0.005375593900680542,
          -0.025177577510476112,
          -0.02030133455991745,
          0.008161235600709915,
          -0.005185812711715698,
          -0.22843575477600098,
          -0.04049982875585556,
          -0.01085873693227768,
          0.09723171591758728,
          -0.08334717154502869,
          -0.06124574691057205,
          -0.01900343783199787,
          -0.0316755548119545,
          0.03378782793879509,
          -0.011228280141949654,
          -0.08610940724611282,
          -0.2207583785057068,
          0.08828114718198776,
          0.03131147474050522,
          0.03162886202335358,
          -0.12278661876916885,
          0.025520838797092438,
          0.05916222184896469,
          -0.01952957548201084,
          -0.1358606219291687,
          -0.06886325776576996,
          -0.08429090678691864,
          -0.0870092362165451,
          0.05227697640657425,
          -0.061825841665267944,
          -0.11976080387830734,
          0.021537862718105316,
          -0.010642167180776596,
          0.06008228659629822,
          0.07752605527639389,
          -0.003437139093875885,
          -0.03673719987273216,
          -0.05585756525397301,
          0.06049010902643204,
          -0.09764016419649124,
          0.01655445247888565,
          -0.025441385805606842,
          -0.08538412302732468,
          -0.024435043334960938,
          0.10824069380760193,
          0.07491930574178696,
          0.052890531718730927,
          -0.042432017624378204,
          -0.10595052689313889,
          0.04763197898864746,
          0.06224878504872322,
          0.021001309156417847,
          0.01104302704334259,
          -0.06061704456806183,
          -0.03353698551654816,
          0.03277970850467682,
          -0.043792497366666794,
          0.03334983065724373,
          -0.03969322144985199,
          -0.07511790096759796,
          0.0033264290541410446,
          -0.09414307773113251,
          -0.04297507554292679,
          -0.12033894658088684,
          -0.027241751551628113,
          -0.11421047896146774,
          -0.025494810193777084,
          0.04259846732020378,
          -0.09722989797592163,
          -0.10211142897605896,
          -0.07960008084774017,
          -0.06136306747794151,
          -0.10589036345481873,
          0.006799470633268356,
          0.028582099825143814,
          0.08364031463861465,
          -0.02977461740374565,
          -0.06955909729003906,
          -0.03352486342191696,
          -0.007101304829120636,
          0.07409968972206116,
          0.02770836651325226,
          0.0853012278676033,
          -0.10400911420583725,
          -0.013580575585365295,
          -0.10929593443870544,
          -0.0595117062330246,
          0.02221084199845791,
          0.040435802191495895,
          -0.04737538844347,
          0.049494195729494095,
          0.04857046529650688,
          -0.037539057433605194,
          0.06731440126895905,
          0.026254378259181976,
          0.02527686208486557,
          -0.08335858583450317,
          -0.0037651285529136658,
          -0.059715431183576584,
          0.04302704706788063
         ]
        },
        {
         "marker": {
          "color": 19,
          "size": 5
         },
         "mode": "markers",
         "name": "14",
         "text": [
          "Norton 360 Standard - 3 Devices, 1 Year",
          "Microsoft 365 Business Standard - 12-Month Subscription, 1 Person ",
          "Speck - Presidio Clear MacBook Pro 2016 13\" Case ",
          "21.5\" iMac 2.3GHz 1TB ",
          "Adobe - Acrobat Pro 17 Windows - Commercial Edition - Digital Delivery",
          "Adobe - Acrobat Pro 17 Mac - Commercial Edition - Digital Delivery",
          "Adobe - Creative Cloud Photography Plan - Commercial - Digital Delivery ",
          "Adobe - Photoshop Elements 2020 & Premiere Elements 2020 - Mac - Digital Delivery",
          "Apple AirPods  ",
          "Apple 85W MagSafe 2 Power Adapter",
          "Adobe - Photoshop Elements 2020 - Windows - Digital Delivery",
          "Apple AirPods with Charging Case (2nd Gen) - MV7N2ZA/A",
          "Microsoft Office Home & Student 2019 - One-time purchase - 1 PC/Mac",
          "Microsoft Office Home & Business 2019 - One-time purchase - 1 PC/Mac",
          "Microsoft 365 Family | 12-Month Subscription, Up to 6 people",
          "Apple AirPods with Wireless Charging Case - MRXJ2ZA/A ",
          "Apple 45W MagSafe 2 Power Adapter",
          "Apple 12W USB Power Adapter",
          "Norton 360 Standard - 2 Devices, 1 Year",
          "Speck - MacBook Air 13\" SeeThru Case - Clear",
          "Norton 360 Standard - 1 Device, 1 Year",
          "Adobe - Creative Cloud Photography Plan - Digital Delivery",
          "Adobe - Acrobat Pro DC 12 Months  - Digital Delivery",
          "Adobe - Photoshop Elements 2020 - Mac - Digital Delivery ",
          "Adobe - Premiere Elements 2020 - Mac - Digital Delivery",
          "Adobe - Premiere Elements 2020 - Windows - Digital Delivery",
          "Apple Pencil for iPad Pro",
          "Apple Wireless Charging Case for AirPods - MR8U2ZA/A ",
          "Apple - iPad Camera Connection Kit ",
          "Apple Magic Trackpad 2",
          "Apple AirPods Pro",
          "Microsoft 365 Personal | 12-Month Subscription, for 1 Person",
          "Adobe - Photoshop Elements 2020 & Premiere Elements 2020 - Windows - Digital Delivery",
          " Apple Pencil (2nd Generation) - MU8F2ZA/A  ",
          "Apple - 60W MagSafe 2 Power Adapter",
          "Norton 360 Standard - 5 Devices, 1 Year",
          "Apple - MD837AM/A - World Travel Adapter Kit"
         ],
         "type": "scatter",
         "x": [
          0.14959046244621277,
          0.19227510690689087,
          0.14804452657699585,
          0.24004694819450378,
          0.22306093573570251,
          0.22346970438957214,
          0.21648971736431122,
          0.2435539811849594,
          0.4050995111465454,
          0.20518198609352112,
          0.22517886757850647,
          0.3080950677394867,
          0.27497103810310364,
          0.2571772634983063,
          0.15571559965610504,
          0.3342170715332031,
          0.22609031200408936,
          0.2947750687599182,
          0.1582452356815338,
          0.13636748492717743,
          0.14220616221427917,
          0.22569513320922852,
          0.21839210391044617,
          0.22205954790115356,
          0.23934951424598694,
          0.24293400347232819,
          0.31962496042251587,
          0.2991816997528076,
          0.3125963807106018,
          0.3152003288269043,
          0.4112440347671509,
          0.20507782697677612,
          0.24707967042922974,
          0.18394239246845245,
          0.20206919312477112,
          0.15269455313682556,
          0.24108994007110596
         ],
         "y": [
          -0.014502391219139099,
          -0.009254410862922668,
          0.0176391564309597,
          0.22133998572826385,
          -0.026754247024655342,
          -0.03712272271513939,
          -0.06130877882242203,
          0.0025138575583696365,
          -0.15578699111938477,
          0.0027077775448560715,
          -0.037514179944992065,
          -0.06971888989210129,
          0.024512682110071182,
          0.023919913917779922,
          0.04387306049466133,
          -0.1895909309387207,
          -0.007154889404773712,
          -0.0024882201105356216,
          -0.01569821685552597,
          -0.0046670325100421906,
          0.0002747001126408577,
          -0.056229118257761,
          -0.09861086308956146,
          -0.03839488327503204,
          -0.03953191265463829,
          -0.04432488977909088,
          0.04521481320261955,
          -0.12488788366317749,
          0.01510564424097538,
          -0.024929724633693695,
          -0.14026379585266113,
          -0.006173852831125259,
          0.00012675859034061432,
          -0.004676885902881622,
          0.02315441519021988,
          0.017306290566921234,
          -0.08102281391620636
         ]
        },
        {
         "marker": {
          "color": 20,
          "size": 5
         },
         "mode": "markers",
         "name": "15",
         "text": [
          "Breville - LAP300WHT - the Smart Air Purifier",
          "Breville - BES500BSS - the Bambino™ Plus - Brushed Stainless Steel",
          "Breville - BTA735BSS - the Toast Select™ Luxe - Silver Pearl",
          "Breville BodyZone Connect King Quilted Fitted Heated Blanket ",
          "Breville - the Oracle® Touch - BES990BSS",
          "Breville - LAP150WHT - the Easy Air Purifier",
          "Breville - MS400D - the Shake Creation™",
          "Breville - BKE840CLR - the Smart Kettle - Clear ",
          "Breville - BOV860BSS - the Smart Oven™ Air Fryer",
          "Breville - BGR840BSS - the Smart Grill™ Pro",
          "Breville - BCG200 - the Coffee & Spice™",
          "Breville - BES003 - the Temp Control™ Milk Jug",
          "Breville - BES009CLR - Eco Liquid Descaler",
          "Breville - BES015CLR - Espresso Detox Pack",
          "Breville - BDF500 - the Smart Fryer™",
          "Breville - BSC560 - the Flavour Maker™ ",
          "Breville - BES878BTR - the Barista Pro™",
          "Breville - BMF600 - The Milk Café™",
          "Breville - BFP100 - Mini Wizz",
          "Breville - BJE200 - Juice Fountain™",
          "Breville - BSG540 - ikon™ 4 Slice Sandwich Press ",
          "Breville the Barista Express™ Coffee Machine - BES870",
          "Breville - BES010CLR - 1L Eco Liquid Descaler",
          "Breville - BKE735DBL - the Soft Top® Luxe - Damson Blue",
          "Breville - BBL620SIL/V - the Fresh & Furious® Blender",
          "Breville - BES878BSS - the Barista Pro™",
          "Breville - BFP680BAL - the Kinetix Wizz™ 11 Plus",
          "Breville - BTM800 - Tea Maker & Kettle",
          "Breville BodyZone Connect Queen Quilted Fitted Heated Blanket ",
          "Breville - BES011CLR - Eco Milk Frother Cleaner",
          "Breville - the Smoking Gun™ Woodchips - BSM600AWC",
          "Breville - LMC600GRY - Multi Chef Multicooker 9 in 1",
          "Breville - BCI600 - the Smart Scoop™ Ice Cream Maker ",
          "Breville - BWM520BSS - the No-Mess Waffle™",
          "Breville - BKE735BTR - the Soft Top ® Luxe - Black Truffle ",
          "Breville - BGR710BSS - the Sear & Press Grill",
          "Breville - BTA435BSS - the 'Bit More' Plus",
          "Breville - BRC600 - the Multi Chef™",
          "Breville - BKE395 - the Compact Kettle™ Pure",
          "Breville - BEC660CRO - Citiz & Milk - Chrome",
          "Breville - LEG250GRY - the Light and Fluffy",
          "Breville - LBM200BSS - The Bread Baker ",
          "Breville - LAP030WHT - 3-Layer Filter",
          "Breville - BES012CLR - Eco Coffee Residue Cleaning Tablets",
          "Breville - BWF100 - 6 Water Filters ",
          "Breville - BOV650CB - Bamboo Cutting Board",
          "Breville - BES001BTR - the Knock Box Mini - Black",
          "Breville - BJE410 - Juice Fountain™ Max",
          "Breville - BOV850BSS - the Smart Oven™ Pro - Stainless  ",
          "Breville - LAP015WHT - 3-Layer Filter",
          "Breville - BNE900BSS - Creatista Pro",
          "Breville - LAH400WHT - the Smart Mist™ Air Humidifier",
          "Breville - LTS425GRY - the Power Toastie",
          "Breville - BFP800 - Kitchen Wizz™ Pro",
          "Breville - BKE735BSS - the Soft Top® Luxe - Silver Pearl  ",
          "Breville - BMO734BB - the Chopping Board™",
          "Breville - LSP200BSS - the Salt & Pepper Mills™ ",
          "Breville Bench Saver Tamp Mat - BES035BLK",
          "Breville - BMO700BSS - the Quick Touch™ Crisp",
          "Breville - BTA845 - the Smart Toast™",
          "Breville - BTA735DBL - the Toast Select™ Luxe - Damson Blue",
          "Breville - LAP500WHT - the Smart Air Plus Purifier",
          "Breville - BKE750CLR - the Crystal Clear",
          "Breville - the Perfect Press™ - BSG600BSS ",
          "Breville - BES048BTR - the Milk Jug",
          "Breville - BMO735CRN - the Quick Touch™ - Cranberry",
          "Breville - BES880BSS - the Barista Touch™",
          "Breville - LAP050WHT - 3-Layer Filter",
          "Breville - BJE830SIL - the Juice Fountain® Cold XL  - Silver ",
          "Breville - BES920 - the Dual Boiler™  ",
          "Breville the Dynamic Duo™ Manual Coffee Machine & Grinder - BEP920BSS  ",
          "Breville - LSC650BSS - the Searing Slow Cooker",
          "Breville - BEP920BKS - the Dynamic Duo™ - Black Sesame",
          "Breville - 800CP - 800 Class™ Citrus Press",
          "Breville - BCG600SIL - the Dose Control™ Pro",
          "Breville - BES880BTR - the Barista Touch™",
          "Breville - BSC500 - The Flavour Maker",
          "Breville - BTS100 - The Big One",
          "Breville - URN6 - 6 Litre Urn",
          "Breville - BSG220 - Toast & Melt™",
          "Breville - BES001BSS - the Knock Box™ Mini",
          "Breville - BTA830 - the Smart Toast",
          "Breville - BMO735BSS - the Quick Touch™ - Stainless",
          "Breville - BTA825 - the Smart Toast™",
          "Breville - BWM250 - the Crisp Control™",
          "Breville - BES013CLR - Eco Coffee Residue Cleaner 40Pk",
          "Breville - BTA320 - Toaster",
          "Breville - BEC250 - Espresso Machine Cleaning Tablets",
          "Breville - BRC460 - The Rice Box™ Cooker",
          "Breville - BBL820 - The Q™",
          "Breville - BFP005 - the Dicing Kit",
          "Breville - BCB100 - Bar Vista Coffee Grinds Bin",
          "Breville - BPB001 - the Boss To Go Chill Cup ",
          "Breville - BFP560SIL - the Kitchen Wizz 8",
          "Breville - the Thermal Pro Stainless™ - BEF560BSS",
          "Breville - BHM800SHY - the Handy Mix Scraper™",
          "Breville - BES008WHT - Claris Swiss Filter",
          "Breville - BSM600SIL - the Smoking Gun",
          "Breville - BTA440BSS - the 'Bit More' Plus",
          "Breville the Smart Grinder Pro™ - BCG820BSS",
          "Breville - the Boss™ - BBL915BAL",
          "Breville - BKE735SST - the Soft Top® Luxe - Sea Salt",
          "Breville - BNE800BTR - Creatista Plus ",
          "Breville - BTA735BTR - the Toast Select ™ Luxe - Black Truffle",
          "Breville - BSG1974 - the Original '74™",
          "Breville - BJE530BSS - the Juice Fountain® Cold Plus - Brushed Stainless Steel",
          "Breville the 3X Bluicer Pro - Blend, Juice Or Bluice - BJB815BSS ",
          "Breville - BJE830BTR - the Juice Fountain® Cold XL",
          "Breville - BJE830BSS - the Juice Fountain® Cold XL - Brushed Stainless Steel",
          "Breville - BES030BSS - the Bean Keeper Coffee Canister",
          "Breville - BMO625 - Quick Touch Compact - Silver ",
          "Breville Aroma Style Electronic Coffee Machine - BCM600",
          "Breville - BFP820BAL - the Kitchen Wizz® Peel & Dice",
          "Breville - BEC220BLK - Essenza Mini Solo - Pure Black",
          "Breville - BEW300 - HealthSmart® Wok",
          "Breville - BKE825 - the Smart Kettle™",
          "Breville - LHM150SIL - the Handy Mix & Store™",
          "Breville - BGR250 - Healthsmart™ Grill & Press",
          "Breville Creatista Plus - BNE800SST - Sea Salt",
          "Breville - BOV860BTR - The Smart Oven™ Air Fryer",
          "Breville - BPR700BSS - the Fast Slow Pro",
          "Breville - BJE530DBL - the Juice Fountain® Cold Plus - Damson Blue",
          "Breville the Oracle™ Manual Espresso Coffee Machine BES980BSS ",
          "Breville - LAH300WHT - The Easy Mist™ Humidifier",
          "Breville - BTA845MIN - the Smart Toast™ - Mint",
          "Breville Nespresso Creatista Plus - BNE800BSS",
          "Breville - BBL925BSS - the Super Q and Vac Q Bundle",
          "Breville - BJS700SIL - the Big Squeeze ",
          "Breville - BTA735SST - the Toast Select­™ Luxe - Sea Salt",
          "Breville - LKT640BSS - the Breakfast Pack™",
          "Breville the Barista Express™ Black Sesame - BES870BKS "
         ],
         "type": "scatter",
         "x": [
          -0.04760119318962097,
          -0.05238969624042511,
          -0.04091093689203262,
          -0.08344200253486633,
          0.1507294625043869,
          -0.11247644573450089,
          -0.01650311052799225,
          -0.13950639963150024,
          -0.24569737911224365,
          -0.08598098903894424,
          -0.08587929606437683,
          -0.06821482628583908,
          -0.09010966122150421,
          -0.05256321281194687,
          -0.08650009334087372,
          -0.12691721320152283,
          -0.012386202812194824,
          -0.05138295143842697,
          -0.07527507841587067,
          -0.02603428065776825,
          -0.09044507145881653,
          -0.06885413825511932,
          -0.1335776150226593,
          0.007354713976383209,
          -0.10829419642686844,
          -0.014351122081279755,
          -0.04872560501098633,
          -0.11690576374530792,
          -0.07404978573322296,
          -0.12900757789611816,
          -0.10775056481361389,
          -0.2552056610584259,
          -0.1109347864985466,
          -0.11764051765203476,
          -0.006323650479316711,
          -0.19913151860237122,
          -0.05038149654865265,
          -0.21372589468955994,
          -0.1320418119430542,
          -0.033236704766750336,
          -0.08144202083349228,
          -0.16628862917423248,
          -0.025227636098861694,
          -0.07094644755125046,
          -0.09046988189220428,
          -0.07906129211187363,
          0.02993670105934143,
          -0.00274764746427536,
          -0.21393540501594543,
          -0.006985768675804138,
          0.015267394483089447,
          -0.06511573493480682,
          -0.09307901561260223,
          -0.23182660341262817,
          -0.022388100624084473,
          -0.09315048903226852,
          -0.0960455909371376,
          -0.11904904991388321,
          0.024739928543567657,
          -0.021749399602413177,
          -0.03201548755168915,
          -0.008192561566829681,
          -0.03469301760196686,
          -0.04517973214387894,
          -0.08927195519208908,
          0.006631150841712952,
          0.031992584466934204,
          -0.005112200975418091,
          -0.0990600436925888,
          -0.14457528293132782,
          -0.07837674021720886,
          -0.2944539785385132,
          0.051948606967926025,
          -0.015973709523677826,
          0.014153249561786652,
          0.035990357398986816,
          -0.11598853021860123,
          -0.047114297747612,
          -0.10347829014062881,
          -0.0937262624502182,
          0.02001534402370453,
          -0.06077997386455536,
          -0.02638740837574005,
          -0.043958812952041626,
          0.011731661856174469,
          -0.13066452741622925,
          -0.16724255681037903,
          -0.10404171794652939,
          -0.24092835187911987,
          -0.024970486760139465,
          -0.0706566721200943,
          -0.12240300327539444,
          -0.08509612083435059,
          -0.24963393807411194,
          -0.13346940279006958,
          -0.04226110875606537,
          -0.01680576056241989,
          -0.09947892278432846,
          -0.05143394321203232,
          -0.05558733269572258,
          -0.02581271529197693,
          -0.044894345104694366,
          -0.027663931250572205,
          -0.024630427360534668,
          -0.0595383420586586,
          -0.11289294809103012,
          0.01484081894159317,
          -0.10425455123186111,
          -0.13897612690925598,
          -0.13235656917095184,
          -0.023787416517734528,
          -0.11738806962966919,
          -0.28076043725013733,
          -0.00832880288362503,
          -0.07007384300231934,
          -0.1090141162276268,
          -0.006916500627994537,
          -0.15305715799331665,
          -0.028073884546756744,
          -0.2341509461402893,
          0.03701521456241608,
          -0.04139803349971771,
          -0.04619409143924713,
          -0.13019618391990662,
          -0.026743464171886444,
          -0.045830562710762024,
          -0.03368986397981644,
          -0.07237045466899872,
          -0.06162139028310776,
          -0.07420502603054047,
          -0.036812521517276764
         ],
         "y": [
          -0.13733133673667908,
          -0.21487298607826233,
          -0.2036685049533844,
          -0.12777499854564667,
          -0.20195111632347107,
          -0.19621595740318298,
          -0.23712952435016632,
          -0.14878299832344055,
          -0.05752990022301674,
          -0.04870007187128067,
          -0.2666502892971039,
          -0.27162110805511475,
          -0.2574765384197235,
          -0.28072425723075867,
          -0.18467672169208527,
          -0.2511664628982544,
          -0.3082219958305359,
          -0.2727120518684387,
          -0.23878957331180573,
          -0.28328225016593933,
          -0.045792266726493835,
          -0.23886746168136597,
          -0.21562239527702332,
          -0.25019100308418274,
          -0.257805198431015,
          -0.28950977325439453,
          -0.21503344178199768,
          -0.24947890639305115,
          -0.11936366558074951,
          -0.23374560475349426,
          -0.2171819806098938,
          -0.06181151419878006,
          -0.1923348605632782,
          -0.2587529718875885,
          -0.2237500697374344,
          -0.13026991486549377,
          -0.24501608312129974,
          -0.22799503803253174,
          -0.21991336345672607,
          -0.1833907514810562,
          -0.2623423635959625,
          -0.24918049573898315,
          -0.2105262279510498,
          -0.2046821266412735,
          -0.15909254550933838,
          -0.20022127032279968,
          -0.2971803843975067,
          -0.2327115386724472,
          -0.047494374215602875,
          -0.20808222889900208,
          -0.22732649743556976,
          -0.11852619051933289,
          -0.20182952284812927,
          -0.17381829023361206,
          -0.20117995142936707,
          -0.26801222562789917,
          -0.2351359724998474,
          -0.2590664029121399,
          -0.24122634530067444,
          -0.17517098784446716,
          -0.23968055844306946,
          -0.13272932171821594,
          -0.19998428225517273,
          -0.1615530550479889,
          -0.2737763524055481,
          -0.25514575839042664,
          -0.27431684732437134,
          -0.21392467617988586,
          -0.19817084074020386,
          -0.15424731373786926,
          -0.17584896087646484,
          -0.1322307288646698,
          -0.24699386954307556,
          -0.22082799673080444,
          -0.23368269205093384,
          -0.29594722390174866,
          -0.25592073798179626,
          -0.1800626814365387,
          -0.13481615483760834,
          -0.15722624957561493,
          -0.2822487950325012,
          -0.18961510062217712,
          -0.20403359830379486,
          -0.1820264309644699,
          -0.2274157702922821,
          -0.1900978535413742,
          -0.2560461163520813,
          -0.18617460131645203,
          -0.20076021552085876,
          -0.20623351633548737,
          -0.2844651937484741,
          -0.23400437831878662,
          -0.3129381537437439,
          -0.09765929728746414,
          -0.19540175795555115,
          -0.24092839658260345,
          -0.28655099868774414,
          -0.24138620495796204,
          -0.25289809703826904,
          -0.12531286478042603,
          -0.32314348220825195,
          -0.18371587991714478,
          -0.2845528721809387,
          -0.2170531302690506,
          -0.08284702152013779,
          -0.1574820876121521,
          -0.23827305436134338,
          -0.21508488059043884,
          -0.15025141835212708,
          -0.2619158923625946,
          -0.22449839115142822,
          -0.2055976390838623,
          -0.18664336204528809,
          -0.20181596279144287,
          -0.19253884255886078,
          -0.16607390344142914,
          -0.19504354894161224,
          -0.14651915431022644,
          -0.2373044639825821,
          -0.096550852060318,
          -0.24181881546974182,
          -0.2386837601661682,
          -0.13786771893501282,
          -0.20821541547775269,
          -0.21242301166057587,
          -0.23939800262451172,
          -0.11732862144708633,
          -0.21960723400115967,
          -0.18422046303749084,
          -0.20495906472206116,
          -0.26513248682022095
         ]
        },
        {
         "marker": {
          "color": 21,
          "size": 5
         },
         "mode": "markers",
         "name": "16",
         "text": [
          "Fisher & Paykel - OR90SCG6B1 - 90cm Freestanding Dual Fuel Cooker - Black",
          "Portofino By Smeg - CPF9GPWHA - 90cm Freestanding Cooker",
          "Fisher & Paykel - OS60NDB1 - 60cm Built-in Combination Steam Oven",
          "Westinghouse - WHI944BA - 90cm Induction Cooktop",
          "Smeg - SAI90MB - 90cm Induction Cooktop",
          "Fisher & Paykel - OB60SD9PX1 - 60cm Built-in Oven",
          "Euromaid - EG90S - 90cm Freestanding Cooker",
          "Smeg - SI364B - 60cm Induction Cooktop",
          "Fisher & Paykel - OB60SD11PX1 - 60cm Built-in Oven",
          "Fisher & Paykel - CI904CTB1 - 90cm Induction Cooktop",
          "Fisher & Paykel - OR90SCI4W1 - 90cm Freestanding Induction Cooker",
          "Fisher & Paykel 90cm Pyramid Chimney Wall Rangehood - HC90PCB1 - Black",
          "Fisher & Paykel - OB60B77CEW3 - 60cm Double Built-in Oven - White",
          "Fisher & Paykel - OR90SCG4X1 - 90cm Freestanding Dual Fuel Cooker",
          "Beko - 90cm Vitroceramic Freestanding Cooker - BFC918VMX",
          "Fisher & Paykel - CG905DNGGB1 - 90cm Gas Cooktop",
          "Beko - BCT903IG - 90cm Induction Cooktop",
          "Fisher & Paykel - CG604CNGX2 - 60cm Gas Cooktop",
          "Beko - 90cm Freestanding Multifunction Cooker - BFC916GMX",
          "Fisher & Paykel - OB60SL11DEPB2 - 60cm Built-in Oven",
          "Smeg - FS9606XSN - 90cm Freestanding Cooker ",
          "Smeg - C9GMNA1 - 90cm Freestanding Cooker",
          "Fisher & Paykel OB76SDPTDB1 - 76cm Built-in Single Oven - Black",
          "Fisher & Paykel - OR90SCI6W1 - 90cm Freestanding Induction Cooker - White",
          "Portofino By Smeg - CPF9IPX - 90cm Freestanding Cooker ",
          "Fisher & Paykel OB76SDPTDX1 - 76cm Built-in Single Oven - Stainless Steel",
          "Fisher & Paykel - OB90S9MEX3 - 90cm Built-in Oven",
          "Fisher & Paykel - OB60SC7CEX2 - 60cm Built-In Oven",
          "Fisher & Paykel - OR90SCI6R1 - 90cm Freestanding Induction Cooker - Red",
          "Fisher & Paykel - OM60NDB1 - 60cm Built-in Combination Microwave Oven",
          "Chef - CHS942WA - 90cm Solid Element Cooktop",
          "Fisher & Paykel EB60DSXBB1 - 60cm Built-in Coffee Maker - Black",
          "Fisher & Paykel - CG302DNGGB1 - 30cm Gas on Glass Cooktop",
          "Smeg - 90cm Portofino Pyrolytic Freestanding Cooker - Sunshine Yellow ",
          "DeLonghi - DEF905EX1 - 90cm Freestanding Oven ",
          "Fisher & Paykel - OR90SCG6R1 - 90cm Freestanding Dual Fuel Cooker - Red",
          "Fisher & Paykel - OR90SCG4B1 - 90cm Freestanding Dual Fuel Cooker",
          "Fisher & Paykel - OB60SC8DEPX2 - 60cm Built-in Oven",
          "Fisher & Paykel - OB60SC5CEX2 - 60cm Built-In Oven",
          "DeLonghi - DEGHBG90 - 90cm Gas Cooktop",
          "Omega - OBO960X - 90cm Multifunction Oven",
          "Portofino By Smeg - CPF9GPBLA - 90cm Freestanding Cooker",
          "Fisher & Paykel - CG603DNGGB1 - 60cm Gas Cooktop",
          "Fisher & Paykel - OB60SD9PB1 - 60cm Built-in Oven",
          "Fisher & Paykel - WB60SDEX1 - 60cm Warming Drawer",
          "Fisher & Paykel - CG604DNGGB1 - 60cm Gas Cooktop",
          "Smeg - TR90IP9 - 90cm Victoria Induction Freestanding Cooker",
          "Smeg - FS9010CER - 90cm Freestanding Electric Cooker",
          "Fisher & Paykel - CI604DTB3 - 60cm Induction Cooktop",
          "Smeg - PSA906-5 - 90cm Gas Cooktop",
          "Fisher & Paykel - OB60B77CEX3 - 60cm Double Built-in Oven - Brushed Stainless Steel",
          "Fisher & Paykel - WB60SDEB1 - 60cm Warming Drawer",
          "Smeg - PV395LCNAU - 90cm Gas Cooktop",
          "DeLonghi - DEGMATIK90 - 90cm Gas Cooktop",
          "Smeg - SAI3963B - 90cm Induction Cooktop",
          "Westinghouse WHI945BC - 90cm Induction Cooktop",
          "Fisher & Paykel - OB60SC7CEW2 - 60cm Built-In Oven",
          "Westinghouse - WFE946SC - 90cm Electric Freestanding Cooker",
          "Smeg - FS9608AS - 90cm Freestanding Cooker",
          "Smeg - SAI915B - 82cm Induction Cooktop",
          "Smeg - TRA93P - 90cm Thermoseal Freestanding Cooker - Panna",
          "Smeg - TR90IX9 - 90cm Victoria Induction Freestanding Cooker",
          "Portofino By Smeg - CPF9IPYW - 90cm Freestanding Cooker ",
          "Smeg - C91GVXA-2 - 90cm Freestanding Cooker",
          "Fisher & Paykel - OR90SCI6X1 - 90cm Freestanding Induction Cooker - Stainless Steel",
          "Fisher & Paykel - CG604DX1 - 60cm Gas on Steel Cooktop",
          "Westinghouse WHI943BC - 90cm 4 Zone Induction Cooktop",
          "Fisher & Paykel OB60SDPTDX1 - 60cm Pyrolytic Built-in Oven - Stainless Steel ",
          "Beko - BCT601IG - 60cm Induction Cooktop",
          "Portofino By Smeg - CPF9GPOGA - 90cm Freestanding Cooker",
          "Fisher & Paykel - OR90SCG2X1 - 90cm Freestanding Dual Fuel Cooker",
          "Smeg - SAI3643B - 60cm Induction Cooktop",
          "Fisher & Paykel - CG905DX1 - 90cm Gas on Steel Cooktop",
          "DeLonghi - DE904PSC - 90cm Built-in Project Oven",
          "Fisher & Paykel - DD60DDFX7 - Double DishDrawer™",
          "Fisher & Paykel - CE905CBX2 - 90cm Electric Cooktop",
          "Omega - OCG95FFX - 90cm Gas Cooktop",
          "Fisher & Paykel - HC90DCXB3 - 90cm Wall Chimney Box Rangehood",
          "Fisher & Paykel - CI704CTB1 - 70cm Induction Cooktop",
          "Fisher & Paykel - OR90SCI4B1 - 90cm Freestanding Induction Cooker",
          "Fisher & Paykel 90cm Pyramid Chimney Wall Rangehood - HC90PCR1 - Red",
          "Smeg - A1PYID-9 - 90cm Classic Opera Pyrolitic Induction Cooker",
          "Fisher & Paykel - HP90IDCHX3 - 90cm Integrated Rangehood",
          "Portofino By Smeg - CPF9IPOG - 90cm Freestanding Cooker ",
          "Fisher & Paykel - CG903DNGGB1 - 90cm Gas on Glass Cooktop",
          "Fisher & Paykel - CE604CBX2 - 60cm Electric Cooktop",
          "Fisher & Paykel - CI754DTB2 - 75cm Induction Cooktop",
          "Portofino By Smeg - CPF9GPRA - 90cm Freestanding Cooker",
          "DeLonghi - DEGHSL90 - 90cm Gas Cooktop",
          "Fisher & Paykel 90cm Pyramid Chimney Wall Rangehood - HC90PCX1 - Stainless Steel",
          "Fisher & Paykel - OR90SCG6W1 - 90cm Freestanding Dual Fuel Cooker - White",
          "Fisher & Paykel - OB90S9MEPX3 - 90cm Pyrolytic Built in Oven",
          "Fisher & Paykel OB76DDPTDX1 - 76cm Built-in Double Oven - Stainless Steel",
          "Fisher & Paykel OM60NDBB1 - 60cm Built-in Combination Microwave Oven - Black",
          "DeLonghi - DE302IB - 30cm Induction Cooktop",
          "Portofino By Smeg - CPF9IPWH - 90cm Freestanding Cooker ",
          "Portofino By Smeg - CPF9IPAN - 90cm Freestanding Cooker ",
          "Fisher & Paykel - OR90SCI6B1 - 90cm Freestanding Induction Cooker - Black",
          "Fisher & Paykel - HP60IDCHX3 - 60cm Integrated Rangehood",
          "DeLonghi - DEP909M - 90cm Built In Premium Oven",
          "Fisher & Paykel - CI604CTB1 - 60cm Induction Cooktop",
          "Fisher & Paykel - OR90SCG4W1 - 90cm Freestanding Dual Fuel Cooker",
          "Fisher & Paykel 90cm Pyramid Chimney Wall Rangehood - HC90PCW1 - White",
          "Smeg - SAI90MW - 90cm Induction Cooktop",
          "Asko - HI1995G - 90cm Bridge Induction Cooktop  ",
          "Fisher & Paykel - OR90SCI4X1 - 90cm Freestanding Induction Cooker",
          "Asko - HI1975G - 90cm Bridge Induction Cooktop",
          "Fisher & Paykel - HC60DCXB3 - 60cm Wall Chimney Box Rangehood",
          "Fisher & Paykel - OB76SDEPX3 - Pyrolytic Built-in Oven",
          "Smeg - CS95GMNNA1 - 90cm Freestanding Cooker  ",
          "Smeg - TR90IBL9 - 90cm Victoria Induction Freestanding Cooker",
          "DeLonghi - DEIND604 - 60cm Induction Cooktop",
          "DeLonghi - DEFV908BK - 90cm Vintage Cooker",
          "Fisher & Paykel - OB76DDEPX3 - 76cm Double Built-in Oven",
          "Fisher & Paykel OB60SDPTDB1 - 60cm Built-in Oven - Black",
          "Beko - 60cm Induction Upright Cooker - BFC63IPB",
          "Beko - BCT603IG - 60cm Induction Cooktop",
          "Fisher & Paykel - OR90SCG1X1 - 90cm Freestanding Dual Fuel Cooker",
          "Portofino By Smeg - CPF9IPR - 90cm Freestanding Cooker ",
          "Portofino By Smeg - CPF9IPOR - 90cm Freestanding Cooker ",
          "Portofino By Smeg - CPF9IPBL - 90cm Freestanding Cooker ",
          "Portofino By Smeg - CPF9GPXA - 90cm Freestanding Cooker",
          "Fisher & Paykel - OR90SCG6X1 - 90cm Freestanding Dual Fuel Cooker - Stainless Steel",
          "Portofino By Smeg - CPF9GPORA - 90cm Freestanding Cooker",
          "Portofino By Smeg - CPF9GPANA - 90cm Freestanding Cooker ",
          "Euromaid - CS9TS - 90cm Freestanding Cooker",
          "Asko - HG1986AD - 90cm Gas Cooktop - Anthracite",
          "DeLonghi - DEFP907S - 90cm Freestanding Oven",
          "Smeg - C9IMXA1 - 90cm Freestanding Cooker",
          "Fisher & Paykel - CI603DTB2 - 60cm Induction Cooktop"
         ],
         "type": "scatter",
         "x": [
          -0.26452314853668213,
          -0.3347524106502533,
          -0.3824807405471802,
          -0.3720919191837311,
          -0.3210078775882721,
          -0.36159613728523254,
          -0.36620810627937317,
          -0.36382415890693665,
          -0.3541257381439209,
          -0.29683730006217957,
          -0.3045884370803833,
          -0.19290423393249512,
          -0.3463394343852997,
          -0.2977343797683716,
          -0.373096764087677,
          -0.35559237003326416,
          -0.28795260190963745,
          -0.36339518427848816,
          -0.3350012004375458,
          -0.3769371211528778,
          -0.4042901396751404,
          -0.33368533849716187,
          -0.3070598542690277,
          -0.2945433259010315,
          -0.3082638382911682,
          -0.3428346812725067,
          -0.33785101771354675,
          -0.3616273105144501,
          -0.275471031665802,
          -0.30802109837532043,
          -0.3960329294204712,
          -0.17091414332389832,
          -0.32443755865097046,
          -0.2942951023578644,
          -0.3408184051513672,
          -0.2806839942932129,
          -0.30849578976631165,
          -0.36393842101097107,
          -0.3627810478210449,
          -0.3390202224254608,
          -0.3046863377094269,
          -0.321158766746521,
          -0.3638520836830139,
          -0.37418249249458313,
          -0.2665543854236603,
          -0.36826568841934204,
          -0.31300199031829834,
          -0.38057413697242737,
          -0.2898060083389282,
          -0.4260282814502716,
          -0.34318432211875916,
          -0.28254273533821106,
          -0.4163077175617218,
          -0.35395950078964233,
          -0.3411349058151245,
          -0.3714629113674164,
          -0.379960834980011,
          -0.388718843460083,
          -0.4051523208618164,
          -0.3408072292804718,
          -0.36035600304603577,
          -0.3152194619178772,
          -0.32805517315864563,
          -0.3412555754184723,
          -0.30343931913375854,
          -0.37316465377807617,
          -0.33884039521217346,
          -0.37052127718925476,
          -0.29127949476242065,
          -0.2986859679222107,
          -0.2952335476875305,
          -0.33885788917541504,
          -0.3535507023334503,
          -0.33060428500175476,
          -0.08327236026525497,
          -0.28787609934806824,
          -0.3005455434322357,
          -0.21278390288352966,
          -0.280692994594574,
          -0.3009621202945709,
          -0.19855409860610962,
          -0.27866190671920776,
          -0.11219464987516403,
          -0.2901560366153717,
          -0.33901023864746094,
          -0.3132193684577942,
          -0.292456716299057,
          -0.31106752157211304,
          -0.34906598925590515,
          -0.23180702328681946,
          -0.2939469516277313,
          -0.34435173869132996,
          -0.33836811780929565,
          -0.29495662450790405,
          -0.3080390989780426,
          -0.33964890241622925,
          -0.31348976492881775,
          -0.2629348039627075,
          -0.1161617860198021,
          -0.2978142201900482,
          -0.29643693566322327,
          -0.31101739406585693,
          -0.21343818306922913,
          -0.31358784437179565,
          -0.2857820391654968,
          -0.2896275818347931,
          -0.2778133451938629,
          -0.21455630660057068,
          -0.3135616183280945,
          -0.37839508056640625,
          -0.33053916692733765,
          -0.32709801197052,
          -0.34446704387664795,
          -0.348876029253006,
          -0.30681702494621277,
          -0.3506711721420288,
          -0.3015611469745636,
          -0.29465022683143616,
          -0.31365934014320374,
          -0.2977882921695709,
          -0.3272421658039093,
          -0.30765122175216675,
          -0.3112080693244934,
          -0.3125116229057312,
          -0.31001120805740356,
          -0.31921204924583435,
          -0.2874755561351776,
          -0.3805813789367676,
          -0.325757771730423,
          -0.2902517318725586
         ],
         "y": [
          0.018481962382793427,
          -0.007084549404680729,
          0.06649018824100494,
          0.013228040188550949,
          0.06408584862947464,
          0.006807716563344002,
          0.15010783076286316,
          -0.002284582704305649,
          -0.005415515974164009,
          -0.036439135670661926,
          0.0045918673276901245,
          0.01147715374827385,
          -0.024360977113246918,
          0.05225924029946327,
          -0.004503060132265091,
          0.0676937997341156,
          -0.06770949810743332,
          0.06664609909057617,
          -0.04914261773228645,
          -0.03137627989053726,
          0.15604105591773987,
          0.13007156550884247,
          -0.03624603897333145,
          -0.0038854777812957764,
          -0.015474473126232624,
          0.008555037900805473,
          -0.008606215938925743,
          0.0020991452038288116,
          -0.021976806223392487,
          0.009187057614326477,
          0.030321035534143448,
          -0.047161903232336044,
          0.054357364773750305,
          0.00808718428015709,
          0.04055764526128769,
          0.0245802104473114,
          0.0279761403799057,
          -0.004716169089078903,
          -0.0005621686577796936,
          0.02300892025232315,
          0.069027379155159,
          -0.03479602932929993,
          0.0736161321401596,
          -0.004812944680452347,
          -0.007044073194265366,
          0.07111233472824097,
          0.033966127783060074,
          0.09983067214488983,
          -0.03329528868198395,
          0.10948453843593597,
          -0.013847632333636284,
          -0.016742197796702385,
          0.09013226628303528,
          0.011532347649335861,
          0.022269954904913902,
          0.05113808438181877,
          0.008896976709365845,
          0.08494582772254944,
          0.14438416063785553,
          0.06329134851694107,
          0.03663370758295059,
          0.04104485735297203,
          -0.027299517765641212,
          0.10290739685297012,
          0.01871255785226822,
          0.08362913131713867,
          0.07649123668670654,
          0.015727657824754715,
          -0.05731017515063286,
          -0.0030185915529727936,
          0.03508815914392471,
          0.015504688955843449,
          0.08289415389299393,
          0.040280405431985855,
          -0.028389545157551765,
          0.005539312958717346,
          0.09893028438091278,
          0.031980615109205246,
          -0.045987121760845184,
          -0.02763938158750534,
          0.015954401344060898,
          0.03999389708042145,
          -0.03250998258590698,
          -0.007573979906737804,
          0.08989178389310837,
          -0.008647382259368896,
          -0.0464995913207531,
          -0.013693618588149548,
          0.027029164135456085,
          0.05814732611179352,
          0.04061359167098999,
          -0.0008893124759197235,
          -0.006701970472931862,
          -0.0009976103901863098,
          -0.10448985546827316,
          -0.016552042216062546,
          -0.021068178117275238,
          -0.029143210500478745,
          -0.007635226473212242,
          5.336478352546692e-05,
          -0.024474211037158966,
          0.0551377609372139,
          0.03246276080608368,
          0.08237029612064362,
          -0.014238439500331879,
          0.001840054988861084,
          -0.02798195742070675,
          0.04677608981728554,
          -0.06846380233764648,
          0.10335583239793777,
          0.025420408695936203,
          -0.02177240699529648,
          -0.0032806098461151123,
          -0.02751884236931801,
          -0.03639553487300873,
          -0.05481715500354767,
          -0.05551004037261009,
          0.03295029699802399,
          -0.032985467463731766,
          -0.00501857977360487,
          -0.04915609583258629,
          -0.001268024556338787,
          0.05958941578865051,
          -0.023120373487472534,
          -0.018477661535143852,
          0.1264442354440689,
          0.04775655269622803,
          0.03080056980252266,
          0.09974321722984314,
          -0.025076882913708687
         ]
        },
        {
         "marker": {
          "color": 22,
          "size": 5
         },
         "mode": "markers",
         "name": "17",
         "text": [
          "Zip - HT2783Z7 - HydroTap Arc - Boiling | Chilled | Sparkling - Brushed Gold",
          "Tefal - QT1020 - IXEO All-in-One Garment Care Solution Steamer",
          "Uniden - UH850S-2TP - UHF Waterproof CB Handheld",
          "Zip - HT4785 - HydroTap Elite - Boiling | Ambient",
          "Zip - HT4783Z3 - HydroTap Elite - Boiling | Chilled | Sparkling - Matte Black",
          "Kambrook - KSS120GRN - SwiftSteam Garment Steamer",
          "Braun - TS755A - TexStyle 7 Steam Iron",
          "Zip - HT2785 - HydroTap Arc - Boiling | Ambient",
          "Aarke Sparkling Water Maker - Polished Steel  ",
          "Zip - HT1790 - HydroTap® G4 All-in-One - Boiling | Chilled | Sparking | Hot | Cold",
          "Tefal - GV9533 - Pro Express Ultimate Steam Generator",
          "Tefal - DT9120 - Access Steam Plus Garment Steamer",
          "Everdure by Heston Blumenthal - FORCE - 2 Burner Gas Barbeque - HBG2M",
          "Everdure by Heston Blumenthal - FURNACE - 3 Burner Gas Barbeque - Orange - HBG3O",
          "Zip HydroTap Celsius All-In-One ARC - Brushed Gold - MT2790Z7 ",
          "Everdure by Heston Blumenthal - Furnace 3 Burner Gas Barbecue - Mint - HBG3M ",
          "Zip - MT2790Z2 - HydroTap Celsius All-In-One - Gloss Black",
          "Aquaport - AQP-24SS - Desktop Filtered Water Cooler - Stainless Steel",
          "Tefal - IT2110 - Instant Steam Upright Garment Steamer",
          "Tefal - FV5648 - Turbo Pro Anti-Calc Iron",
          "Zip - HT2784 - HydroTap Arc - Boiling | Chilled | Filtered",
          "Everdure by Heston Blumenthal - HBG3COVER - FURNACE™ Cover",
          "Everdure by Heston Blumenthal - HBCUBEBAG - CUBE™ Travel Bag ",
          "Neff Induction Hob With Integrated Ventilation System 80 cm - T58TS6BN0",
          "Unilux - Hot or Cold Water Inlet Hose - ULX107",
          "Tefal - DT8100 - Access Steam Plus Handheld Garment Steamer",
          "Zip - HT2783 - HydroTap Arc - Boiling | Chilled | Sparkling   ",
          "Tefal - GV6840 - Effectis Anti-Calc Steam Generator Iron",
          "Tefal - FV9951 - Freemove Cordless Steam Iron",
          "Everdure by Heston Blumenthal- HBC2COVER - HUB™ Cover",
          "Euroflex - M2R - Vapour - M2R Floor Steam Cleaner",
          "Everdure by Heston Blumenthal- HBC1COVERS - FUSION™ Cover",
          "Zip - HT1783 - HydroTap® G4 - Boiling | Chilled | Sparkling ",
          "Tefal - SV8013 - Express Anti-Calc Steam Generator",
          "Tefal - IT2461 - ProStyle One Garment Steamer",
          "Rinnai - AV25SL3 - Avenger 25 Convector - 3m Hose - LPG",
          "Tefal - L9259904 - Ingenio Grill Insert",
          "Zip - HT3785 - HydroTap Cube (Chrome) - Boiling | Ambient",
          "Tefal - IH720860 - Express Induction Hob",
          "Everdure by Heston Blumenthal - HBC1COVERL - FUSION™ Long Cover",
          "Everdure by Heston Blumenthal -  Furnace 3 Burner Gas Barbecue - Stone - HBG3S",
          "Tefal - FV4042 - Ultraglide Steam Iron ",
          "Zip - HT1006 - HydroTap Miniboil - Boiling | Ambient",
          "Zip - MT2790Z5 - HydroTap Celsius All-In-One - Brushed Rose Gold",
          "Zip - HT4783 - HydroTap Elite - Boiling | Chilled | Sparking   ",
          "Zip - 94574 - HydroTap 3 Way Filtered Mixer Tap",
          "Zip - MT2790Z11 - HydroTap Celsius All-In-One - Brushed Nickel",
          "Zip - MT2790Z8 - HydroTap Celsius All-In-One - Platinum",
          "Zip - MT2790Z10 - HydroTap Celsius All-In-One - Nickel",
          "Zip - HT1785 - HydroTap Classic - Boiling | Ambient",
          "Rinnai - AV25SN3 - Avenger 25 Convector - 3m Hose - NG",
          "Zip - HT1786 - HydroTap Classic - Boiling",
          "Zip - MT2790 - HydroTap Celsius All-In-One - Bright Chrome",
          "Zip - MT2790Z6 - HydroTap Celsius All-In-One - Gold",
          "Tefal - SV7020 - Liberty Steam Generator Iron",
          "Zip - MT2790Z1 - HydroTap Celsius All-In-One - Brushed Chrome",
          "Zip - MT2790Z3 - HydroTap Celsius All-In-One - Matte Black",
          "Everdure by Heston Blumenthal - FURNACE - 3 Burner Gas Barbeque - Graphite - HBG3G",
          "Everdure by Heston Blumenthal - FORCE - 2 Burner Gas Barbeque - HBG2R ",
          "Tefal - GV9553 - Pro Express Ultimate Steam Generator",
          "Everdure by Heston Blumenthal - HBG2COVER - FORCE™ Cover",
          "Zip - HT1784 - HydroTap® G4 - Boiling | Chilled | Filtered",
          "Zip - MT2790Z9 - HydroTap Celsius All-In-One - Gunmetal",
          "Tefal - FV9715 - Ultimate Steam Iron",
          "Rinnai - AV25N3 - Avenger 25 Convector - 3m Hose - NG",
          "Unilux - Anti-flood Inlet Hose - ULX105",
          "Everdure by Heston Blumenthal - FORCE - 2 Burner Gas Barbeque - HBG2G",
          "Euroflex - SC1M1 - Vapour M4S Hybrid Steam Cleaner",
          "Everdure by Heston Blumenthal - HUB Electric Ignition Charcoal Barbeque - HBCE2B",
          "Bissell - BS23V8F - Steam Mop Select™",
          "Tefal - VC1451 - Convenient Series Steam Cooker",
          "Zip - MT2790Z4 - HydroTap Celsius All-In-One - Rose Gold",
          "Everdure by Heston Blumenthal - FORCE - 2 Burner Gas Barbeque - HBG2S",
          "Tefal - IT3440 - Pro Style Upright Garment Steamer",
          "Zip - HT1783Z3 - HydroTap BCS Classic - Boiling | Chilled | Sparkling"
         ],
         "type": "scatter",
         "x": [
          -0.14722669124603271,
          -0.08085887879133224,
          0.07006658613681793,
          -0.10447513312101364,
          -0.1508534848690033,
          -0.1758575141429901,
          -0.05733810365200043,
          -0.09346217662096024,
          -0.11115257441997528,
          -0.1994820237159729,
          -0.008378971368074417,
          -0.12039834260940552,
          -0.1834006905555725,
          -0.14260214567184448,
          -0.044620953500270844,
          -0.2324080467224121,
          -0.007433973252773285,
          -0.01679667830467224,
          -0.1817501187324524,
          -0.07519259303808212,
          -0.14454010128974915,
          -0.01172955334186554,
          -0.07571666687726974,
          -0.14487412571907043,
          -0.1519007682800293,
          -0.09056942909955978,
          -0.1606675684452057,
          -0.17603188753128052,
          -0.08591427654027939,
          0.02649892121553421,
          -0.08505479246377945,
          -0.0029561221599578857,
          -0.17911353707313538,
          -0.1243588849902153,
          -0.09003669023513794,
          -0.0900452584028244,
          -0.1320176124572754,
          -0.11550035327672958,
          -0.05345781147480011,
          -0.014447808265686035,
          -0.22477635741233826,
          -0.1401253640651703,
          -0.13839519023895264,
          -0.04542029649019241,
          -0.17125609517097473,
          -0.10743112117052078,
          -0.07774204760789871,
          -0.05981861799955368,
          -0.06342069804668427,
          -0.12645095586776733,
          -0.040190741419792175,
          -0.19111675024032593,
          -0.05006883293390274,
          -0.07207385450601578,
          -0.17889025807380676,
          -0.05340085178613663,
          -0.03571465611457825,
          -0.16222545504570007,
          -0.18753018975257874,
          -0.011080846190452576,
          0.0007447600364685059,
          -0.1361101269721985,
          -0.05646521598100662,
          -0.07822773605585098,
          -0.038486599922180176,
          -0.08518332988023758,
          -0.190370112657547,
          -0.0798996314406395,
          -0.13374021649360657,
          -0.050968192517757416,
          -0.27147382497787476,
          -0.054018743336200714,
          -0.17895573377609253,
          -0.08381481468677521,
          -0.20572081208229065
         ],
         "y": [
          -0.026731543242931366,
          -0.009004674851894379,
          -0.04095043987035751,
          -0.05139359086751938,
          -0.0837983563542366,
          -0.0747395008802414,
          -0.0126864705234766,
          -0.09085328876972198,
          -0.13636650145053864,
          0.0261671282351017,
          -0.01189526915550232,
          -0.005198206752538681,
          -0.08824751526117325,
          -0.11005440354347229,
          -0.04634645953774452,
          -0.046671658754348755,
          -0.06665167212486267,
          -0.01863931678235531,
          -0.06373344361782074,
          -0.011132679879665375,
          -0.12596091628074646,
          -0.17770224809646606,
          -0.18571877479553223,
          -0.01710175722837448,
          -0.06533736735582352,
          0.019710585474967957,
          -0.07184364646673203,
          0.046208593994379044,
          -0.06872059404850006,
          -0.17245134711265564,
          -0.04027416557073593,
          -0.2002885937690735,
          -0.023887157440185547,
          -0.001714862883090973,
          -0.18235960602760315,
          0.005735605955123901,
          -0.06475675106048584,
          -0.06285972893238068,
          -0.02256670966744423,
          -0.18570458889007568,
          -0.016789209097623825,
          0.00488639622926712,
          -0.09001336246728897,
          -0.025680679827928543,
          -0.1034698560833931,
          -0.15912294387817383,
          -0.09284180402755737,
          -0.024472493678331375,
          -0.07340939342975616,
          -0.09241743385791779,
          -0.04056350886821747,
          -0.06564125418663025,
          -0.07316809892654419,
          -0.025888826698064804,
          -0.008759230375289917,
          -0.04081295430660248,
          -0.07066583633422852,
          -0.043679170310497284,
          -0.09427472949028015,
          0.011950241401791573,
          -0.17215101420879364,
          -0.031473688781261444,
          -0.03755535930395126,
          0.016632311046123505,
          -0.045341089367866516,
          -0.06296585500240326,
          -0.06842968612909317,
          0.053830720484256744,
          -0.11347773671150208,
          -0.08673451840877533,
          0.035449691116809845,
          -0.027976080775260925,
          -0.07492987811565399,
          -0.12983500957489014,
          -0.10461780428886414
         ]
        },
        {
         "marker": {
          "color": 23,
          "size": 5
         },
         "mode": "markers",
         "name": "18",
         "text": [
          "Morphy Richards - 401014 - PREPSTAR Compact Food Processor",
          "Sunbeam - GR6250 - Big Fill Toastie™ for 2",
          "Nutri Ninja® with Auto-IQ™ - BL480NZ",
          "FoodSaver® Zipper Bags Pk35 - VS0500",
          "Sunbeam Torino Espresso Coffee Machine & Grinder - PU8000",
          "Belkin - BSV103AU - SurgeCube 1-Outlet Surge Protector",
          "Everki - EKP119 - Flight Laptop Backpack",
          "BH Fitness - G2337B - i.Athlon Program Elliptical",
          "Moki - BPEL3M - 3 Metre Extension Lead",
          "Numatic - HVM-1CH - Numatic Hepa-Flo Filter Bags - 10 Pack",
          "Sharp - FZA60MFE - Humidifying Filter",
          "DeLonghi - ICM17210 - Clessidra Drip Coffee Machine",
          "BH Fitness - BHM01 - Equipment Mat ",
          "Beurer - BM57 - Bluetooth Upper Arm Blood Pressure Monitor",
          "Sunbeam - PC8100 - Specialty Brew Drip Filter Coffee Machine",
          "Westinghouse - ULX250 - Rangehood Filter - Active Carbon",
          "Remington - CB7400AU - Keratin & Argan Oil Nourish Straightening Brush",
          "L'OR Espresso - ESPRIS10 - Espresso Ristretto 10pk",
          "Everki - EKB419 - Flight Laptop Bag – Briefcase",
          "FoodSaver® Urban Series: Cut & Seal - VS6100 ",
          "Sunbeam - SM9000 - StickMaster® Platinum",
          "Homedics - SAN-B100-GY - UV-CLEAN Portable Sanitiser Bag",
          "VS Sassoon - VSD6610DA - Italian Style AC Dryer",
          "Laser  - STB-6000 - HD Set Top Box",
          "Volta - E201B - LONG PERFORMANCE SYNTHETIC",
          "Morphy Richards - 240005 - Scandi Aspect 4 Slice Toaster - White",
          "Sunbeam - JM7000 - MixMaster® HeatSoft Hand Mixer",
          "Crest - BPB4 - 4 Outlet Power Board",
          "Ninja - BL450NZ - Nutri Ninja Pro Blender ",
          "Tiger - PRTS190 - 1.88L Handy Jug",
          "Oral B - PRO700 - Professional Care 700 Toothbrush",
          "DeLonghi - Dedica Grinder - KG 521.M",
          "Sunbeam - PB9800 - Cafe Series Blender",
          "WiZ - WZ0026041 - 10W Dimmable White Daylight - E27  ",
          "Beurer - FT65 - Multifunction Digital Thermometer",
          "Oral B - SMART4000 - Smart4 4000 Rechargeable Toothbrush",
          "Ninja - BL682ANZ - Ninja® Blender System With Auto-iQ™",
          "Beurer - MG151 - 3D Shiatsu Massager",
          "WiZ - WZ0826081 - 11.5W Tunable Colour & White Light - B22",
          "VS Sassoon - VSP500A - Digital Sensor Hot Air Styler",
          "DeLonghi - Eletta Cappuccino Coffee Machine - ECAM 45.760.B",
          "Bissell - 2066F - Revolution™ Pet Carpet Cleaner",
          "Braun - SE5880 - Silk-épil SensoSmart™ Epilator",
          "DeLonghi - ECAM 550.55.SB - Automatic Coffee Machine ",
          "DJI - Spark/Mavic Shoulder Bag - 3661650",
          "VS Sassoon - VSP6500A - Digital Sensor Dryer",
          "Fitbit Inspire HR - FB413BKBK - Black ",
          "Kenwood - FGP204WG - Spiralizer",
          "Hills - 300057 - Slim Retracting 4-line Clothesline",
          "L'OR Espresso - BARSUP10 - Barista Double Supremo 10pk",
          "L'OR Espresso - BARRIS10 - Barista Double Ristretto 10pk",
          "DeLonghi - DLSC500 - EcoDecalk Coffee Descaler",
          "Sunbeam - FP6910 - DimpleTech™ Frypan",
          "Beurer - BF 180 - Diagnostic Bathroom Scale",
          "Sunbeam - KE9750 - Maestro Dual Wall Glass Kettle",
          "Bissell - 2531 - Multi-Surface Pet Cleaning Formula",
          "Beurer - BC28 - Wrist Blood Pressure Monitor",
          "Volta - 1900P - CONTOUR BAG U4210",
          "Kenwood Appliances - MG450 - Power Mincer",
          "Remington - S8605AU - Infinite Protect  Straightener",
          "DeLonghi - DLSK150 - MultiGrill Accessory Set",
          "Shaws - SCIN595WH - Inset 600 Sink",
          "Sunbeam - KE6451DS - Maestro Dark Quiet Shield™ Kettle",
          "Crest - CCBSC - Screen Cleaning Kit",
          "Bissell - 2519 - Multi-Surface Tangle Free Brush Roll",
          "Crest - PWA04007 - 4 Socket 4 Switch Power Board",
          "Tefal - L9933015 - Ingenio Handle",
          "Morphy Richards - 240108 - Evoke Core Red 4 Slice Toaster",
          "Monster - 4-Outlet Essentials Surge Protected Powerboard - 123092",
          "Swann - SWHOM-DC820P - Wireless Door Chime",
          "VS Sassoon - The Bearded-PRO Grooming Gift Set - VSM7843A",
          "Crest - TA104DA - Telephone Double Adaptor",
          "Kenwood - CAP70AOWH - Can Opener",
          "Sunbeam - EK6000 - Carveasy™ Twin Blade",
          "Belkin - BSV604au2M - Surge Protector",
          "Braun - Series 5 Men's Electric Foil Shaver - 5190cc",
          "Magikleen - MAGSMFC3040 - Microfibre Cloth",
          "VS Sassoon - VSM1000A - The Diamond Precision",
          "Homedics - MCS-845H-AU - Shiatsu Elite II Massager",
          "Kenwood - FDM785BA - Multipro Classic Food Processor",
          "Sunbeam - GR6450 - Big Fill™ Toastie",
          "Morphy Richards - 240013 - Scandi Deep Blue Aspect 4 Slice Toaster",
          "Sunbeam - BL5471 - Sleep Perfect Quilted - King",
          "Beurer - MG70 - 2 in 1 Infrared Handheld Body Massager",
          "Bissell - BS3961 - Replacement Mop Pads - 2 Pack ",
          "Magikleen - MAGRFC250 - 250ml Premium Range Hood Filter Cleaner",
          "Bowers & Wilkins Formation Bar - FP40177",
          "Uniden - FP 1355 - Corded Phone",
          "Braun - 51S - Combi Foil and Cutter Replacement Pack",
          "Crest - PWA05041B - 24 Hour Timer",
          "BH Fitness - G6350B - iV1 i.Concept Treadmill",
          "Crest - PWU01905 - 1 Socket Device Protector",
          "Sunbeam - EM0180 - Cafe Creamy™ Automatic Milk Frother",
          "Kenwood Appliances - MG700 - Pro 2000 Excel Mincer",
          "Fetch - Mighty PVR - M616T",
          "Beurer - MG295 - 3D Shiatsu Seat Cover - Black",
          "Sunbeam - BL5131 - Sleep Perfect Fitted - King Single",
          "Morphy Richards - 48710 - 3.5L Polished Stainless Steel Slow Cooker",
          "Sunbeam - KE2700K - Alinea Collection Kettle - Dark Canyon",
          "Braun - BT5060 - Beard Trimmer",
          "Nutribullet - NutriBullet PRO 1000 ",
          "Sunbeam - TA4420GR - New York Collection 2 Slice Toaster - Gunmetal Grey",
          "Smeg - CVIA118RS2 - 45cm Linea Wine Cellar - Right-hand Hinge - Silver",
          "Smeg - CMS4101B - 45cm Linea Built-in Coffee Machine",
          "Smeg - CVIA118RN2 - 45cm Linea Wine Cellar - Right-hand Hinge - Black",
          "Anker - A1215H11 - PowerCore 13000 - Black",
          "Sunbeam - SR6250 - Verve® 62 Platinum",
          "Crest - PWA04980 - 4 Socket Power Board",
          "Laser  - CL-1847D - 250mL Screen Cleaner",
          "Google Nest Hub - GA00516 - Chalk",
          "Fisher & Paykel - 503858 - Flexible Venting Hose",
          "Hairstyla - HSS100 - Mini Brush Black & Rosegold",
          "Sunbeam - FC7500 - MultiChopper™ Food Chopper",
          "Tefal - FV4921 - Ultragliss Iron",
          "DeLonghi - KBI2001.S - Distinta Flair Kettle - Finesse Silver",
          "Braun - MGK3245 - 7-in-1 Multi-grooming Kit",
          "Sunbeam - SB4400 - Mode® Ironing Board",
          "Kambrook - KHP2B - Portable Double Hotplate",
          "Eufy Lumi Stick-On Night Light - T1301H21 ",
          "Crest - PWA04555 - 10m Power Extension Lead",
          "Smeg - MFF01BLAU - Milk Frother - Black",
          "InSinkErator - MODEL 66 - Food Waste Disposer",
          "VS Sassoon - VSM899A - X3 Pro Beard & Stubble Trimmer",
          "Braun - CCR2 - Clean & Renew Refills 2 Pack",
          "InSinkErator - MODEL 56 - Food Waste Disposer",
          "Homedics - FMS-255H-AU - Shiatsu Elite Foot Massager",
          "Sunbeam - BL4851 - Sleep Express™ Boost Queen Bed Fitted Heated Blanket",
          "Sunbeam - BL5671 - Sleep Perfect Wool Fleece - King",
          "Moki - BPPB4 - 4-Socket Powerboard",
          "Sunbeam - KE6400 - Aquella® Stainless",
          "Sunbeam - KE2700W - Alinea Collection Kettle - Ocean Mist",
          "Bissell - 1016F - PowerFresh™ Steam Mop Replacement Pads & Fragrance Discs",
          "Dimplex - C1000 - Optimyst Professional Cassette 1000 Fire",
          "Dimplex - CAS400NH - Optimyst Professional Cassette 400 Fire",
          "DeLonghi - EN560B - Lattissima Touch Nespresso System",
          "Bissell SpotClean - Portable and Upholstery Carpet Washer - 36984 ",
          "Homedics - MCS-1210HBK-AU - Easy Lounge Shiatsu Massage Chair",
          "Smeg - CGF01BLAU - Coffee Grinder - Black",
          "Brooklyn - RTR9 - Retro Turntable - Red ",
          "VS Sassoon - VSLE2540A - Keratin Protect Straightener",
          "Laurastar - 805 - Smart M Ironing System",
          "VS Sassoon - VSS2514A - Salon Ceramic Straightener",
          "Sharp - FZA60DFE - Deodorising Filter",
          "Remington Silk Ceramic Hair Dryer - AC9096AU   ",
          "Belkin - RockStar for iPod & MP3 - F8Z274btBLK",
          "Sunbeam - FP6000 - DuraCeramic™ Frypan",
          "Sunbeam - SK6000 - DuraCeramic™ Skillet",
          "Crest - TA106 - Modular Double Adaptor",
          "Weight Watchers - WW11A - Compact Precision Electronic Scale",
          "Magikleen - MAGEHC250 - 250ml Solid Hotplate Element Cleaner",
          "Morphy Richards - 242107 - Black Accents 4 Slice Toaster",
          "Moki - ACC-FM50 - 50 Screen Wipes",
          "Crest - PWA04990 - Universal Travel Adaptor - AU/NZ",
          "Inca - 470958 - 58mm Digital Circular Polarising Filter",
          "Remington - AC9140AU - Proluxe Salon Hair Dryer",
          "Westinghouse - ACC096 - Door Reverse Kit",
          "Neff Teppan Yaki (Large) - Z9417X2",
          "Crest - PWA05160 - Travel Adaptor Set",
          "Black & Decker - DVJ325BFS-XE - 27Wh Li-Ion Dustbuster",
          "Euroflex - AC3209711 - Microfibre Floor Pads with Scrubbing Insert  - 3 Pack",
          "Homedics - FS220HAU - Deluxe Shiatsu Foot Massager",
          "Fitbit Inspire - FB412BKBK  -  Black  ",
          "Moki - ACC-FCSM02 - Screen Clean 120mL Spray with Cloth",
          "Remington - AC8605AU - Infinite Protect  Hair Dryer",
          "BH Fitness - G2378B - i.Brazil Program Elliptical ",
          "Smeg - ECF01BLAU - Espresso Coffee Machine - Black",
          "Smeg - DCF02WHAU - Drip Filter Coffee Machine - White",
          "Smeg - DCF02BLAU - Drip Filter Coffee Machine - Black",
          "Moki - BPDASP - Double Adaptor - Vertical + Surge Protection",
          "BH Fitness - BHL01 - Treadmill Lube Oil ",
          "Bissell - 2225F - CrossWave® Pet Multi-Surface Cleaner",
          "Homedics - SBM-385H-AU - Shiatsu Plus Cushion Massager",
          "Targus - AWE55US - Lap Chill Mat",
          "Sunbeam - Sleep Perfect Fitted - Queen - BL5151 ",
          "Unilux - Universal Stacking System - Bracket Kit - ULX101",
          "Smeg - CVIA118LS2 - 45cm Linea Wine Cellar - Left-hand Hinge - Silver",
          "Beurer - MC 3800 - Shiatsu Massage Chair ",
          "FITBIT - FB203BK - Aria Air Smart Scale - Black",
          "Homedics - MP10AU - Shiatsu Comfort Massage Pillow with Heat",
          "Magikleen - MAGSMFC3040S - Microfibre Cloth  with Scraper",
          "Fisher & Paykel - EB60DSXB2 - Built-in Coffee Maker",
          "Monster - 120087 - Essentials Surge Protected Powerboard",
          "Kenwood Appliances - FPM810 - Multipro Sense Food Processor",
          "Neff Standard Recirculation Kit - Z54TS01X0",
          "Morphy Richards - 240006 - Scandi Titanium Aspect 4 Slice Toaster",
          "Bissell - 2233F - PowerFresh® Slim Steam Mop",
          "Sunbeam - KE2360 - Quantum® Plus Kettle",
          "Kambrook - KCP110WHT - Pulp Select Citrus Press",
          "Fetch - Mini Set Top Box - H626T",
          "Sebo - 6629ER - K Series - Vacuum Bags",
          "Sebo - 3286ER40 - Floor Pads",
          "Neff Standard Recirculation Kit - Z5135X3",
          "Bush - BRT103EUSB - Mini Portable Retro Turntable",
          "Beurer - LB45 - Air Humidifier",
          "SEBO K Service Kit - 6695ER ",
          "Magikleen - MAGWGC250 - 250ml White Goods Cleaner & Polish",
          "WiZ - WZ0195081 - 6.5W Tunable Colour & White Light - GU10 ",
          "Sunbeam - KE4430WG - New York Collection Jug Kettle - White Gold",
          "Crest - PWA04556 - 5m Power Extension Lead",
          "Magikleen - MAGCMD250 - 250mL Coffee Machine Descaler",
          "Sebo - 9682AU - Airbelt K3 Premium Vacuum Cleaner ",
          "Sunbeam - KE4430GR - New York Collection Jug Kettle - Dark Stainless",
          "L'OR Espresso - ESPPRO10 - Espresso Lungo Profondo 10pk",
          "Sunbeam - EP5000 - Feel Perfect Therapeutic Heat Pad",
          "FoodSaver® Expandable Roll x1 - VS0530",
          "Shaws - SCSQ460WH - Square Sink",
          "Tefal - FV4971 - Smart Protect Iron",
          "Kambrook - KT260 - Profile 2 Slice Toaster",
          "Unilux - Universal Stacking System - ULX102",
          "Magikleen - MAG02125 - 125mL Screen Cleaner - Twin Pack",
          "Sunbeam - TA4440KB - New York Collection 4 Slice Toaster - Black Bronze",
          "Sunbeam - TA4440WG - New York Collection 4 Slice Toaster - White Gold",
          "Shaws - LB0400010 - Lab Type 3 Sink",
          "Magikleen - MAGSSC250 - 250ML Stainless Steel Cleaner",
          "Magikleen - MAGSSP250 - 250ml Stainless Steel Polish",
          "Beurer - BM28 - Upper Arm Blood Pressure Monitor",
          "Weight Watchers - WW710A - Digital Glass Scale",
          "VS Sassoon - VSLE5395A - Smooth & Shine",
          "Oral B - EB50-4 - CrossAction Brush Heads - 4pk",
          "Vax - Cordless Blade Pet Pro Slimvac- VX63 ",
          "Braun Series 8 Wet & Dry Electric Shaver - 8370CC",
          "Microsoft - L5V-00027 - Sculpt Ergonomic Desktop",
          "Sunbeam - BL4841 - Sleep Express™ Boost Double Bed Fitted Heated Blanket",
          "Oral B - PRO2000B - PRO 2 - 2000 Rechargeable Toothbrush",
          "Targus - ACH114AU - 4-Port Hub",
          "VS Sassoon - VSP9500A - Goddess Ultimate",
          "Smeg - ECF01PGAU - Espresso Coffee Machine - Pastel Green",
          "Crest - MSP2 - Double Outlet Surge Protector",
          "Sharp - Air Purifier - FPF30JH",
          "DeLonghi Dinamica ECAM 350.55.SB - Fully Automatic Coffee Machine",
          "Remington - F2000AU - Power Series F2 Foil Shaver",
          "Sunbeam - TA2740W - Alinea Collection 4 Slice Toaster - Ocean Mist",
          "Ninja - BL642ANZ - Nutri Ninja Blender Duo",
          "Oral B - White - GENIUS 9000 Electric Toothbrush - PC9000 ",
          "Sunbeam - HG3300 - ReversaGrill™",
          "Smeg - Espresso Coffee Machine - Pastel Blue - ECF01PBAU ",
          "Smeg - ECF01WHAU - Espresso Coffee Machine - White ",
          "Everki - EKP116NBK - Light Laptop Backpack",
          "AppliancePro - VIBEFEET4 - Quiet Anti Vibration Appliance Feet",
          "Remington - DS4490AU - Hair Dryer & Straightener",
          "Tefal - E820S544 - Reserve 5 Piece Anodised Set",
          "Sunbeam - KE0100 - Liquid Descaler",
          "Everki - EKB407NCH14 - Laptop Bag",
          "Sunbeam - KE9750DS - Maestro Dual Shield Glass Kettle",
          "VS Sassoon - VSR63A - Secret Curl",
          "FoodSaver® Fresh Vacuum Sealer - VS1300",
          "VS Sassoon - VSP420A - Salon Professional AC Dryer",
          "Ring - 8ASPS7-WAU0 - Solar Panel - White  ",
          "Euromaid - CF110 - Carbon Filter",
          "DeLonghi - EN500.B - Lattissima One Nespresso System",
          "Laser  - CL-1838E - Screen & Computer Cleaning Wipes",
          "Smeg - Espresso Coffee Machine - Cream - ECF01CRAU ",
          "Remington - HC7000AU - Ultimate Series Rx5 Head Shaver",
          "Homedics - FCC-3000BK-AU - Ultimate Foot & Calf Massager",
          "Moki - BPPB6 - 6-Socket Powerboard",
          "Google Nest Hub Max - GA00639 - Charcoal",
          "DeLonghi - CTIN4003W - Distinta Moments 4 Slice Toaster - Sunset White",
          "Sunbeam - EM5300K - Barista Max Espresso Machine - Black",
          "Sunbeam - Diamond Collection 2 Slice Toaster - TA1900K",
          "WiZ - WZ0126081 - 11.5W Tunable Colour & White Light - E27 ",
          "Sunbeam - ES9600 - Deli-Slicer",
          "Swann - SWHOM-DC820P2 - Wireless Door Chime - Twin Pack",
          "Kambrook - KUR10 - URN",
          "Everki - EKB407NCH - Advance Laptop Bag - Briefcase",
          "Sunbeam - EM0480 - Cafe Series™ Conical Burr Coffee Grinder",
          "FITBIT - FB203WT - Aria Air Smart Scale - White",
          "Braun - MGK5260 - 8-in-1 All-in-One Styling Kit",
          "DeLonghi - ENV120WAE - Nespresso Vertuo Next Coffee Machine ",
          "Smeg - MFF01CRAU - Milk Frother - Cream",
          "WiZ ST64 E27 Filament Tunable Smart Bulb",
          "DeLonghi La Specialista EC9335.BM -  Manual Coffee Machine - Matte Black",
          "InSinkErator - MODEL 46 - Food Waste Disposer",
          "Sunbeam - FP8950 - Ellise® Banquet Frypan",
          "BH Fitness - BT6441 - T100 Treadmill ",
          "Speck - 155833 - Balance Folio Clear Case",
          "Crest - Child Safety Strap - CS1F",
          "Glem - GLEMTEP1 - Teppenyaki Plate",
          "Sunbeam - MX8500 - Mixmaster® Classic - Stainless Steel",
          "Sanus - SASP1B1 - Streaming Device Panel Mounting Bracket",
          "Sunbeam - KE6451 - Maestro Kettle",
          "Belkin - F8M935bt06-BLK - Road Rockstar",
          "Smeg Classic Built-in Coffee Machine - CMS4303X",
          "Hairstyla - HSCS100 - Move Cordless Straightener",
          "Braun - MultiQuick 9 Hand Blender - MQ9087X",
          "L'OR Espresso - BARSEL10 - Barista Double Barista Selection 10pk",
          "Homedics - HHP-425 - Cordless Pro Performance Percussion Massager",
          "Sunbeam - JM6600 - Mixmaster® Hand Mixer",
          "FoodSaver® Fresh Containers 2 Piece Set - VS0640",
          "Euroflex - Microfibre Pads - 3 Pack - AC3209483",
          "Sunbeam - GC7850B - Cafe Contact Grill & Sandwich Press",
          "Bissell - 1147E - Stain Pretreat for Carpet & Upholstery",
          "Braun - BT3020 - Beard Trimmer",
          "Laser  - AO-UC90PW - 90W Power Supply",
          "Sharp - FZA60HFE - HEPA Filter",
          "Tefal - FR8040 - Oleoclean Pro Deep Fryer",
          "Belkin - BSV401au2M - Surge Protector",
          "Bissell - Oxy Boost Carpet Cleaning Formula Enhancer - 14051",
          "VS Sassoon - VS289A - Cord Keeper 2000",
          "NutriBullet Blender Combo 1200 - Full Size Blender",
          "Kenwood - HDP406WH - Triblade Hand Blender - MasherPro + Soup XL ",
          "Tiger - CRL-A30A - Electric Skillet",
          "NutriBullet RX 1700 - N171007M",
          "Cygnett - CY3010URBWT - UrbanWallet Flip",
          "Smeg - DCF02PBAU - Drip Filter Coffee Machine - Pastel Blue ",
          "Scosche - MAGRKI Black - MagicPlate Kit - Black",
          "Laser  - PK-SMARTNS10BB - SMART Laptop Sleeve",
          "Smeg - MJUG600 - Milk Frothing Jug",
          "Inca - 535291 - Mini Tripod",
          "L'OR Espresso - BARPRO10 - Barista Double Lungo Profondo 10pk ",
          "Braun - BT3240 - Beard Trimmer",
          "realme Band - RMA183BLK - Black ",
          "VS Sassoon - VSD6344A - The Travel Pro",
          "Westinghouse - ARCFD - Carbon Filter",
          "Westinghouse - ACC124 - 7-Piece - Party Pack",
          "Bissell - 62E5E -Stain & Odour 2x Concentrated Formula (750ml) ",
          "Bissell - 74R7E - 2X Pet Stain for Compacts Formula",
          "Sunbeam - EC1300 - Poach & Boil Egg Cooker ",
          "Beurer - BC57 - Bluetooth Wrist Blood Pressure Monitor",
          "BH Fitness - S1RW - Rower",
          "Kenwood - MultiPro Home - Silver - FDP646SI",
          "Sunbeam - TA6440DS - Maestro Dark 4 Slice Toaster",
          "Laser  - CL-1858C - Screen and Computer Wipes",
          "Hairstyla - HSS200 - Ceramic Straightening Brush",
          "DeLonghi - PrimaDonna Elite - Fully Automatic Coffee Machine - ECAM65075MS",
          "LG - FH6 - LOUDR Freestyle BT Boom Box - 600W",
          "Sunbeam - HP8555 - SecretChef Sear & Slow Cooker ",
          "FoodSaver® - VS7850 - Controlled Seal",
          "Crest - PWA05292 - UK Travel Adaptor",
          "Sunbeam - TR2000 - Quick & Cosy Electric Throw",
          "Sunbeam - EM4300S - Mini Barista Espresso Machine Silver",
          "Vax - VX40B - Wet And Dry Vacuum Cleaner Dust Bags (x5)",
          "VS Sassoon - VSD769A - Super Power 2400 Hair Dryer",
          "Crest - PWA04554 - 3m Power Extension Lead",
          "Sunbeam - Rice Perfect® Deluxe 7 and Steamer - RC5600 ",
          "Moov - MNBK1000 - Now™ Personal Fitness Coach - Stealth Black",
          "Sunbeam - PB8080 - Two-Way Blender",
          "Beurer - LB55 - Air Humidifier",
          "Kenwood - AT340 - Pro Slicer Grater - Attachment",
          "Dimplex - C500 - Opti-myst 3D Fires",
          "L'OR Espresso - ESPSUP10 - Espresso Supremo 10pk",
          "Beurer - MG153 - 4D Multi Head Neck Massager",
          "Speck - 121573-1050 - Tab S4 Balance Folio Cover - Black ",
          "Remington - HC1091AU - High Precision Haircut Kit",
          "Neff Griddle Plate - Z9416X2",
          "realme Watch - RMA161BLK - Black",
          "BH Fitness - H916 - SB2 Spin Bike ",
          "Sunbeam - TA7720 - Turbo Toaster",
          "Homedics - FB251 - Foot Spa with True Heat",
          "Braun - 5030S - Series 5 Men’s Electric Foil Shaver",
          "Laurastar - S6A Ironing System  ",
          "realme Buds Air - White - RMA201WHITE",
          "AppliancePro - SNGLSTOPHOSE - Single Anti-Flood Appliance Hose",
          "Sunbeam - BL5651 - Sleep Perfect Wool Fleece - Queen",
          "Sebo - 5093ER - X Series Vacuum Bags",
          "Sunbeam - KE4430KB - New York Collection Jug Kettle - Black Bronze",
          "Oral B - EB20-6 - Precision Clean Replacement Brush Heads - 6pk",
          "Tiger - PRT-S130 - 1.34L Handy Jug",
          "Euroflex - AC6904194 - Antibak",
          "Euroflex - AC3206260 - Microfibre Pad - 2 Pack",
          "AppliancePro - MAT60 - Stacking & Noise Reducing Appliance Mat",
          "Oral B - EB20-8 - Precision Clean Replacement Brush Heads - 8pk",
          "Braun - LS5-560 - Silk-épil Electric Lady Shaver",
          "LaCie - STFD4000402 - 4TB Porsche Design Mobile Drive",
          "Braun - BT5260 - Beard Trimmer",
          "Bissell - 2240F - SpinWave Cordless",
          "Smeg - CVIA118LN2 - 45cm Linea Wine Cellar - Left-Hand Hinge - Black",
          "Sunbeam - BL4821 - Sleep Express™ Boost Single Bed Fitted Heated Blanket",
          "Braun - Series 7 Smart Shaver - 7865CC - Grey",
          "Remington - S7505AU - Keratin & Argan Oil Nourish  Straightener",
          "Sunbeam - EM0100 - Bang Bang",
          "Braun - SE9980 - Silk-épil 9 SkinSpa SensoSmart™ Epilator",
          "Sunbeam - BL5171 - Sleep Perfect King Bed Fitted Heated Blanket",
          "Fisher & Paykel - 814990 - Integration Kit",
          "Weight Watchers - WW310A - Body ANALYSIS Diagnostic Scale",
          "Dyson - 970343-04 - V11 Click-in Battery",
          "Braun - 52S - Series 5 Foil & Cutter Replacement Pack",
          "Sunbeam - EM5300 - Barista Max Espresso Machine",
          "Crest - PWA05294 - EU Travel Adaptor",
          "Kenwood - HDM808SI - Triblade SystemPro Hand Blender Silver",
          "Smeg - CGF01PBAU - Coffee Grinder - Pastel Blue",
          "Crest - PWU02905 - 2 Socket Device Protector",
          "Jura Z6 - Automatic Coffee Machine - Diamond Black ",
          "DeLonghi - EN650W - Gran Lattissima Espresso Coffee Machine - White  ",
          "Crest - MSP1 - Single Outlet with Surge Suppression",
          "Remington - HC4300AU - Rapid Cut Turbo Hair Clipper",
          "Crest - PWA05293 - USA Travel Adaptor",
          "WiZ - WZ0726041 - 10W Dimmable White Daylight - B22  ",
          "Remington Curl & Straight Confidence - 2-in-1 Hair Straightener - S6606AU ",
          "VS Sassoon - VSP3QSA - 3Q Hairdryer",
          "Remington - AC8820AU - Keratin & Argan Oil Nourish Hair Dryer",
          "VS Sassoon - VSP6616A - Venezia 2400 AC Professional Dryer",
          "Homedics - PGM-200-AU - Physio Massage Gun",
          "VS Sassoon - VSLE5126A - Keratin Protect Dryer",
          "WiZ G95 LED E27 Tunable Amber Smart Bulb - WZ31089571-A",
          "Uniden - FP 1200 - Corded Phone",
          "Sunbeam - SR0300 - Iron Cleaner",
          "Kambrook  Shimmy Shake Milkshake Maker - KMS10 ",
          "Sunbeam - NutriOven™ Convection Oven - CO3000",
          "DeLonghi Nespresso Citiz & Milk System - EN267BAE ",
          "Oral B - Genius 9000 Rose Gold - Electric Toothbrush",
          "TruSens - UVLZ200001AU - Z2000 Replacement UV Lamp",
          "Sunbeam - DF4500 - MultiCooker Deep Fryer",
          "Tefal - FR5181 - Filtra Pro 4L Deep Fryer",
          "Crest - PWA05036 - Piggy Back Extension Lead - 1.2m",
          "Homedics - SP-100H - Shiatsu Massage Pillow",
          "Laser  - CL-1878A - Computer Cleaning Kit",
          "Remington - S9999AU - Pureluxe3D Straightener",
          "Inca - 470255 - 55mm UV Filter",
          "VS Sassoon - VSM703A - the Beard Buddy",
          "Sunbeam - KE4430WS - New York Collection Jug Kettle - White Silver",
          "Smeg - DCF02PGAU - Drip Filter Coffee Machine - Pastel Green",
          "Monster - 180mL ScreenClean 2.0 - 129883",
          "Nutribullet 900W Mega Pack - NB9-1107AK ",
          "NutriBullet Select 1200 - NB07200-1210DG",
          "NutriBullet Select 1000 - NB07200-1007DG",
          "Sunbeam Auto Clean Blender - PBT3000BK ",
          "Sunbeam - TA4420WS - New York Collection 2 Slice Toaster - White Silver",
          "Laser  - CL-1867B - Screen Cleaning Kit",
          "Morphy Richards - 222013 - Equip Black 2 Slice Toaster",
          "Morphy Richards - 240007 - Scandi Black Aspect 4 Slice Toaster",
          "Sunbeam - EM5300S - Barista Max Espresso Machine - Silver",
          "TruSens - UVLZ300001AU - Z3000 Replacement UV Lamp",
          "Sunbeam - SG3000 - Butler Turbo Garment Steamer",
          "Sunbeam - TA2320 - Quantum® Plus Toaster 2 Slice",
          "Tefal - D5060612 - So Optimal Non-stick Frypan 28cm ",
          "Braun - 3010TS - Electric Shaver with Travel Case & Gel",
          "Sunbeam - SB8400 - Couture® Ironing Board",
          "Beurer Deluxe Foot Bubble Spa - FB 50",
          "Monster - 120084 - Single Outlet Essentials Surge Cube",
          "Vax - VXDUB005 - Vacuum Bags - 5 Pack",
          "Sunbeam - TR3100G - Feel Perfect® Cosy Sherpa Fleece Heated Throw",
          "Unilux - Dryer Venting Kit - ULX104 ",
          "Sunbeam - SR2300 - Pro Steam Travel",
          "Crosley - AC1004A-NA - Record Storage Crate",
          "View Quest - VQ-MINI-AM-CR - Mini Retro - Cream ",
          "Sharp - FZF30HFE - Replacement Filter",
          "BH Fitness - G2338I - Alva Active Program Elliptical ",
          "Sunbeam - TA2740K - Alinea Collection 4 Slice Toaster - Dark Canyon",
          "Braun - 70S - Cassette Replacement Pack",
          "DeLonghi Magnifica S Automatic Coffee Machine - ECAM22110SB ",
          "Braun - 310S - Series 3 Wet&Dry Electric Shaver",
          "Oral B - GENIUS 8000 Electric Toothbrush - PC8000",
          "Sunbeam - KE9650 - Café Series Kettle",
          "Sunbeam - BL5451 - Sleep Perfect Quilted - Queen",
          "Remington - BD7000AU - PROLUXE Digital Salon",
          "Uniden - SSE P2 - Alert Pendant",
          "VS Sassoon - VSM837A - Metro® Groom All-in-One Grooming System",
          "Vax - VX82 - Blade 2 Max Cordless Handstick Vacuum ",
          "VS Sassoon - VS2010A - Str8 Up Hair Straightener",
          "Bissell - 2765F - CrossWave® Cordless Max",
          "Hairstyla - HSS105 - Mini Brush Grape",
          "Sunbeam - DT6000 - Food Lab™ Electronic Dehydrator",
          "Tefal - GC450 - SuperGrill ",
          "Asus - WI503Q-1LDBR0014 - ZenWatch 3 Gunmetal ",
          "Crosley - CR6233A-RE - Bermuda Turntable",
          "Crest - PPBS4C - 4 Way Powerboard with Surge & Coax",
          "Sunbeam - KE2600SC - Gallerie Kettle - Silver Cloud",
          "Remington - D7777XAU - Air3D Styling Gift Pack",
          "Fitbit Inspire HR - FB413LVLV - Lilac ",
          "Vax - VCP7PTFLT2 - Power 7 Filter Pack",
          "Laser  - CL-1827F - Air Duster Spray",
          "Vax - VX63F - Cordless Blade Filter Pack",
          "BH Fitness - H496B - i.Pixel Program Exercise Bike ",
          "Google Nest Hub Max - GA00426 - Chalk",
          "Theragun - LIV-STND-AU - LIV Charging Stand",
          "VS Sassoon For Men  - VSMK20A - The Man Kit ",
          "Sunbeam - SB1300 - HiLo Adjustable Tabletop Ironing Board",
          "LG - CK43 - 300W Mini System",
          "Smeg - CGF01WHAU - Coffee Grinder - White",
          "Morphy Richards - 242108 - White Accents Rose Gold 4 Slice Toaster",
          "Bissell - 99K5E - Pet Stain and Odor Formula",
          "Bissell - 2788F - Multi-Surface Pet Brush Roll",
          "DeLonghi - Essenza Mini & Aeroccino3 - White - EN85WAE",
          "Neff Handle Strip - Z54TH60N0",
          "BH Fitness - BT6443 - T200 Treadmill ",
          "Theragun liv Percussive Therapy Massage Gun - LIV-PKG-AU ",
          "Google Nest Hub - GA00515 - Charcoal ",
          "Remington - S9100AU - Proluxe Salon Straightener",
          "DeLonghi - DLSK151 - MultiGrill Accessory Set",
          "Remington Curl & Straight Confidence Hair Dryer - D5706AU ",
          "FoodSaver® 2 x 28cm Rolls - VS0520",
          "Sunbeam - COM1000SS - Mini Bake & Grill™",
          "DeLonghi - Dedica Pump Espresso - Metal - EC 685.M",
          "Remington - R3500AU - Power Series R3 Rotary Shaver",
          "Laser  - AO-TP10 - Table Top Tripod",
          "Tefal - 5 Piece Reserve Collection + Wok - E820S545WOK",
          "Monster - 6 Outlet Powerboard - 123065",
          "VS Sassoon - VSP6614A - Milano 2200 AC Professional Dryer",
          "Sharp - KCF30JW - Air Purifier ",
          "Sunbeam - KE4410KB - New York Collection Pot Kettle - Black Bronze",
          "Sunbeam - WW7500D - Professional Wok",
          "DeLonghi La Specialista EC9335.M - Manual Coffee Machine ",
          "Dyson - 914606-01 - Flat Out™ Head Tool",
          "VS Sassoon - VSM1100A - X6 Pro",
          "Sunbeam - EM0020 - Espresso Machine Cleaning Tablet",
          "Vax - VXCB-01 - Commercial Advance Backpack ",
          "VS Sassoon - VS3060A - Classic Salon Multi Curls",
          "Belkin - F8Z439au - TuneCast Auto Universal",
          "Sunbeam - EM4300K - Mini Barista Espresso Machine Black",
          "Sunbeam - LC6500 - Multi Processor Plus",
          "Laser  - CL-1818G - 10pk Smart Screen Cleaning Wipes",
          "VS Sassoon For Men - VSM7896A - the i-Stubble PRO",
          "Shaws - SCSH800WH - Shaker Double 800 Sink",
          "Smeg - CMS4101S - 45cm Linea Built-in Coffee Machine",
          "Magikleen - MAGABC250 - 250ml Antibacterial Surface Cleaner",
          "Sunbeam PM4800 - Pie Magic® Traditional 4 Up",
          "Sunbeam - PM4210 - Pie Magic® 2 Up",
          "Homedics - SAN-PH100-BK - Phone Sanitizer Bag",
          "Sunbeam - TR6100 - Faux Fur Heated Electric Throw",
          "Smeg - MFF01PBAU - Milk Frother - Pastel Blue",
          "Neff Standard Recirculation Kit - Z5102X5",
          "Sebo - 5828ER - X Service Kit"
         ],
         "type": "scatter",
         "x": [
          -0.03420494869351387,
          -0.08349017798900604,
          0.04905840754508972,
          -0.03762917220592499,
          -0.03479230776429176,
          -0.1248798817396164,
          0.1027112826704979,
          0.00563909113407135,
          -0.011780217289924622,
          -0.007399603724479675,
          -0.07516112923622131,
          -0.10363605618476868,
          -0.019428260624408722,
          0.0907781720161438,
          -0.05288252979516983,
          -0.0565543994307518,
          -0.08105853199958801,
          -0.05838603526353836,
          0.11109232902526855,
          -0.12516817450523376,
          0.08755601942539215,
          0.032868750393390656,
          -0.09871750324964523,
          0.10036273300647736,
          0.03827013820409775,
          -0.09774076193571091,
          -0.018969200551509857,
          0.016131117939949036,
          0.008757073432207108,
          0.024542011320590973,
          0.06788672506809235,
          -0.11670463532209396,
          -0.09817301481962204,
          -0.05803979933261871,
          -0.10404592007398605,
          0.08326020836830139,
          0.06412161886692047,
          -0.024163737893104553,
          -0.0020531490445137024,
          0.06923972070217133,
          -0.09414596110582352,
          -0.11003850400447845,
          0.047255054116249084,
          -0.09649413079023361,
          -0.03380182385444641,
          0.03181729465723038,
          0.0818384513258934,
          -0.07412390410900116,
          -0.010632067918777466,
          -0.018108904361724854,
          -0.05610940605401993,
          -0.028351418673992157,
          -0.10094474256038666,
          -0.07764864712953568,
          -0.05390084534883499,
          -0.10055317729711533,
          0.0059459879994392395,
          -0.027924418449401855,
          -0.07486090809106827,
          -0.04691832512617111,
          -0.00910130888223648,
          -0.07206471264362335,
          -0.02718895673751831,
          0.026682082563638687,
          -0.07400408387184143,
          -0.0007915347814559937,
          -0.06694179028272629,
          -0.15433385968208313,
          -0.013360407203435898,
          0.02981112152338028,
          0.03633018583059311,
          0.13904723525047302,
          -0.041216589510440826,
          -0.022061768919229507,
          -0.033174969255924225,
          -0.10089016705751419,
          0.014830760657787323,
          0.09050766378641129,
          0.043326810002326965,
          -0.018638037145137787,
          -0.09234660118818283,
          -0.0758700966835022,
          -0.04300306737422943,
          0.044102735817432404,
          -0.061228200793266296,
          -0.06131482124328613,
          -0.07691013067960739,
          0.09526065737009048,
          -0.10454117506742477,
          0.00907774269580841,
          -0.03256797045469284,
          0.03344529867172241,
          -0.12308648973703384,
          0.01013597846031189,
          0.018722668290138245,
          0.03868748992681503,
          -0.03447486460208893,
          -0.2310669720172882,
          -0.018190898001194,
          -0.03871886432170868,
          0.02968878298997879,
          -0.04112917184829712,
          -0.12744086980819702,
          -0.17842990159988403,
          -0.11656560748815536,
          0.16072236001491547,
          -0.07042766362428665,
          -0.01579108089208603,
          0.015412874519824982,
          -0.03912661224603653,
          -0.1270359456539154,
          0.020483434200286865,
          -0.05061548948287964,
          -0.08782336860895157,
          -0.08146564662456512,
          -0.058406226336956024,
          -0.04526564106345177,
          -0.0477413609623909,
          0.00659344345331192,
          -0.008264482021331787,
          -0.06210566312074661,
          -0.15193888545036316,
          0.04752054065465927,
          -0.010490834712982178,
          -0.1330079734325409,
          -0.008656889200210571,
          -0.07011642307043076,
          -0.05280178040266037,
          0.045334961265325546,
          -0.04180266708135605,
          -0.07161028683185577,
          -0.1794772893190384,
          0.09634347259998322,
          0.06443236768245697,
          0.02664962410926819,
          -0.07781849056482315,
          0.033500224351882935,
          -0.1155930832028389,
          0.05823875218629837,
          -0.04046301543712616,
          -0.02922569215297699,
          -0.08007857203483582,
          -0.04935634881258011,
          -0.12381463497877121,
          0.1336296945810318,
          -0.12578675150871277,
          -0.027914680540561676,
          0.09225692600011826,
          -0.0006505250930786133,
          -0.19032689929008484,
          -0.08636359870433807,
          -0.03027142584323883,
          0.1336614042520523,
          0.03716045618057251,
          -0.05053524672985077,
          -0.11683172732591629,
          -0.17073339223861694,
          0.07990525662899017,
          -0.05842771381139755,
          -0.003179103136062622,
          0.0009474530816078186,
          0.09754151850938797,
          -0.106313556432724,
          -0.034495845437049866,
          -0.03741729259490967,
          -0.09083004295825958,
          -0.13048914074897766,
          -0.0902094617486,
          0.10314671695232391,
          -0.029698088765144348,
          -0.05741646885871887,
          -0.0037581920623779297,
          -0.10005668550729752,
          -0.01743920147418976,
          0.0055709704756736755,
          -0.13413704931735992,
          0.014179766178131104,
          0.06505708396434784,
          0.049155138432979584,
          -0.01476740837097168,
          -0.14693179726600647,
          0.0005346611142158508,
          -0.04514724761247635,
          -0.07002922892570496,
          -0.08517934381961823,
          -0.14914663136005402,
          -0.06498987227678299,
          -0.031726330518722534,
          -0.042392291128635406,
          -0.12358402460813522,
          -0.08622705191373825,
          -0.015066854655742645,
          0.09875036776065826,
          -0.09279737621545792,
          -0.12436652928590775,
          -0.08819366991519928,
          -0.03776047006249428,
          -0.0731806829571724,
          -0.03248671442270279,
          -0.13361765444278717,
          -0.02269388735294342,
          -0.08974312990903854,
          -0.040431439876556396,
          0.012687727808952332,
          -0.10756490379571915,
          -0.11089825630187988,
          -0.028078943490982056,
          -0.07003886252641678,
          -0.031212806701660156,
          -0.08852315694093704,
          -0.02607661485671997,
          -0.07425785809755325,
          -0.0806613489985466,
          -0.11638765782117844,
          -0.09096251428127289,
          -0.010969750583171844,
          -0.020528733730316162,
          0.012077458202838898,
          -0.006975896656513214,
          -0.012056604027748108,
          -0.08640266209840775,
          0.1614634096622467,
          -0.07577919960021973,
          0.08703441172838211,
          0.024419501423835754,
          0.12187893688678741,
          -0.14845123887062073,
          0.07581290602684021,
          -0.055679261684417725,
          -0.09791894257068634,
          -0.07570050656795502,
          -0.11743780225515366,
          -0.021895162761211395,
          0.0483892448246479,
          0.007824737578630447,
          -0.14362703263759613,
          -0.13550379872322083,
          0.08121070265769958,
          0.02432912588119507,
          -0.06882091611623764,
          -0.0329812616109848,
          -0.0705459788441658,
          0.12789030373096466,
          -0.040695883333683014,
          0.02702564373612404,
          -0.15003585815429688,
          -0.04924822598695755,
          0.002759993076324463,
          -0.0430338978767395,
          -0.008765898644924164,
          0.05977935343980789,
          -0.10472746938467026,
          0.01000887155532837,
          0.013116225600242615,
          0.00014059990644454956,
          -0.050645045936107635,
          -0.14170578122138977,
          -0.011655822396278381,
          -0.03924623131752014,
          -0.0008201897144317627,
          -0.03459569066762924,
          0.01782120019197464,
          -0.022999979555606842,
          0.10191232711076736,
          -0.15967345237731934,
          0.042414478957653046,
          -0.046112872660160065,
          -0.12663832306861877,
          -0.08992450684309006,
          -0.0199291929602623,
          -0.06299277395009995,
          -0.11463750153779984,
          -0.16653144359588623,
          -0.008693292737007141,
          -0.14865079522132874,
          0.06645277142524719,
          -0.0024981722235679626,
          0.029431715607643127,
          0.06334209442138672,
          -0.1039881780743599,
          -0.03368556499481201,
          -0.1393667459487915,
          -0.01590300351381302,
          -0.07408696413040161,
          -0.025005295872688293,
          0.07911564409732819,
          -0.010950274765491486,
          -0.14904218912124634,
          0.032544463872909546,
          -0.1290576010942459,
          -0.07533044368028641,
          -0.016185276210308075,
          0.06791619211435318,
          -0.0075558945536613464,
          -0.1828673779964447,
          -0.034917041659355164,
          -0.06382464617490768,
          0.022506222128868103,
          -0.08273681253194809,
          -0.14123891294002533,
          -0.002917148172855377,
          -0.007941130548715591,
          0.06369511038064957,
          -0.12346594035625458,
          0.04254402592778206,
          0.17252276837825775,
          -0.06540285050868988,
          0.05855006352066994,
          -0.02516777813434601,
          -0.023223519325256348,
          0.08637970685958862,
          0.06950100511312485,
          -0.019254490733146667,
          -0.07117516547441483,
          -0.14332029223442078,
          -0.12656758725643158,
          -0.20556789636611938,
          0.08390401303768158,
          0.033512577414512634,
          0.07783764600753784,
          -0.08872484415769577,
          0.07053794711828232,
          -0.06333518773317337,
          -0.09037653356790543,
          0.03931538760662079,
          -0.1912272572517395,
          -0.085616834461689,
          0.08966672420501709,
          -0.01385962963104248,
          -0.06300068646669388,
          -0.0349818617105484,
          -0.009968556463718414,
          -0.03838212043046951,
          -0.06702346354722977,
          0.08592810481786728,
          -0.10162443667650223,
          -0.08946029841899872,
          0.026713214814662933,
          0.06044444441795349,
          -0.016570299863815308,
          -0.00016530603170394897,
          -0.05356259644031525,
          -0.05031793564558029,
          -0.21741801500320435,
          0.08479057997465134,
          0.04030813276767731,
          -0.0962788313627243,
          -0.07810042798519135,
          -0.08358520269393921,
          -0.026398614048957825,
          0.023441053926944733,
          -0.042431145906448364,
          -0.04978761076927185,
          -0.09893234819173813,
          -0.024899862706661224,
          0.0004995912313461304,
          0.06610140204429626,
          -0.07745370268821716,
          0.06669971346855164,
          -0.04351799935102463,
          0.036166202276945114,
          -0.08395124226808548,
          0.1306544840335846,
          -0.030676253139972687,
          -0.01709546148777008,
          -0.10821009427309036,
          -0.0695771649479866,
          0.028820887207984924,
          -0.05201397091150284,
          -0.04185126721858978,
          0.03178253769874573,
          -0.09500199556350708,
          -0.06180937588214874,
          -2.0153820514678955e-05,
          0.09076113998889923,
          -0.10740368068218231,
          -0.045501820743083954,
          0.10369545221328735,
          0.08661720901727676,
          -0.157607764005661,
          0.039665836840867996,
          0.04407985880970955,
          -0.11336169391870499,
          0.06004771962761879,
          -0.034346744418144226,
          0.11219397187232971,
          -0.07336246967315674,
          -0.048762306571006775,
          -0.0018412135541439056,
          -0.08687779307365417,
          -0.08069460839033127,
          0.03927679359912872,
          -0.06137850880622864,
          0.0304756760597229,
          0.12423603981733322,
          -0.0980478897690773,
          -0.031007658690214157,
          -0.2070101499557495,
          -0.037579260766506195,
          0.05981221795082092,
          0.050149306654930115,
          -0.27148792147636414,
          -0.12034375220537186,
          -0.07794590294361115,
          0.03803911805152893,
          0.041661277413368225,
          -0.019706912338733673,
          0.01796509325504303,
          0.04290642589330673,
          -0.0666273832321167,
          -0.13925975561141968,
          -0.01291188970208168,
          -0.04099142551422119,
          -0.04875104874372482,
          -0.047992490231990814,
          -0.04972265660762787,
          -0.06632158160209656,
          0.015269860625267029,
          -0.0044436268508434296,
          -0.07055804133415222,
          -0.04458791762590408,
          0.05311673879623413,
          -0.11883910745382309,
          -0.06746400892734528,
          -0.17587733268737793,
          -0.04481123387813568,
          -0.09394969791173935,
          -0.05512077361345291,
          -0.10482161492109299,
          -0.07514078915119171,
          -0.06291431933641434,
          -0.16577842831611633,
          0.07055046409368515,
          0.017564617097377777,
          0.04343550652265549,
          0.02249513566493988,
          -0.017542876303195953,
          -0.0675906091928482,
          -0.017725199460983276,
          -0.09877605736255646,
          -0.08815333247184753,
          0.029887869954109192,
          -0.17134785652160645,
          -0.05810852348804474,
          0.018001332879066467,
          0.10908899456262589,
          0.006742514669895172,
          -0.03593611717224121,
          0.013198606669902802,
          0.040089190006256104,
          -0.02356475591659546,
          -0.05739377439022064,
          -0.05071667581796646,
          0.161288782954216,
          -0.03511878848075867,
          0.04034421592950821,
          -0.032087959349155426,
          0.023962192237377167,
          0.03670991212129593,
          0.10609060525894165,
          -0.020968809723854065,
          -0.004705667495727539,
          0.022235900163650513,
          0.00263996422290802,
          -0.02843564748764038,
          0.09290952980518341,
          -0.05821988731622696,
          0.029170550405979156,
          -0.15416789054870605,
          -0.09994664043188095,
          -0.11941488832235336,
          -0.13040614128112793,
          -0.050948575139045715,
          -0.0846964567899704,
          0.010694138705730438,
          -0.025873899459838867,
          -0.06923580914735794,
          -0.04059609770774841,
          -0.014887921512126923,
          -0.06023850291967392,
          -0.1541644036769867,
          -0.15767812728881836,
          -0.12131776660680771,
          -0.0410749688744545,
          0.16090574860572815,
          -0.02825641632080078,
          -0.02372577041387558,
          -0.09067804366350174,
          -0.0664534941315651,
          -0.06000727415084839,
          0.014333672821521759,
          -0.08510539680719376,
          -0.025262564420700073,
          0.08983603119850159,
          -0.039398856461048126,
          -0.006464384496212006,
          -0.04230925440788269,
          0.06578080356121063,
          -0.02961072325706482,
          0.056341420859098434,
          0.06885091960430145,
          0.0450083464384079,
          -0.0763346403837204,
          -0.1706378161907196,
          -0.06461487710475922,
          -0.07943198829889297,
          -0.04711664468050003,
          0.04955710470676422,
          -0.16534969210624695,
          -0.12509559094905853,
          -0.004701003432273865,
          -0.014460235834121704
         ],
         "y": [
          -0.125372514128685,
          -0.038504648953676224,
          -0.060193419456481934,
          -0.1561160683631897,
          -0.11227062344551086,
          -0.16236862540245056,
          -0.1329151690006256,
          -0.06639392673969269,
          -0.17982301115989685,
          -0.14302851259708405,
          -0.06152848154306412,
          -0.09408221393823624,
          -0.20071837306022644,
          -0.14151206612586975,
          -0.07827619463205338,
          -0.05227404460310936,
          -0.08289099484682083,
          -0.14791381359100342,
          -0.15984958410263062,
          -0.04128910228610039,
          -0.08931967616081238,
          -0.04259951412677765,
          -0.02560935728251934,
          -0.026640847325325012,
          -0.1593630164861679,
          -0.12226216495037079,
          -0.12988097965717316,
          -0.16965839266777039,
          -0.13985395431518555,
          -0.07564173638820648,
          -0.26530978083610535,
          -0.10307346284389496,
          -0.15456587076187134,
          -0.032203879207372665,
          -0.08338362723588943,
          -0.1303975135087967,
          -0.04878201335668564,
          -0.12539663910865784,
          -0.08033489435911179,
          -0.05425450578331947,
          -0.15341663360595703,
          -0.17423707246780396,
          -0.09132255613803864,
          -0.1354009062051773,
          -0.21990954875946045,
          0.0019011814147233963,
          -0.0961112380027771,
          -0.13557104766368866,
          -0.09669538587331772,
          -0.19169363379478455,
          -0.18702460825443268,
          -0.1475408673286438,
          -0.10108013451099396,
          -0.1744675487279892,
          -0.07599212229251862,
          -0.17965629696846008,
          -0.15728971362113953,
          -0.09717810153961182,
          -0.11034364253282547,
          -0.0037969201803207397,
          -0.09879530966281891,
          -0.09320484101772308,
          -0.1507529616355896,
          -0.07932482659816742,
          -0.18017707765102386,
          -0.05327433720231056,
          -0.12988020479679108,
          -0.11521033197641373,
          -0.09584091603755951,
          -0.1044238731265068,
          -0.1003386527299881,
          -0.12984031438827515,
          -0.15798377990722656,
          -0.1523255705833435,
          -0.18452335894107819,
          -0.06615480035543442,
          -0.13869714736938477,
          -0.07747066020965576,
          -0.10643410682678223,
          -0.15565679967403412,
          -0.009635692462325096,
          -0.1445191502571106,
          -0.207145556807518,
          -0.11247531324625015,
          -0.24899643659591675,
          -0.1780155450105667,
          -0.07734358310699463,
          -0.053762033581733704,
          -0.10554911196231842,
          -0.11303368955850601,
          -0.010609127581119537,
          -0.1335415244102478,
          -0.1682451069355011,
          -0.10930338501930237,
          -0.11192326247692108,
          -0.13733240962028503,
          -0.14380252361297607,
          -0.037058182060718536,
          -0.094138965010643,
          -0.19304801523685455,
          -0.2463897168636322,
          -0.12127650529146194,
          -0.02983953058719635,
          -0.038275957107543945,
          -0.029100339859724045,
          -0.0631566122174263,
          -0.04554186388850212,
          -0.056074708700180054,
          -0.051053352653980255,
          -0.032746322453022,
          -0.09952491521835327,
          -0.09344077110290527,
          -0.17210116982460022,
          -0.06513147801160812,
          -0.20263174176216125,
          -0.1319151520729065,
          -0.08641502261161804,
          -0.16765767335891724,
          -0.04255792126059532,
          -0.10719216614961624,
          -0.23297058045864105,
          -0.04855369031429291,
          -0.023766634985804558,
          -0.17762479186058044,
          -0.04189235344529152,
          -0.13678060472011566,
          -0.14552026987075806,
          -0.1788470447063446,
          -0.17959260940551758,
          -0.08816932141780853,
          -0.11824725568294525,
          -0.1431877613067627,
          -0.15839669108390808,
          -0.1394023895263672,
          -0.10287682712078094,
          -0.08834855258464813,
          -0.0744592547416687,
          -0.15683609247207642,
          -0.20711186528205872,
          -0.03888379782438278,
          -0.03369508683681488,
          0.022806189954280853,
          -0.08276863396167755,
          -0.08254251629114151,
          -0.19582599401474,
          -0.13350379467010498,
          -0.1002793163061142,
          -0.14962372183799744,
          -0.006207067519426346,
          -0.10694892704486847,
          -0.1426587551832199,
          -0.09150245040655136,
          -0.08112990111112595,
          -0.04760727658867836,
          -0.0959322601556778,
          -0.040719371289014816,
          -0.06909541040658951,
          -0.13967347145080566,
          -0.04013659805059433,
          -0.06681064516305923,
          -0.12611240148544312,
          -0.10350240767002106,
          -0.05635428801178932,
          -0.09021508693695068,
          -0.11401711404323578,
          -0.1846964806318283,
          -0.12670448422431946,
          -0.19953083992004395,
          -0.18405741453170776,
          -0.19766955077648163,
          -0.15604597330093384,
          -0.10707586258649826,
          -0.12768587470054626,
          -0.1926015019416809,
          -0.06445609033107758,
          -0.0321529284119606,
          -0.18100866675376892,
          -0.10449659824371338,
          -0.12077593058347702,
          -0.09182508289813995,
          -0.10806351900100708,
          -0.13326779007911682,
          -0.10674649477005005,
          -0.09672911465167999,
          -0.1115705594420433,
          -0.1090632975101471,
          -0.10171807557344437,
          -0.14497244358062744,
          -0.11459603160619736,
          -0.12263061106204987,
          -0.12432194501161575,
          -0.030234849080443382,
          -0.21593333780765533,
          -0.19126790761947632,
          -0.04035206139087677,
          -0.1297394335269928,
          0.007514651864767075,
          -0.10537709295749664,
          -0.10513399541378021,
          -0.12942391633987427,
          -0.04756046086549759,
          -0.10599751025438309,
          -0.14982756972312927,
          -0.11823534965515137,
          -0.05434032902121544,
          -0.028335891664028168,
          0.018874667584896088,
          -0.14362651109695435,
          -0.031363099813461304,
          -0.092607781291008,
          -0.1387302428483963,
          -0.08882953971624374,
          -0.1690046191215515,
          -0.08108898997306824,
          -0.12237676233053207,
          -0.11621333658695221,
          0.02601470611989498,
          -0.026857813820242882,
          -0.24823755025863647,
          -0.09587626159191132,
          -0.05767214670777321,
          0.002623729407787323,
          -0.16805656254291534,
          -0.3081318140029907,
          -0.10294780135154724,
          -0.010158158838748932,
          -0.07030832022428513,
          -0.18683040142059326,
          -0.10692068934440613,
          -0.1057467982172966,
          -0.10901838541030884,
          -0.06757085025310516,
          -0.16950692236423492,
          -0.1728772222995758,
          -0.0506439246237278,
          -0.20458818972110748,
          -0.1167103573679924,
          -0.11530411243438721,
          -0.19757255911827087,
          -0.06693612784147263,
          -0.031019605696201324,
          -0.18604938685894012,
          -0.12207646667957306,
          -0.0455351248383522,
          -0.07847118377685547,
          -0.1359260380268097,
          -0.04390513896942139,
          0.012698420323431492,
          -0.08824902027845383,
          -0.15435203909873962,
          0.004448652267456055,
          -0.17166516184806824,
          -0.06155024468898773,
          -0.1626347303390503,
          -0.1670682430267334,
          -0.06800263375043869,
          -0.12368718534708023,
          -0.09259654581546783,
          -0.1322699934244156,
          -0.0011857002973556519,
          -0.03495936468243599,
          -0.11301948130130768,
          -0.19847628474235535,
          -0.12082234025001526,
          -0.16316600143909454,
          -0.08463077992200851,
          -0.10606496036052704,
          -0.08695028722286224,
          -0.20961251854896545,
          0.10352889448404312,
          -0.10480265319347382,
          -0.06193249672651291,
          -0.15382196009159088,
          -0.14186643064022064,
          -0.1104356050491333,
          -0.15778642892837524,
          -0.043035462498664856,
          -0.12676438689231873,
          -0.01206737570464611,
          -0.14757001399993896,
          -0.15308675169944763,
          -0.0639369785785675,
          -0.10751073062419891,
          -0.04787008464336395,
          -0.1421564817428589,
          -0.125919371843338,
          -0.14573529362678528,
          -0.07423113286495209,
          -0.10961133241653442,
          0.030079957097768784,
          -0.15886974334716797,
          -0.22000879049301147,
          -0.04146919399499893,
          -0.06837193667888641,
          -0.09520313143730164,
          -0.17462347447872162,
          -0.1375715434551239,
          -0.10052450001239777,
          -0.09950688481330872,
          -0.05925440043210983,
          -0.08012707531452179,
          -0.04972412809729576,
          -0.16538456082344055,
          -0.20923204720020294,
          -0.16377851366996765,
          -0.08837452530860901,
          -0.1493760645389557,
          -0.132135272026062,
          -0.18697555363178253,
          -0.23225350677967072,
          -0.17937125265598297,
          -0.053240127861499786,
          -0.11548079550266266,
          -0.02024170756340027,
          -0.0917702466249466,
          -0.08743981271982193,
          -0.11201120913028717,
          -0.15337003767490387,
          -0.16803738474845886,
          -0.17527195811271667,
          -0.07263752073049545,
          0.031952425837516785,
          -0.08314162492752075,
          -0.0566147118806839,
          -0.008875109255313873,
          -0.04049479216337204,
          0.03214866295456886,
          -0.1118403971195221,
          -0.18282076716423035,
          -0.08559936285018921,
          -0.08658832311630249,
          -0.052912138402462006,
          -0.12149366736412048,
          -0.029457606375217438,
          -0.21303141117095947,
          -0.15837545692920685,
          -0.19610196352005005,
          -0.17216971516609192,
          -0.0674012079834938,
          -0.12297491729259491,
          -0.1305745393037796,
          0.023252354934811592,
          -0.08201292902231216,
          -0.043374963104724884,
          -0.12625393271446228,
          -0.13942302763462067,
          -0.08570078015327454,
          -0.13736993074417114,
          -0.03213674575090408,
          0.04985162615776062,
          -0.22231200337409973,
          -0.1350707709789276,
          -0.17848196625709534,
          -0.13282732665538788,
          -0.14438891410827637,
          -0.19565677642822266,
          -0.05855735018849373,
          -0.0603150799870491,
          -0.11641789972782135,
          -0.12163890153169632,
          -0.20292255282402039,
          -0.075161412358284,
          0.014643015339970589,
          -0.2141985148191452,
          -0.21256312727928162,
          -0.021910175681114197,
          -0.14394372701644897,
          -0.027023203670978546,
          0.0026781708002090454,
          -0.17036445438861847,
          -0.055334534496068954,
          -0.13482141494750977,
          -0.1235116645693779,
          -0.009730525314807892,
          -0.01909083127975464,
          -0.07197514176368713,
          -0.09038703143596649,
          -0.07377324998378754,
          -0.09855929017066956,
          -0.1766672134399414,
          -0.08045344799757004,
          -0.10156592726707458,
          -0.07028661668300629,
          -0.1568201184272766,
          -0.0840320736169815,
          -0.12008160352706909,
          -0.09533179551362991,
          -0.055965546518564224,
          -0.03960367292165756,
          -0.09741539508104324,
          -0.014788860455155373,
          -0.09215760231018066,
          -0.05047772824764252,
          0.19535227119922638,
          -0.10719586908817291,
          -0.1248096376657486,
          -0.17467084527015686,
          -0.09328209608793259,
          -0.18149897456169128,
          -0.1728036105632782,
          -0.08166873455047607,
          -0.0975499302148819,
          -0.09367968887090683,
          -0.15107722580432892,
          -0.14077863097190857,
          -0.0947461798787117,
          0.022106535732746124,
          -0.03307092562317848,
          -0.10685671865940094,
          -0.13196901977062225,
          -0.07948030531406403,
          -0.02125096321105957,
          -0.09881677478551865,
          -0.08248201012611389,
          -0.10599613934755325,
          -0.15266820788383484,
          -0.14200451970100403,
          -0.09424024820327759,
          -0.16742612421512604,
          -0.10580942034721375,
          -0.08755896240472794,
          -0.05761425942182541,
          -0.09269258379936218,
          -0.096748486161232,
          -0.031213901937007904,
          -0.10891023278236389,
          -0.10489863902330399,
          -0.16518820822238922,
          -0.1384064108133316,
          -0.14241594076156616,
          -0.14522020518779755,
          -0.046501923352479935,
          -0.07422125339508057,
          -0.04849240928888321,
          -0.07383476197719574,
          -0.05528226122260094,
          -0.07232772558927536,
          -0.06310506165027618,
          -0.14413176476955414,
          -0.06580695509910583,
          -0.12430218607187271,
          -0.16260257363319397,
          -0.10675647109746933,
          -0.16742780804634094,
          -0.1592162698507309,
          -0.062458306550979614,
          -0.03236731141805649,
          -0.09163592010736465,
          -0.07575206458568573,
          -0.20924681425094604,
          -0.10186339169740677,
          -0.09504677355289459,
          0.022332552820444107,
          0.14153599739074707,
          -0.14298921823501587,
          -0.08573400229215622,
          -0.12782052159309387,
          -0.09172067791223526,
          -0.07807770371437073,
          -0.09214749932289124,
          -0.11208851635456085,
          -0.10918331146240234,
          -0.11578082293272018,
          -0.06009945273399353,
          -0.10112994909286499,
          -0.09519639611244202,
          -0.1321028470993042,
          0.1326172947883606,
          -0.08420547842979431,
          -0.10124164819717407,
          -0.14365500211715698,
          -0.12283845245838165,
          -0.10778354108333588,
          -0.08370570093393326,
          -0.15323373675346375,
          -0.10813482105731964,
          -0.05708979070186615,
          0.0011230222880840302,
          -0.11155980080366135,
          -0.04386306554079056,
          -0.0003538653254508972,
          -0.11613187193870544,
          -0.09600075334310532,
          -0.09731148183345795,
          -0.15366780757904053,
          -0.043447330594062805,
          -0.06702469289302826,
          -0.004188528284430504,
          -0.0866236686706543,
          -0.13690052926540375,
          -0.028743766248226166,
          -0.054930850863456726,
          -0.1607511341571808,
          0.004478528164327145,
          -0.07915939390659332,
          -0.21481311321258545,
          -0.05905310809612274,
          -0.07453156262636185,
          -0.08114004135131836,
          0.011356532573699951,
          0.031872425228357315,
          -0.007755152881145477,
          -0.06583602726459503,
          -0.007830597460269928,
          -0.16549000144004822,
          -0.07641075551509857,
          -0.11236844956874847,
          -0.11899242550134659,
          -0.09604725241661072,
          -0.24978592991828918,
          -0.03477868437767029,
          -0.0951206386089325
         ]
        },
        {
         "marker": {
          "color": 24,
          "size": 5
         },
         "mode": "markers",
         "name": "19",
         "text": [
          "Beko - HIC64502 T - 60cm Ceran Cooktop",
          "Smeg - SA661X-2 - 60cm Ceramic Cooktop",
          "Crock-Pot® - CHP600 - Choose-a-Crock One Pot Cooker",
          "Beko - 90 cm Vitroceramic Cooktop - HIC95600T ",
          "Crock-Pot® - CHP550 - Digital Hinged Lid One Pot Cooker",
          "Omega - OCI64Z - 60cm Induction Cooktop",
          "Omega Altise ACUBOB - Portable Ceramic Heater - Black",
          "Beko - HIC64502 T - 60cm Ceran Cooktop",
          "Asko - HG1825AD - 80cm Pro Series - Ceramic Glass - Gas Cooktop ",
          "Smeg - SE364TBAU - 60cm Ceramic Cooktop",
          "Beko - HIC74502T - 70cm Electric Ceran Cooktop",
          "Beko - HIC641051 - 60cm Vitroceramic Cooktop",
          "Westinghouse - WHC742BA - 70cm Ceramic Cooktop",
          "Bosch - 60cm Ceramic Cooktop - PKE611CA1A",
          "Westinghouse - WHC322BA - 30cm Ceramic Cooktop",
          "Omega Altise OACHM15W - Portable Ceramic Heater - White",
          "Euromaid - F54CW - 54cm Freestanding Electric Oven + Ceramic Cooktop",
          "Smeg - SA711XA-1 - 70cm Ceramic Cooktop",
          "Westinghouse WHC633BC - 60cm 3 Zone Ceramic Cooktop",
          "Westinghouse WHC943BC - 90cm 4 Zone Ceramic Cooktop",
          "DeLonghi - DTCH80B - 80cm Ceramic Cooktop",
          "Westinghouse WHC942BC - 90cm 4 Zone Ceramic Cooktop",
          "Westinghouse - WHC934BA - 90cm Ceramic Cooktop",
          "Chef - CHC944BA - 90cm Ceramic Cooktop",
          "Omega - OC64KZ - 60cm Ceramic Cooktop",
          "Inalto - ICC705TB - 70cm Ceramic Cooktop - Touch Control",
          "Crock-Pot - CPE300 - Express Crock XL Multi-Cooker",
          "Westinghouse WHC933BC - 90cm 3 Zone Ceramic Cooktop",
          "Crock-Pot® - Traditional One Pot Cooker - CHP200",
          "Inalto - IE92T - 90cm Ceramic Cooktop",
          "Westinghouse WHC642BC - 60cm 4 Zone Ceramic Cooktop",
          "Westinghouse WHC742BC - 70cm 4 Zone Ceramic Cooktop",
          "DeLonghi - DTCH60B - 60cm Ceramic Cooktop",
          "Electrolux - EHC944BA - 90cm Ceramic Cooktop",
          "Everdure by Heston Blumenthal - CUBE - Portable Charcoal Barbeque - HBCUBEK - Khaki ",
          "Westinghouse - WHC744BA - 70cm Ceramic Cooktop",
          "Omega - OC95TXA - 90cm Ceramic Cooktop",
          "Asko - HG1145AD - 111cm Pro Series - Ceramic Glass - Gas Cooktop",
          "Bosch - 60cm Ceramic Cooktop - PKE611D17A",
          "Omega - OCC90TZ - 90cm Ceramic Cooktop",
          "Everdure by Heston Blumenthal - CUBE - Portable Charcoal Barbeque - HBCUBES - Stone",
          "Omega - OC70TZ - 70cm Ceramic Cooktop",
          "Crock-Pot - CPE200 - Express Crock Multi Cooker",
          "Omega - OI64Z - 60cm Induction Cooktop",
          "Inalto - IE61K - 60cm Ceramic Cooktop",
          "Inalto - IE62T - 60cm Ceramic Cooktop",
          "Everdure by Heston Blumenthal - CUBE - Portable Charcoal Barbeque - HBCUBEG - Graphite",
          "Omega - OG72XA - 70cm Gas Cooktop",
          "Omega Altise OACHB24W - Portable Ceramic Heater",
          "Beko - HIC74502T - 70cm Electric Ceran Cooktop",
          "Omega - OCI64PP - 60cm Induction Cooktop",
          "Westinghouse - WHC942BA - 90cm Ceramic Cooktop",
          "Chef - CHC644BA - 60cm Ceramic Cooktop",
          "Omega - OCG755FX - 75cm Gas Cooktop",
          "Omega - OCG64FFX - 60cm Gas Cooktop",
          "Westinghouse WHC642SC - 60cm 4 Zone Ceramic Cooktop",
          "Westinghouse WHC643BC - 60cm 4 Zone Ceramic Cooktop",
          "Electrolux - EHC944BB - 90cm Ceramic Cooktop",
          "Magikleen - MAGCTP250 - 250ml Ceramic Cooktop Polish",
          "Electrolux - EHC644BB - 60cm Ceramic Cooktop",
          "Fisher & Paykel - CE754DTB1 - 75cm Ceramic Cooktop",
          "Omega Altise - AHCC1800TB - Ceramic Heater with LED Display",
          "Omega Altise - Ceramic Heater with LED Display - AHCC2400TB",
          "DeLonghi - DECH60SX1 - 60cm Black Glass Ceramic Cooktop",
          "Everdure by Heston Blumenthal - CUBE - Portable Charcoal Barbeque - HBCUBEO - Orange",
          "Fisher & Paykel - CE604DTB1 - 60cm Ceramic Cooktop",
          "Westinghouse WHC322BC - 30cm 2 Zone Ceramic Cooktop",
          "Omega - OCI64B - 60cm Induction Cooktop",
          "Inalto - ICC604K - 60cm Ceramic Cooktop - Knob Control",
          "Kambrook - KHP120 - Double Ceramic Hotplate",
          "Omega - OCC70TZ - 70cm Ceramic Cooktop",
          "Magikleen - MAGCTC250 - 250ml Ceramic Cooktop Cleaner",
          "Omega - OC64TZ - 60cm Ceramic Cooktop",
          "Inalto - ICC905TB - 90cm Ceramic Cooktop - Touch Control",
          "Inalto - IOC6 - 60cm Cooking Pack - Oven & Ceramic Cooktop",
          "Smeg - SE394EMTBAU - 90cm Ceramic Cooktop",
          "Inalto - ICC604TB - 60cm Ceramic Cooktop - Touch Control",
          "VS Sassoon - VS325A - 25mm Ceramic Curler",
          "Asko - HG1935AD - 90cm Pro Series - Ceramic Glass - Gas Cooktop   ",
          "Electrolux - EHG955BD - 90cm Ceramic Cooktop"
         ],
         "type": "scatter",
         "x": [
          -0.3421708941459656,
          -0.32486799359321594,
          -0.1954723596572876,
          -0.30536937713623047,
          -0.20952171087265015,
          -0.2700446546077728,
          -0.017932608723640442,
          -0.3421708941459656,
          -0.26295068860054016,
          -0.3418861925601959,
          -0.3435926139354706,
          -0.3428296148777008,
          -0.33816561102867126,
          -0.3128316104412079,
          -0.3347126543521881,
          -0.07496298849582672,
          -0.3360942304134369,
          -0.3123469650745392,
          -0.3449963331222534,
          -0.3215583562850952,
          -0.3030703663825989,
          -0.3327294588088989,
          -0.3333717882633209,
          -0.3582972288131714,
          -0.25289738178253174,
          -0.16998717188835144,
          -0.22461047768592834,
          -0.3168999254703522,
          -0.22793778777122498,
          -0.2780124843120575,
          -0.34330832958221436,
          -0.3244789242744446,
          -0.30751457810401917,
          -0.2722873389720917,
          -0.15353283286094666,
          -0.3507829010486603,
          -0.2005382478237152,
          -0.22533667087554932,
          -0.31579896807670593,
          -0.2493302822113037,
          -0.15726825594902039,
          -0.23330900073051453,
          -0.231359601020813,
          -0.269241064786911,
          -0.29082584381103516,
          -0.3051708936691284,
          -0.14649856090545654,
          -0.30799755454063416,
          -0.11746426671743393,
          -0.3435926139354706,
          -0.26668959856033325,
          -0.34611400961875916,
          -0.3705446720123291,
          -0.2849944531917572,
          -0.3127192258834839,
          -0.3430781960487366,
          -0.34263119101524353,
          -0.27759793400764465,
          -0.200557678937912,
          -0.2859625518321991,
          -0.30564427375793457,
          -0.03301882743835449,
          -0.02814166247844696,
          -0.24270087480545044,
          -0.11922027170658112,
          -0.3058384954929352,
          -0.30506259202957153,
          -0.2728796899318695,
          -0.2459453046321869,
          -0.13745863735675812,
          -0.2424374520778656,
          -0.23754334449768066,
          -0.25499406456947327,
          -0.17523211240768433,
          -0.32229578495025635,
          -0.34890180826187134,
          -0.19397392868995667,
          -0.0424787774682045,
          -0.24998310208320618,
          -0.2636754810810089
         ],
         "y": [
          0.04648805037140846,
          0.08969558775424957,
          -0.026448708027601242,
          0.07317579537630081,
          -0.04406438767910004,
          0.12686075270175934,
          -0.0804184079170227,
          0.04648805037140846,
          0.10562571883201599,
          0.01747073233127594,
          -0.0009453184902667999,
          0.010449763387441635,
          0.06389276683330536,
          0.00682951882481575,
          0.02432045340538025,
          0.027887172996997833,
          0.12723171710968018,
          0.054498061537742615,
          0.12448478490114212,
          0.11259584128856659,
          -0.00279342383146286,
          0.12202352285385132,
          0.06827136874198914,
          -0.004702221602201462,
          0.12921085953712463,
          0.03680986911058426,
          -0.07448877394199371,
          0.08891922980546951,
          -0.06137203425168991,
          0.06559837609529495,
          0.15007968246936798,
          0.12122794985771179,
          0.03166421502828598,
          -0.0021825097501277924,
          -0.14563210308551788,
          0.06449848413467407,
          0.11248525977134705,
          0.09872749447822571,
          0.025729414075613022,
          0.09740495681762695,
          -0.14304739236831665,
          0.12217063456773758,
          -0.09754779189825058,
          0.11371275782585144,
          0.09465521574020386,
          0.09405072778463364,
          -0.08731740713119507,
          0.11753058433532715,
          0.02353578433394432,
          -0.0009453184902667999,
          0.10497518628835678,
          0.06602935492992401,
          0.015726212412118912,
          0.08432059735059738,
          0.12352586537599564,
          0.18195819854736328,
          0.14799778163433075,
          -0.00379147008061409,
          -0.1018378958106041,
          0.008534032851457596,
          -0.01769086718559265,
          0.08800088614225388,
          0.08851003646850586,
          0.062327492982149124,
          -0.14265620708465576,
          0.0009774714708328247,
          0.05454582720994949,
          0.09310834854841232,
          0.03479907661676407,
          -0.12105165421962738,
          0.095184326171875,
          -0.062065571546554565,
          0.1294936090707779,
          0.047959376126527786,
          0.07314527034759521,
          0.02193373814225197,
          0.04405045136809349,
          -0.009556025266647339,
          0.09996277093887329,
          0.0809197649359703
         ]
        },
        {
         "marker": {
          "color": 25,
          "size": 5
         },
         "mode": "markers",
         "name": "20",
         "text": [
          "Cygnett - CY2913CPTGL - iPhone 11 Screen Protector",
          "Cygnett - CY2914CPTGL - iPhone 11 Pro Screen Protector",
          "Cygnett - Universal Protective Smartphone Case - CY1678UNNAN",
          "Cygnett - CY2228CPSTE - iPhone X Slimline Protective Case",
          "Cygnett - CY2957TEKVI - TekView Protective AirPods Case - Red",
          "Cygnett - CY2638OZONE - iPhone Xs & X Tempered Glass Case - Black",
          "Cygnett - CY2955TEKVI - TekView Protective AirPods Case - Navy",
          "Cygnett Urban Wallet Flip For iPhone SE (2020)  8, 7 & 6",
          "Speck - 155695 - Presidio Pro Case - iPhone XR",
          "Cygnett - CY1674CPAEG - AeroGrip Case for iPhone ",
          "Apple Watch Series 5 (GPS) 44mm - Space Grey Aluminium Case with Black Sport Band ",
          "Cygnett - CY2595CPTEK - iPhone Xs & X Protective Wallet Case",
          "Cygnett - CY2645CPAEG - 9.7\" iPad Slim Protective Case",
          "Cygnett - CY2642OZONE - iPhone Xs Max Tempered Glass Case - Black",
          "Cygnett - CY2607CPSKI - iPhone Xs & X Slimline Case - Black",
          "Cygnett - CY2323CPTGL - iPhone 8 Plus Glass Screen Protector",
          "Cygnett - CY2287CPHAL - iPhone X Front & Back Screen Protector",
          "Cygnett - CY2421CPTGL - Tempered Glass Screen Protector S9",
          "Cygnett - CY2599CPTEK - iPhone Xs Max Protective Wallet Case",
          "Cygnett - CY2628CPTGL - iPhone XR Tempered Glass Screen Protector",
          "Cygnett - CY2322CPTGL - iPhone 8 Glass Screen Protector",
          "Cygnett - CY2176CITGL - 12.9\" Glass Screen Protector for iPad",
          "Apple Watch Series 5 (GPS) 44mm - Gold Aluminium Case with Pink Sand Sport Band       ",
          "Apple Watch Series 5 (GPS + Cellular) 40mm - Gold Aluminium Case with Pink Sand Sport Band   ",
          "Cygnett - CY2290CPTGL - iPhone X Tempered Glass Screen Protector",
          "Cygnett - CY2630CPTGL - 9H Tempered Glass Screen Protector - iPhone XR",
          "Apple 40mm Pink Sand Sport Band - 3D990FE/A ",
          "Apple Watch Series 3 (GPS + Cellular) 42mm - Space Grey Aluminium Case with Black Sport Band ",
          "Cygnett - CY2033CPTGL - Tempered Glass Screen Protector",
          "Cygnett - CY2239CPURB - iPhone 8 & 7  UrbanShield Case",
          "Cygnett - CY2426CPTGL - Tempered Glass Screen Protector S9+",
          "Speck - 119390-5085 - iPhone XR Presidio Stay Clear Case",
          "Apple Watch Series 3 (GPS) 38mm - Silver Aluminium Case with White Sport Band ",
          "Apple Watch Series 4 (GPS) 44mm - Space Grey Aluminium Case with Black Sport Loop  ",
          "Apple Watch Series 5 (GPS + Cellular) 40mm - Space Grey Aluminium Case with Black Sport Band ",
          "Apple Watch Series 5 (GPS + Cellular) 40mm - Silver Aluminium Case with White Sport Band ",
          "Apple Watch Series 5 (GPS + Cellular) 44mm - Space Grey Aluminium Case with Black Sport Band ",
          "Apple Watch Series 3 (GPS + Cellular) 38mm - Space Grey Aluminium Case with Black Sport Band",
          "Apple Watch Series 5 (GPS + Cellular) 44mm - Gold Aluminium Case with Pink Sand Sport Band  ",
          "Speck - 155706 - Presidio Pro Case - iPhone XS/X",
          "Cygnett - CY3019CPAEG - AeroShield Clear Protective Case",
          "Cygnett - CY3052CPTGL - OpticShield Tempered Glass Screen Protector",
          "Cygnett OpticShield Tempered Glass Screen Protector for iPhone SE (2020)",
          "Cygnett - CY2956TEKVI - TekView Protective AirPods Case - Lilac",
          "Apple Watch Series 5 (GPS) 40mm - Gold Aluminium Case with Pink Sand Sport Band",
          "Cygnett - CY2418WALCI - Black Premium Leather Wallet Case S9",
          "Cygnett - CY3009CPTGL - OpticShield Screen Protector",
          "Cygnett - AeroShield Case for iPhone 6s & 6 - Clear - CY1712CPAEG",
          "Cygnett - CY2248WALCI - iPhone 8 & 7 CitiWallet Case",
          "Cygnett - CY2249WALCI - iPhone 8 Plus & 7 Plus CitiWallet Case ",
          "Cygnett - CY2757CPTGL - Apple Watch 4 RealCurveScreen Protector - 40mm",
          "Cygnett - CY1858CITGL - OpticShield Tempered Glass Screen Protector",
          "Cygnett - CY2954TEKVI - TekView Protective AirPods Case - Black",
          "Apple Watch Series 5 (GPS) 40mm - Silver Aluminium Case with White Sport Band",
          "Cygnett - CY2612CPSKI - iPhone XR Slimline Case",
          "Cygnett - CY2631CPTGL - 9H Tempered Glass Screen Protector",
          "Cygnett - CY2617CPSKI - Case for iPhone Xs Max - Black",
          "Cygnett - CY1853CITGL - OpticShield Tempered Glass Screen Protector for iPad mini 4",
          "Speck - 155729 - Presidio Pro Case - iPhone XS Max",
          "Speck - Presidio Clear iPhone 8 Plus Case ",
          "Apple Watch Series 5 (GPS) 40mm - Space Grey Aluminium Case with Black Sport Band       ",
          "Cygnett - CY2175CITGL - 10.5\" Glass Screen Protector",
          "Apple Watch Series 5 (GPS) 44mm - Silver Aluminium Case with White Sport Band",
          "Cygnett - CY2423WALCI - Black Premium Leather Wallet Case S9+",
          "Cygnett Urban Wallet Flip For iPhone SE (2020)  8, 7 & 6",
          "Cygnett - CY2291CITGL - OpticShield Glass Screen Protector",
          "Cygnett - CY2259CPORB - iPhone X Protective Case",
          "Cygnett - CY2606CPORB - iPhone Xs Max Protective Case in Crystal",
          "Cygnett - CY2761BNAPW - Apple Watch 4 360° Bundle - 40mm",
          "Speck - Presidio Grip iPhone 8 Case",
          "Apple Watch Series 3 (GPS) 38mm - Space Grey Aluminium Case with Black Sport Band ",
          "Cygnett - CY2915CPTGL - iPhone 11 Pro Max Screen Protector",
          "Cygnett - CY2782BNAPW - Apple Watch 4 360° Bundle - 44mm",
          "Cygnett - Tempered Glass Screen Protector - CY2135CPTGL",
          "Apple Watch Series 3 (GPS + Cellular) 38mm - Silver Aluminium Case with White Sport Band ",
          "Cygnett - CY2073CPTGL - OpticShield 9H Glass Screen Protector",
          "Cygnett - CY1873CITGL - OpticShield Tempered Glass Screen Protector for iPad Air/2/Pro 9.7",
          "Cygnett - CY2247WALCI - iPhone X Leather Wallet Case",
          "Cygnett - CY2640OZONE - iPhone XR Tempered Glass Case",
          "Cygnett - CY1838CPURB - UrbanStone Case"
         ],
         "type": "scatter",
         "x": [
          0.19801564514636993,
          0.21459171175956726,
          0.16805291175842285,
          0.15268565714359283,
          0.20376968383789062,
          0.16297021508216858,
          0.1598530262708664,
          0.20692667365074158,
          0.07255515456199646,
          0.12609131634235382,
          0.24891537427902222,
          0.1716916412115097,
          0.16536164283752441,
          0.1633451133966446,
          0.20431958138942719,
          0.17043322324752808,
          0.16177204251289368,
          0.09281932562589645,
          0.1837034374475479,
          0.116047702729702,
          0.15949460864067078,
          0.1806170642375946,
          0.21642273664474487,
          0.24420246481895447,
          0.12953537702560425,
          0.11714694648981094,
          0.1773771345615387,
          0.27467793226242065,
          0.03350984677672386,
          0.2023412138223648,
          0.12053106725215912,
          0.01612066850066185,
          0.209039568901062,
          0.23152372241020203,
          0.27135980129241943,
          0.2357736974954605,
          0.2718745172023773,
          0.269532710313797,
          0.2420686036348343,
          0.05851956084370613,
          0.04038713872432709,
          0.049621984362602234,
          0.1861814707517624,
          0.17441429197788239,
          0.21863341331481934,
          0.11829730123281479,
          0.0925837829709053,
          0.14189580082893372,
          0.19965876638889313,
          0.20702743530273438,
          0.15530931949615479,
          0.04576491937041283,
          0.22345516085624695,
          0.2118428498506546,
          0.15100809931755066,
          0.044511303305625916,
          0.2066168487071991,
          0.17345568537712097,
          0.0821671113371849,
          0.13677462935447693,
          0.2484871745109558,
          0.09521417319774628,
          0.21229904890060425,
          0.15162929892539978,
          0.20692667365074158,
          0.0734347328543663,
          0.1598912477493286,
          0.1583263874053955,
          0.11483782529830933,
          0.121767058968544,
          0.24459488689899445,
          0.20937901735305786,
          0.12675121426582336,
          0.04739319160580635,
          0.23388274013996124,
          0.10146629065275192,
          0.20900055766105652,
          0.1425391435623169,
          0.12890107929706573,
          0.062059395015239716
         ],
         "y": [
          0.07021543383598328,
          0.06797593086957932,
          -0.029591239988803864,
          -0.031710654497146606,
          -0.18857359886169434,
          -0.0007333531975746155,
          -0.17234709858894348,
          0.03189524635672569,
          -0.02755206823348999,
          -0.012114673852920532,
          0.1236320436000824,
          -0.05230581387877464,
          0.04072393476963043,
          -0.003016144037246704,
          -0.01027253270149231,
          0.09722356498241425,
          -0.030677281320095062,
          0.15116164088249207,
          -0.04595000669360161,
          0.0618448480963707,
          0.0766313374042511,
          0.06583529710769653,
          0.13595685362815857,
          0.14588916301727295,
          0.055434416979551315,
          0.110612653195858,
          -0.0055176373571157455,
          0.1184174120426178,
          0.007246397435665131,
          -0.002030208706855774,
          0.1986522376537323,
          0.02079681307077408,
          0.053008366376161575,
          0.11312136799097061,
          0.13574258983135223,
          0.11141546070575714,
          0.14728835225105286,
          0.10867612063884735,
          0.15507814288139343,
          -0.01950252056121826,
          -0.10543691366910934,
          -0.019906196743249893,
          0.06740206480026245,
          -0.18924206495285034,
          0.1259787380695343,
          0.024898018687963486,
          -0.028024908155202866,
          0.0314280167222023,
          0.02743411436676979,
          0.04548575356602669,
          0.09749503433704376,
          -0.009351551532745361,
          -0.13468334078788757,
          0.08588746190071106,
          0.014933519065380096,
          0.06618093699216843,
          0.008342459797859192,
          0.058951690793037415,
          -0.0019268319010734558,
          0.028817154467105865,
          0.11206322908401489,
          0.01040676236152649,
          0.09593986719846725,
          0.04559633135795593,
          0.03189524635672569,
          -0.057229794561862946,
          -0.07283645123243332,
          -0.037216126918792725,
          0.07526794075965881,
          -0.002779758535325527,
          0.079571932554245,
          0.06195877492427826,
          0.08900102972984314,
          -0.029158174991607666,
          0.0847068578004837,
          0.02110634744167328,
          0.033912550657987595,
          -0.05068524181842804,
          0.005929604172706604,
          -0.10268799960613251
         ]
        },
        {
         "marker": {
          "color": 26,
          "size": 5
         },
         "mode": "markers",
         "name": "21",
         "text": [
          "Panasonic - CS/CU-Z12RKR - 3.5kW/3.7kW ECONAVI Inverter AC   ",
          "Fujitsu - ASTG09KUCA -  2.5kW(C) / 3.2kW(H) - Inverter Air Conditioner  ",
          "Fujitsu - ASTG30KMTC - 8.5kW/9kW Inverter RC Split System ",
          "Kelvinator - KSV35HWH - 3.5kW/4kW Reverse Cycle Split System",
          "Fujitsu - ASTG09CMCA - Inverter Wall Mounted - Cooling Only - 2.5kW(C)",
          "Fujitsu - ASTG30KMTA - 8.5kW(C)/ 9.0kW(H) - Inverter Split System ",
          "Panasonic - CS/CU-Z71VKR - 7.1kW/8kW Inverter RC Split System",
          "Mitsubishi - MSZ-AP25VGKIT - 2.5kW/3.2kW RC Inverter Split System ",
          "Panasonic - CS/CU-Z80VKR - 8kW/9kW Inverter RC Split System",
          "Mitsubishi - MSZ-AP50VGKIT - 5kW/6kW RC Inverter Split System ",
          "Mitsubishi - MSZ-AP60VGKIT - 6kW/6.8kW RC Inverter Split System",
          "Excelair - EPA20A - 5.8kW Portable Airconditioner",
          "Kelvinator - KWH53HRE - 5.3kW (C) / 4.8kW (H) - Window Wall Reverse Cycle Air Conditioner ",
          "Panasonic - CS/CU-S18PKR - 5.0kW Cooling Only Inverter Air Conditioner ",
          "Kelvinator - 8.0kW/9.0kW Inverter Split System - KSV80HRG",
          "Kelvinator - KSV71HWH - 7.1kW/8kW Reverse Cycle Split System",
          "Mitsubishi - MSZ-GL80VGD - 7.8kW/9kW RC Inverter Split System",
          "Midea - MWF-09HB4 - Window Airconditioner - 2.6kW(C)/2.35kW(H)",
          "Kelvinator - KSV25HRH - 2.5kW/3.2kW Reverse Cycle Split System",
          "LG - E32AWN-13 - 9.0kW(C) /10kW(H) - Inverter Air Conditioner",
          "Midea - MPPH10CRN1 - 3kW Portable Airconditioner - Cooling Only",
          "Panasonic - 5kW/6kW RC Inverter Split System - CS/CU-Z50TKR",
          "Kelvinator - 2.5kW/3.2kW Inverter Split System - KSV25HRG",
          "Panasonic - 4.2kW/5.1kW RC Inverter Split System - CS/CU-Z42TKR",
          "Mitsubishi - MSZ-GL71VGD - 7.1kW/8kW RC Inverter Split System ",
          "Mitsubishi - MSZ-GL60VGD - 6kW/6.8kW RC Inverter Split System",
          "Honeywell - 3.5 kW Portable Air Conditioner - Cooling Only - MN12CES",
          "Mitsubishi - MSZ-AP71VGKIT - 7.1kW/8kW RC Inverter Split System ",
          "Fujitsu - ASTG18KUCA - 5.0kW(C)/6.0kW(H) - Inverter Air Conditioner   ",
          "Kelvinator - KSV50HWH - 5kW/6kW Reverse Cycle Split System",
          "Mitsubishi - MSZ-AP80VGKIT - 7.8kW/9kW RC Inverter Split System ",
          "Panasonic - CS/CU-Z42VKR - 4.2kW/5.1kW Inverter RC Split System",
          "Fujitsu - ASTG24KMTC - 7.1kW/8kW Inverter RC Split System",
          "Honeywell - MM14CCS Black - 4.1kW Portable Air Conditioner  ",
          "Excelair - 4.7kW Portable Airconditioner - EPA16A ",
          "Panasonic - CS/CU-Z60VKR - 6kW/7.2kW Inverter RC Split System",
          "Fujitsu - ASTG34KMTA - 9.40kW(C)/ 10.3kW(H) - RC Inverter Split System",
          "Panasonic 2.5kW/3.2kW Reverse Cycle INVERTER Air Conditioner ",
          "Mitsubishi - MSZ-AP42VGKIT - 4.2kW/5.4kW RC Inverter Split System ",
          "Dimplex - 5.3kW Portable Air Conditioner with Dehumidifier - DC18",
          "Fujitsu - ASTG34KMTC - 9.4kW/10.3kW Inverter RC Split System",
          "Kelvinator - KSV90HWH - 9kW/10kW Reverse Cycle Split System",
          "Excelair - 4.1kW Portable Airconditioner - EPA14A",
          "Panasonic - CS/CU-Z35VKR - 3.5kW/4.3kW Inverter RC Split System",
          "Fujitsu - ASTG12KUCA - 3.5kW(C)/4.3kW(H) - Inverter Air Conditioner",
          "Mitsubishi - 3.5kW Cooling / 4.0kW Heating - Split System Airconditioner",
          "Kelvinator - KWH15CME - 1.6kW (C) - Window Wall Cooling Only Air Conditioner",
          "Panasonic - CS/CU-Z50VKR - 5kW/6kW Inverter RC Split System",
          "Honeywell - 2.9 kW Portable Air Conditioner - Cooling Only - MN10CES ",
          "Mitsubishi - MSZ-AP35VGKIT - 3.5kW/3.7kW RC Inverter Split System",
          "Mitsubishi - MSZ-GL50VGD - 4.8kW/5.8kW RC Inverter Split System",
          "Midea - MWF05CB4 - 1.6kW Window Aircon - Cooling Only",
          "Kelvinator - KSV25HWH - 2.5kW/3.2kW Reverse Cycle Split System"
         ],
         "type": "scatter",
         "x": [
          0.047936614602804184,
          0.08681599795818329,
          0.10621397197246552,
          -0.08726615458726883,
          0.018894948065280914,
          0.10250845551490784,
          0.06598250567913055,
          0.05177586153149605,
          0.049909014254808426,
          0.025078559294342995,
          0.014004809781908989,
          0.008384346961975098,
          -0.026816412806510925,
          -0.01781361550092697,
          -0.05084215849637985,
          -0.08897886425256729,
          0.004483338445425034,
          -0.07337416708469391,
          -0.06227414309978485,
          0.033967580646276474,
          0.008438058197498322,
          0.03734622895717621,
          -0.05179350823163986,
          0.07501474022865295,
          0.01608506217598915,
          -0.01848115585744381,
          -0.0754254087805748,
          0.04093417897820473,
          0.07089196145534515,
          -0.11184427887201309,
          0.037019938230514526,
          0.07862038910388947,
          0.10925253480672836,
          -0.028025656938552856,
          0.018004968762397766,
          0.043933991342782974,
          0.11178265511989594,
          -0.020317308604717255,
          0.04545827955007553,
          -0.013268359005451202,
          0.11972811073064804,
          -0.0954437181353569,
          0.045547258108854294,
          0.08905617892742157,
          0.08667799830436707,
          -0.04172612726688385,
          -0.06920765340328217,
          0.047318052500486374,
          -0.05730447918176651,
          0.061706315726041794,
          -0.0004877746105194092,
          -0.15460509061813354,
          -0.07741250097751617
         ],
         "y": [
          0.12353428453207016,
          0.011206988245248795,
          0.04919452965259552,
          0.024501603096723557,
          0.005641205236315727,
          0.08465009182691574,
          0.1396147906780243,
          0.023188840597867966,
          0.13393734395503998,
          0.030665792524814606,
          0.06587564945220947,
          -0.02090233564376831,
          0.03470160439610481,
          0.09545627236366272,
          0.044335246086120605,
          0.046234019100666046,
          0.09131458401679993,
          -0.03932235389947891,
          0.01164813619107008,
          0.1266392171382904,
          -0.0879833996295929,
          0.11294148862361908,
          0.028106598183512688,
          0.10990414023399353,
          0.09302907437086105,
          0.10878463089466095,
          -0.04147171229124069,
          0.051614340394735336,
          0.06765592843294144,
          0.03521657735109329,
          0.051499903202056885,
          0.12525518238544464,
          0.05890205502510071,
          -0.0035086795687675476,
          -0.012338707223534584,
          0.15948662161827087,
          0.07400859892368317,
          0.02660076692700386,
          0.043673962354660034,
          -0.011229606345295906,
          0.06010614335536957,
          0.039954278618097305,
          -0.04422185197472572,
          0.113597571849823,
          0.03748735412955284,
          0.00014972686767578125,
          -0.04376774653792381,
          0.11595721542835236,
          -0.01834077760577202,
          0.020351111888885498,
          0.08781182765960693,
          -0.08963514119386673,
          0.020181212574243546
         ]
        },
        {
         "marker": {
          "color": 27,
          "size": 5
         },
         "mode": "markers",
         "name": "22",
         "text": [
          "Epson - XP-970 - 6 Colour Multifunction Printer",
          "Epson - ET-M2170 - EcoTank Mono Multifunction Printer",
          "Canon - PGI2600XLY - Maxify Yellow XL Ink Cartridge",
          "Canon - PGI2600XLC - Maxify Cyan XL Ink Cartridge",
          "Canon - TS9565 - PIXMA Home A3 Craft Printer ",
          "Canon - CLI681XLY - 681 XL Yellow Ink Cartridge",
          "Canon - CLI681XLC - 681 XL Cyan Ink Cartridge",
          "Canon - Ink and Paper Pack - RP-54",
          "Canon - CLI-651XL - High Yield Ink Cartridge Value Pack",
          "Epson - WF-7725 - WorkForce Inkjet Multifunction",
          "Canon - CLI651XLM - Magenta Ink Cartridge",
          "Canon - TR8560 - PIXMA TR8560 Multifunction",
          "Canon - CLI671XLY - Yellow Extra Large Ink Tank",
          "Canon - CLI671XLM - Magenta Extra Large Ink Tank",
          "Canon - CLI671XLC - Cyan Extra Large Ink Tank",
          "Canon - PGI-1600XLBK - High Yield Black Ink Cartridge",
          "Canon - CLI681XLM - 681 XL Magenta Ink Cartridge",
          "Epson - C13T253192 - 252XL - High Capacity DURABrite Ultra - Black",
          "Epson - C13T00M392 - T522 EcoTank - Magenta Ink Bottle",
          "Epson - FF-680W - Fast Foto Scanner",
          "Epson - T356192 - 802XL DURABrite Ultra - Black Ink Cartridge",
          "Epson - WF-3725 - WorkForce Pro Inkjet Multifunction",
          "Epson - WF-4745 - WorkForce Inkjet Multifunction",
          "Canon - CLI671-XLBK - Black Extra Large Ink Tank",
          "Canon - MB5460 - Maxify Inkjet Multifunction",
          "Epson - Expression Home XP-4100",
          "Canon - PG510 - FINE Black Ink Cartridge",
          "Aquaport - AQP-FCR-Q - Replacement Cartridge",
          "Canon - CLI651XLY - Yellow Ink Cartridge",
          "Epson - T306592 - 288XL 3 Colour Value Pack",
          "Canon - PG640 - Standard Black Ink Cartridge",
          "Canon - PG645 - Black Ink Cartridge",
          "Epson 288 - Std Capacity DURABrite Ultra - Ink Cartridge Value Pack",
          "Epson - C13T02X192 - 212XL High Capacity Black Ink Cartridge",
          "Canon - SX620 HS Black - PowerShot SX620 HS",
          "Epson - XP2100 - 4 Colour Multifunction Printer  ",
          "Epson - Perfection V39 Scanner",
          "Epson - XP-6100 - Expression Premium Inkjet Multifunction",
          "Epson 288XL High Capacity DURABrite Ultra - Black Ink Cartridge - T306192 ",
          "Canon Zink Photo Paper 2\"x3\" (50 Sheets) - MPPP50",
          "Epson WorkForce WF-100 - Wireless Mobile Printer - 4 Colour Inkjet  ",
          "Epson - ET-4700 - WorkForce Inkjet Multifunction Printer",
          "Epson - Expression Home Inkjet Multifunction - XP-240",
          "Inca - 560630 - 3-in-1 Multi-card Reader & Holder",
          "Samsung - CLT-M404S - Magenta Toner",
          "Canon - PGI2600XLBK - Maxify Black XL Ink Cartridge",
          "Epson - C13T00M492 - T522 EcoTank - Yellow Ink Bottle",
          "Epson - C13T00M292 - T522 EcoTank - Cyan Ink Bottle",
          "Epson - C13T345592 - 702XL DURABrite Ultra Ink Cartridge - Tri-Colour Pack",
          "Canon - PGI680XLBK - 680 XL Black Ink Cartridge",
          "Epson - WF-2810 - WorkForce Inkjet Multifunction",
          "Canon - PG-645XL CL-646XL - High Yield Ink Cartridge Combination Pack",
          "Canon - TS6360 - PIXMA Home Multifunction",
          "Canon - CLI681XLBK - 681 XL Black Ink Cartridge",
          "Canon - TS3160 Black - PIXMA Home All-In-One",
          "Epson - C13T00M192 - T522 EcoTank - Black Ink Bottle",
          "Canon - CL646 - Colour Ink Cartridge",
          "Canon - PGI-1600XLC - High Yield Cyan Ink Cartridge",
          "Epson EcoTank Mono Multi-Function Printer - ET-M3180   ",
          "Canon - PGI650XLBK - Extra Large Black Ink Cartridge",
          "Epson - T345192 - 702XL DURABrite Ultra - Black Ink Cartridge",
          "Epson - C13T253692 - 252XL Ink Cartridge Value Pack",
          "Epson - T356592 - 802XL DURABrite Ultra - Value Pack",
          "Epson - ET-2710 - EcoTank 4 Colour Multifunction Printer",
          "Canon - PGI2600XLM - Maxify Magenta XL Ink Cartridge",
          "Epson - C13T02R692 - 212 Std Capacity Ink Cartridge - Value Pack",
          "Canon - CLI651XLC - Cyan Ink Cartridge",
          "Canon - PG640CL641CP - 640 & 641 Combination Pack",
          "Epson - C13T01W792 - 302 Standard Capacity Claria Ink - 5Pk",
          "Samsung - MLT-D111S/SEE - Black Laser Toner"
         ],
         "type": "scatter",
         "x": [
          0.14384154975414276,
          0.12056966125965118,
          0.11875570565462112,
          0.13803580403327942,
          0.17165976762771606,
          0.12614497542381287,
          0.13052602112293243,
          0.11040663719177246,
          0.1011861115694046,
          0.03232584148645401,
          0.10583105683326721,
          0.08363956212997437,
          0.08068180084228516,
          0.05386580526828766,
          0.08878229558467865,
          0.13099193572998047,
          0.11384735256433487,
          0.16131728887557983,
          0.06716818362474442,
          0.12352760136127472,
          0.15205785632133484,
          0.07335730642080307,
          0.03231613337993622,
          0.06758439540863037,
          0.15660294890403748,
          0.13561059534549713,
          0.10976232588291168,
          0.057395823299884796,
          0.11622271686792374,
          0.09932418167591095,
          0.10825101286172867,
          0.10752378404140472,
          0.0839301347732544,
          0.10898992419242859,
          0.1396166831254959,
          0.13170784711837769,
          0.13137274980545044,
          0.11734132468700409,
          0.11378858238458633,
          0.11668069660663605,
          0.1096402108669281,
          0.12947170436382294,
          0.1003507748246193,
          0.0675545185804367,
          0.1643638163805008,
          0.14502756297588348,
          0.07346963882446289,
          0.08718859404325485,
          0.10246916115283966,
          0.11787614971399307,
          0.04088103026151657,
          0.04988785833120346,
          0.11519434303045273,
          0.13680359721183777,
          0.18434765934944153,
          0.09616276621818542,
          0.10811087489128113,
          0.14227022230625153,
          0.09727438539266586,
          0.09824414551258087,
          0.13409921526908875,
          0.09558165818452835,
          0.13892045617103577,
          0.11203034222126007,
          0.12013303488492966,
          0.08705691248178482,
          0.12907962501049042,
          0.06593485176563263,
          0.1019010841846466,
          0.17832615971565247
         ],
         "y": [
          -0.02008051611483097,
          -0.08418910950422287,
          -0.007898656651377678,
          -0.008654721081256866,
          0.041479840874671936,
          0.01864529401063919,
          0.014568828046321869,
          -0.10804483294487,
          -0.02126608043909073,
          -0.01711641252040863,
          -0.03438159078359604,
          0.021806949749588966,
          0.0024664178490638733,
          -0.02172921597957611,
          -0.006497718393802643,
          -0.04497068002820015,
          -0.004060819745063782,
          -0.02684830129146576,
          -0.039544835686683655,
          -0.0445304811000824,
          -0.05244818329811096,
          -0.02072611078619957,
          -0.011177757754921913,
          -0.07336916029453278,
          -0.052026573568582535,
          -0.028567206114530563,
          -0.060659900307655334,
          -0.07568470388650894,
          -0.013882581144571304,
          -0.07362284511327744,
          -0.024240225553512573,
          -0.04825618490576744,
          -0.09514003992080688,
          0.013691797852516174,
          0.04458627104759216,
          -0.04261764883995056,
          -0.014850053936243057,
          -0.04353310167789459,
          -0.03936154395341873,
          -0.0069702304899692535,
          -0.0543602854013443,
          -0.04606402665376663,
          -0.07628680765628815,
          -0.07866798341274261,
          0.12262176722288132,
          -0.03778033331036568,
          -0.01240481436252594,
          -0.04338522627949715,
          -0.0354311540722847,
          -0.010542377829551697,
          -0.03180690109729767,
          0.00555703230202198,
          0.023808684200048447,
          -0.024935688823461533,
          -0.029684772714972496,
          -0.04529488831758499,
          -0.04621904343366623,
          0.0019836947321891785,
          -0.08149142563343048,
          -0.03623088449239731,
          -0.052872881293296814,
          -0.03241308778524399,
          -0.08919991552829742,
          -0.04697025194764137,
          -0.025533264502882957,
          -0.013421252369880676,
          -0.020593203604221344,
          0.008467298932373524,
          0.049479104578495026,
          0.06704068928956985
         ]
        },
        {
         "marker": {
          "color": 28,
          "size": 5
         },
         "mode": "markers",
         "name": "23",
         "text": [
          "Kindle - Paperwhite Leather Case - Onyx Black - B008BADT4K",
          "Amazon Echo Show 5 - Compact Smart Display - Charcoal Fabric",
          "Cygnett TekView Slimline Case for iPad 10.2\" - Grey/Black",
          "Legrand Arteor™ with Netatmo Smart Dimmer Switch (Horizontal)",
          "iPad Mini Smart Case - Black",
          "Cygnett - CY1844CITEK - Tekshell Slimline iPad Mini 4 Case - Red",
          "Nanoleaf Canvas Smarter Kit - 9 Light Squares ",
          "Cygnett - iPad 9.7\" Case - CY2165TEKVI",
          "Nanoleaf Light Panels - Aurora Rhythm Smarter Kit - 9 Light Squares",
          "Fitbit Versa 2 Smart Watch - FB507BKBK - Black/Carbon  ",
          "Amazon - Echo Dot (3rd Gen) Smart Speaker - Charcoal Fabric",
          "Everki - EKB407NCH11 - Advance iPad/Tablet/Ultrabook Laptop Bag - Up to 11.6\"",
          "Fitbit Versa 2™ Health & Fitness Smartwatch -  Blossom/Cooper Rose",
          "Cygnett - CY2706TEKVI - 12.9\"  iPad Pro Case",
          "Cygnett - CY3064TEKVI - TekView for iPad 10.2\" - Lilac/Purple",
          "Amazon - Echo Dot (3rd Gen) Smart Speaker - Charcoal Fabric",
          "Cygnett - CY2966CHCSH - Smart Home Starter Kit",
          "Legrand Arteor™ with Netatmo Smart Light Switch – 1 Gang (Vertical) ",
          "Cygnett - NanoGrip Universal 10\" Tablet Case - CY1707UNNAN",
          "Legrand Arteor™ with Netatmo Smart Light Switch – 2 Gang (Horizontal)  ",
          "Fitbit Versa 2 Smart Watch - FB507RGPK - Petal/Copper Rose  ",
          "Leather Sleeve for 10.5\" iPad Pro - Black",
          "Smart Keyboard Folio for 12.9\" iPad Pro (3rd Gen) ",
          "Smartivity Magico",
          "Kindle - Protective Cover for Kindle (8th Gen - 2016) - B01CUKZBB0 ",
          "Kindle - Paperwhite Leather Case - Blue - B008BPQACI",
          "Google Nest Mini (2nd gen) - Charcoal - Smart Speaker - GA00781",
          "Google - Home Smart Speaker - White Slate",
          "Legrand Arteor™ with Netatmo Smart Light Switch – 1 Gang (Horizontal)  ",
          "Lenovo Smart Clock - ZA4R0001AU  ",
          "Google Chromecast 3rd Generation - GA00439 ",
          "Birde - Interactive Smart Media Player - Purple - BC800PAU",
          "Fitbit Versa 2 Smart Watch - FB507GYSR - Stone/Mist Grey ",
          "iPad Air 2 Smart Case - Black ",
          "Google - GA00216 - Home Mini - Charcoal",
          "Cygnett - iPad 9.7-inch Case - CY2167TEKVI",
          "Smart Cover for 10.5\" iPad Pro - Charcoal Grey",
          "Lenovo Yoga Smart 10.1\" Tab with Google Assistant",
          "Smartivity Fantastic Optics Kaleidoscope",
          "Fitbit Versa Lite Edition™ SmartWatch - FB415SRLV - Lilac   ",
          "Cygnett - CY1848CITEK - TekShell Slimline iPad Pro 12.9\" Case",
          "Apple - Smart Cover for 9.7\" iPad Pro - Charcoal Grey",
          "Cygnett - CY2587WORKM - iPad 9.7\"Case - Black",
          "Lenovo Smart Display 7\"\" with Google Assistant - Blizzard White ",
          "Smart Cover for 12.9\" iPad Pro - Charcoal Grey",
          "Cygnett - CY3065TEKVI - TekView for iPad 10.2\" - Red/Black",
          "Amazon - Echo 2nd Generation - Smart speaker  - Charcoal Fabric",
          "STM Atlas iPad 5th/6th gen/Pro 9.7/Air 1-2 Case - Charcoal",
          "Cygnett - iPad 9.7\" Case - CY2168TEKVI",
          "iPad Mini 4 Smart Cover - Charcoal Grey ",
          "iPad Mini Smart Cover - Black",
          "Navman - MiVUE SMARTBOX - SmartBox Power Hard Wiring Kit",
          "Cygnett - CY3076CPWOR - WorkMate for iPad 10.2\" (2019)",
          "Google Nest Mini (2nd gen) - Chalk - Smart Speaker - GA00638 ",
          "Google Chromecast Ultra - GA3A00414A09 ",
          "Pendo - PendoPad 10.1\" - Intel Quad Core - Black - PNDP51MS10BLK",
          "Speck - 150979 - 15\" Macbook Pro Smartshell Case"
         ],
         "type": "scatter",
         "x": [
          0.19510245323181152,
          0.16085535287857056,
          0.23835569620132446,
          0.09282467514276505,
          0.28603997826576233,
          0.14661261439323425,
          0.0943542867898941,
          0.22299045324325562,
          0.09782040119171143,
          0.13399049639701843,
          0.21580272912979126,
          0.18955481052398682,
          0.15710286796092987,
          0.22717076539993286,
          0.20952048897743225,
          0.21580272912979126,
          0.05642010271549225,
          0.10085973143577576,
          0.15144117176532745,
          0.12460942566394806,
          0.06546617299318314,
          0.26339396834373474,
          0.2733381390571594,
          0.17896002531051636,
          0.22681674361228943,
          0.18532441556453705,
          0.1454465389251709,
          0.22470639646053314,
          0.11163590103387833,
          0.1844967007637024,
          0.20843897759914398,
          0.24793469905853271,
          0.14782428741455078,
          0.3190031349658966,
          -0.037842728197574615,
          0.19534635543823242,
          0.22734776139259338,
          0.3100237548351288,
          0.20723724365234375,
          0.1306658536195755,
          0.18545028567314148,
          0.2715662121772766,
          0.21865171194076538,
          0.29373815655708313,
          0.22091716527938843,
          0.23035691678524017,
          0.2090992033481598,
          0.2513240873813629,
          0.22213628888130188,
          0.1978038102388382,
          0.2798096537590027,
          0.16579841077327728,
          0.17021173238754272,
          0.17063093185424805,
          0.23709124326705933,
          0.24164780974388123,
          0.12177526950836182
         ],
         "y": [
          -0.09398084878921509,
          0.043605100363492966,
          0.008844971656799316,
          -0.023297179490327835,
          0.009568493813276291,
          -0.009915702044963837,
          -0.03851110860705376,
          0.055048275738954544,
          -0.05796009674668312,
          -0.02492334321141243,
          -0.14016152918338776,
          0.0022871047258377075,
          -0.06952016055583954,
          -0.024853669106960297,
          0.03742389380931854,
          -0.14016152918338776,
          0.050434306263923645,
          0.0071601103991270065,
          0.018543951213359833,
          -0.02930799499154091,
          -0.02924911305308342,
          -0.010295521467924118,
          0.077288419008255,
          0.03037303499877453,
          0.024952609091997147,
          -0.13510850071907043,
          -0.11450850963592529,
          -0.14030253887176514,
          -0.023611130192875862,
          0.10242432355880737,
          0.0722523033618927,
          -0.12843620777130127,
          -0.0026608211919665337,
          0.0037103239446878433,
          -0.07885280251502991,
          0.05850880965590477,
          0.05345987528562546,
          0.1495359092950821,
          -0.0011721998453140259,
          -0.000773996114730835,
          0.0030944719910621643,
          0.09824489057064056,
          -0.006720654666423798,
          0.17690083384513855,
          0.06416469812393188,
          0.05812688544392586,
          -0.11063311249017715,
          0.003804381936788559,
          0.051344677805900574,
          0.038211554288864136,
          0.02243911474943161,
          -0.04406450316309929,
          0.06998704373836517,
          -0.07804645597934723,
          0.13732685148715973,
          0.04616749659180641,
          0.03378642722964287
         ]
        },
        {
         "marker": {
          "color": 29,
          "size": 5
         },
         "mode": "markers",
         "name": "24",
         "text": [
          "Razer - RZ02-01072200 - D.Va Goliathus Mouse Mat",
          "Razer - RZ19-02290100 - Seiren X Gaming Microphone",
          "Logitech - 960-000738 - HD Webcam C615",
          "Logitech - 910-005600 - Pebble Wireless Mouse M350 - White",
          "Razer - RZ01-02120100 - Lancehead Ambidextrous Gaming Mouse",
          "Logitech - 960-000584 - HD Webcam C270",
          "Razer - RZ02-01940100 - Sphex V2 Mouse Mat",
          "Logitech - 910-005127 - Pro Gaming Mouse",
          "Razer Hammerhead True Wireless Earbuds - RZ12-02970100",
          "Logitech - 981-000823 - G332 Gaming Headset",
          "Razer - Ripsaw HD Game Capture Card",
          "Razer - RZ04-02690100 - Nari Essential Wireless Gaming Headset",
          "Razer - RZ03-02620100 - BlackWidow Elite Keyboard",
          "Logitech - 910-003960 - Bluetooth Mouse M557",
          "Logitech - Wireless Combo MK345 ",
          "Razer - RZ02-03330500 - Gigantus V2 Mouse Mat",
          "Microsoft - ELG-00005 - Arc Mouse",
          "Logitech - 941-000126 - G920 Driving Force",
          "Razer - RZ07-02270100 - Tartarus V2 Gaming Keypad",
          "Logitech - 980-001318 - 5.1 Surround Sound Speaker System",
          "Logitech - MX Anywhere 2S - Graphite - 910-005156",
          "Logitech - G703 LightSpeed HERO Wireless Gaming Mouse",
          "Razer - RZ02-01910700 - Goliathus Control Gravity Edition - Large",
          "Logitech - 940-000112 - Gamepad F310",
          "Logitech - 943-000046 - G240 Cloth Gaming Mouse Pad",
          "Logitech - G432 7.1 Surround Sound Gaming Headset - 981-000824 ",
          "Logitech - 920-009354 - G512 Mechanical Gaming Keyboard",
          "Logitech - 910-004210 - G302 Daedalus Prime",
          "Logitech - 910-005651 - G604 LightSpeed Wireless Gaming Mouse",
          "Logitech - 910-005472 - G502 HERO Gaming House",
          "Logitech - 980-001066 - X50 Mobile Wireless Speaker - Grey",
          "Razer - RZ03-03380100 - Ornata V2 Gaming Keyboard",
          "Razer - RZ04-02830200 - Kraken Gaming Headset - Razer Green",
          "Razer - RZ04-02830100 - Kraken Gaming Headset - Classic Black",
          "Razer - RZ03-02260100 - Cynosa Chroma Keyboard",
          "Logitech - 980-001263 - Z337 Speaker System",
          "Logitech - 980-001067 - X50 Mobile Wireless Speaker - Blue",
          "Logitech - 980-000850 - Multimedia Speakers Z200",
          "Razer - RZ03-02860100 - BlackWidow - Mechanical Gaming Keyboard",
          "Logitech - 910-002503 - Wireless Mouse M185",
          "Razer - RZ04-02670100 - Nari Ultimate Wireless Hypersense THX Gaming Headset",
          "Microsoft - U7Z-00005 - Wireless Mobile Mouse 1850 - Black ",
          "Logitech - 920-007165 - Wireless Touch Keyboard K400 Plus  ",
          "Logitech MK470 Slim Wireless Combo - Off-White",
          "Razer - RZ04-03240100 - BLACKSHARK V2 X Headset",
          "Logitech - 910-005193 - MX Master 2S Mouse - Light Grey",
          "Logitech - 980-001069 - X50 Mobile Wireless Speaker - Orange",
          "Razer - RZ01-02130200 - Lancehead Tournament Edition - Mercury White",
          "Logitech - 910-005674 - G903 LIGHTSPEED Wireless Gaming Mouse",
          "Logitech - 920-008696 - MK545 Wireless Keyboard/Mouse Combo ",
          "Logitech - 980-001303 - G560 LightSync PC Gaming Speaker",
          "Microsoft - KTF-00005 - Modern Mobile Mouse",
          "Logitech  H110 Stereo Headset",
          "Logitech - G213 Prodigy RGB Gaming Keyboard - 920-008096",
          "Logitech - 920-008028 - K780 Multi-Device Wireless Keyboard",
          "Razer - RZ04-01930100 - Hammerhead BT In-Ear Headset",
          "Logitech - 910-005449 - MX Vertical Mouse ",
          "Razer Viper Ultimate Wireless Mouse",
          "Logitech - 920-006380 - Bluetooth Multi-Device Keyboard K480",
          "Razer - RZ03-02521800 - Huntsman Keyboard",
          "Logitech - 910-005371 - Wireless Ultra Portable M187",
          "Microsoft - PY9-00018 - Wireless Desktop 850",
          "Razer - RZ02-01070700 - Goliathus Control Fissure Edition - Large",
          "Logitech - 910-005569 - G502 Wireless Gaming Mouse",
          "Logitech - Bluetooth Audio Receiver - Wireless Streaming - 980-000914",
          "Logitech - Wireless Combo MK270r",
          "Razer - RZ04-02830300 - Kraken Gaming Headset - Quartz Pink",
          "Razer - RZ01-03170100 - Basilisk Ultimate Wireless Gaming Mouse",
          "Razer - RZ02-01910200 - Goliathus Speed Cosmic Edition - Medium",
          "Logitech - 910-005388 - R500 Laser Presentation Remote",
          "Microsoft - U7Z-00015 - Wireless Mobile Mouse 1850 - Blue",
          "Logitech - 910-001795 - Mouse M90",
          "Logitech - 960-001090 - C922 Pro Stream Webcam",
          "Logitech - 981-000477 - USB Headset H340",
          "Microsoft RJN-00005 - Bluetooth® Mouse - Black",
          "Logitech - 910-004792 - M720 TRIATHLON Multi-device Wireless Mouse",
          "Logitech - 981-000820 - PRO X Gaming Headset",
          "Razer - RZ01-02170100 - Atheris Wireless Mouse",
          "Razer - RZ19-02320100 - Kiyo Webcam",
          "Microsoft - ELG-00022 - Arc Mouse - Sage",
          "Logitech - Z213 - Multimedia Speakers",
          "Razer Kraken X Gaming Headset - RZ04-02890100 ",
          "Logitech - 981-000825 - G935 LIGHTSYNC Gaming Headset",
          "Razer - RZ02-02500300 - Goliathus Chroma Mouse Mat",
          "Logitech - 920-008021 - G910 Orion Spectrum RGB Mechanical Keyboard ",
          "Razer - RZ04-03230100 - BLACKSHARK V2 Headset",
          "Logitech MK470 Slim Wireless Combo - Graphite ",
          "Logitech - 910-002325 - Wireless Mouse M325",
          "Logitech - 941-000115 - G29 Racing Wheel",
          "Razer DeathAdder V2 Mouse",
          "Logitech G203 LIGHTSYNC Gaming Mouse",
          "Razer - RZ04-01480100 - Thresher Ultimate Wireless Surround Gaming Headset - Xbox One/PC ",
          "Logitech - 920-008250 - K375s Multi-Device Wireless Keyboard",
          "Microsoft - PT3-00027 - Wireless Desktop 900",
          "Razer - RZ03-03400100 - Cynosa V2 Chroma RGB Keyboard",
          "Logitech - 920-009495 - G915 TKL Keyboard",
          "Logitech - 910-002151 -  Wireless Mouse M325",
          "Logitech - 910-003384 - Wireless Mouse M235",
          "Logitech - 910-005698 - MX Master 3 Mouse",
          "Razer - RZ02-01820200 - Goliathus Mobile Mouse Mat - Small",
          "Logitech - Speaker System Z623  ",
          "Logitech - Wireless Mouse M235 - Red",
          "Razer - RZ01-02410100 - Naga Trinity Mouse",
          "Logitech - 910-005601 - Pebble Wireless Mouse M350 - Rose",
          "Logitech - 981-000458 - Wireless Headset H800",
          "Logitech - 910-004521 - Bluetooth Mouse M337",
          "Razer - RZ03-03390100 - Huntsman Mini Gaming Keyboard",
          "Logitech - 910-002225 - Wireless Mouse M185",
          "Razer - RZ01-03150100 - Basilisk X HyperSpeed Mouse",
          "Razer - RZ02-01910400 - Goliathus Speed Cosmic Edition - Extended",
          "Logitech - 980-000514 - Z120 USB Powered Speakers ",
          "Logitech - 920-009418 - MX Keys Wireless Keyboard",
          "Logitech - 920-002582 - Keyboard K120",
          "Logitech - 920-008843 - K600 TV Keyboard",
          "Logitech - MK850 Performance Keyboard & Mouse Combo - 920-008233"
         ],
         "type": "scatter",
         "x": [
          0.15350668132305145,
          0.2802320718765259,
          0.23440957069396973,
          0.24010075628757477,
          0.18514128029346466,
          0.24473221600055695,
          0.2008954882621765,
          0.21525976061820984,
          0.30170419812202454,
          0.27909931540489197,
          0.24653881788253784,
          0.30300578474998474,
          0.19387196004390717,
          0.25518953800201416,
          0.24581581354141235,
          0.20316210389137268,
          0.1620129495859146,
          0.1912526786327362,
          0.18999315798282623,
          0.31660470366477966,
          0.19102975726127625,
          0.25904595851898193,
          0.20111870765686035,
          0.19913983345031738,
          0.1274392157793045,
          0.3239358961582184,
          0.16393016278743744,
          0.1942681074142456,
          0.21027126908302307,
          0.1784723401069641,
          0.32398054003715515,
          0.2028728425502777,
          0.23999707400798798,
          0.23642157018184662,
          0.19582928717136383,
          0.268162339925766,
          0.33680635690689087,
          0.27525582909584045,
          0.16482505202293396,
          0.2402373105287552,
          0.3095274567604065,
          0.29042983055114746,
          0.22600813210010529,
          0.25718578696250916,
          0.279163122177124,
          0.26055800914764404,
          0.3210178017616272,
          0.18607258796691895,
          0.18759164214134216,
          0.23405031859874725,
          0.3062696158885956,
          0.21722719073295593,
          0.3419395983219147,
          0.211946040391922,
          0.2201000154018402,
          0.29127660393714905,
          0.15813539922237396,
          0.30025845766067505,
          0.2233719825744629,
          0.15979664027690887,
          0.27742037177085876,
          0.24052394926548004,
          0.17609010636806488,
          0.2267940193414688,
          0.31054845452308655,
          0.26096123456954956,
          0.22054317593574524,
          0.21509456634521484,
          0.2231174111366272,
          0.2095152884721756,
          0.29240840673446655,
          0.18261343240737915,
          0.24306976795196533,
          0.32496440410614014,
          0.3276299834251404,
          0.24231712520122528,
          0.3056345582008362,
          0.2620700001716614,
          0.22911158204078674,
          0.15973466634750366,
          0.3128002882003784,
          0.26575183868408203,
          0.28891521692276,
          0.18967726826667786,
          0.19253484904766083,
          0.28409498929977417,
          0.22220490872859955,
          0.2425553798675537,
          0.16568729281425476,
          0.2610936164855957,
          0.20944401621818542,
          0.2986677289009094,
          0.22445204854011536,
          0.27554669976234436,
          0.2286689132452011,
          0.18065404891967773,
          0.24558125436306,
          0.2310299426317215,
          0.2075476050376892,
          0.17852383852005005,
          0.25913333892822266,
          0.2616749107837677,
          0.20088863372802734,
          0.23190230131149292,
          0.324471116065979,
          0.24687467515468597,
          0.18197885155677795,
          0.23412059247493744,
          0.18359985947608948,
          0.21864521503448486,
          0.3036453425884247,
          0.20840106904506683,
          0.17531448602676392,
          0.18863077461719513,
          0.2318582385778427
         ],
         "y": [
          -0.09359598159790039,
          -0.10033120959997177,
          0.0603422075510025,
          -0.16981913149356842,
          -0.08978068083524704,
          0.05880364775657654,
          -0.16278904676437378,
          -0.12729665637016296,
          -0.24560901522636414,
          -0.12506422400474548,
          0.024981185793876648,
          -0.19329124689102173,
          -0.07522815465927124,
          -0.19263415038585663,
          -0.24311046302318573,
          -0.04757985472679138,
          -0.11474110186100006,
          -0.016998842358589172,
          -0.031836219131946564,
          -0.17705345153808594,
          -0.05713586509227753,
          -0.07260492444038391,
          -0.01778000220656395,
          -0.02069740928709507,
          -0.03735555335879326,
          -0.09130866825580597,
          -0.024689730256795883,
          -0.026662446558475494,
          -0.06955718994140625,
          -0.024501390755176544,
          -0.1716003119945526,
          -0.03766102343797684,
          -0.14050748944282532,
          -0.16826558113098145,
          -0.05928630381822586,
          -0.17118185758590698,
          -0.2166023552417755,
          -0.1762753576040268,
          -0.040758319199085236,
          -0.1492202877998352,
          -0.14937496185302734,
          -0.06741245090961456,
          -0.11143101751804352,
          -0.18865332007408142,
          -0.15755538642406464,
          -0.11915303766727448,
          -0.18374812602996826,
          -0.10286982357501984,
          -0.09534606337547302,
          -0.1539314240217209,
          -0.09909571707248688,
          -0.10728295147418976,
          -0.1601506471633911,
          -0.022909030318260193,
          -0.12014228105545044,
          -0.27441343665122986,
          -0.09421426057815552,
          -0.1569088101387024,
          -0.1405712366104126,
          -0.10717253386974335,
          -0.1499551236629486,
          -0.08005870133638382,
          -0.04519544914364815,
          -0.1031474769115448,
          -0.2842661142349243,
          -0.2174786925315857,
          -0.14733724296092987,
          -0.15557429194450378,
          -0.029097409918904305,
          -0.15185509622097015,
          -0.11795366555452347,
          -0.12970027327537537,
          -0.058483704924583435,
          -0.15916922688484192,
          -0.2296442836523056,
          -0.1498759686946869,
          -0.1830689013004303,
          -0.1391535848379135,
          -0.06992988288402557,
          -0.12691336870193481,
          -0.19588665664196014,
          -0.15656964480876923,
          -0.08427410572767258,
          -0.07593400031328201,
          -0.018651116639375687,
          -0.18193122744560242,
          -0.14235472679138184,
          -0.20247137546539307,
          -0.05485556274652481,
          -0.09743407368659973,
          -0.016800908371806145,
          -0.10176315903663635,
          -0.1317097246646881,
          -0.12759429216384888,
          -0.012064415961503983,
          0.0020611658692359924,
          -0.2018473595380783,
          -0.1932435929775238,
          -0.1364448219537735,
          -0.05863358825445175,
          -0.20739668607711792,
          -0.2310870885848999,
          -0.10233422368764877,
          -0.17198219895362854,
          -0.22007234394550323,
          -0.19764351844787598,
          -0.04448339715600014,
          -0.18625137209892273,
          -0.11986757814884186,
          -0.026552461087703705,
          -0.17408446967601776,
          -0.1498560607433319,
          -0.0612187385559082,
          0.005342304706573486,
          -0.08830567449331284
         ]
        },
        {
         "marker": {
          "color": 30,
          "size": 5
         },
         "mode": "markers",
         "name": "25",
         "text": [
          "Alogic - ULCHD02-SGR - 2m USB-C (Male) to HDMI (Male) Cable",
          "Belkin - AV10176bt1M-BLK - Ultra HD High Speed HDMI® Cable",
          "Alogic - VPLUC3AGE - 3 Port USB Hub",
          "Netgear - EX7700 - Nighthawk X6 Tri-Band WiFi Mesh Extender ",
          "Apple - MX2E2AM/A - Watch Magnetic Charging Cable (1 m)",
          "Cygnett - CY2881CHCPM - Smart Wi-Fi Plug with Power Monitoring",
          "Crest - CPDO15M - Digital Optical Cable 1.5m",
          "Netgear - A6150 - WiFi USB Adapter",
          "Cygnett - CY2723PCCSL - 1m Lightning to USB Cable - White",
          "Alogic - ULCDP01-SGR - 1m USB-C (Male) To DisplayPort (Male) Cable",
          "Crest - PWA02305 - 3 USB Power Board",
          "Cygnett - CY2672PCCAM - 1m Micro USB To USB-A Cable",
          "Cygnett - CY2677PCTYC - 1m Armoured USB-C to USB-C Cable",
          "Crest - CNA05085 - Digital Optical Cable",
          "Crest - CHCLMW - Micro USB Cable",
          "Cygnett - CY2798PCCCL - 10cm Lightning to USB-C Cable White",
          "Alogic - ELUCHD-02RBLK - 2m USB-C to HDMI Cable",
          "Alogic - 2m Mini HDMI to HDMI Cable - HDC-MM-02-V2",
          "Alogic - MDP-VGA-AIC - 15cm Mini DisplayPort to VGA Adapter",
          "Netgear - RBK23 - Orbi Whole Home AC2200 Tri-band WiFi System",
          "BLE - 0.5m & 3m Lightning Charge & Sync Cables - BL-9PIN2PKP",
          "Crest - CBCAPK3 - Coaxial Adaptor - 3Pk",
          "BLE -  USB 3 in 1 Cable - 1m",
          "Cygnett - CY2675PCTYC - 1m Armoured USBC to USB-C Cable",
          "Alogic - DP-VGA-ADP - 15cm DisplayPort to VGA Adapter",
          "Alogic - 2m Aus 3 Pin Mains Plug to IEC C5 - MF-AUS3PC5-02",
          "Netgear - RAX80 - Nighthawk AX8 8-Stream Wi-Fi 6 Router",
          "Alogic - 3m HDMI Cable with Ethernet Ver 2.0 - Male to Male -  - HDMI-03-MM-V4B",
          "Asus ZenWiFi AX - XT8",
          "Alogic - USB2-02-MAB - USB 2.0 Type A to Type B Mini Cable",
          "Alogic - VPLU3AMCR - USB 3.0 Multi Card Reader",
          "Apple - MXLY2ZA/A - 1m Lightning to USB Cable",
          "Alogic - WCCA17MBK - 2 Port USB Mini Wall Charger",
          "Targus - ACH124US - USB 3.0 4-Port Hub",
          "Cygnett - CY2866PCCPD - Essentials USB-C Audio & Charge Adapter",
          "Cygnett - CY2676PCTYC - 10cm USB-C to USB-C Cable",
          "Netgear - EX6110 - AC1200 WiFi Range Extender",
          "Crest - PWA04976 - USB Power Adaptor",
          "Netgear - D7000 - Nighthawk AC1900 WiFi Modem Router ",
          "Cygnett - CY2679PCUSA - USB-C to USB-A Cable",
          "Alogic - 2m VGA/SVGA Video Cable - Male to Male - VGA-MM-02",
          "Cygnett - CY2685PCCAL - 1m Armoured Lightning to USB-A Cable ",
          "Apple - MJ1K2AM/A - USB-C Digital AV Multiport Adapter",
          "Alogic - 1m TV Antenna Cable - Male to Male - TV-MM-01",
          "Alogic - 10m HDMI Cable with Ethernet Ver 2.0 - HDMI-10-MM-V4",
          "Alogic - MP-UCHD3A - USB-C Adapter with USB 3.0 Hub",
          "Conair Finesse LED Lighted Mirror - CBETP1A ",
          "Crest - PWA04975 - USB Surge Protector Power Adaptor",
          "BLE - Flat HDMI Cable v2.0 with Ethernet - 3m - BL-HDMIF4K30",
          "Alogic - MF-3PC13-02 - 2m Aus 3 Pin Mains Plug to IEC C13",
          "DLink - DSL-G225 - Wireless N300 ADSL2+/VDSL2 Modem Router",
          "Alogic - HDMNR - Mini HDMI (M) to HDMI (F) Adapter",
          "Monster - MCRG6-5.0AU - 5m RG6 Coax Aerial Cable",
          "DLink - DAP-1330 - N300 Wi Fi Range Extender ",
          "Alogic - ULDUNI-SLV - USB-C Dock UNI",
          "Swann - SWPRO-30ULCBL - 100ft/30m Security Extension Cable",
          "Alogic - 10M Blue CAT6 Network Cable - C6-10-Blue",
          "Alogic - DP-HD4K-02-MM - DisplayPort to HDMI Cable - 2m",
          "One For All - CC 4010 - 150cm HDMI Cable",
          "Netgear - EAX80 - Nighthawk® 8-Stream WiFi 6 Mesh Extender",
          "Alogic - MU28P-02SLV - Lightning to USB Cable - 2m Silver",
          "Monster - MCB05CB00 - All-in-One 5 Cable Kit",
          "Apple - MJ262X/A - 29W USB-C Power Adapter",
          "One For All - CC 4040 - 1M USB to Micro USB Cable",
          "TP-Link AX3000 Whole Home Mesh Wi-Fi System - DECOX60 (3 Pack) ",
          "Alogic - C6-05-Blue - 5m CAT6 Network Cable - Blue",
          "TP-Link - HS100 KIT - Smart Wi-Fi Plug - 2pk  ",
          "Samsung - Optical Cable - 15m - VG-SOCM15",
          "DLink - DAP-1720 - AC1750 Wi-Fi Range Extender",
          "BLE - BHM-15M - High Speed HDMI Cable with Ethernet - 1.5m",
          "TP-Link - KC110 - Kasa Spot Pan Tilt",
          "Crest - PWA04989 - USB Universal Adaptor",
          "Cygnett - CY2678PCTYC - 2m USB-C to USB-C Cable",
          "Cygnett - CY2144PCTYC - LightSpeed USB-C to USB-C Cable",
          "Asus - RT-AC68U - AC1900 Dual-Band WiFi Gigabit Router ",
          "BLE - BL-RFEG10 - 10m Antenna Cable",
          "Cygnett - CY2684PCCAL - 10cm Armoured Lightning to USB-A Cable",
          "Cygnett - CY2686PCCAL - 2m Armoured Lightning to USB-A Cable ",
          "TP-Link - RE505X - AX1500 Wi-Fi Range Extender",
          "Asus ZenWiFi AX - XT8WHITE",
          "Cygnett - 2M Micro USB Cable - CY1103PCCSM",
          "Conair - CBE127A - Touch Control LED Lighted Mirror",
          "BLE - HDMI Cable - 1.5m - BL-HDMIE15-V2",
          "Alogic - U28P-01WH - 1m USB to Lightning Cable",
          "Belkin - USB 3.0 Cable A to Micro-B",
          "Apple USB-C to Lightning Cable (1m) - MX0K2FE/A",
          "Netgear - D6220 - AC1200 WiFi High-Speed DSL Modem Router",
          "BLE - High Speed  - 1.5m HDMI Cable - Ethernet",
          "Monster - 1.52m UltraHD Gold HDMI Cable - 140799",
          "Microsoft - PP3-00024 - Wireless Desktop 3050",
          "Cygnett - CY2681PCUSA - 1m Armoured USB-C to USB-A Cable ",
          "BLE - HDMI Cable - 3m - BL-HDMIE30-V2",
          "Alogic - 15cm Mini DisplayPort to HDMI Adapter - MDP-HDMI-AIC",
          "Crest - PWA06021 - USB & Socket Surge Protection Power Board",
          "Cygnett - CY2040PCTYC - 10cm LightSpeed USB-C to USB C Cable",
          "Alogic - MF-AUS3PC5-02 - 2m Aus 3 Pin Mains Plug to IEC C5",
          "Cygnett - CY1464PCCSL - 10cm Lightning™ to USB Cable - Green",
          "Asus - DSL-AC68U - Dual-Band Wireless-AC1900 Gigabit ADSL/VDSL Modem Router",
          "Cygnett Armoured USB-C to USB-A Cable (USB 3.1) Braided Black 1m ",
          "Netgear - RAX120 - Nighthawk AX12 12-Stream Wi-Fi 6 Router ",
          "Monster - 140756 - Fiber Optic Cable 400 DFO2",
          "Monster - MCRG6-1.5AU - 1.5m MV2A Platinum RG6 Coax Aerial Cable",
          "Cygnett - CY2146PCUSA - 1m USB-C To USB-A Cable",
          "Alogic - UCHD4KCH-ADP - USB-C Adapter",
          "Monster - 2m Video® 1 Antenna Cable - AU-MC127259",
          "TP-Link - KL110B - Kasa Smart Light Bulb, Dimmable - B22",
          "Alogic - CRCICA27 - 2 Port USB-C & USB-A Car Charger",
          "BLE - HDMI Premium Certified Cable - 1.5m - BL-HDMIPC15",
          "Alogic - UC3ACR - USB-C to Multi Card Reader",
          "Crest - CN07250 - RJ59 Co-Axial Cable",
          "Alogic - DP-HDMI-ADP - 15cm DisplayPort 1.2 to HDMI 1.4b Adapter",
          "Alogic - USB3-01-MCAB - USB 3.0 Type A to Type B Micro Cable",
          "Crest - CHLLB - Premium Lightning Cable",
          "Alogic - VGA-DVI-MF - VGA to DVI Adapter Male to Female",
          "Belkin - F8J207bt04-BLK - MIXIT™ DuraTek™ Lightning to USB Cable",
          "Alogic - HDMI-25-MM - 25m Male-To-Male HDMI Cable",
          "Alogic - MU2CA-03BLK - 3M USB 2.0 USB-A to USB-C",
          "Arlo - ALS1101 - Smart Home Security Light System - 1 Wire-Free Smart Light",
          "DLink - DGS-1005A - 5-Port Gigabit Desktop Switch",
          "BLE - BL-USBC2PK - USB Type C Cable - 2Pk ",
          "Alogic - ULDNAG2-SLV - USB-C Dock Nano Gen 2 - Silver",
          "Cygnett - 1m Source Lightning Charge & Sync Braided Cable - CY2005PCCSL",
          "Alogic - 1m CAT6 Network Cable - C6-01-Blue",
          "Netgear - D7800 - Nighthawk® X4S AC2600 WiFi Modem Router ",
          "TP-Link - KL130B - Kasa Smart Light Bulb, Multi-colour - B22",
          "Laser 3m TV Antenna Cable Male to Male - CB-TV-ANTMM3",
          "Asus - RT-AX58U - AX3000 Dual Band WiFi Router",
          "Alogic - 2m Aus 3 Pin Mains Plug to IEC C13 - MF-3PC13-02",
          "Google Nest Wifi - 2 Pack - One Router and One Point ",
          "Alogic - MF-AUS2PC7-02 - 2m Aus 2 Pin Mains Plug to IEC C7",
          "Alogic - 1m HDMI Cable with Ethernet Ver 2.0 - HDMI-01-MM-V4",
          "Belkin - AV10176bt2M-BLK - Ultra HD High Speed HDMI® Cable (2018)",
          "Crest - CHCCWH - USB C to USB C Cable",
          "Alogic - UW2-534U8P - 2 Port USB Wall Charger",
          "D-Link - DUB-E130 - USB-C to Gigabit Ethernet Adapter",
          "Cygnett - CY2722PCCSL - 1m Lightning to USB Cable - Black",
          "Crest - TA121-3 - Modem/Telephone Modular Cable 3.0m",
          "Inca - 560700 - Multi-USB Card Reader ",
          "Netgear - PL1000 - Powerline 1000 Adapter",
          "Alogic - ULC35A-SGR - 10cm Ultra USB-C to 3.5mm Audio Adapter",
          "Belkin - MIXIT™ DuraTek™ Lightning to USB Cable Rose Gold - F8J207BT04-C00",
          "Cygnett - CY2680PCUSA - 10cm Armoured USB-C To USB-A Cable",
          "Inca - 560965 - USB 2.0 Compact Card Reader",
          "Belkin - F8J236bt04-BLK - DuraTek™ Plus Lightning to USB-A Cable",
          "TP-Link - HS100 - Smart Wi-Fi Plug",
          "Belkin - A3L980AU15M-BLS - 15m CAT6 Snagless Molded Patch Cable",
          "Cygnett - 1m USB to Micro USB Braided Cable - Black - CY2006PCCSL",
          "Cygnett - CY2009PCCSL - 2M Lightning to USB Cable - Braided",
          "Apple - MD811X/A - 5W USB Power Adapter",
          "Alogic - MU2CC-01SLV - 1m USB 2.0 USB-C To USB-C Cable",
          "Alogic - DP-VGDVHD-ADP - 3-in-1 DisplayPort to HDMI DVI VGA Adapter",
          "BLE - BDP300 - 3m Easy Reach Cable",
          "Alogic - USB-C Ultra Portable Dock PLUS - 4K - 100W",
          "Alogic - VPLU33AGE - USB 3.0 To Gigabit Ethernet & 3 Port USB Hub",
          "BLE - HDMI Premium Certified Cable - 3m - BL-HDMIPC30",
          "Alogic - DP-DPDVIHD-ADP - 3-in-1 HDMI DVI Adapter",
          "Google Nest Wifi - 3 Pack - One Router and Two Points ",
          "Belkin - F3U151MAU06 - USB-to-Micro USB Cable",
          "Laser  - AO-UC3OTGSD-D - USB C Multi Port Hub",
          "Cygnett - CY2867PCCPD - Essentials USB-C Audio Adapter",
          "Cygnett - CY2725PCCSM - 1m Essentials Micro USB to USB-A Cable",
          "Cygnett - CY2592UNHUB - USB-C Hub",
          "Alogic - C6-10-Blue - 10M Blue CAT6 Network Cable",
          "Asus - RT-AX56U - AX1800 Dual Band WiFi 6 Router",
          "TP-Link - Archer AX11000 - Next-Gen Tri-Band Gaming Router",
          "Cygnett - CY2031PCMIC - 4m Micro-USB Cable",
          "Alogic - C6-01-Blue - 1m CAT6 Network Cable - Blue",
          "Oppo - DL129 - 1m USB-A > USB-C VOOC Cable",
          "BLE - Antenna Cable - 3m - BL-RFE30",
          "Alogic - HD4KSPL04 - 4 Port HDMI 2.0 4K Splitter",
          "Laser  - CB-HDMI2-4K - Premium Certified 4K HDMI Cable 2.0M",
          "Alogic DVI-I to VGA Adapter Male to Female ",
          "DLink - DSL-4320L - Taipan - AC3200 Ultra Wi-Fi Modem Router ",
          "Crest - CHCAWH3 - USB A to USB C Cable - 3m",
          "Alogic - 5m HDMI Cable with Ethernet Ver 2.0 - Male to Male - HDMI-05-MM-V4B",
          "Crest - CPHD15M - Platinum HYPER Speed HDMI Cable - 1.5m",
          "Targus - ACH65AU - Micro Travel USB 2.0 4-Port Hub",
          "Nonda - ZUS® Super Duty Cable - 1.2m Lightning to USB Cable",
          "Crest - CNA05073 - 1.5m Platinum Antenna Cable",
          "Netgear - EX6250 - AC1750 WiFi Mesh Extender",
          "Alogic - WC2A17MWH - 2 Port USB Mini Wall Charger - White",
          "Targus - ACH922AU - 4-Port USB-C Hub",
          "Alogic - U22ABRBK - Ultra USB2.0 USB-A (Male) to USB-B (Male) Cable",
          "Alogic - 3m TV Antenna Cable - Male to Male - TV-MM-03",
          "Cygnett - CY2728PCUSA - 1m Essentials USB-C 2.0 to USB-A Cable",
          "Alogic - U2CMC-01BLK - Sync & Charge USB-C & Micro USB Combo Cable",
          "Alogic - WCC60 - USB-C Wall/Laptop Charger - Black",
          "Alogic - QC10AWRDWH - Rapid Wireless Charging Dock",
          "Sengled - Boost WI-FI Extending Dimmable LED Bulb - E27",
          "Apple - MD818AM/A - 1m Lightning to USB Cable",
          "Netgear - EX3110 - AC750 WiFi Range Extender",
          "Asus - RT-AX92U - AX6100 Tri-band WiFi 6 Router",
          "Cygnett - CY1460PCCSL - Source Lightning to USB Cable (10cm-Black)",
          "Alogic - ULDPLS-SGR - USB-C Dock PLUS",
          "Crest - TA121-10 - Modem/Telephone Modular Cable 10.0m",
          "Nonda - ZUS® Super Duty Cable - 1.2m USB-A to Micro-USB Cable ",
          "Alogic - DMCHD-VGA-AD-ADP - 15cm Micro HDMI to VGA Adapter",
          "Alogic - USB2-01-MCAB - USB 2.0 Type A to Type B Micro Cable",
          "Alogic - MU23T1-01SLV - 1m 3-in-1 Charge & Sync Cable",
          "Alogic - 2m Micro HDMI to HDMI with Ethernet Cable Ver 2.0 - HDD-MM-02-V2",
          "Apple - MQUE2AM/A - 1m Lightning to USB Cable",
          "Asus - RT-AX88U - AX6000 Dual Band WiFi Router ",
          "Netgear - GS105 - Gigabit Unmanaged Switch",
          "Crest 1.5m HDMI with Ethernet Cable",
          "DLink - DUB-1312 - USB 3.0 to Gigabit Ethernet Adapter ",
          "Alogic - TV-MM-10 - 10m TV Antenna Cable - Male to Male",
          "Crest - CHRACBK - Retractable Audio Cable",
          "Nonda - ZUS® Super Duty Cable - 1.2m USB-C to USB",
          "Laser 1m TV Antenna Cable Male to Male - CB-TV-ANTMM1",
          "FITBIT - FB202BK - Aria 2 Wi-Fi Smart Scale ",
          "Alogic - USB-C HDMI MultiPort Adapter - MP-UCHDGECH",
          "Alogic - HDMCR - Micro HDMI (M) To HDMI (F) Adapter",
          "TP-Link - HS110 - Smart Wi-Fi Plug with Energy Monitoring",
          "BLE- Digital Optical Braided Cable - 3m - BL-OPTP30 ",
          "Crest - CNA05060 - 1.5m Stereo Cable",
          "Belkin - F8J236BT10-BLK - 3m DuraTek™ Plus Lightning to USB-A Cable",
          "Crest - CBSAC15M - 1.5m Stereo Audio Cable",
          "Crest - CHCAWH - USB A to USB C Cable - 1m",
          "Belkin - F2CU069BT04BLK - 1.2m DuraTek™ Plus USB-C™ to USB-A Cable",
          "Netgear - R6260 - AC1600 Smart WiFi Router",
          "Cygnett - CY2721PCCSL - Essentials Lightning to USB-A Cable 10cm",
          "Moki - ACC-MTMINTA - Inbound Travel Adaptor",
          "Cygnett - CY2730PCUSA - 2m Essentials USB-C 2.0 to USB-A Cable",
          "Alogic - UCHD4K-ADP - USB-C to HDMI Adapter",
          "Cygnett - CY2799PCCCL - 1m Armoured Lightning to USB-C Cable",
          "Alogic - MU23T1-01SGR - 1m 3-in-1 Charge & Sync Cable",
          "Alogic - SmartConnect Mini DisplayPort to HDMI Cable - MDP-HD4K-02-MM",
          "Alogic - ULC35APW-SGR - 10cm USB-C to 3.5mm Audio & USB-C Charging Combo Adapter",
          "USB-C to Lightning Cable (1m)",
          "Alogic - ULC35A1.5-SGR - 1.5m USB-C to 3.5mm Audio Cable",
          "Alogic - UCVGHD-ADP - 2-in-1 USB-C To HDMI VGA Adapter",
          "TP-Link - Archer AX6000 - Next-Gen Wi-Fi Router",
          "Netgear - Nighthawk® AX3000 Wi-Fi 6 Router - RAX40 ",
          "Monster - 1.22m Ultra HD HDMI Cable - 122921",
          "Cygnett - CY2673PCCAM - 2m Micro USB to USB-A Cable",
          "Crest - CHLWH - USB to Lightning Cable",
          "BLE - Antenna Cable - 1.5m - BL-RFE15",
          "Crest - CBDSC5M - 5m Antenna Cable",
          "Crest - CNA05088 - 1.5m Stereo Cable",
          "Alogic - ELUCVG-02RBLK - 2m USB-C to VGA Cable",
          "Alogic - C6-02-Blue - 2m CAT6 Network Cable - Blue",
          "Netgear - RBK50 - Orbi AC3000 Tri-band WiFi Router System  ",
          "Laser SMT-PLGUSB-L - Smart WiFi Plug",
          "TP-Link - KP303 - Kasa Smart Wi-Fi Power Strip",
          "Cygnett - CY2726PCCSM - 2m Essentials Micro USB to USB-A Cable",
          "Crest - CNA05062 - 3m Stereo Audio Cable",
          "Cygnett - CY2724PCCSL - 2m Essentials Lightning to USB-A Cable",
          "Cygnett - CY2682PCUSA - 2m USB-C to USB-A Cable",
          "TP-Link - KL130 - Kasa Smart Light Bulb, Multi-colour - E27",
          "Asus - GT-AX11000 - ROG Rapture tri-band WiFi Gaming Router",
          "Alogic - CO-C18C8PWH - Combo Pack",
          "Alogic - MP-UCHDCH - USB-C Multiport Adapter"
         ],
         "type": "scatter",
         "x": [
          0.3013318181037903,
          0.1911320984363556,
          0.29910916090011597,
          0.16910134255886078,
          0.24381348490715027,
          0.19039961695671082,
          0.20731112360954285,
          0.23276077210903168,
          0.1604069620370865,
          0.2758758068084717,
          0.11423434317111969,
          0.250228613615036,
          0.20302382111549377,
          0.14496901631355286,
          0.23166802525520325,
          0.1328815519809723,
          0.2631545662879944,
          0.2825987935066223,
          0.28916090726852417,
          0.1879127025604248,
          0.09136132150888443,
          0.2000349760055542,
          0.13583312928676605,
          0.2025577425956726,
          0.29360517859458923,
          0.1453915685415268,
          0.1698669046163559,
          0.28598904609680176,
          0.2834087312221527,
          0.28304600715637207,
          0.3081531524658203,
          0.278636634349823,
          0.23566672205924988,
          0.17169618606567383,
          0.3171682059764862,
          0.1743907928466797,
          0.10953237116336823,
          0.1761404275894165,
          0.16412851214408875,
          0.23126481473445892,
          0.2215462476015091,
          0.15602776408195496,
          0.3271266520023346,
          0.19344863295555115,
          0.29188627004623413,
          0.31329280138015747,
          0.05796238034963608,
          0.1591000258922577,
          0.16331356763839722,
          0.15565849840641022,
          0.13252781331539154,
          0.31155622005462646,
          0.0470164455473423,
          0.17885658144950867,
          0.21500563621520996,
          0.0026305392384529114,
          0.21198320388793945,
          0.3105719983577728,
          0.16411253809928894,
          0.14821161329746246,
          0.19705693423748016,
          0.07101333141326904,
          0.24848732352256775,
          0.21337151527404785,
          0.17622922360897064,
          0.20195455849170685,
          0.1694953888654709,
          0.20669841766357422,
          0.18480607867240906,
          0.15288712084293365,
          0.08051074296236038,
          0.1788610816001892,
          0.20655013620853424,
          0.23007221519947052,
          0.1974087953567505,
          0.04563385993242264,
          0.13283537328243256,
          0.1736525297164917,
          0.1878824383020401,
          0.2675372064113617,
          0.2181766927242279,
          0.044296931475400925,
          0.20892618596553802,
          0.20243307948112488,
          0.22363556921482086,
          0.254183828830719,
          0.12716318666934967,
          0.1817861795425415,
          0.20983237028121948,
          0.23329855501651764,
          0.1994704306125641,
          0.18587426841259003,
          0.30293262004852295,
          0.08931980282068253,
          0.18059158325195312,
          0.1469174176454544,
          0.15975484251976013,
          0.1855902075767517,
          0.2268773466348648,
          0.17068347334861755,
          0.06573528051376343,
          0.07420872151851654,
          0.2256128489971161,
          0.303596168756485,
          0.17613545060157776,
          0.16165538132190704,
          0.28450000286102295,
          0.22064581513404846,
          0.3094865083694458,
          0.10669906437397003,
          0.33252444863319397,
          0.27047502994537354,
          0.07104933261871338,
          0.23106156289577484,
          0.12601971626281738,
          0.27145490050315857,
          0.2887422442436218,
          0.14834880828857422,
          0.158293217420578,
          0.1826242357492447,
          0.29502052068710327,
          0.12317885458469391,
          0.18289600312709808,
          0.17442652583122253,
          0.1708175092935562,
          0.15440921485424042,
          0.274111807346344,
          0.15416553616523743,
          0.20169362425804138,
          0.15475241839885712,
          0.2883269190788269,
          0.22638514637947083,
          0.19811095297336578,
          0.23320743441581726,
          0.1476200968027115,
          0.18834072351455688,
          0.2091621607542038,
          0.18467764556407928,
          0.15336211025714874,
          0.2690827548503876,
          0.13630113005638123,
          0.1893283575773239,
          0.19880251586437225,
          0.15570563077926636,
          0.16958986222743988,
          0.04593460261821747,
          0.21850845217704773,
          0.17193245887756348,
          0.2758370637893677,
          0.2844136357307434,
          0.30276551842689514,
          0.05420307815074921,
          0.2754468619823456,
          0.2621687948703766,
          0.18921540677547455,
          0.3253653049468994,
          0.19243571162223816,
          0.15478715300559998,
          0.2114562839269638,
          0.3071163594722748,
          0.22749370336532593,
          0.193627268075943,
          0.20910094678401947,
          0.22319965064525604,
          0.22766491770744324,
          0.20250628888607025,
          0.19545073807239532,
          0.28006112575531006,
          0.020893067121505737,
          0.2663760781288147,
          0.2669769823551178,
          0.24707067012786865,
          0.11442488431930542,
          0.18279297649860382,
          0.28093868494033813,
          0.24493467807769775,
          0.21549949049949646,
          0.1622290164232254,
          0.07932256162166595,
          0.09201455116271973,
          0.22196505963802338,
          0.15285183489322662,
          0.31893640756607056,
          0.19031088054180145,
          0.23993055522441864,
          0.2869694232940674,
          0.23302382230758667,
          0.21173611283302307,
          0.09632036089897156,
          0.2276841700077057,
          0.1371486783027649,
          0.20806172490119934,
          0.18827751278877258,
          0.2186395227909088,
          0.1935066282749176,
          0.2276507019996643,
          0.30704957246780396,
          0.3055209815502167,
          0.17193999886512756,
          0.2930739223957062,
          0.28995481133461,
          0.25597429275512695,
          0.1206343024969101,
          0.2513664662837982,
          0.18175946176052094,
          0.1962055116891861,
          0.15666386485099792,
          0.186334028840065,
          0.15193156898021698,
          0.14673009514808655,
          0.32149791717529297,
          0.3109150528907776,
          0.1822403371334076,
          0.1266038566827774,
          0.1391087919473648,
          0.16216234862804413,
          0.2172592580318451,
          0.17243967950344086,
          0.18777571618556976,
          0.12366965413093567,
          0.1486087143421173,
          0.14269410073757172,
          0.232012078166008,
          0.3412991166114807,
          0.17554143071174622,
          0.15872575342655182,
          0.33003395795822144,
          0.28680241107940674,
          0.19323500990867615,
          0.27082186937332153,
          0.33692294359207153,
          0.23107752203941345,
          0.18848690390586853,
          0.2252684235572815,
          0.252471923828125,
          0.1513642817735672,
          0.05524599552154541,
          0.1447548270225525,
          0.1338275820016861,
          0.21721678972244263,
          0.19866523146629333,
          0.2175036370754242,
          0.20291565358638763,
          0.19133120775222778,
          0.2342008352279663,
          0.16420568525791168,
          0.1796478033065796,
          0.19691969454288483,
          0.15265637636184692,
          0.2675424814224243,
          0.0639851987361908,
          0.29282939434051514
         ],
         "y": [
          0.14289702475070953,
          -0.004293888807296753,
          -0.08804728090763092,
          0.045151956379413605,
          -0.04937925934791565,
          -0.005537994205951691,
          -0.13911092281341553,
          -0.011008970439434052,
          -0.06500103324651718,
          0.029469050467014313,
          -0.06267240643501282,
          -0.08706220239400864,
          -0.0890561193227768,
          -0.10861082375049591,
          -0.12682944536209106,
          -0.0664784163236618,
          0.007456086575984955,
          0.06769384443759918,
          0.06929515302181244,
          -0.07871686667203903,
          -0.16498611867427826,
          -0.11261656135320663,
          -0.1621406227350235,
          -0.09225308150053024,
          0.11201051622629166,
          -0.037684082984924316,
          0.07683570683002472,
          0.03456946089863777,
          0.09199628978967667,
          -0.13648295402526855,
          -0.06386730074882507,
          -0.05363430455327034,
          -0.06652644276618958,
          -0.10210511088371277,
          -0.1923353672027588,
          -0.06792964041233063,
          0.002873152494430542,
          -0.09077396243810654,
          0.017388012260198593,
          -0.10309717059135437,
          0.02110341005027294,
          -0.12493051588535309,
          -0.07535628974437714,
          -0.023644963279366493,
          0.06949487328529358,
          -0.025073036551475525,
          -0.11052018404006958,
          -0.09325604140758514,
          0.010259002447128296,
          -0.07876606285572052,
          -0.07496921718120575,
          0.03641075640916824,
          -0.10544207692146301,
          -0.12264347076416016,
          -0.03790322318673134,
          -0.06864312291145325,
          -0.12149423360824585,
          0.09891413152217865,
          0.02152296155691147,
          0.019933931529521942,
          -0.06988906115293503,
          -0.19330427050590515,
          -0.011889494955539703,
          -0.052015602588653564,
          -0.040216244757175446,
          -0.07784219831228256,
          0.020718727260828018,
          0.17063277959823608,
          -0.06431897729635239,
          -0.045498769730329514,
          -0.11149032413959503,
          -0.08706438541412354,
          -0.09670516103506088,
          -0.059377241879701614,
          0.056139227002859116,
          -0.1696498692035675,
          -0.1009681448340416,
          -0.13093477487564087,
          -0.07052716612815857,
          0.0866360291838646,
          -0.10178667306900024,
          -0.1025191992521286,
          0.009753767400979996,
          -0.04771964251995087,
          -0.19745683670043945,
          -0.0939003974199295,
          -0.024405650794506073,
          -0.03616128861904144,
          0.07903892546892166,
          -0.1266540288925171,
          -0.0979403480887413,
          -0.0010108109563589096,
          0.09609761834144592,
          -0.06394865363836288,
          -0.007838407531380653,
          -0.03865435719490051,
          -0.030293747782707214,
          0.02048436738550663,
          -0.08788282424211502,
          0.033433809876441956,
          -0.11611627042293549,
          -0.08122605085372925,
          -0.10365592688322067,
          0.010934486985206604,
          -0.08552387356758118,
          -0.029562242329120636,
          -0.067664235830307,
          0.024381252005696297,
          -0.07312413305044174,
          -0.141568124294281,
          0.09275481104850769,
          -0.12689223885536194,
          -0.20964425802230835,
          0.04322082921862602,
          -0.19038501381874084,
          0.05017273128032684,
          -0.1070416271686554,
          -0.01658528298139572,
          0.07373370230197906,
          -0.16633068025112152,
          -0.044158466160297394,
          -0.13860850036144257,
          -0.10238077491521835,
          0.030507627874612808,
          -0.05521303415298462,
          -0.09794141352176666,
          0.021417398005723953,
          -0.07233545184135437,
          -0.12486960738897324,
          -0.043371111154556274,
          0.0588822104036808,
          0.04771047085523605,
          -0.10522616654634476,
          -0.00907013937830925,
          -0.0590001717209816,
          -0.08117713034152985,
          -0.11266674101352692,
          -0.07627009600400925,
          -0.11369132995605469,
          0.014225520193576813,
          -0.1680448204278946,
          -0.07380017638206482,
          -0.043735016137361526,
          -0.16608253121376038,
          0.013232637196779251,
          -0.116442009806633,
          -0.1231846883893013,
          -0.13715438544750214,
          -0.023105546832084656,
          -0.07783165574073792,
          0.14425739645957947,
          -0.2415461242198944,
          0.04183365777134895,
          -0.016860611736774445,
          0.0033792806789278984,
          0.10932639241218567,
          -0.12410710752010345,
          -0.1422559767961502,
          -0.08207428455352783,
          -0.18712618947029114,
          -0.05318064987659454,
          -0.1367436796426773,
          -0.125690296292305,
          0.06409958004951477,
          -0.08718056231737137,
          -0.08995107561349869,
          -0.10791182518005371,
          0.0033856844529509544,
          -0.19818344712257385,
          0.13058923184871674,
          0.0128990039229393,
          0.08295373618602753,
          -0.05424366891384125,
          -0.09541524946689606,
          0.05858227610588074,
          0.044665947556495667,
          -0.08930280059576035,
          -0.08817452192306519,
          -0.0936773270368576,
          -0.006947431713342667,
          -0.03264295309782028,
          -0.09039395302534103,
          -0.14604000747203827,
          -0.027920307591557503,
          -0.09425538778305054,
          -0.10886584222316742,
          -0.006102357059717178,
          -0.07841648161411285,
          -0.028869450092315674,
          -0.05071907490491867,
          -0.0024850107729434967,
          0.08259708434343338,
          -0.05996910110116005,
          -0.01879497617483139,
          -0.09809370338916779,
          -0.07791892439126968,
          0.12738004326820374,
          -0.14177030324935913,
          -0.06400740146636963,
          0.08750352263450623,
          -0.04425351321697235,
          0.053898297250270844,
          0.1120111271739006,
          0.03692512959241867,
          -0.061617717146873474,
          0.012162137776613235,
          -0.28421086072921753,
          -0.07616344839334488,
          -0.09059473127126694,
          -0.07609681040048599,
          0.04022742807865143,
          0.059877797961235046,
          0.06152328848838806,
          -0.19656051695346832,
          -0.16003379225730896,
          -0.13487973809242249,
          -0.19681185483932495,
          -0.11348294466733932,
          -0.13431516289710999,
          0.04719139635562897,
          -0.05869080498814583,
          -0.19179308414459229,
          -0.07497929781675339,
          0.10275206714868546,
          -0.10015539079904556,
          -0.027891259640455246,
          0.1101767048239708,
          -0.0066320449113845825,
          -0.11766383796930313,
          -0.026446495205163956,
          0.1345689743757248,
          -0.029946640133857727,
          0.01470581628382206,
          0.06006372720003128,
          -0.08103736490011215,
          -0.13450922071933746,
          -0.1779531091451645,
          -0.08943498134613037,
          -0.1567097306251526,
          -0.020970098674297333,
          -0.10795192420482635,
          -0.06902330368757248,
          -0.03503429889678955,
          -0.0503455325961113,
          -0.054133206605911255,
          -0.1719001829624176,
          -0.06327451020479202,
          -0.0941610336303711,
          0.02917865663766861,
          0.00038607046008110046,
          -0.09397643059492111,
          -0.037680596113204956
         ]
        },
        {
         "marker": {
          "color": 31,
          "size": 5
         },
         "mode": "markers",
         "name": "26",
         "text": [
          "LG - GB-455MBL - 454L Bottom Mount Fridge",
          "Fisher & Paykel - RF442BLPW6 - 442L Bottom Mount Fridge",
          "Kelvinator - KTM4602WC - 460L Top Mount Fridge",
          "Electrolux - EBE5307BC-L - 529L Bottom Mount Fridge",
          "Electrolux - EBE5307BB-R - 529L Bottom Mount Refrigerator",
          "LG - GF-V706BSL - 706L French Door Fridge",
          "Electrolux - EBE5307SA-R - 530L Bottom Mount Refrigerator",
          "LG - GS-L668MBNL - 668L Side by Side Fridge - Non-Plumbed Ice & Water Dispenser",
          "LG - GB-450UBLX - 450L Bottom Freezer Refrigerator",
          "Electrolux - EBE4507SC-L - 453L Bottom Mount Fridge",
          "Haier - HRF520FHS - 514L French Door Refrigerator",
          "Samsung - SRS673DMB - 676L Side by Side Refrigerator ",
          "Mitsubishi - MR-L710EG-DB-A - 710L L4 Grande French Door Fridge",
          "Electrolux - EQE6207SD - 620L French Door Fridge",
          "Haier - 719L Chest Freezer - HCF719",
          "Mitsubishi - MRL710EGSTA- 710L L4 Grande French Door Fridge ",
          "Inalto - IUF92W - 92L Upright Freezer",
          "Beko - BSB641W - 641L Side by Side Fridge",
          "Husky - ALF-C1-840 - 118L Alfresco Bar Fridge",
          "Hitachi - R-WX620KAXK - 615L Black Glass Finish French Door Fridge",
          "Miele - KFN 12823 SD edt-1 CS  - 339L Freestanding Fridge",
          "Haier - HRF360TS - 365L Top Mount Refrigerator",
          "Husky - HUS-C1-840-BLK - 118L Single Glass Door Bar Fridge",
          "Fisher & Paykel - RF442BRPX6 - 442L ActiveSmart™ Fridge",
          "Husky - ALF-C3-840 - 307L Alfresco Bar Fridge",
          "Fisher & Paykel - RF522BLPW6 - 519L Bottom Mount Fridge ",
          "Husky - HUS-C3-840-BLK - 307L Bar Fridge - Black",
          "Mitsubishi - MR-CX492EP-BST-A2 - 492L 3 Door Bottom Mount Fridge",
          "Samsung - SRF717CDBLS - 719L French Door Refrigerator  ",
          "Mitsubishi - MR-LX630EM-GBK - 630L French Door Fridge",
          "Haier  - 328L Vertical Refrigerator - HRF328W2 ",
          "Fisher & Paykel - RF442BLPX6 - 442L ActiveSmart™ Fridge ",
          "Haier - HRF700YCX - 701L French Door Refrigerator",
          "Beko - 629L French Door Fridge - BFD629DX ",
          "Smeg 622L Side-by-Side Stainless Steel Fridge - SR601X ",
          "Mitsubishi - MR-WX500C-S-A2 - 500L French/Multi Drawer Fridge",
          "Hitachi - RV410PT8BBK - 375L Top Mount Inverter Fridge - Brilliant Black",
          "Hitachi - 466L Bottom Mount Fridge - R-B500PT6GBK",
          "Hitachi - R-B570PT7GBK - 525L Bottom Mount Fridge",
          "Mitsubishi - MR-L650EH-ST-A - 650L French Door Fridge",
          "Samsung - 525L Top Mount Fridge - SR520BLSTC",
          "Westinghouse - WHE6874SA - 681L Stainless Steel French Door",
          "LG - GT-442SDC - 441L Top Mount Fridge",
          "Smeg - SR611X - 604L Side-by-Side Fridge - Stainless Steel",
          "LG - GT-279BPL - 279L Top Mount Fridge",
          "LG - GT-427HPLE - 427L Top Mount Fridge",
          "Fisher & Paykel - RS80AU1 - 455L Integrated French Door Fridge",
          "Asko - R2303 - 158L Outdoor Fridge",
          "LG - GT-332SDC - 332L Top Mount Fridge",
          "LG - GF-L570MBL - 570L Slim French Door Fridge - Matte Black Finish",
          "Mitsubishi - MR-L710EG-PWH-A - 710L L4 Grande French Door Fridge",
          "Hitachi - RVG480PT8GPW - 443L Top Mount Inverter Fridge - White Glass",
          "Inalto - IBF95W - 95L White Bar Refrigerator",
          "LG - GF-V910MBL - 910L French Door Fridge with Instaview Door-In-Door ",
          "Fisher & Paykel - RF522ADX5 - 519L French Door Fridge",
          "Electrolux - EBE5307SCR - 529L Bottom Mount Fridge",
          "Westinghouse - WQE6060SB - 600L Stainless Steel 4 Door French Door",
          "Haier - HRF340BW2 - 342L Bottom Mount Refrigerator",
          "Mitsubishi - MR-BF325EK-OB-A2 - 325L Bottom Mount Fridge - Onyx Black",
          "Hitachi - RVG480PT8GBK - 443L Top Mount Inverter Fridge - Black Glass",
          "Hisense - HR6BF121 - 120L White Bar Fridge ",
          "Samsung - SRF671BFH2 - 671L Family Hub™ French Door Refrigerator    ",
          "Westinghouse - WQE6060SA - 600L French Door Fridge",
          "Electrolux - EBE4507SA-L - 450L Bottom Mount Refrigerator",
          "Electrolux - EBE4507SA-R - 450L Bottom Mount Refrigerator",
          "Haier - HCF524W2 - 519L Chest Freezer",
          "LG - GF-D706BSL - 706L French Door Fridge",
          "LG - GF-D613PL - 613L Door-in-Door™ French Door",
          "Aquaport - AQP-IM12B-SS - Portable Ice Maker",
          "Mitsubishi - MRCX370EJSTA2 - 370L 3 Door Bottom Mount Fridge",
          "Electrolux - EHE6899SA - 681L French Door Fridge",
          "Electrolux - EBE5307BB-L - 529L Bottom Mount Refrigerator",
          "Fisher & Paykel - E440TRX3 - 447L ActiveSmart™ Fridge",
          "Hitachi - R-VG410PT8GBK - 375L Top Mount Inverter Fridge - Black Glass",
          "Hitachi - R-WB640VT0 - 638L French Door Fridge   ",
          "Hitachi - RV480PT8BSL - 443L Top Mount Inverter Fridge - Brilliant Silver",
          "Fisher & Paykel - RF522BRPW6 - 519L Bottom Mount Fridge",
          "LG - GS-D665BSL - 665L Side by Side Fridge",
          "Hisense - HR6TFF223 - 223L Top Mount Fridge",
          "Mitsubishi - MR-L650EH-D-B-A - 650L French Door Fridge",
          "Hisense - HR6TFF350 - 350L Top Mount Fridge",
          "Lemair - 70L Bar Fridge - RQ-80H",
          "Kelvinator - KTB2302WB-R - 231L Top Mount Fridge",
          "Fisher & Paykel - E522BLXFDU5 - 519L ActiveSmart™ Fridge",
          "Husky - HUS-RETRO-110 WHT - 123L Retro Style Bar Fridge",
          "Mitsubishi - MR-WX743C-SA2 - 743L French Door Fridge",
          "Haier - HRF454TW2 - 450L Top Mount Refrigerator",
          "Husky - HUS-C2-840-BLK - 190L Double Door Bar Fridge",
          "Inalto - ICF146W - 146L Chest Freezer  ",
          "LG - LT800P - Refrigerator Water Filter Replacement Cartridge",
          "LG - LT1000P - Refrigerator Water Filter Replacement Cartridge",
          "Fisher & Paykel - E442BRXFDU5 - 442L Bottom Mount Fridge",
          "Fisher & Paykel - E522BRXFDU5 - 519L ActiveSmart™ Fridge",
          "Electrolux - EBE5307SCL - 529L Bottom Mount Fridge",
          "Inalto - IBF46W - 46L White Bar Fridge",
          "Haier - HRF565YHS - 565L French Door Refrigerator",
          "Haier - HRF516YHS - 516L French Door Fridge",
          "Fisher & Paykel 605L Quad Door Fridge Freezer - RF605QDVB1",
          "Hisense - HR6AFF355D - 355L Single Door Fridge",
          "Haier - HCF201 - 201L Chest Freezer",
          "Hitachi - R-V610PT7 - 565L Top Mount Fridge",
          "Fisher & Paykel - RF442BRPW6 - 442L Bottom Mount Fridge",
          "Fisher & Paykel - RF522ADUB5 - 519L French Door Fridge ",
          "Liebherr - SICN 3366 LH - 283L Integrable Fridge-Freezer with NoFrost",
          "Miele - KFNS 37452 iDE - 283L Integrated Fridge/Freezer Combination",
          "Liebherr - SGNes 3010 - 303L Freestanding Freezer with NoFrost - LHH",
          "Fisher & Paykel - RF605QDUVB1 - 605L Quad Door Fridge Freezer - Ice & Water",
          "Hisense - HR6TFF223S - 223L Top Mount Fridge",
          "Hitachi - RV480PT8BBK - 443L Top Mount Inverter Fridge - Brilliant Black",
          "Haier - HVF-260WH3 - 258L Vertical Freezer",
          "LG - GF-L706MBL - 706L French Door Fridge",
          "Mitsubishi - MR-BF325EK-W-A2 - 325L Bottom Mount Fridge - Glacier White",
          "Husky - HUS-RETRO-110 RED - 110L Single Door Undercounter Fridge",
          "LG - GS-B680DSLE - 679L Side-by-Side Fridge  ",
          "Husky - HUS-C3-840 - 307L Bar Fridge - Silver",
          "Kelvinator - KTM5402AC-R - 536L Top Mount Fridge",
          "Westinghouse - WHE7074SA - 702L Stainless Steel French Door",
          "Fisher & Paykel - RF605QDVX1 - 605L Quad Door Fridge Freezer ",
          "Electrolux - EBE5307BC-R - 529L Bottom Mount Fridge",
          "LG - GF-V570MBL - 570L Slim French Door Fridge - Matte Black Finish  ",
          "Fisher & Paykel - RS90AU1 - 525L Integrated French Door Fridge",
          "Westinghouse - WQE6000SB - 600L Stainless Steel 4 Door French Door  ",
          "Lemair - LBC6178 - 145L Can Chiller",
          "LG - GS-B680MBL - 680L Side by Side Fridge",
          "Miele - FNS 37402 i - 248L Integrated Vertical Freezer",
          "Hisense - HR6CF523 - 523L Chest Freezer",
          "Beko - GNE134620 X - 584L 4 Door Fridge ",
          "Haier - HCF324W2 - 324L Chest Freezer",
          "Haier - HRF520FHC - 514L French Door Refrigerator",
          "Hitachi - R-WX620KAXW - 615L White Glass Finish French Door Fridge",
          "Hisense - HR6VFF280D - 280L Single Door Vertical Freezer",
          "Haier - HRF520FS - 514L French Door Fridge",
          "Kelvinator - KTM5402WC-R - 536L Top Mount Fridge",
          "Inalto - ICF198W - 198L Chest Freezer",
          "Inalto - IBF129W - 129L White Bar Fridge",
          "Samsung - HAF-CIN/EXP - Refrigerator Water Filter",
          "LG - GF-B730PL - 730L French Door Fridge",
          "Husky - HUS-C1-840 - 118L Single Glass Door Bar Fridge",
          "Fisher & Paykel - RS80A1 - 455L Integrated French Door Fridge",
          "LG - GB-455BTL - 454L Bottom Mount Fridge - Black Steel",
          "Haier - HRF516YS - 514L French Door Refrigerator ",
          "Samsung - SR400LSTC - 400L Top Mount Fridge",
          "Liebherr SKBbs 4350 Premium BioFresh Freestanding Refrigerator   ",
          "Electrolux - EBE5307SA-L - 530L Bottom Mount Refrigerator ",
          "Electrolux - ETE4607SB-L - 460L Top Mount Refrigerator",
          "Haier - HRF565YHC - 565L French Door Refrigerator",
          "Electrolux - EBE5307SB-R - 529L Bottom Mount Refrigerator",
          "Haier - HCF143 - 143L Chest Freezer ",
          "Husky - HUS-198CHE - 198L Solid Door Hybrid Chest Fridge & Freezer ",
          "Fisher & Paykel - RF522ADUX5 - 519L French Door Fridge",
          "LG - GF-L570PL - 570L Slim French Door Fridge - Stainless Steel Finish",
          "Hitachi - R-V445PT8PSV - 403L Top Mount Inverter Fridge ",
          "Hisense - HR6SBSFF624SW - 624L Side By Side Fridge",
          "LG - GB-W455MBL - 454L Bottom Mount Fridge",
          "Fisher & Paykel - RF610ADX5 - 614L French Door Fridge",
          "LG - GB-455UPLE - 454L Bottom Mount Fridge - Dark Graphite",
          "Mitsubishi - MR-WX743C-WA2 - 743L French Door Fridge",
          "Westinghouse - WHE6000SB - 605L Stainless Steel French Door Fridge  ",
          "Fisher & Paykel - RF521TRPW6 - 517L Top Mount Fridge - RH",
          "Fisher & Paykel - RF522ADUSX5 - 519L French Door Fridge  ",
          "Hitachi - R-WB560PT9 - 511L French Door INVERTER Refrigerator",
          "LG - GF-B620PL - 620L French Door Refrigerator",
          "Husky - HUS-C2-840 - 190L Double Door Bar Fridge",
          "Inalto - IUL237W - 237L Upright Refrigerator",
          "Smeg - SR601N - 622L Side-by-Side Fridge - Black",
          "Westinghouse - 605L Stainless Steel French Door - WHE6060SA ",
          "LG - GT-442WDC - 441L Top Mount Fridge",
          "LG - GF-B590MBL - 594L Slim French Door Fridge - Matte Black Finish",
          "Hitachi - R-B330PT9 - 303L Bottom Mount Fridge",
          "Hitachi - R-190ET9 - 187L Single Door Fridge ",
          "LG - GF-L706PL - 706L French Door Fridge",
          "Miele - KFNS 37682 iDE - 279L Integrated Fridge/Freezer Combination",
          "Mitsubishi - MRCX370EJWA2 - 370L 3 Door Bottom Mount Fridge",
          "Liebherr - SKBes 4210 RH - 403L Freestanding Refrigerator with BioFresh ",
          "Fisher & Paykel - RF522BRPX6 - 519L Bottom Mount Fridge",
          "LG - GS-L668PNL - 668L Side by Side Refrigerator - No Plumbed Ice & Water Dispenser",
          "Hitachi - R-WX670KAXK - 670L Black Glass French Door Fridge",
          "Fisher & Paykel - RF610ADUSX5 - 614L French Door Fridge",
          "Beko - BSB641X - 641L Side by Side Fridge",
          "Mitsubishi - MR-WX743C-WA - 743L French Door Fridge ",
          "LG - GT-515SDC - 516L Top Mount Fridge ",
          "Haier - HRF454TW - 457L Top Mount Refrigerator",
          "Liebherr CNef 4315 - 350L Fridge-freezer with NoFrost ",
          "Fisher & Paykel - RF605QDUVX1 - 605L Quad Door Fridge Freezer - Ice & Water",
          "Hitachi - R-WX670KAXW - 670L White Glass French Door Fridge",
          "Fisher & Paykel - RF610ADUX5 - 614L French Door Fridge",
          "Hitachi - R-ZX740KAXK - 735L Black Glass French Door Fridge",
          "Samsung - SRS656MBFH4 - 656L Family Hub™ Fridge",
          "LG - GB455PL - 454L Bottom Mount Fridge - Platinum",
          "Haier - HRF520BS - 517L Bottom Mount Refrigerator",
          "Hisense - HR6BF47 - 47L Bar Fridge",
          "Kelvinator - KTM5402AA - 540L Top Mount Refrigerator",
          "Haier - HRF454TS - 457L Top Mount Refrigerator",
          "Electrolux - EBE4507SC-R - 453L Bottom Mount Fridge",
          "Samsung - SRF583DLS - 583L French Door Refrigerator - Non-Plumbed Water Dispenser",
          "Haier - HRF220TW - 221L Top Mount Fridge  ",
          "Westinghouse - WQE6060BA - 600L French Door Fridge ",
          "LG - Fridge Water Filter - LT700P",
          "Samsung - 628L Top Mount Refrigerator  - SR625BLSTC",
          "LG - GB-W450UPLX - 450L Bottom Mount Fridge",
          "Husky - ALF-C2-840 - 190L Alfresco Bar Fridge",
          "Haier - 340L Bottom Mount Fridge - HBM340SA1",
          "Haier - HRF220TS - 221L Top Mount Refrigerator",
          "Miele - KFNS 37692 iDE - 279L Integrated Fridge/Freezer Combination",
          "Samsung - SRF867FSBLS - 867L French Door Refrigerator",
          "Hitachi - RV410PT8BSL - 375L Top Mount Inverter Fridge - Brilliant Silver",
          "Fisher & Paykel - RF522BLPX6 - 519L Bottom Mount Fridge",
          "Fisher & Paykel - RF610ADUB5 - 614L French Door Fridge",
          "Hitachi - R-VG410PT8GPW - 375L Top Mount Inverter Fridge - White Glass",
          "Liebherr - SGNPbs 4365 Premium NoFrost  - Freestanding Freezer",
          "Husky - HUS-WC66B-BK-ZY - Double Door Wine Fridge",
          "Electrolux - EHE6899BA - 681L French Door Fridge ",
          "Inalto - IUF172W - 172L Upright Freezer",
          "Hitachi - R-ZX740KAX - 735L Mirror Glass French Door Fridge",
          "Haier - HRF520BW - 517L Bottom Mount Refrigerator",
          "LG - GF-B590PL - 594L Slim French Door Fridge - Stainless Finish ",
          "Husky - HUS-CNSIL - 130L Undercounter Fridge",
          "Haier HCF264 - 264L Chest Freezer",
          "Haier - HRF516YHC - 516L French Door Refrigerator",
          "Haier - HRF450BS2 - 450L Bottom Mount Fridge",
          "Samsung - SRF714NCDBLS - 714L French Door Refrigerator",
          "Husky - HUSRETRO110BLK - 110L Single Door Undercounter Fridge",
          "Husky - HUS-WC66B-ZY - Double Door Wine Fridge",
          "Mitsubishi - MR-WX743Y-W-A - 743L Multi Drawer Fridge - White",
          "Westinghouse - WHE5204BC - 524L French Door Fridge",
          "Fisher & Paykel H510XR - 511L Chest Freezer",
          "Samsung - Refrigerator Water Filter - HAFIN3/EXP ",
          "Haier - HRF360TW2 - 362L Top Mount Refrigerator",
          "Inalto - IBF95BG - 95L Black Glass Bar Refrigerator",
          "Miele - KFN 15842 SD ed CS - 442L Bottom Mount Fridge  "
         ],
         "type": "scatter",
         "x": [
          -0.1566326916217804,
          -0.23183974623680115,
          -0.20684519410133362,
          -0.19273623824119568,
          -0.189210444688797,
          -0.11400208622217178,
          -0.18052196502685547,
          -0.14937138557434082,
          -0.15231744945049286,
          -0.1852385401725769,
          -0.16634047031402588,
          -0.06175726652145386,
          -0.11184746772050858,
          -0.17991302907466888,
          -0.1637430489063263,
          -0.13528814911842346,
          -0.2568475604057312,
          -0.23889970779418945,
          -0.16629037261009216,
          -0.12359768897294998,
          -0.26889392733573914,
          -0.15989787876605988,
          -0.1366642415523529,
          -0.14204968512058258,
          -0.1562141478061676,
          -0.2419372797012329,
          -0.09762874245643616,
          -0.11481121927499771,
          -0.037093788385391235,
          -0.15704181790351868,
          -0.23094281554222107,
          -0.15387198328971863,
          -0.1179276779294014,
          -0.24133488535881042,
          -0.26133182644844055,
          -0.11410771310329437,
          -0.10778557509183884,
          -0.11743777245283127,
          -0.08913756906986237,
          -0.15061557292938232,
          -0.07200109213590622,
          -0.2017621397972107,
          -0.12889373302459717,
          -0.26190218329429626,
          -0.11118332296609879,
          -0.12743327021598816,
          -0.21824783086776733,
          -0.2238156497478485,
          -0.13383004069328308,
          -0.08426246792078018,
          -0.13423645496368408,
          -0.1109338253736496,
          -0.20482534170150757,
          -0.06813490390777588,
          -0.19841215014457703,
          -0.18551629781723022,
          -0.19706889986991882,
          -0.20201236009597778,
          -0.1387729048728943,
          -0.08266399800777435,
          -0.17526474595069885,
          -0.05822988599538803,
          -0.26752468943595886,
          -0.1866750717163086,
          -0.17746183276176453,
          -0.19579461216926575,
          -0.11507794260978699,
          -0.05336228013038635,
          -0.030424676835536957,
          -0.12396102398633957,
          -0.18301188945770264,
          -0.1867816299200058,
          -0.14177578687667847,
          -0.08777575939893723,
          -0.17861315608024597,
          -0.12363333255052567,
          -0.24112200736999512,
          -0.13762083649635315,
          -0.1891011893749237,
          -0.15042157471179962,
          -0.17179396748542786,
          -0.25313177704811096,
          -0.23014387488365173,
          -0.1600700318813324,
          -0.14752787351608276,
          -0.1402081847190857,
          -0.20203053951263428,
          -0.13436460494995117,
          -0.21264401078224182,
          0.0029632896184921265,
          -0.01666828989982605,
          -0.2282593548297882,
          -0.1640636920928955,
          -0.17855072021484375,
          -0.2142249345779419,
          -0.16468265652656555,
          -0.17099419236183167,
          -0.24100357294082642,
          -0.18132683634757996,
          -0.17549541592597961,
          -0.12964850664138794,
          -0.22737818956375122,
          -0.19923925399780273,
          -0.21743160486221313,
          -0.2513228952884674,
          -0.18179309368133545,
          -0.22569352388381958,
          -0.1864362359046936,
          -0.09906645864248276,
          -0.2535613775253296,
          -0.12130307406187057,
          -0.15836438536643982,
          -0.16121888160705566,
          -0.14077118039131165,
          -0.12046318501234055,
          -0.1670789122581482,
          -0.1864214539527893,
          -0.22337237000465393,
          -0.19261446595191956,
          -0.0719648003578186,
          -0.2104836404323578,
          -0.1782982349395752,
          -0.2424977421760559,
          -0.13190524280071259,
          -0.29163119196891785,
          -0.20009198784828186,
          -0.21302556991577148,
          -0.2127562165260315,
          -0.16752158105373383,
          -0.1387512981891632,
          -0.2131846845149994,
          -0.17401298880577087,
          -0.20307210087776184,
          -0.22125458717346191,
          -0.21178752183914185,
          -0.014092676341533661,
          -0.12297380715608597,
          -0.13877952098846436,
          -0.20770999789237976,
          -0.1489633023738861,
          -0.16233991086483002,
          -0.08727812021970749,
          -0.13192519545555115,
          -0.18422099947929382,
          -0.191933274269104,
          -0.16835886240005493,
          -0.1865781545639038,
          -0.1483442187309265,
          -0.15326964855194092,
          -0.20637920498847961,
          -0.11998356878757477,
          -0.11090061068534851,
          -0.2481386363506317,
          -0.16363662481307983,
          -0.20431438088417053,
          -0.11151960492134094,
          -0.16458049416542053,
          -0.2680753767490387,
          -0.21432045102119446,
          -0.1962910145521164,
          -0.13344722986221313,
          -0.1391945481300354,
          -0.138860285282135,
          -0.21805024147033691,
          -0.2346007525920868,
          -0.22112199664115906,
          -0.14544367790222168,
          -0.1233469769358635,
          -0.15272873640060425,
          -0.14156107604503632,
          -0.108006551861763,
          -0.22099769115447998,
          -0.13161471486091614,
          -0.14610931277275085,
          -0.23152470588684082,
          -0.15216132998466492,
          -0.08763520419597626,
          -0.20431868731975555,
          -0.21161702275276184,
          -0.16897878050804138,
          -0.12399199604988098,
          -0.20945832133293152,
          -0.19269919395446777,
          -0.2090010643005371,
          -0.10017281025648117,
          -0.219822496175766,
          -0.09344416856765747,
          -0.06380651891231537,
          -0.1678820252418518,
          -0.18101763725280762,
          -0.18555569648742676,
          -0.16679108142852783,
          -0.192472904920578,
          -0.1840645670890808,
          -0.11151059716939926,
          -0.18913444876670837,
          -0.2633652091026306,
          -0.023982971906661987,
          -0.1172252967953682,
          -0.1358107328414917,
          -0.15757328271865845,
          -0.18249383568763733,
          -0.16285967826843262,
          -0.2268226146697998,
          -0.06149023026227951,
          -0.13887450098991394,
          -0.24232640862464905,
          -0.21483507752418518,
          -0.12350139766931534,
          -0.18650531768798828,
          -0.11072143167257309,
          -0.18032802641391754,
          -0.24373793601989746,
          -0.08987988531589508,
          -0.18201112747192383,
          -0.15548527240753174,
          -0.17193686962127686,
          -0.11821140348911285,
          -0.1694987416267395,
          -0.17013533413410187,
          -0.06762026995420456,
          -0.1978154182434082,
          -0.11499573290348053,
          -0.11884171515703201,
          -0.2529440224170685,
          -0.18487301468849182,
          -0.02152353525161743,
          -0.18146836757659912,
          -0.1844872534275055,
          -0.2661948502063751
         ],
         "y": [
          0.14237552881240845,
          -0.09827899187803268,
          -0.04322345182299614,
          -0.04760224372148514,
          -0.07103332132101059,
          0.08451041579246521,
          -0.027151193469762802,
          0.10948675870895386,
          0.1267746537923813,
          -0.005830001085996628,
          -0.02253994718194008,
          0.24692776799201965,
          0.04577444866299629,
          -0.01486814022064209,
          -0.044235460460186005,
          0.04023001343011856,
          -0.0023578330874443054,
          -0.10739701241254807,
          -0.06328800320625305,
          0.04084961116313934,
          0.08017674833536148,
          -0.09523794054985046,
          -0.04113069921731949,
          -0.027774374932050705,
          -0.08241266012191772,
          -0.10201013833284378,
          -0.058990947902202606,
          0.007048401981592178,
          0.15717260539531708,
          0.027981791645288467,
          0.0012741945683956146,
          -0.024139223620295525,
          -0.06365619599819183,
          -0.12134550511837006,
          0.00036884378641843796,
          0.04638493433594704,
          0.03353382647037506,
          0.04128448665142059,
          0.09683450311422348,
          0.01467273198068142,
          0.21121694147586823,
          0.05291246622800827,
          0.17223787307739258,
          -0.0020074499770998955,
          0.1790177822113037,
          0.18547606468200684,
          -0.041163988411426544,
          -0.08613497018814087,
          0.17828595638275146,
          0.13758227229118347,
          0.0775531604886055,
          0.07983870804309845,
          -0.05254498869180679,
          0.1780083179473877,
          -0.06998852640390396,
          -0.03703215718269348,
          0.10907044261693954,
          -0.07863558828830719,
          -0.06331582367420197,
          0.10329362750053406,
          0.0003485577180981636,
          0.1706542670726776,
          0.08965026587247849,
          0.0075707100331783295,
          -0.0028568636626005173,
          -0.01747184991836548,
          0.07729164510965347,
          0.06485649943351746,
          -0.04675043374300003,
          -0.0019100941717624664,
          -0.0316259004175663,
          -0.05462595075368881,
          -0.009296074509620667,
          0.10655732452869415,
          0.0004988498985767365,
          0.03306351602077484,
          -0.10054726898670197,
          0.21056504547595978,
          -0.01075197383761406,
          -0.018073519691824913,
          0.019068896770477295,
          -0.0524592250585556,
          -0.10533618181943893,
          -0.010148316621780396,
          -0.11074715852737427,
          0.03897010535001755,
          -0.0183305274695158,
          -0.04241757094860077,
          -0.045576319098472595,
          0.022264819592237473,
          -0.005126691423356533,
          -0.07065384089946747,
          -0.015168040990829468,
          -0.020595863461494446,
          -0.057607632130384445,
          -0.008101911284029484,
          -0.01006009615957737,
          -0.00443687941879034,
          0.024180488660931587,
          -0.06184002012014389,
          0.09381446987390518,
          -0.09618832916021347,
          -0.10729837417602539,
          -0.07057346403598785,
          -0.012600883841514587,
          -0.00948992371559143,
          -0.031217632815241814,
          -0.00910887960344553,
          0.03666196018457413,
          0.03218209743499756,
          0.08143828064203262,
          -0.026686392724514008,
          -0.07337154448032379,
          0.1663898080587387,
          -0.06467344611883163,
          -0.060570795089006424,
          0.01061345636844635,
          -0.007043840363621712,
          -0.06260344386100769,
          0.15525925159454346,
          -0.040750451385974884,
          0.0944964587688446,
          -0.11989514529705048,
          0.1313900649547577,
          0.01600014790892601,
          0.029233641922473907,
          -0.00995071604847908,
          -0.050469525158405304,
          -0.02956559881567955,
          0.03236779570579529,
          0.04254840686917305,
          -0.031612034887075424,
          -0.04470549523830414,
          -0.04910127818584442,
          -0.08586709201335907,
          0.07270693778991699,
          0.11749302595853806,
          -0.034153737127780914,
          -0.03744133561849594,
          0.1064717099070549,
          -0.029084859415888786,
          0.19812346994876862,
          -0.06711404025554657,
          -0.01374039612710476,
          -0.013975189998745918,
          -0.012104973196983337,
          -0.05522387474775314,
          -0.04773012921214104,
          -0.07349273562431335,
          -0.06853048503398895,
          0.13432429730892181,
          0.07021043449640274,
          0.054891109466552734,
          0.15223684906959534,
          -0.07022643834352493,
          0.1271449625492096,
          0.010994026437401772,
          0.025914764031767845,
          -0.06346002221107483,
          -0.07294124364852905,
          0.013103097677230835,
          0.08263282477855682,
          -0.039660610258579254,
          -0.0798981785774231,
          -0.048295166343450546,
          0.08547766506671906,
          0.16875620186328888,
          0.09236935526132584,
          0.0014465190470218658,
          0.023968491703271866,
          0.07849670201539993,
          0.029612354934215546,
          0.006153203547000885,
          -0.05014393478631973,
          -0.09462253004312515,
          0.10043106973171234,
          0.06598244607448578,
          -0.06942427158355713,
          -0.10032738745212555,
          0.005082001909613609,
          0.21919667720794678,
          -0.010785704478621483,
          -0.04928810894489288,
          -0.027941137552261353,
          0.0600404292345047,
          -0.06528139114379883,
          0.06185988709330559,
          0.2830183506011963,
          0.11604908853769302,
          -0.08410190045833588,
          0.013425253331661224,
          -0.04414127394556999,
          -0.027663085609674454,
          -0.018551945686340332,
          0.18467049300670624,
          -0.028900431469082832,
          0.06598606705665588,
          0.015036388300359249,
          0.20541372895240784,
          0.17713449895381927,
          -0.052701860666275024,
          -0.06187739968299866,
          -0.05037223547697067,
          0.01619788631796837,
          0.1680474877357483,
          0.027766890823841095,
          -0.08744847029447556,
          -0.10856468230485916,
          0.07743213325738907,
          -0.10263246297836304,
          -0.06203489750623703,
          -0.07502513378858566,
          0.00810912624001503,
          0.055691301822662354,
          -0.06124478578567505,
          0.08451066166162491,
          -0.04785316810011864,
          -0.000936548225581646,
          -0.017222050577402115,
          -0.040455348789691925,
          0.13944827020168304,
          -0.08650732040405273,
          -0.06528301537036896,
          0.018291819840669632,
          0.00998200848698616,
          -0.017225302755832672,
          0.05918276309967041,
          -0.036014117300510406,
          -0.056091099977493286,
          0.061884354799985886
         ]
        },
        {
         "marker": {
          "color": 32,
          "size": 5
         },
         "mode": "markers",
         "name": "27",
         "text": [
          "Blanco - NAYACB - Plastic Cutting Board",
          "Kenwood - FDM300SS - Multipro Compact Food Processor",
          "KitchenAid - Fresh Prep Slicer/Shredder Attachment - KSMVSA",
          "Blanco - ANDANO700UK5 - Single Bowl Undermount Sink",
          "Blanco - NAYAXL9 - Single Extra Large Bowl Inset Sink",
          "Blanco - ALTAS - Tap - Chrome",
          "Tefal - RK812 - 45-in-1 Rice and Multi Cooker",
          "Blanco - LIVIT8SRK5 - 80cm Double Bowl Sink",
          "Kambrook - KRC888ROS - Rice Master Rice Cooker & Steamer",
          "Tiger - Multi-functional Rice Cooker - JKT-S18A",
          "KitchenAid - KSM160 Pink - Artisan Stand Mixer",
          "KitchenAid - KFP13JD - Julienne Disc",
          "Blanco - ANDANO500IFNK5 - Single Bowl Inset With Overflow",
          "Tiger - Multi-functional Rice Cooker - JAX-S18A",
          "Blanco - NAYA8W - Elegant 1 1/2 Bowl Sink - White",
          "Blanco - BTIPO6SR - 1¼ Bowl With Drainer Sink",
          "Kenwood - KAH647PL - Food Processor Attachment",
          "Tiger - JNO-B360 - Commercial Rice Cooker",
          "Blanco - SUBLINE500UWK5 - Single Bowl Undermount Sink - White",
          "Ninja - CT682 - Intellisense™ Kitchen System",
          "Kambrook - KPR620BSS - Pressure Express Pressure Cooker ",
          "Blanco - LIVYS - Single Lever Mixer Tap",
          "Blanco - NAYA8S - Double Bowl Sink with Drainer - Anthracite",
          "KitchenAid - Juicer & Sauce Attachment - KSM1JA ",
          "KitchenAid - KSM160 Watermelon - Artisan Stand Mixer",
          "KitchenAid - KSM160 Truffle - Artisan Stand Mixer",
          "Blanco - QUATR1542IURK5 - Double Inset & Undermount sink",
          "Blanco - SUBLINE500UK5 - Single Bowl Undermount Sink - Anthracite",
          "Blanco - BLANCOCULINA - Single Lever Mixer Tap With Flexi Arm",
          "Blanco - ANDDRAINSS - Stainless Steel Drainer Tray",
          "Kambrook - 5 Cup Capacity  - Rice Master Rice Cooker & Steamer",
          "Blanco - ANDCOLSS - Stainless Steel Colander",
          "Blanco - ANDANO400UK5 - Single Bowl  Undermount With Overflow",
          "Blanco - ANDANO340IFNK5 - Single Bowl Inset Sink With Overflow",
          "Blanco - ADONXL6SCK5 - ADON XL 6 S Single Bowl Inset Sink",
          "Blanco - DINAS8S175RK - 1 3/4 Bowl Single Drainer Sink",
          "Blanco - ANDANO700IFNK5 - Single Bowl Inset / Flushmount Sink",
          "Blanco - ANDANO500UK5 - Single Bowl Undermount With Overflow",
          "Blanco - NELIA - Nelia Tap",
          "Kenwood - KAX700PL - Spiralizer Attachment",
          "KitchenAid - Fruit & Vegetable Strainer without Mincer - FVSP",
          "Morphy Richards - 48715 - 6.5 Litre Polished Stainless Steel Slow Cooker",
          "KitchenAid - KSM160 Ink Blue - Artisan Stand Mixer",
          "Westinghouse - WHIC02K - Twin Induction Cooktop",
          "Kenwood - KAH740PL - Blend-Xtract Sport Attachment",
          "Blanco - BT489 - Single Lever Mixer Tap",
          "KitchenAid - KHM926 Almond Cream - 9 Speed Hand Mixer",
          "KitchenAid - KSM160 Shaded Palm - Artisan Stand Mixer",
          "KitchenAid - KSM160 Pistachio - Artisan Stand Mixer",
          "Blanco - SUB350350UGK5 - SILGRANIT™ PuraDur™ Double Bowl Sink - Rock Grey",
          "KitchenAid - Extra Drum Set - 25576",
          "Tiger - Multi-functional Rice Cooker - JKT-S10A",
          "Magikleen - MAGKPP250 - 250ml Kitchen Bench Top Polish & Protector",
          "Kenwood - KVL8300S - Chef XL Titanium",
          "Tefal - G713SB74 - Daily Cook 4 Piece Set + Utensils",
          "Blanco - ANDANO400IFNK5 - Single Bowl Inset With Overflow",
          "Blanco - SUBLINE500IF - SUBLINE 500 Single Bowl Inset/Flushmount",
          "Blanco - ALTA - Tap - Chrome",
          "Blanco - DINAS8S175LK - 1 3/4 Bowl Single Drainer Sink",
          "Blanco - LIVIT6SL - 1 & ¼ Bowl & Drainer Trays Sink",
          "Blanco - BUCRBSS - Crockery Basket",
          "Kenwood - KAX643ME - Rotary Slicer / Grater",
          "Blanco - NAYABK - Stainless Steel Crockery Basket",
          "KitchenAid 7 Cup Food Processor - KFP0719ACU - Contour Silver",
          "Blanco - IDENTOXL6SWK5 - IDENTO XL 6 S Single Bowl Sink",
          "Blanco - NAYA8SWR - Double Bowl Sink with Drainer - White",
          "KitchenAid - KSMPRA - 3pc Pasta Roller Set ",
          "Blanco - PLEON8K5 - PLEON 8 Single Bowl Sink - Anthracite",
          "Tiger - Multi-functional Rice Cooker - JAX-S10A",
          "Blanco - PLEON8CK5 - PLEON 8 Single Bowl Sink - Concrete",
          "KitchenAid - KSMFGA - Food Grinder Attachment",
          "Blanco - LEXA8K5 - Double bowl Inset Sink",
          "Blanco - QUATR1542IULK5 - Double Inset & Undermount sink",
          "Tefal - K2203004 - Cookware Protectors",
          "Kenwood - KAX980ME - Lasagne Roller",
          "KitchenAid - KHB2569 Almond Cream - Hand Blender",
          "Blanco - ANDANO 500/180-U - Double Bowl Undermount Sink",
          "KitchenAid 4.3L Classic Stand Mixer - KSM45 ",
          "KitchenAid - 5KFC3516ACU - 3.5 Cup Mini Food Processor ",
          "KitchenAid - KFP1333 Empire Red - Food Processor",
          "Tefal - CY601 - Home Chef Smart Multicooker",
          "KitchenAid - Food Tray - FT",
          "KitchenAid - Vegetable Sheet Cutter Attachment - KSMSCA ",
          "Kenwood Appliances - CO600 - 3 in 1 Tabletop Can Opener",
          "Blanco - LIVIT6SR - 1 & ¼ Bowl & Drainer Trays Sink",
          "KitchenAid - 5KFC3516AER - 3.5 Cup Mini Food Processor",
          "Blanco - SUBLINEBK - Stainless Steel Basket",
          "Kenwood - KAT001ME - Chef Twist To Bar Adapter",
          "KitchenAid - Gourmet Pasta Press - KSMPEXTA",
          "Blanco - BONERA - Single Lever Mixer Tap",
          "Tefal - CY8558 - Cook4Me + Connect Smart Multicooker",
          "Shaws - SEDG100WH - Edgeworth Double Bowl Sink",
          "Blanco - LEMIS8SRIFK5 - Double Bowl Sink with Drainer",
          "Blanco - LINUS - Non Pull Out Chrome Tap Single",
          "Blanco - NAYA8SG - Double Bowl Sink with Drainer - Rock Grey",
          "Blanco - LEMISXL6SLIFK5 - Single Bowl with Drainer",
          "Blanco - BTIPO45SRK5 - 45cm Cabinet Single Right Hand Bowl",
          "Blanco - ADONXL6SK5 - ADON XL 6 S Single Bowl Inset Sink",
          "Kenwood - KAX981ME - Fettuccine Cutter",
          "KitchenAid - KFP13DC12 - Dicing Kit Accessory",
          "KitchenAid - KFE5T - Flex Edge Beater Tlit Head",
          "Blanco - QUATRUSR15K5 - Inset Laundry Sink",
          "Blanco - SUBLIN700ULWK5 - Single Bowl Sink - White",
          "Blanco - NAYA8 - Elegant 1 1/2 Bowl Sink - Anthracite",
          "Blanco - SUB350350UWK5 - SILGRANIT™ PuraDur™ Double Bowl Sink - White",
          "Blanco - MEDIAN6SRIF - 1 1/4 Bowl Sink With Drainer",
          "KitchenAid - KSM160 Cocoa Silver - Artisan Stand Mixer",
          "Blanco - DINAS8S175LK + BT489 - Sink & Tap Pack ",
          "Blanco - SUBLINE350350U - SILGRANIT™ PuraDur™ Double Bowl Sink - Anthracite",
          "KitchenAid - KSM160 Fresh Linen - Artisan Stand Mixer",
          "Blanco - QUATR15500IUK5 - Undermount Sink",
          "Blanco - TORRESDC - Soap Dispenser",
          "Blanco - RONDOSOLK5 - Large Single Round Sink",
          "Tefal - XF382E39 - Cuisine Companion Spare Bowl Attachment",
          "KitchenAid- Food Processor Attachment - KSM2FPA ",
          "Tefal - CY8515 - Cook4Me+ Smart Multicooker and Pressure Cooker - Red",
          "KitchenAid - KSM160 Empire Red - Artisan Stand Mixers",
          "Blanco - ALTAA - Single Lever Mixer Tap - Anthracite",
          "KitchenAid - KSM160 Contour Silver - Artisan Stand Mixer  ",
          "Blanco - ANDCUTGCB - Glass Cutting Board",
          "Tefal - XA722870 - Optigrill+ Snack & Baking Tray Accessory ",
          "Tefal - RK900 - Multicook & Grains Rice Cooker and Multicooker",
          "Shaws - SCLD101WH - Double Bowl 1000 Sink",
          "KitchenAid 7 Cup Food Processor- KFP0719AOB - Onyx Black",
          "Kenwood - Chef XL Sense - KVL6100T ",
          "Kenwood - KVL6300S - Chef XL Elite ",
          "Blanco - BWCB - Wooden Chopping Board",
          "Blanco - PLEON8WK5 - PLEON 8 Single Bowl Sink - White",
          "Tefal - XF3851 - Cuisine Companion Shredder Slicer Attachment",
          "Aarke Sparkling Water Maker - Porcelain White ",
          "Blanco - LIVIT8SLK5 - 80cm Double Bowl Sink",
          "Blanco - BTIPO45SLK5 - 45cm Cabinet Single Left Hand Bowl",
          "Smeg - MFF01WHAU - Milk Frother - White",
          "Tefal - RK901 - Multicook & Stir Rice Cooker and Multicooker ",
          "Blanco - LEMIS8IFK5 - Double Bowl Inset / Flushmount",
          "KitchenAid - KB3SS - 2.8L S/S Mixing Bowl - 3 quart",
          "Blanco - Double Bowl Sink - Anthracite - LEXA8S",
          "Shaws - SCBU800WH - Butler 800 Single Bowl Sink",
          "Shaws - SCBE600WH - Belfast Single Bowl Sink",
          "KitchenAid - KSM160 Almond Cream - Artisan Stand Mixers",
          "Blanco - LEMISXL6SRIFK5 - Single Bowl with Drainer",
          "Blanco - NAYA8G - Elegant 1 1/2 Bowl Sink - Rock Grey",
          "Blanco - LEXA8SWK5 - Double Bowl Sink - White",
          "Kenwood - AT956A - Chef Sized Frozen Dessert Maker - Attachment",
          "KitchenAid - Ravioli Roller Attachment - KRAV",
          "Blanco - BLANCO CULINABR - Single Lever Mixer Tap",
          "KitchenAid - KSM160 Ice - Artisan Stand Mixer",
          "KitchenAid - KICAOWH - Ice Cream Bowl Attachment ",
          "Kenwood - KVC3100S - Chef Kitchen Machine - Silver",
          "KitchenAid - KSMMGAA - Metal Food Grinder Attachment",
          "KitchenAid - KHM926 Empire Red - 9 Speed Hand Mixer",
          "Tefal - RK732 - Easy Rice & Slow Cooker",
          "Kenwood - KAX984ME - Spaghetti Cutter",
          "KitchenAid - KSM160 White - Artisan Stand Mixer",
          "Blanco - BDRAINP - Plastic Drainer Tray",
          "Blanco - SUBLINECOLSS - Stainless Steel Colander",
          "Blanco - NAYA8SR - Double Bowl Sink with Drainer - Anthracite",
          "Blanco - DINAS8S175RK + BT489 - Sink & Tap Pack ",
          "Blanco - LEMIS8SLIFK5 - Double Bowl Sink with Drainer",
          "KitchenAid - KSM2APC - 7 Blade Spiralizer",
          "Tefal - XF386B - Cuisine Companion Steamer Basket Attachment",
          "KitchenAid 7 Cup Food Processor - KFP0719AER - Empire Red ",
          "KitchenAid - KSB1585 Empire Red - Diamond Blender",
          "Crock-Pot® - Express Easy Release Multi-Cooker - CPE210",
          "Kenwood - KAH359GL - Thermoresist Glass Blender Attachment",
          "Blanco - LEXA45SK5 - LEXA 45 S Sink Bowl Inset Sink",
          "Blanco - SUBLINE700ULK5 - Single Bowl Sink - Anthracite",
          "Blanco - NAYA9SRK5 - Double Bowl Inset Sink",
          "Blanco - NAYA9 - Double Bowl Sink",
          "Blanco - BTIPO6SLK5 - 1¼ Bowl With Drainer Sink",
          "Kenwood - KAX983ME - Trenette Cutter",
          "Blanco - SUBLINE500UGK5 - Single Bowl Undermount Sink - Rock Grey",
          "Blanco - NAYA8SW - Double Bowl Sink with Drainer - White",
          "Kenwood - KAX982ME - Tagliolini Cutter",
          "Shaws - SCWH600WH - Whitehall Sink",
          "KitchenAid - KSM160 Onyx Black - Artisan Stand Mixers",
          "Sunbeam - KE4410WG - New York Collection Pot Kettle - White Gold",
          "KitchenAid - KFC3516AWH - 3.5 Cup Mini Food Processor",
          "Tefal - CY8518 - Cook4Me+ Smart Multicooker and Pressure Cooker - Black",
          "KitchenAid - KHB2569 Empire Red - Hand Blender",
          "Kenwood - Food Grinder - KAX950ME"
         ],
         "type": "scatter",
         "x": [
          5.368143320083618e-05,
          -0.0010419860482215881,
          -0.2030278742313385,
          -0.10968465358018875,
          -0.1320749819278717,
          0.08507625758647919,
          -0.2375008761882782,
          -0.20418590307235718,
          -0.18443068861961365,
          -0.11517836898565292,
          -0.292123943567276,
          -0.15779700875282288,
          -0.12454140931367874,
          -0.10089795291423798,
          -0.08651968836784363,
          -0.1501653492450714,
          -0.031030237674713135,
          -0.141946941614151,
          -0.16976290941238403,
          -0.09007840603590012,
          -0.25042060017585754,
          -0.10986772179603577,
          -0.08122388273477554,
          -0.19543913006782532,
          -0.28189125657081604,
          -0.32537081837654114,
          -0.11615035682916641,
          -0.16534188389778137,
          -0.10114020854234695,
          -0.04619777202606201,
          -0.20599031448364258,
          -0.023505888879299164,
          -0.11636941879987717,
          -0.1737017035484314,
          -0.09227637201547623,
          -0.15098121762275696,
          -0.12818726897239685,
          -0.1051555797457695,
          0.05902215465903282,
          0.034438565373420715,
          -0.23341846466064453,
          -0.24900156259536743,
          -0.22734934091567993,
          -0.30174604058265686,
          0.03954435884952545,
          -0.11153873056173325,
          -0.16592037677764893,
          -0.26728034019470215,
          -0.3282073140144348,
          -0.08154535293579102,
          -0.20671668648719788,
          -0.08750667423009872,
          -0.22344768047332764,
          -0.11727065593004227,
          -0.2358894646167755,
          -0.1405479609966278,
          -0.17130690813064575,
          0.09572415798902512,
          -0.1585376262664795,
          -0.17497918009757996,
          -0.04529992491006851,
          -0.05003859102725983,
          -0.09875204414129257,
          -0.22376114130020142,
          -0.1187887117266655,
          -0.11928113549947739,
          -0.20321515202522278,
          -0.06242263317108154,
          -0.05621875077486038,
          -0.06380823254585266,
          -0.25267913937568665,
          -0.1428069770336151,
          -0.12410043179988861,
          -0.1737147569656372,
          -0.02741800993680954,
          -0.21918386220932007,
          -0.129490926861763,
          -0.32104748487472534,
          -0.21627011895179749,
          -0.18119016289710999,
          -0.20728722214698792,
          -0.25420090556144714,
          -0.183538019657135,
          -0.12570294737815857,
          -0.1827215850353241,
          -0.22450685501098633,
          -0.09949944913387299,
          -0.07623639702796936,
          -0.19890490174293518,
          -0.1336953043937683,
          -0.1293208748102188,
          -0.15352416038513184,
          -0.16341525316238403,
          0.017263421788811684,
          -0.11342936754226685,
          -0.2014780044555664,
          -0.14980322122573853,
          -0.08956140279769897,
          -0.07164780050516129,
          -0.1974438726902008,
          -0.17990899085998535,
          -0.0943119153380394,
          -0.1440235674381256,
          -0.05175168812274933,
          -0.11112602800130844,
          -0.18243196606636047,
          -0.2558162212371826,
          0.05399192124605179,
          -0.1193462535738945,
          -0.32136407494544983,
          0.0016439259052276611,
          -0.05868066847324371,
          -0.021578021347522736,
          -0.259466290473938,
          -0.18767675757408142,
          -0.21513110399246216,
          -0.25599589943885803,
          -0.05415108799934387,
          -0.30949583649635315,
          -0.04742802679538727,
          -0.1571177840232849,
          -0.18812793493270874,
          -0.13671079277992249,
          -0.18271169066429138,
          -0.1651511788368225,
          -0.12318171560764313,
          -0.07913518697023392,
          -0.0962628424167633,
          -0.24297776818275452,
          -0.082567498087883,
          -0.20079195499420166,
          -0.15794235467910767,
          -0.12333781272172928,
          -0.228898823261261,
          -0.15263962745666504,
          -0.2519809603691101,
          -0.08538400381803513,
          -0.17893078923225403,
          -0.1678866147994995,
          -0.25180524587631226,
          -0.2185623049736023,
          -0.0652373731136322,
          -0.10924096405506134,
          -0.20014840364456177,
          -0.18883106112480164,
          -0.11491557210683823,
          -0.34230607748031616,
          -0.20391622185707092,
          -0.20912328362464905,
          -0.1978563666343689,
          -0.1680469512939453,
          -0.21723982691764832,
          -0.08959948271512985,
          -0.2878313362598419,
          0.023675493896007538,
          -0.0779358446598053,
          -0.10144941508769989,
          0.04889485985040665,
          -0.1543133705854416,
          -0.18472939729690552,
          -0.2701365053653717,
          -0.18867164850234985,
          -0.15264210104942322,
          -0.15010786056518555,
          -0.14853619039058685,
          -0.12795205414295197,
          -0.1324959695339203,
          -0.09854307025671005,
          -0.06576571613550186,
          -0.15658870339393616,
          0.0037675052881240845,
          -0.139676034450531,
          -0.11902416497468948,
          -0.0159105584025383,
          -0.10861962288618088,
          -0.25952765345573425,
          -0.10633386671543121,
          -0.23121467232704163,
          -0.19871166348457336,
          -0.2109036147594452,
          -0.09696640819311142
         ],
         "y": [
          -0.1926591694355011,
          -0.11062511801719666,
          -0.040280867367982864,
          -0.10812314599752426,
          -0.11585193872451782,
          -0.17758780717849731,
          -0.027321159839630127,
          -0.05406159162521362,
          -0.16144821047782898,
          -0.030385076999664307,
          -0.07156634330749512,
          -0.10097469389438629,
          -0.13371369242668152,
          -0.04901191219687462,
          -0.11100269854068756,
          -0.16494333744049072,
          -0.12833386659622192,
          -0.13109958171844482,
          -0.12165416777133942,
          0.00069388747215271,
          -0.15287604928016663,
          -0.24373020231723785,
          -0.10918447375297546,
          -0.12188084423542023,
          -0.10653361678123474,
          -0.09542776644229889,
          -0.08221469074487686,
          -0.111518993973732,
          -0.22145000100135803,
          -0.1478743702173233,
          -0.07110479474067688,
          -0.12160696089267731,
          -0.08914531022310257,
          -0.1385292410850525,
          0.002856258302927017,
          -0.010500552132725716,
          -0.13937154412269592,
          -0.09279505908489227,
          -0.20992955565452576,
          -0.18208365142345428,
          -0.06736722588539124,
          -0.024697519838809967,
          -0.10021619498729706,
          -0.04571288451552391,
          -0.15317252278327942,
          -0.2874469757080078,
          -0.04033830761909485,
          -0.054030925035476685,
          -0.08130849897861481,
          -0.08956295251846313,
          -0.11973956227302551,
          -0.02901945263147354,
          -0.09970804303884506,
          -0.058578845113515854,
          -0.01160535030066967,
          -0.12961921095848083,
          -0.1298363208770752,
          -0.08424351364374161,
          0.007233457639813423,
          -0.12363643199205399,
          -0.26795122027397156,
          -0.07997963577508926,
          -0.1793040633201599,
          0.007281079888343811,
          0.014766868203878403,
          -0.095255047082901,
          -0.10233940184116364,
          -0.06644146144390106,
          -0.057136908173561096,
          -0.049647241830825806,
          -0.0919453427195549,
          -0.10050642490386963,
          -0.07016366720199585,
          -0.09080784022808075,
          -0.15707463026046753,
          -0.10668070614337921,
          -0.1281917840242386,
          0.0020819008350372314,
          0.022839892655611038,
          -0.06995203346014023,
          -0.02797989919781685,
          -0.07152289152145386,
          -0.089728444814682,
          -0.08410435914993286,
          -0.1328974813222885,
          0.014789953827857971,
          -0.16380617022514343,
          -0.21909482777118683,
          -0.12428364157676697,
          -0.2674190402030945,
          0.01851668208837509,
          -0.04437079280614853,
          -0.13131074607372284,
          -0.18200558423995972,
          -0.0970110073685646,
          -0.13175956904888153,
          -0.04918118566274643,
          0.015355393290519714,
          -0.17285606265068054,
          -0.03474893048405647,
          -0.08984120190143585,
          -0.053293611854314804,
          -0.1178274005651474,
          -0.1186385452747345,
          -0.09080085158348083,
          -0.09677588939666748,
          -0.0655047744512558,
          -0.09247448295354843,
          -0.08910276740789413,
          -0.054150164127349854,
          -0.07932475954294205,
          -0.19228127598762512,
          -0.09937264025211334,
          -0.03235483169555664,
          -0.06624029576778412,
          0.025696665048599243,
          -0.10436926782131195,
          -0.1512283980846405,
          -0.05318799987435341,
          -0.13165585696697235,
          -0.02923617511987686,
          -0.04812529683113098,
          -0.1285967230796814,
          -0.017434939742088318,
          -0.046403415501117706,
          -0.049985047429800034,
          -0.21557292342185974,
          -0.0684971883893013,
          -0.008538374677300453,
          -0.16230660676956177,
          -0.06616207957267761,
          -0.04083602875471115,
          -0.1805839240550995,
          -0.05625338479876518,
          -0.13861478865146637,
          0.0055203624069690704,
          -0.12005190551280975,
          -0.15615609288215637,
          -0.1622934341430664,
          -0.06786473095417023,
          -0.13220864534378052,
          -0.09518346190452576,
          -0.07150272279977798,
          -0.11934412270784378,
          -0.12729419767856598,
          -0.20573249459266663,
          -0.08593729883432388,
          -0.16413062810897827,
          -0.026171192526817322,
          -0.03986121341586113,
          -0.0656648501753807,
          -0.04682638868689537,
          -0.14973777532577515,
          -0.07267814874649048,
          -0.24407456815242767,
          -0.1376439929008484,
          -0.12456583231687546,
          -0.11625737696886063,
          -0.12853118777275085,
          -0.007686566561460495,
          -0.046846382319927216,
          -0.02375287562608719,
          -0.1270987093448639,
          -0.09744539856910706,
          -0.07016819715499878,
          -0.040423616766929626,
          -0.1128673329949379,
          -0.10074052214622498,
          -0.14079312980175018,
          -0.1265905499458313,
          -0.1856970638036728,
          -0.12055029720067978,
          -0.09376032650470734,
          -0.15393315255641937,
          -0.10779104381799698,
          -0.06163375824689865,
          -0.0894085094332695,
          0.009747747331857681,
          0.02610858529806137,
          -0.11569978296756744,
          -0.1417238712310791
         ]
        },
        {
         "marker": {
          "color": 33,
          "size": 5
         },
         "mode": "markers",
         "name": "28",
         "text": [
          "realme X3 SuperZoom Smartphone - RMX2086BLU - Glacier Blue",
          "Nokia - 3.1 Smartphone with Android One - White",
          "Oppo Find X2 Neo Smartphone - 5G - 6.5\" AMOLED - 128GB  - Starry Blue",
          "Oppo A9 2020 Smartphone - 6.5\" Screen - 128GB - Vanilla Mint  ",
          "LG K30 Smartphone - Aurora Black",
          "Oppo Reno Z Smartphone - 6.4\" AMOLED Screen - 128GB - Aurora Purple ",
          "realme 6 Smartphone | 64MP Ultra Camera, 90Hz Ultra Display - White ",
          "Aspera F26 128MB Black 3G Mobile Phone ",
          "Oppo Find X2 Pro Smartphone - 6.7\" AMOLED - 512GB - Orange",
          "Oppo A91 Smartphone - 6.4\" FHD+ AMOLED - 128GB - Lightening Black ",
          "Oppo A91 Smartphone - 6.4\" FHD+ AMOLED - 128GB - Blazing Blue",
          "Oppo AX5s Smartphone - 6.2\" HD+  64GB - Red  ",
          "realme 6 Smartphone | 64MP Ultra Camera, 90Hz Ultra Display - Blue ",
          "Oppo RENO2 Z Smartphone - 6.5\" AMOLED Screen - Luminous Black",
          "Oppo Find X2 Neo Smartphone - 5G - 6.5\" AMOLED - 128GB - Moonlight Black",
          "Oppo A52 Android Smartphone - Stream White",
          "Nokia - 3.1 Smartphone with Android One - Black",
          "Oppo Find X2 Pro Smartphone - 6.7\" AMOLED - 512GB - Black  ",
          "realme X3 SuperZoom Smartphone - RMX2086WHT - Arctic White ",
          "Oppo Super VOOC 5V USB Car Charger",
          "Polaroid - INFINITE + 10.1\" Android Tablet - Dual Cam",
          "OPPO Find X2 Lite Smartphone - 6.4\" AMOLED - 128GB - Pearl White",
          "Oppo - MH135-3 - USB-C In-Eer Headphones",
          "Aspera - R32 - Mobile Phone",
          "realme C3 Smartphone - Blazing Red",
          "Oppo - DL130 - USB-C 3.5mm Headphone Jack",
          "Aspera F26 Red 3G Mobile Phone",
          "Oppo A52 Android Smartphone - Twilight Black",
          "Oppo Reno 10X Zoom - 6.6\" AMOLED Screen - 256GB - Ocean Green ",
          "Oppo Reno 10X Zoom - 6.6\" AMOLED Screen - 256GB - Jet Black ",
          "ASPERA F24 - 3G Flip Phone - Black Gold",
          "OPPO Find X2 Lite Smartphone - 6.4\" AMOLED - 128GB - Moonlight Black  ",
          "realme C3 Smartphone - Frozen Blue ",
          "Oppo A9 2020 Smartphone - 6.5\" Screen - 128GB - Marine Green",
          "Oppo RENO2 Z Smartphone - 6.5\" AMOLED Screen - 128GB - Sky White",
          "Realme C2 Smartphone - RMX1941 Diamond Blue",
          "Aspera - Smartphone - ASPERA R25t"
         ],
         "type": "scatter",
         "x": [
          0.16540974378585815,
          0.29172709584236145,
          0.3257637619972229,
          0.2952210605144501,
          0.19434934854507446,
          0.2804781198501587,
          0.18586157262325287,
          0.17142540216445923,
          0.3685193359851837,
          0.29509884119033813,
          0.30979448556900024,
          0.35291534662246704,
          0.22083890438079834,
          0.2905307412147522,
          0.31579458713531494,
          0.28016453981399536,
          0.3116302490234375,
          0.3699491620063782,
          0.2031368911266327,
          0.2603919804096222,
          0.282150000333786,
          0.3087639808654785,
          0.34771251678466797,
          0.1871129721403122,
          0.221686452627182,
          0.316849946975708,
          0.14117860794067383,
          0.3050285279750824,
          0.20446127653121948,
          0.2547418475151062,
          0.13906286656856537,
          0.3270857036113739,
          0.18137967586517334,
          0.309968501329422,
          0.28007686138153076,
          0.23606181144714355,
          0.2016076296567917
         ],
         "y": [
          0.006666738539934158,
          0.03857048600912094,
          0.1503850817680359,
          0.17308147251605988,
          0.1308043897151947,
          0.12983590364456177,
          0.21363461017608643,
          0.12663190066814423,
          0.12293516844511032,
          0.2203425168991089,
          0.19540497660636902,
          0.19971823692321777,
          0.1711806207895279,
          0.127536341547966,
          0.1632770299911499,
          0.0943552702665329,
          0.03518051281571388,
          0.13176767528057098,
          0.04299948364496231,
          0.06250137090682983,
          0.034721989184617996,
          0.14188909530639648,
          -0.14478805661201477,
          -0.04857080429792404,
          -0.027699843049049377,
          -0.1583472192287445,
          0.06870832294225693,
          0.07808611541986465,
          0.13542655110359192,
          0.11275847256183624,
          -0.03576422110199928,
          0.1302436739206314,
          -0.0737265944480896,
          0.20262230932712555,
          0.13786539435386658,
          -0.08019842207431793,
          -0.012116536498069763
         ]
        },
        {
         "marker": {
          "color": 34,
          "size": 5
         },
         "mode": "markers",
         "name": "29",
         "text": [
          "MacBook Pro 16\" with Touch Bar 9th Gen i7/2.6GHz 512GB SSD Space Grey   ",
          "HP - Pavilion x360 Notebook - I7/1.8GHZ - 8GB - 256GB SSD - 14\" FHD ",
          "Acer - Swift 5 Ultrabook - I7/1.8GHZ - 16GB - 512GB HDD - 14\" IPS",
          "Asus - Vivo AiO V272UNT - I7/1.8GHZ - 16GB  - 1TB HDD + 512GB SSD - 27\" FHD ",
          "Lenovo - Ideacentre 510S Desktop PC - i7/3.2GHZ - 8GB - 1TB HDD",
          "HP - Pavilion x360 Notebook - i5/3.1GHZ - 8GB - 128GB SSD - 14\"",
          "HP - Pavilion 360 Notebook - I7/2.7GHZ - 8GB - 256GB SSD - 13.3\"",
          "Lenovo Yoga C740 - i5/1.6GHZ - 8GB - 512GB SSD - 14\" FHD",
          "Asus - ZenBook S UX391UA - I7/1.8GHZ - 16GB - 256GB SSD - 13.3\" FHD",
          "Lenovo - IdeaPad C340-14IML - Pentium/0.8GHZ - 8GB - 128GB SSD - 14\" HD ",
          "Macbook Air (13-inch) with Retina Display i5/1.6GHz 256GB Space Grey  ",
          "Asus - Transformer Book Flip TP200SA - Celeron/1.6Ghz - 4GB - 64GB EMMC - 11.6\"",
          "Lenovo - IdeaPad 1 14IGL05 - Celeron/1.1GHZ - 4GB - 64GB eMMC - 14\"",
          "HP - Pavilion x360 Convert Notebook - I5/1.6GHZ - 8GB - 128GB SSD - 14\" ",
          "Asus ROG Strix G15 Gaming Notebook - I7/2.6GHZ - 16GB - 512GB SSD - 15.6\" FHD",
          "Microsoft - DAG-00020 - Surface Laptop i5 8GB/256GB - Platinum",
          "Microsoft - DAJ-00014 - Surface Laptop i7 8GB/256GB - Platinum ",
          "Acer Nitro 5 Notebook - I7/2.6GHZ - 16GB - 512GB SSD - 15.6\" FHD",
          "MacBook Air 13\" with Retina Display i5/1.1GHz 512 GB Space Grey",
          "HP Pavilion x360 14-DH1084TU - i5/1.6GHZ - 8GB - 512GB SSD - 14\" FHD",
          "Asus - F556UV Notebook - i5/2.3GHz - 4GB - 1TB HDD - 15.6\"",
          "MacBook Air 13\" with Retina Display i5th/1.6GHz 256GB Grey   ",
          "Acer Swift 3 Notebook - i5/3.6GHZ  - 8GB - 512GB SSD - 14\" FHD",
          "Lenovo - ZA470028AU - Tab E10  ",
          "Asus - ZenBook S UX391UA - I7/1.8GHZ - 16GB - 512GB SSD - 13.3\" FHD",
          "Asus ZenBook Duo UX481 - I7/1.8GHZ - 16GB - 512GB SSD - 14\" FHD IPS",
          "MacBook Pro 13\" 2.3GHz 256GB Space Grey",
          "Acer - Aspire 5 A515-51G Notebook - I7/1.8GHZ - 8GB - 256GB SSD - 15.6\"",
          "Asus - VivoBook Flip 12 TP202NA - Pentium/1.1GHZ - 4GB - 64GB EMMC - 11.6\" HD Touch",
          "Acer - Aspire XC-895 Desktop PC - I5/2.9GHZ - 8GB - 512GB SSD",
          "MacBook Air 13\" with Retina Display i5/1.6GHz 128GB Space Grey  ",
          "Asus - ZenBook Flip S UX370UA - I7/1.8GHZ - 16GB - 512GB SSD - 13.3\"",
          "MSI - GV62 8RC Gaming Notebook - I7 - 8GB - 1TB HDD - 128GB SSD - 15.6\" FHD",
          "MacBook Pro 13\" with Touch Bar 8th Gen i5 256GB Space Grey",
          "MacBook Pro 13\" 2.3GHz 128GB Space Grey ",
          "MacBook Pro 13\" with Touch Bar 8th Gen i5/1.4GHz 256GB SSD Space Grey   ",
          "Acer - Aspire 5 A515-51G Notebook - I5/1.6GHZ - 8GB - 1TB HDD - 15.6\" ",
          "Lenovo Tab M10 - 10.1\" HD Tablet - ZA4G0030AU ",
          "21.5\" iMac 4K Retina Display - i5/3.0GHz - 1TB Fusion Drive  ",
          "Acer Aspire 5 Notebook - i5/1GHz - 8GB - 256GB SSD - 15.6\" FHD",
          "Acer - Aspire GX-281 Desktop PC - i7/3.6GHZ - 16GB - 256GB SSD - 1TB HDD",
          "MacBook Pro 13\" with Touch Bar 8th Gen i5/1.4GHz 512GB SSD Space Grey    ",
          "MacBook Pro 15\" with Touch Bar 8th Gen i7 256GB Space Grey  ",
          "Asus - F512FJC Notebook - I7/1.8GHZ - 8GB - 512GB SSD - 15.6\" FHD",
          "Acer - Aspire C27 All-In-One PC - I3/1.2GHZ - 8GB - 512GB SSD - 27\" FHD IPS",
          "Lenovo - Yoga C930 Notebook - I7/1.8GHZ - 16GB - 256GB SSD - 13.9\" UHD",
          "Acer - UM.JX2SA.P02 - 31.5\" Nitro XZ322 LCD Monitor",
          "Acer - Aspire 3 Notebook - Celeron - 4GB - 500GB HDD - 15.6\" HD",
          "HP Laptop 15-DA2018TU - i5/1.6GHZ - 8GB - 256GB SSD - 15.6\" HD",
          "Acer - Spin 3 Notebook - I5/1GHZ - 8GB - 256GB SSD - 14\" FHD",
          "Acer - Aspire Z3-715 All-In-One PC - i7/2.8GHz - 16GB - 2TB HDD - 23.8\"",
          "Acer - Nitro 5 Gaming Notebook - i7/2.8GHZ - 16GB - 256GB SSD - 1TB HDD - 15.6\"",
          "Medion - P5370 E Gaming PC - MD 8866",
          "MacBook Pro 15\" with Touch Bar 9th Gen i7/2.6GHz 256GB SSD Space Grey  ",
          "Lenovo - ZA5T0214AU - Tab M10 Plus ",
          "Acer Aspire 5 Notebook - i3/3.4GHZ - 4GB - 128GB SSD - 14\" HD",
          "Asus  ROG Strix GA15 Desktop PC - AMD Ryzen™ 5-3600X - 16GB - 512GB SSD",
          "Lenovo - Yoga 530 Notebook - I5/1.6GHZ - 8GB - 128GB SSD - 14\" FHD",
          "HP - Pavilion All-in-One Desktop PC - I7/2.9GHZ - 16GB - 2TB HDD - 27\" FHD",
          "Acer  Aspire C27 All-in-One PC - I5/1.6GHZ - 8GB - 1TB SSD - 27\" FHD",
          "Acer - C24-865 All In One PC - i3/2.2GHZ - 4GB - 128GB SSD + 1TB HDD - 23.8\" FHD",
          "Asus - GL504GM Notebook - I7/2.2GHZ - 16GB - 1TB HDD - 256GB SSD - 15.6\" FHD",
          "Lenovo - IdeaPad Flex 5 14IIL05 - I5/1GHZ - 8GB - 256GB SSD - 14\" FHD",
          "Asus VivoBook F420FAC - i5/1.6GHz - 8GB - 256GB SSD - 14\" FHD ",
          "27\" iMac 5K Retina Display - i5 - 8GB - 1TB Fusion Drive",
          "Asus - F510UF Notebook - I7/1.8GHZ - 16GB - 512GB SSD - 15.6\" FHD",
          "Acer - Nitro 5 Notebook - i7/2.2GHZ -16GB - 2TB HDD - 256GB SSD - 15.6\" FHD",
          "ASUS VivoBook F510UF Notebook - i7/1.8GHz - 8GB - 512GB SSD - 15.6\" FHD  ",
          "Acer - C27 All-In-One PC - I5/1GHZ - 8GB - 1TB SSD - 27\" FHD IPS",
          "Acer Chromebook 314 Notebook - Celeron/1.1GHZ - 4GB - 32GB eMMC - 14\" FHD",
          "Lenovo - ZA3W0019AU - TAB E8",
          "Asus - Vivo AiO V230ICGT PC - i7/2.8GHz - 16GB - 2TB HDD  23\" FHD",
          "Acer - UM.UX2SA.S01 - 23.8\" XZ2 Nitro Monitor",
          "HP - Pavilion x360 Notebook - I5/1.6GHZ - 8GB - 256GB SSD - 14\" HD",
          "Lenovo - Chromebook C340 - Celeron/1.1GHZ - 4GB - 64GB EMMC - 11.6\" HD ",
          "Macbook Air (13-inch) with Retina Display i5/1.6GHz 128GB Space Grey ",
          "Asus VivoBook S532FAC - I7/1.8GHZ - 8GB - 512GB SSD - 15.6\" FHD",
          "Acer - UM.CX2SA.P02 - 34\" XZ342CK P Curved Monitor",
          "Lenovo - ideapad C340-14IML - I7/1.8GHZ - 8GB - 512GB SSD - 14\" FHD",
          "Acer - Aspire 5 Notebook - I7/1.3GHZ - 8GB - 512GB SSD - 15.6\" FHD",
          "Acer Nitro 5 Gaming Notebook - i5/2.40GHz - 8GB - 256GB SSD - 15.6\"",
          "HP Notebook 14S-DK0124AU - AMD/2.3GHZ - 4GB - 128GB SSD - 14\" HD ",
          "Asus F512JA Series Notebook - I5/1GHZ - 8GB - 256GB SSD - 15.6\" HD",
          "Lenovo - IdeaPad C340 - Pentium/2.3GHZ - 8GB - 128GB SSD - 14\"",
          "Asus - UX461 Zenbook Flip 14 Notebook - I7/1.8GHZ - 16GB - 256GB SSD - 14\" ",
          "Asus - F507UA Notebook - i3/2GHZ - 4GB - 1TB HDD - 15.6\"",
          "Lenovo - ZA400039AU - Tab E7",
          "Macbook Air (13-inch) with Retina Display i5/1.6GHz 128GB Gold ",
          "Lenovo Ideapad C340 - i5/1.6GHZ - 8GB - 256GB SSD - 14\" HD ",
          "Lenovo - IdeaPad 1 14IGL05 - Pentium/1.1GHZ - 4GB - 128GB SSD - 14\" HD",
          "Medion - Erazer X6603 Gaming Notebook - I7/2.8GHZ - 16GB - 256GB SSD - 1TB HDD - 15.6\"",
          "Acer - UM.QV0SA.002 - 23.8\" FHD/IPS Monitor",
          "Acer - UM.HV0SA.003 - 27\" FHD IPS Monitor",
          "Asus ZenBook Pro Duo UX581GV - i7/2.6GHZ - 32GB - 1TB SSD - 15.6\" UHD",
          "Lenovo - Chromebook S340 - Celeron/1.1GHz - 4GB - 64GB eMMc - 14\" FHD",
          "Lenovo - IdeaPad 3 Notebook - I5/1GHZ - 8GB - 256GB SSD - 15.6\" FHD",
          "Lenovo Tab M8 - 8\" HD Tablet - ZA5G0036AU",
          "MacBook Air 13\" with Retina Display i3/1.1GHz 256GB Gold ",
          "Asus - TUF Gaming FX504 Notebook - I7/2.2GHZ - 16GB - 1TB HDD - 128GB SSD - 15.6\" FHD",
          "HP - Pavilion All-in-One Desktop PC - I7/2.9GHZ - 16GB - 2TB HDD - 23.8\" FHD",
          "Asus - VivoBook Flip 14 TP401MA - Pentium/1.1GHz - 4GB -128GB eMMC - 14\" HD  ",
          "Asus ZenBook 14 - UX434FAC - i7/1.8GHZ - 16GB - 512GB SSD - 14\" FHD",
          "Acer - NX.GQ4SA.002 - Aspire 3 Notebook - AMD/3.0GHz - 8GB - 1TB HDD - 15.6\"",
          "Asus - VivoBook S15 S510UQ - i7/1.8GHz - 16GB - 512GB SSD - 15.6\"   ",
          "Lenovo IdeaPad Duet Chromebook - 10.1\" FHD - 4GB - 128GB eMCP - ZA6F0017AU",
          "Asus - E410MA Laptop - PENTIUM/1.1GHZ - 4GB - 128GB EMMC - 14\" LED",
          "Asus - UX360UA - ZenBook Flip - i7/2.5GHz - 8GB - 512GB SSD - 13.3\" FHD",
          "Acer - Aspire 3 Notebook - Pentium/1.1GHZ - 8GB - 1TB HDD - 15.6\" HD",
          "HP - Notebook - I7/1.8GHZ - 8GB - 128GB SSD - 15.6\" FHD",
          "HP - Pavilion 360 Notebook - I5/2.5GHZ - 8GB - 256GB SSD - 13.3\"",
          "Asus Zenbook Flip 14 Notebook - i7/1.8GHZ - 16GB - 512GB SSD - 14\" FHD",
          "Acer - UM.CX0SA.P03 - 34\" IPS Gaming Monitor ",
          "Asus - VivoBook Flip 14 - TP412FAC-EC375T - i5/1.6GHZ - 8GB - 256GB SSD - 14\" FHD",
          "Lenovo Tab M7 - 7\" HD Tablet - ZA550165AU",
          "Acer Swift 5 Notebook - i7/1.3GHZ - 16GB - 512GB SSD - 14\" FHD",
          "Acer - Nitro 5 Notebook - i7/2.2GHZ - Optane™ Memory - 2TB HDD - 15.6\" FHD",
          "Asus F712FAC Notebook - i7/1.8GHZ - 8GB - 512GB SSD - 17.3\" FHD",
          "Acer Nitro 5 Notebook - I7/2.6GHZ - 8GB - 512GB SSD - 15.6\" FHD",
          "MacBook Pro 15\" with Touch Bar 2.8GHz 256GB  Silver",
          "Asus - Vivo AiO V241FFT - I5/1.6GHZ - 8GB - 512GB SSD - 23.8\" FHD ",
          "Acer - Spin 3 Notebook - I7/1.3GHZ - 16GB - 512GB SSD - 14\"FHD",
          "HP - Notebook - AMD/2.3GHZ - 4GB - 1TB HDD - 14\" HD",
          "Asus - Chromebook C223NA - Celeron/1.1GHz - 4GB - 32GB eMMC - 11.6\" HD",
          "Lenovo - 81CT0092AU - Yoga 730-13 Notebook",
          "Asus - Zen AiO ZN242IF Desktop PC - I7/2.8GHZ - 16GB - 1TB HDD - 128GB SSD - 23.8\" ",
          "Macbook 12\"  1.3GHz 512GB Rose Gold",
          "27\" iMac 5K Retina Display - i5/3.0GHz - 8GB - 1TB Fusion Drive    ",
          "MacBook Air 13\" with Retina Display i3/1.1GHz 256GB Space Grey ",
          "Acer - Aspire TC-780 Desktop PC - I5/3-3.5GHZ - 8GB - 2TB HDD",
          "Acer - Aspire TC Desktop - I5/2.8GHZ - 8GB - 2TB HDD",
          "HP - Pavilion All-in-One PC - I5/3GHZ - 8GB - 1TB HDD - 23.8\" FHD",
          "Acer - Aspire C27-865 Desktop - I5/1.6GHZ - 8GB - 128GB SSD + 1TB HDD - 27\" FHD",
          "Acer - Swift 1 Notebook - CELERON/1.1GHZ - 4GB - 128GB SSD - 14\" FHD  ",
          "Lenovo - IdeaPad C340 - I5/1.6GHZ - 8GB - 256GB SSD - 14\"",
          "Asus - E406MA Notebook - Pentium/1.1GHZ - 4GB - 64GB eMMC - 14\"",
          "HP Envy 13 Laptop - i7/1.8GHz - 16GB - 512GB SSD - 13.3\" FHD ",
          "Macbook 12\"  1.3GHz 512GB  Space Grey  ",
          "Asus - FX505DT TUF Gaming Notebook - AMD Ryzen™ 7/2.3GHZ - 16GB - 512GB SSD - 15.6\" FHD",
          "Acer Swift 3 Notebook - i7/3.9GHZ - 16GB - 512GB SSD - 14\" FHD"
         ],
         "type": "scatter",
         "x": [
          0.3416111469268799,
          0.25354304909706116,
          0.35019952058792114,
          0.27750733494758606,
          0.2644764184951782,
          0.25941023230552673,
          0.2677583396434784,
          0.31689250469207764,
          0.2848914861679077,
          0.3136081099510193,
          0.3062736988067627,
          0.29765674471855164,
          0.3113102614879608,
          0.2586173713207245,
          0.2600288987159729,
          0.24711297452449799,
          0.2940000295639038,
          0.30588704347610474,
          0.32813096046447754,
          0.23849605023860931,
          0.2740803360939026,
          0.33293992280960083,
          0.3136226534843445,
          0.18339242041110992,
          0.27955371141433716,
          0.28752440214157104,
          0.31690868735313416,
          0.311247318983078,
          0.29604852199554443,
          0.2940150797367096,
          0.31467944383621216,
          0.2681438624858856,
          0.2322833091020584,
          0.34155482053756714,
          0.3075845241546631,
          0.3605325222015381,
          0.2927440404891968,
          0.26598060131073,
          0.23350445926189423,
          0.31344106793403625,
          0.2691960334777832,
          0.36230146884918213,
          0.3340279757976532,
          0.2576780617237091,
          0.26858770847320557,
          0.33116844296455383,
          0.24104556441307068,
          0.2948300838470459,
          0.2931530773639679,
          0.317560613155365,
          0.2909679710865021,
          0.32039138674736023,
          0.1762312352657318,
          0.3484615683555603,
          0.21390856802463531,
          0.33167657256126404,
          0.22565023601055145,
          0.3175007402896881,
          0.24427014589309692,
          0.25043943524360657,
          0.23731377720832825,
          0.2717033624649048,
          0.31228986382484436,
          0.287032812833786,
          0.2370533049106598,
          0.24863766133785248,
          0.32458895444869995,
          0.2849191129207611,
          0.26981088519096375,
          0.22967591881752014,
          0.19430339336395264,
          0.27591848373413086,
          0.22156742215156555,
          0.26064813137054443,
          0.2570395767688751,
          0.2995437979698181,
          0.2749277949333191,
          0.19196289777755737,
          0.2880973219871521,
          0.3187732696533203,
          0.3116576075553894,
          0.29983386397361755,
          0.25837773084640503,
          0.310992032289505,
          0.3046390116214752,
          0.24879059195518494,
          0.21885186433792114,
          0.28863129019737244,
          0.31206148862838745,
          0.32386237382888794,
          0.24362792074680328,
          0.23888874053955078,
          0.224913090467453,
          0.28395238518714905,
          0.2552259862422943,
          0.3180879056453705,
          0.26838505268096924,
          0.3109844923019409,
          0.24153414368629456,
          0.24271249771118164,
          0.3209439218044281,
          0.2870093882083893,
          0.2991797626018524,
          0.3116435408592224,
          0.2810136079788208,
          0.2764713764190674,
          0.29761818051338196,
          0.30477413535118103,
          0.29025158286094666,
          0.2625252604484558,
          0.29430434107780457,
          0.22794559597969055,
          0.31325042247772217,
          0.2747468054294586,
          0.32263028621673584,
          0.32225632667541504,
          0.22810177505016327,
          0.30779829621315,
          0.32032740116119385,
          0.25489377975463867,
          0.32120341062545776,
          0.2994502782821655,
          0.29142773151397705,
          0.25750136375427246,
          0.2788662612438202,
          0.25222092866897583,
          0.22942277789115906,
          0.3288151025772095,
          0.27698150277137756,
          0.3011643886566162,
          0.22869570553302765,
          0.26311880350112915,
          0.326835960149765,
          0.3174257278442383,
          0.2544988989830017,
          0.26338160037994385,
          0.2972721457481384,
          0.21088066697120667,
          0.32416459918022156
         ],
         "y": [
          0.22219327092170715,
          0.27761250734329224,
          0.3229215741157532,
          0.34561896324157715,
          0.24674035608768463,
          0.26157915592193604,
          0.23974238336086273,
          0.3238925337791443,
          0.33635225892066956,
          0.2653876543045044,
          0.20970165729522705,
          0.18842531740665436,
          0.25725865364074707,
          0.24017630517482758,
          0.35341429710388184,
          0.15000790357589722,
          0.11612878739833832,
          0.29197973012924194,
          0.22150805592536926,
          0.3007268011569977,
          0.28451210260391235,
          0.20883971452713013,
          0.2926024794578552,
          0.11333182454109192,
          0.3290199041366577,
          0.33235883712768555,
          0.17752757668495178,
          0.29335832595825195,
          0.22028467059135437,
          0.21695217490196228,
          0.2254868596792221,
          0.2990576922893524,
          0.36683353781700134,
          0.18224507570266724,
          0.19157832860946655,
          0.22472800314426422,
          0.2808809280395508,
          0.21123218536376953,
          0.32841795682907104,
          0.29787975549697876,
          0.26158249378204346,
          0.22195231914520264,
          0.18867509067058563,
          0.29499146342277527,
          0.28234395384788513,
          0.3385443687438965,
          0.17074911296367645,
          0.21597468852996826,
          0.3376871943473816,
          0.2964567542076111,
          0.23665593564510345,
          0.29084911942481995,
          0.12549123167991638,
          0.22118200361728668,
          0.12353765964508057,
          0.2943223714828491,
          0.32703906297683716,
          0.31962740421295166,
          0.22522632777690887,
          0.3264736831188202,
          0.2324908822774887,
          0.34663134813308716,
          0.2970106601715088,
          0.3321794271469116,
          0.3276224732398987,
          0.31797048449516296,
          0.27164942026138306,
          0.3305443525314331,
          0.35207539796829224,
          0.2630353271961212,
          0.11765483766794205,
          0.287016361951828,
          0.1816166788339615,
          0.26711198687553406,
          0.2772892415523529,
          0.21656545996665955,
          0.3736467957496643,
          0.1817009598016739,
          0.2909248471260071,
          0.2788705825805664,
          0.2874860167503357,
          0.30135565996170044,
          0.31690603494644165,
          0.247535839676857,
          0.30483725666999817,
          0.26438742876052856,
          0.16359637677669525,
          0.21971237659454346,
          0.29426905512809753,
          0.2657902240753174,
          0.309516966342926,
          0.21686974167823792,
          0.2187628149986267,
          0.34884822368621826,
          0.2967422604560852,
          0.2961846590042114,
          0.24989323318004608,
          0.1816963404417038,
          0.2858697175979614,
          0.21706007421016693,
          0.2531992495059967,
          0.317898690700531,
          0.26760339736938477,
          0.3610353469848633,
          0.2451624870300293,
          0.1903664469718933,
          0.28301578760147095,
          0.21952861547470093,
          0.33018040657043457,
          0.24296745657920837,
          0.32758527994155884,
          0.2121070921421051,
          0.3175317049026489,
          0.2511758804321289,
          0.3199341893196106,
          0.256680428981781,
          0.28686487674713135,
          0.29560884833335876,
          0.13114984333515167,
          0.3235124349594116,
          0.2725353240966797,
          0.23494616150856018,
          0.3137863874435425,
          0.1243395209312439,
          0.2858067452907562,
          0.1764686405658722,
          0.3287891745567322,
          0.18233418464660645,
          0.18079741299152374,
          0.19756726920604706,
          0.2159796804189682,
          0.2825127840042114,
          0.31214720010757446,
          0.2823377251625061,
          0.1900181919336319,
          0.3061947226524353,
          0.1855136901140213,
          0.28477129340171814,
          0.29468750953674316
         ]
        },
        {
         "marker": {
          "color": 35,
          "size": 5
         },
         "mode": "markers",
         "name": "30",
         "text": [
          "Westinghouse WHG758SC - 75cm 5 Burner Gas Cooktop",
          "Chef - CVE612SA - Electric Single Oven",
          "Miele - H 7440 BM VitroLine Obsidian Black - 60cm Speed Oven",
          "Chef - CVE662WA - Electric Wall Oven",
          "Sunbeam - HP5520 - Slow Cooker 5.5L",
          "Westinghouse WHI643BC - 60cm 4 Zone Induction Cooktop",
          "Westinghouse - WHI645BA - 60cm Induction Cooktop",
          "Westinghouse - WHI744BA - 70cm Induction Cooktop",
          "Smeg - SFRA9300TVX - 90cm Classic Thermoseal Oven",
          "DeLonghi - DEP7410 - 60cm Multifunction Built-in Oven",
          "Smeg - 34L Convection Microwave Oven - SAM34CXI",
          "Beko - BIM25303XM - 81L Multifunction Built-in Oven",
          "Beko - BCT75GX - 75cm Gas Cooktop",
          "Westinghouse WVES613WC-L - 60cm Multi-function Oven",
          "Smeg - SFA4102MN - 60cm Linea Compact Microwave Oven",
          "Smeg - PX175LAU - 72cm Linea Cooktop",
          "Smeg - SFPA6104TVN - 60cm Linea Pyrolytic Oven",
          "Smeg - PV164CN2AU - 60cm Linea Gas Cooktop",
          "Beko - BBO60B2SB - 60cm Multifunction Built-in Oven",
          "Smeg - PGA75F-4 - 75cm Gas Cooktop",
          "Smeg - SRA975NGH - 70cm Victoria Gas Cooktop - Black",
          "Westinghouse - WFE619SA - 60cm Freestanding Dual Fuel Cooker",
          "Smeg - PXL675LAU - 75cm Linea Blade Flame Gas Cooktop",
          "Westinghouse - WHI634BB - 60cm Induction Cooktop ",
          "Westinghouse - WHI634BA - 60cm Induction Cooktop",
          "Miele - H 7860 BPX ArtLine Graphite Grey - 60cm Wide Pyrolytic Handless Oven ",
          "Smeg - SRA964XGH - 60cm Victoria Gas Cooktop - Stainless Steel",
          "Westinghouse - ACC260 - 60cm Oven Runners Kit",
          "Smeg - SFA4104MCN - 60cm Linea Compact Speed Oven",
          "Smeg - SFPA6300TVX - 60cm Classic Thermoseal Pyrolytic Oven",
          "Westinghouse WVE665WC - 60cm Separate Grill Wall Oven",
          "Beko - BBO60S1MB - 60cm Built-in Oven",
          "Smeg - HOBD682D - Integrated Induction Cooktop",
          "Beko - BBO60S1PB - 60cm Multifunction Built-in Oven",
          "Miele - H 2760 B ContourLine CleanSteel - 60cm Wide Oven ",
          "Chef - CVE614SA - Electric Single Oven",
          "Miele - Benchtop Microwave Oven - M6012 Stainless Steel ",
          "Miele H 7464 BPX ArtLine Graphite Grey - 60cm Wide Pyrolytic Handless Oven  ",
          "Miele H 7264 BP VitroLine Graphite Grey - 60cm Wide Pyrolytic Oven ",
          "Smeg - SRA964PGH - 60cm Victoria Gas Cooktop - Panna",
          "Asko - OCM8464A - 45cm Combi Microwave Oven - Anthracite ",
          "Asko - OCS8687A - 60 cm Built-in Combi Steam Oven - Anthracite ",
          "Asko - OCS8464S - 45cm Combi Steam Oven - Stainless Steel",
          "Westinghouse - WLE547WA - 54cm Electric Upright Cooker",
          "Asko - OP8637A - 60cm Craft Pyrolytic Oven - Anthracite",
          "Chef - CHS642WA - 60cm Solid Element Cooktop",
          "Smeg - SRA975XGH - 70cm Victoria Gas Cooktop - Stainless Steel",
          "Smeg - A3AU-81 - Classic Freestanding Cooker Stainless Steel 120cm",
          "Smeg - PX375LAU - 72cm Classic Gas Cooktop",
          "Chef - 54cm LPGas Freestanding Cooker - CFG503WBLP",
          "Miele - H 7860 BP VitroLine Graphite Grey - 60cm Wide Pyrolytic Oven  ",
          "Westinghouse - WFE547SA - 54cm Freestanding Cooker",
          "Sharp - R350EW - Microwave Oven",
          "Miele - DGC 7860 XXL PureLine CleanSteel - 60cm Steam Combi Oven",
          "Miele - DGC 7440 PureLine CleanSteel - 60cm Steam Combi Oven",
          "Miele - DG 7440 PureLine CleanSteel - 60cm Steam Oven",
          "Miele - DG 2840 PureLine CleanSteel - 60cm Steam Oven",
          "Miele - DGC 7860 XXL VitroLine Obsidian Black - 60cm Steam Combi Oven",
          "Miele - DGC 7460 XXL VitroLine Obsidian Black - 60cm Combi Steam Oven",
          "Miele - DGC 7460 XXL VitroLine Graphite Grey - 60cm Combi Steam Oven",
          "DeLonghi - DEGHBG60 - 60cm Gas Cooktop",
          "Ninja Foodi Grill AG301 - 4 in 1 Cooking Appliance",
          "Smeg - SFA4301MCX - 60cm Classic Compact Speed Oven",
          "Westinghouse WHG644SC - 60cm 4 Burner Gas Cooktop",
          "Miele H 2267-1 BP PureLine CleanSteel - 60cm Wide Pyrolytic Oven",
          "Westinghouse WVE625SC - 60cm Multifunction Double Oven",
          "Asko - OP8687B - 60cm Craft Pyrolytic Oven - Black steel ",
          "Euromaid - R54EW - 54cm Freestanding Oven   ",
          "Miele - DGC 7840 PureLine CleanSteel - 60cm Steam Combi Oven",
          "Beko - BBO60S0MB - 81L Multifunction Built-in Oven",
          "Asko - HI1611G - 60cm Induction 4 Zone Cooktop",
          "Westinghouse -  WHG646SA - 60cm Gas Cooktop - 4 Burners",
          "Westinghouse - WHG756SB - 75cm Gas Cooktop",
          "Smeg - CS7GMXA - 70cm Freestanding Cooker",
          "Miele - DG 2840 VitroLine Graphite Grey - 60cm Steam Oven",
          "Smeg - SFPA7130 - 70cm Linear Thermoseal Pyrolytic Oven",
          "Westinghouse WVEP615SC - 60cm Multifunction Oven",
          "Miele - H 7660 BP VitroLine Obsidian Black - 60cm Wide Pyrolytic Oven ",
          "Westinghouse WVG613SCNG - 60cm Multi-function Oven",
          "Smeg - PX375AU - 72cm Classic Gas Cooktop",
          "Smeg - PX7502AU - 75cm Linea Gas Cooktop",
          "Chef - CFG517WBNG - 54cm Freestanding Gas Cooker",
          "Asko - HG1776SD - 75cm Gas Cooktop",
          "Smeg - 60cm Victoria Thermoseal Pyrolytic Double Oven - DOSPA6925P",
          "Westinghouse WVES613WC-R - 60cm Multi-function Oven",
          "Asko - OCS8664A - 60 cm Built-in Combi Steam Oven - Anthracite  ",
          "Asko - OCS8464B - 45cm Combi Steam Oven - Black Steel",
          "Westinghouse - WLE625WA - 60cm Freestanding Electric Cooker",
          "Smeg - SFA4104MCB - 60cm Linea Compact Speed Oven",
          "Westinghouse - WFE647WA - 60cm Freestanding Electric Cooker",
          "Smeg - SFA4102MS - 60cm Linea Compact Microwave Oven",
          "Smeg - PXL664AU - 60cm Linea Blade Flame Cooktop",
          "Westinghouse WVE625WC - 60cm Multifunction Double Oven",
          "Westinghouse - WFE619WA - 60cm Freestanding Dual Fuel Cooker",
          "Smeg - SRA975BGH - 70cm Victoria Gas Cooktop - White",
          "Miele H 7264 BP PureLine CleanSteel - 60cm Wide Pyrolytic Oven ",
          "Beko - BFC60VMX1 - 60cm Vitroceramic Upright Cooker",
          "Miele - DGC 7840 XL VitroLine Obsidian Black - Steam Combination Oven",
          "Miele - DGC 7440 X ArtLine Obsidian Black - 60cm Steam Combi Oven",
          "Miele - DGC 7440 X ArtLine Graphite Grey - 60cm Steam Combi Oven",
          "Miele - DGC 7440 XL VitroLine Obsidian Black - Steam Combination Oven   ",
          "Miele - DG 6010 - Benchtop Steam Oven",
          "Whirlpool - MWC25WH - Crisp N’ Grill 25L Microwave",
          "Omega - OM30X - 30L Microwave Oven",
          "Westinghouse WVE615SC - 60cm Multifunction Oven",
          "Westinghouse - WMF2302WA - 23L Microwave Oven",
          "Westinghouse WVG615SCLP - 60cm Multi-function Oven",
          "Beko - HIDG95225SX - 90cm Gas Cooktop",
          "LG - MJ3966ABS - NeoChef 39L Smart Inverter Convection Oven ",
          "Smart - 601WB-W - 6 Burner Built-in LPG BBQ",
          "Smeg 60cm Linea Thermoseal Pyrolitic Oven - SFPA6102TVN",
          "Westinghouse - WFE647SA - 60cm Upright Electric Oven",
          "Westinghouse - WMF2302SA - 23L Microwave Oven",
          "Westinghouse WVE614SC - 60cm Multifunction Oven",
          "Miele H 7164 BP ContourLine CleanSteel 60cm Wide Pyrolytic Oven  ",
          "Smeg - PX364LAU - 60cm Classic Gas Cooktop",
          "Miele H 7264 BP VitroLine Obsidian Black - 60cm Wide Pyrolytic Oven ",
          "Miele H 7260 BP PureLine CleanSteel - 60cm Wide Pyrolytic Oven ",
          "Miele H 2267-1 B PureLine CleanSteel - 60cm Wide Oven ",
          "Westinghouse WVG613SCLP - 60cm Multi-function Oven",
          "Samsung - ME6104ST - 28L Microwave Oven",
          "LG NeoChef 42L Smart Inverter Microwave Oven - MS4296OBSS",
          "LG NeoChef 25L Smart Inverter Microwave - MS2596OW ",
          "LG - MS5696OMBS - 56L NeoChef® Microwave",
          "Smeg - SFA4104VCN - 60cm Linea Compact Combi-Steam Oven",
          "Smeg - SFPR9395X - 90cm Pyrolytic Oven",
          "Smeg - SFA4104VCB - 60cm Linea Compact Combi-Steam Oven",
          "Euromaid - F54RW - 54cm Freestanding Oven",
          "Smeg - SFPA6390X2 - 60cm Pyrolytic Oven",
          "Chef - CVEP614SA - Electric Single Pyrolytic Oven",
          "Smeg - TR4110IWH - 110cm Victoria Induction Freestanding Cooker",
          "Euromaid - EFF54W - 54cm Freestanding Oven",
          "Westinghouse - WLE535WB - 54cm Freestanding Cooker",
          "Asko - OCS8664B - 60 cm Built-in Combi Steam Oven - Black Steel ",
          "Euromaid - FGG54W - 540mm Gas Upright Cooker",
          "Smeg - PV175CN2AU - 72cm Linea Gas Cooktop",
          "Westinghouse WHI743BC - 75cm 4 Zone Induction Cooktop",
          "Smeg - SAI714B - 70cm Induction Cooktop",
          "Euromaid - CDDS60 - 60cm Freestanding Oven",
          "Westinghouse WVEP615WC - 60cm Multifunction Oven",
          "Smeg - SBIM30X - 25L Built-in Microwave Oven",
          "Smeg - SFA4104VCS - 60cm Linea Compact Combi-Steam Oven",
          "Smeg - PV364LCNAU - 65cm Gas Cooktop",
          "Smeg - PV375CNAU - 75cm Gas Cooktop",
          "Euromaid - BT44 - 600mm Bench Top Oven & Grill",
          "Smeg - 60cm Victoria Thermoseal Pyrolytic Double Oven - DOSPA6925N",
          "Westinghouse - WVG665SNG - Stainless Steel Fan Forced - 60cm oven",
          "Westinghouse WVG665SCNG - 60cm Gas Fan Forced Oven",
          "Sharp - R210DW - Compact Microwave Oven",
          "Smeg - TR4110IBL - 110cm Victoria Induction Freestanding Cooker",
          "Smeg - DOSPA6395X - 60cm Thermoseal Pyrolytic Double Oven",
          "Westinghouse WVE616SC - 60cm Multifunction Oven ",
          "Westinghouse - WHG952SB - 90cm Gas Cooktop",
          "Miele - H 7860 BPX ArtLine Obsidian Black - 60cm Wide Pyrolytic Handless Oven ",
          "Westinghouse WVEP916SC - 90cm Pyrolitic Multifunction Oven",
          "Miele H 2860 BP VitroLine Graphite Grey - 60cm Wide Oven",
          "Westinghouse WHI323BC - 30cm 2 Zone Induction Cooktop",
          "Westinghouse WVG655SCLP - 60cm Gas Fan Forced Oven",
          "Smeg - PX1402AU - 100cm Linea Gas Cooktop",
          "Westinghouse WHI645BC - 60cm 4 Zone Induction Cooktop",
          "Smeg - SFA4920MCN1 - 60cm Victoria Compact Microwave Oven - Black ",
          "Westinghouse - WVE626W - 80L/46L Multifunction Duo Oven",
          "Smeg - SFPA6925B - 60cm Victoria Thermoseal Pyrolytic Oven - White Enamel",
          "Smeg - SFPA6925N - 60cm Victoria Thermoseal Pyrolytic Oven - Black Enamel",
          "Westinghouse WHG640WC - 60cm 4 Burner Gas Cooktop",
          "Smeg - TR4110IPG - 110cm Victoria Induction Freestanding Cooker",
          "Sharp - R395YBK - Midsize Inverter Microwave Oven",
          "Miele - H 7860 BP VitroLine Obsidian Black - 60cm Wide Pyrolytic Oven",
          "Asko - HI1655G - 60cm Bridge Induction Cooktop",
          "Westinghouse - WHI324BA - 30cm Induction Cooktop",
          "DeLonghi - DEFL605G - 60cm Lifestyle Freestanding Oven",
          "DeLonghi - DEL6038D - 60cm Multifunction Double Wall Oven",
          "Westinghouse WHS642SC - 60cm Electric Solid Cooktop",
          "Westinghouse - WFG617WANG - 60cm Freestanding Gas Cooker - NG - White",
          "Inalto - IO60XL5M - 60cm Multifunction Oven - Minute Timer",
          "Westinghouse WVE655SC - 60cm Underbench Oven",
          "Chef - 54cm Gas Freestanding Oven - CFG504SBNG",
          "Beko - BIM25101XM - 81L Multifunction Built-in Oven",
          "Smeg - A11XPY-9 - 90cm Opera Thermoseal Pyrolytic Cooker",
          "Asko - HG1666SD - 60cm Gas Cooktop - Stainless Steel",
          "Westinghouse - WVEP627S - 60cm Double Cavity Electric Oven",
          "Smeg - SFPA6102TVS - 60cm Linea Thermoseal Pyrolitic Oven ",
          "Inalto - ICI604TB - 60cm Induction Cooktop - Touch Control",
          "Smeg - SFPA7395X2 - 70cm Pyrolytic Oven",
          "Smeg - PV164CB2AU - 60cm Linea Gas Cooktop",
          "Whirlpool - MWCF25BK - CrispFry 25L Microwave",
          "Smeg - SAI613B - 60cm Induction Cooktop",
          "Smeg - SAI60MW - 60cm Induction cooktop",
          "Smeg - SAI60MB - 60cm Induction cooktop",
          "Miele - H 7860 BP PureLine CleanSteel - 60cm Wide Pyrolytic Oven ",
          "Miele - H 7660 BP PureLine CleanSteel - 60cm Wide Pyrolytic Oven  ",
          "Smeg - TR4110IP - 110cm Victoria Induction Freestanding Cooker",
          "Asko - HG1776AD - 75cm Gas Cooktop - Anthracite  ",
          "Smeg - SFPA6104TVS - 60cm Linea Thermoseal Pyrolitic Oven ",
          "Miele - H 7464 BP VitroLine Graphite Grey - 60cm Wide Pyrolytic Oven  ",
          "Omega - OCG62X - 60cm Gas Cooktop",
          "LG NeoChef 42L Smart Inverter Microwave Oven - MS4296OSS ",
          "Asko - OCS8487B - 45cm Combi Steam Oven - Black Steel  ",
          "Asko - OCS8464A - 45cm Combi Steam Oven - Anthracite",
          "Asko - OCM8487B - 45 cm Built-in Combi-Microwave Oven - Black Steel  ",
          "Westinghouse - WHG955WA - 90cm White Enamel Gas Cooktop",
          "Chef - CHI643BA - Induction Cooktop",
          "Beko - BBO60S1DB - 55cm Multifunction Built-in Double Oven",
          "Westinghouse WVEP627DSC - 60cm Multifunction Double Oven",
          "Chef - 54cm NGas Freestanding Cooker - CFG503WBNG",
          "Smeg - SFA63M3TVX - Classic Built-In Oven Stainless Steel 60cm",
          "Beko - BBO60B2PB - 94L Pyrolytic Built-in Oven",
          "Westinghouse - ACC290 - 90cm Oven Runners Kit ",
          "DeLonghi - DEGH60BG - 60cm Gas Cooktop",
          "Smeg - SFPA6303TPX - 60cm Classic Pyrolytic Oven",
          "Smart - 401WB-W - 4 Burner Built-in LPG BBQ",
          "Beko - HIMW75225SX - 70cm Gas Cooktop",
          "Asko - OP8664A - 60cm Pyrolytic Oven - Anthracite",
          "Chef - CHG642WB - 60cm Gas Cooktop",
          "Westinghouse - WHSC03SS - 3 Pot Slow Cooker",
          "Smeg - SFA6304X2 - Classic Built-In Oven Stainless Steel 60cm",
          "Inalto - IO64M.1 - 60cm Fan Forced Oven",
          "Asko - OP8637S - 60cm Craft Pyrolytic Oven - Stainless Steel ",
          "Asko - OCS8664S - 60 cm Built-in Combi Steam Oven - Stainless Steel ",
          "Miele - H 2860 BP PureLine CleanSteel - 60cm Wide Pyrolytic Oven  ",
          "Miele - H 2860 B PureLine CleanSteel - 60cm Built-in Oven ",
          "DeLonghi DEL7406 - 60cm Built In XXL Lifestyle Oven",
          "Asko - OP8687A - 60cm Craft Pyrolytic Oven - Anthracite",
          "Chef - CHS642SA - 60cm Solid Element Cooktop",
          "Westinghouse WVE645SC - 60cm Combination Oven/Cooktop",
          "Westinghouse - WHG645WA - 60cm White Enamel Gas Cooktop",
          "Westinghouse WVE665SC - 60cm Separate Grill Wall Oven",
          "Westinghouse - 60cm Gas Cooktop - WHG640SB",
          "Omega - OBO676X - 60cm Multifunction Oven",
          "Westinghouse WHS642WC - 60cm Electric Solid Cooktop",
          "Euromaid - EW60 - 60cm Upright Cooker",
          "Miele - DGC 7460 XXL PureLine CleanSteel - 60cm Combi Steam Oven",
          "Smeg - PGA64 - 60cm Gas Cooktop ",
          "Asko - OCM8464S - 45cm Combi Microwave Oven - Stainless Steel",
          "Euromaid - 54cm Gas Freestanding Cooker - FSG54S",
          "Inalto - ICGW60S - 60cm Gas Cooktop  ",
          "Westinghouse WVE915SC - 90cm Multifunction Oven",
          "Chef - CVE624SA - Built-In Double Oven",
          "Glem - UN664MVI - 60cm Freestanding Gas Cooker",
          "Westinghouse - WFG617WALP - 60cm Freestanding Gas Cooker - LPG - White",
          "Westinghouse - WFE517SA - 54cm Freestanding Cooker",
          "DeLonghi - DEL7408 - 60cm Built In XXL Lifestyle Oven",
          "Westinghouse - ACC121 - 6-piece - Oven Roasters Pack",
          "DeLonghi - DE60COMBI - 60cm Microwave Combination Oven",
          "Smeg - PV175CB2AU - 72cm Linea Gas Cooktop",
          "Asko - OP8664S - 60cm Pyrolytic Oven - Stainless Steel ",
          "LG NeoChef 23L Smart Inverter Microwave Oven - MS2336DB",
          "LG NeoChef 42L Smart Inverter Microwave Oven - MS4296OWS",
          "LG NeoChef 25L Smart Inverter Microwave - MS2596OS",
          "Omega - OMW34X - 34L Built-In Microwave Oven",
          "Westinghouse - WHI745BA - 70cm Induction Cooktop",
          "Euromaid - EW50 - 50cm Upright Cooker ",
          "DeLonghi - DE607PSCP - 60cm Pyrolytic Built-in Project Oven",
          "Omega - OCG63FFX - 60cm Gas Cooktop",
          "Smeg - PBQ31GA - 30cm Gas Cooktop",
          "Asko - OCS8687S - 60 cm Built-in Combi Steam Oven - Stainless Steel",
          "Westinghouse WVEP917DSC - 90cm Pyrolitic Multifunction Oven",
          "Westinghouse - WHS642WA - 60cm Electric Cooktop",
          "Asko - OP8687S - 60cm Craft Pyrolytic Oven - Stainless Steel",
          "Smeg - C6GVXA8 - 60cm Freestanding Gas/Gas Cooker",
          "Magikleen - MAGGPC250 - Oven, Grill & BBQ Plate Cleaner",
          "Miele H 7660 BP VitroLine Graphite Grey - 60cm Wide Pyrolytic Oven  ",
          "Smeg - SRA975PGH - 70cm Victoria Gas Cooktop - Panna",
          "Beko - MGB25333BG - 25L Built-in Microwave Oven",
          "DeLonghi DEL7404 - 60cm Built In XXL Lifestyle Oven",
          "Miele H 7464 BPX ArtLine Obsidian Black - 60cm Wide Pyrolytic Handless Oven",
          "Miele - H 6260 BP - 60cm Pyrolytic  Built-in Wall Oven",
          "DeLonghi - DEFL605E - 60cm Lifestyle Freestanding Oven",
          "Westinghouse - WMF4102SA - 40L Countertop Microwave",
          "Miele H 2860 BP VitroLine Obsidian Black - 60cm Wide Pyrolytic Oven",
          "Miele - H 2760 BP ContourLine CleanSteel - 60cm Wide Pyrolytic Oven",
          "Samsung - 32L Microwave Oven - MS32J5133BT",
          "Westinghouse -  WVE636S - 80L - Stainless Steel Multifunction Double Oven",
          "Westinghouse WHG954SC - 90cm 5 Burner Gas Cooktop",
          "Westinghouse WHG958BC - 90cm 5 Burner Gas Cooktop",
          "Whirlpool - Crisp N’ Grill MWC25BK - 25L Microwave",
          "DeLonghi - DEL606P - 60cm Pyrolytic Built In Lifestyle Oven",
          "Smeg - SAI70MW - 70cm Induction Cooktop",
          "Smeg - SAI70MB - 70cm Induction Cooktop",
          "Glem - IT965MVI2 - 90cm Freestanding Gas Cooker",
          "Westinghouse - WFG617SALP - 60cm Freestanding Gas Cooker - LPG - Stainless Steel",
          "Euromaid - R54CW - 54cm Freestanding Cooker",
          "Westinghouse WVE655WC - 60cm Underbench Oven",
          "Smeg - SFA4104MCS - 60cm Linea Compact Speed Oven",
          "Westinghouse - WVG655SNG - 60cm Underbench Oven",
          "Smeg - PX164LAU - 60cm Linea Cooktop",
          "Westinghouse - WVE645S - 60cm Combination oven",
          "Smeg - SFA9315XR - 90cm Classic Thermoseal Oven",
          "Asko - HG1666AD - 60cm Gas Cooktop - Anthracite  ",
          "DeLonghi - DEGHSL60 - 4 Burner 60cm Slimline Gas Cooktop",
          "Asko - OCM8464B - 45cm Combi Microwave Oven - Black Steel",
          "Asko - OCS8487S - 45cm Combi Steam Oven - Stainless Steel",
          "Asko - OCS8487A - 45cm Combi Steam Oven - Anthracite",
          "Westinghouse WHG958SC - 90cm 5 Burner Gas Cooktop",
          "Whirlpool - MWP201SB - 20L Microwave Oven",
          "Smeg - SFPA7130N - 70cm Black Linear Thermoseal Pyrolytic Oven",
          "Chef - CVE612WA - Electric Single Oven",
          "EasyCook - E727 - Deluxe Health Oven",
          "Smeg - SFPA6104TVB - 60cm Linea Thermoseal Pyrolitic Oven ",
          "Chef - CVE614WA - Electric Single Oven",
          "Beko - BFC60VMW1 - 60cm Vitroceramic Upright Cooker",
          "DeLonghi - DEL4413COMBI - 60cm Compact Speed Oven",
          "Miele - H 7464 BP VitroLine Obsidian Black - 60cm Wide Pyrolytic Oven  ",
          "Smeg - C7GVXA8 - 70cm Freestanding Cooker",
          "Westinghouse - 60cm Gas Cooktop - WHG640WB ",
          "Smeg - SRA964NGH - 60cm Victoria Gas Cooktop - Black",
          "Inalto - MC25BF - 25L Built-In Convection Microwave Oven",
          "Asko - OCS8687B - 60 cm Built-in Combi Steam Oven - Black Steel",
          "Asko - OCM8487S - 45cm Craft Combi Microwave Oven - Anthracite ",
          "Asko - OCM8487A - 45cm Combi Microwave Oven - Black",
          "Smeg - C6GMXA8 - 60cm Freestanding Oven",
          "Westinghouse WVE617DSC - 60cm Multifunction Oven",
          "Smeg - SAI64 - 60cm Induction Cooktop",
          "Westinghouse WVG613WCLP - 60cm Multi-function Oven",
          "DeLonghi - EO241250.M - 24L MultiOven",
          "Sunbeam 18L Bake & Grill Oven - COM3500SS",
          "Beko - BCT60GX - 60cm Gas Cooktop",
          "Westinghouse WVG665SCLP - 60cm Gas Fan Forced Oven",
          "Westinghouse WVES613SC-L - 60cm Multifunction Oven",
          "Westinghouse WVG613WCNG - 60cm Multi-function Oven",
          "Smeg - TR4110IRW - 110cm Victoria Induction Freestanding Cooker",
          "Beko - BBO60B2MB - 60cm Multifunction Built-in Oven",
          "Whirlpool - MWT25WH - 25L Microwave Oven",
          "Smeg - FS61X - 60cm Freestanding Oven  ",
          "Smeg - SA34MX - 34L Microwave Oven ",
          "Smeg - DOSFA6390X - 60cm Classic Thermoseal Double Oven ",
          "Westinghouse - WLE525WB - 54cm Freestanding Cooker ",
          "Inalto - ICG6F - 60cm Gas Cooktop",
          "Westinghouse WVG655SCNG - 60cm Gas Fan Forced Oven",
          "Smeg - CIR60XS3 - 60cm Gas Cooktop",
          "H 7464 BP PureLine CleanSteel - 60cm Wide Pyrolytic Oven ",
          "Smeg - SRA964BGH - 60cm Victoria Gas Cooktop - White",
          "Euromaid - GGFW50NG - 50cm Gas Freestanding Cooker",
          "Westinghouse WHG648SC - 60cm 4 Burner Gas Cooktop",
          "Westinghouse - WFEP915SC - 90cm Pyrolytic Freestanding Cooker",
          "Smeg - PXL6106AU - 100cm Linea Blade Flame Gas Cooktop",
          "Sunbeam - BT7100 - 22L Quick Start Oven",
          "Westinghouse WHG638BC - 60cm 3 Burner Cooktop",
          "Westinghouse WVEP617DSC - 60cm Multifunction Oven",
          "Chef - CFG504SANG - 54cm Gas Freestanding Cooker ",
          "Westinghouse WVE636SC - 60cm Multifunction Double Oven",
          "Smeg - SFPA6301TVN - 60cm Classic Pyrolytic Oven",
          "Whirlpool - JT479IX - 31L Crisp N’ Grill Convection Microwave",
          "Smeg - SFPA6301TVX - 60cm Classic Pyrolytic Oven",
          "Smeg - SFA4301MCN - 60cm Classic Compact Speed Oven",
          "Whirlpool - JQ280IX - 30L Crisp N' Grill Convection Microwave",
          "Euromaid - CDDB60 - 60cm Freestanding Oven    ",
          "Samsung - ME83M - 23L Microwave Oven  ",
          "Westinghouse WVEP618DSC - 60cm Pyrolytic Multifunction Oven",
          "Westinghouse WHI633BC - 60cm 3 Zone Induction Cooktop",
          "Smeg - SFP9395X1 - 90cm Pyrolytic Oven",
          "Westinghouse WVES613SC-R - 60cm Multifunction Oven",
          "Westinghouse - WMB4425SA - 44L Combination Microwave Oven",
          "DeLonghi - DEGHSL75 - 75cm Slimline Gas Cooktop",
          "Smeg - SFPA6925P - 60cm Victoria Thermoseal Pyrolytic Oven - Panna Enamel",
          "Westinghouse WHG640SC - 60cm 4 Burner Gas Cooktop",
          "Westinghouse - WVE615W - 60cm Multifunction Oven",
          "Chef - CVE662SA - Electric Wall Oven",
          "Westinghouse WVG615SCNG - 60cm Multi-function Oven",
          "Glem - GL53GI - 53cm Freestanding Gas Cooker",
          "Westinghouse - WFG617SANG - 60cm Freestanding Gas Cooker - NG - Stainless Steel",
          "Westinghouse WMB2522SC - 25L Microwave Oven",
          "Westinghouse WVE614WC - 60cm Multifunction Oven",
          "Asko - OP8664B - 60cm Pyrolytic Oven - Black Steel ",
          "Miele - DG 7440 VitroLine Obsidian Black - 60cm Steam Oven",
          "Miele - DG 7440 VitroLine Graphite Grey - 60cm Steam Oven",
          "Miele - DG 2840 VitroLine Obsidian Black - 60cm Steam Oven",
          "Whirlpool - MWT25BK - 25L Microwave",
          "Westinghouse WVE615WC - 60cm Multifunction Oven",
          "Inalto - IOG6 - 60cm Cooking Pack - Oven & Gas Cooktop"
         ],
         "type": "scatter",
         "x": [
          -0.4297851026058197,
          -0.36329469084739685,
          -0.28324368596076965,
          -0.3652622699737549,
          -0.24072277545928955,
          -0.3599115312099457,
          -0.3930341899394989,
          -0.378746896982193,
          -0.37410229444503784,
          -0.37563395500183105,
          -0.28750964999198914,
          -0.35425594449043274,
          -0.35547077655792236,
          -0.4675339162349701,
          -0.3228398859500885,
          -0.36348196864128113,
          -0.43190518021583557,
          -0.40695345401763916,
          -0.3635624051094055,
          -0.36808428168296814,
          -0.304887980222702,
          -0.4211404621601105,
          -0.4214572012424469,
          -0.39758968353271484,
          -0.39166322350502014,
          -0.27070382237434387,
          -0.3290197551250458,
          -0.3629859387874603,
          -0.35577502846717834,
          -0.40071284770965576,
          -0.40269705653190613,
          -0.35972142219543457,
          -0.2678162157535553,
          -0.35745152831077576,
          -0.387786865234375,
          -0.37823057174682617,
          -0.30312812328338623,
          -0.27960214018821716,
          -0.27612560987472534,
          -0.3559149503707886,
          -0.2367723286151886,
          -0.31114640831947327,
          -0.3051433563232422,
          -0.39374056458473206,
          -0.2955201268196106,
          -0.4009414315223694,
          -0.3111691474914551,
          -0.2972303628921509,
          -0.41897574067115784,
          -0.4314034581184387,
          -0.2921651601791382,
          -0.40284669399261475,
          -0.24400708079338074,
          -0.38334137201309204,
          -0.3709563910961151,
          -0.36861875653266907,
          -0.39577022194862366,
          -0.36083415150642395,
          -0.37263405323028564,
          -0.3478541672229767,
          -0.36735600233078003,
          -0.22526931762695312,
          -0.31456345319747925,
          -0.4561668932437897,
          -0.37812191247940063,
          -0.44568297266960144,
          -0.2903880476951599,
          -0.37875643372535706,
          -0.3682863712310791,
          -0.37190553545951843,
          -0.2577475309371948,
          -0.4216594994068146,
          -0.4113933742046356,
          -0.3487991690635681,
          -0.33011874556541443,
          -0.40103521943092346,
          -0.4332946538925171,
          -0.34233105182647705,
          -0.46956655383110046,
          -0.3834694027900696,
          -0.3695608079433441,
          -0.4388711750507355,
          -0.3367490768432617,
          -0.4012795388698578,
          -0.4558432102203369,
          -0.3082251250743866,
          -0.30167269706726074,
          -0.4055698812007904,
          -0.35064905881881714,
          -0.4219193756580353,
          -0.3043980896472931,
          -0.372813880443573,
          -0.45864638686180115,
          -0.42147302627563477,
          -0.3005196750164032,
          -0.3375910818576813,
          -0.3547719120979309,
          -0.32155561447143555,
          -0.32997992634773254,
          -0.3047935962677002,
          -0.3249192535877228,
          -0.37808215618133545,
          -0.2703646123409271,
          -0.2465619444847107,
          -0.4497135877609253,
          -0.35686632990837097,
          -0.440957635641098,
          -0.3513077199459076,
          -0.16332179307937622,
          -0.18517956137657166,
          -0.41411229968070984,
          -0.43325766921043396,
          -0.34636029601097107,
          -0.4496234059333801,
          -0.37552589178085327,
          -0.41543346643447876,
          -0.3106611967086792,
          -0.3659672141075134,
          -0.3785810172557831,
          -0.4523887038230896,
          -0.1939590871334076,
          -0.15261927247047424,
          -0.10438846796751022,
          -0.18902036547660828,
          -0.39314526319503784,
          -0.4195293188095093,
          -0.39359721541404724,
          -0.3853662312030792,
          -0.4221368730068207,
          -0.38855889439582825,
          -0.32830721139907837,
          -0.4016156792640686,
          -0.411470502614975,
          -0.3079889714717865,
          -0.36398833990097046,
          -0.3993920683860779,
          -0.3267776072025299,
          -0.34505826234817505,
          -0.3335374891757965,
          -0.4470359683036804,
          -0.32708901166915894,
          -0.3872266113758087,
          -0.4198722243309021,
          -0.41982054710388184,
          -0.24636420607566833,
          -0.3977876305580139,
          -0.3956085443496704,
          -0.4356245696544647,
          -0.24452656507492065,
          -0.3239958584308624,
          -0.41078850626945496,
          -0.4644639194011688,
          -0.4152456820011139,
          -0.31110018491744995,
          -0.4185851812362671,
          -0.2905412018299103,
          -0.321900874376297,
          -0.42612597346305847,
          -0.35922297835350037,
          -0.3648455739021301,
          -0.31071165204048157,
          -0.424356609582901,
          -0.3885962963104248,
          -0.3694019913673401,
          -0.45818910002708435,
          -0.306226521730423,
          -0.2134963870048523,
          -0.32389509677886963,
          -0.27618080377578735,
          -0.3658891022205353,
          -0.4177837073802948,
          -0.32507699728012085,
          -0.40343472361564636,
          -0.419888973236084,
          -0.29202818870544434,
          -0.48789799213409424,
          -0.4576852321624756,
          -0.33537906408309937,
          -0.3299707770347595,
          -0.2917559742927551,
          -0.3876376748085022,
          -0.38937392830848694,
          -0.18758895993232727,
          -0.418150931596756,
          -0.41657984256744385,
          -0.28219935297966003,
          -0.3566749095916748,
          -0.327060341835022,
          -0.3218560814857483,
          -0.3476960361003876,
          -0.36759716272354126,
          -0.30211690068244934,
          -0.2944193184375763,
          -0.4129496216773987,
          -0.3048153519630432,
          -0.32308077812194824,
          -0.15432259440422058,
          -0.2976664900779724,
          -0.2956274747848511,
          -0.23491734266281128,
          -0.3917473554611206,
          -0.31351232528686523,
          -0.34435251355171204,
          -0.42382246255874634,
          -0.4200737178325653,
          -0.3560698330402374,
          -0.38409897685050964,
          -0.34907180070877075,
          -0.3780473470687866,
          -0.3919467329978943,
          -0.18887361884117126,
          -0.36732161045074463,
          -0.2758445739746094,
          -0.4461345374584198,
          -0.34678885340690613,
          -0.36923548579216003,
          -0.34502071142196655,
          -0.31827694177627563,
          -0.3132857382297516,
          -0.36707115173339844,
          -0.37337052822113037,
          -0.370313435792923,
          -0.28227078914642334,
          -0.37668588757514954,
          -0.4398535490036011,
          -0.42868930101394653,
          -0.38858798146247864,
          -0.43379366397857666,
          -0.3156190812587738,
          -0.4252527058124542,
          -0.3455919623374939,
          -0.39415243268013,
          -0.3599950969219208,
          -0.25629040598869324,
          -0.3957637846469879,
          -0.3791034519672394,
          -0.4236358106136322,
          -0.39014101028442383,
          -0.39070385694503784,
          -0.3944633901119232,
          -0.40751978754997253,
          -0.34492990374565125,
          -0.32654818892478943,
          -0.3455139100551605,
          -0.4024016857147217,
          -0.2946647107601166,
          -0.15874502062797546,
          -0.14251446723937988,
          -0.09707262367010117,
          -0.230027437210083,
          -0.36105597019195557,
          -0.31627336144447327,
          -0.36122801899909973,
          -0.3244468569755554,
          -0.3959035575389862,
          -0.32483601570129395,
          -0.41112586855888367,
          -0.4061184823513031,
          -0.29997146129608154,
          -0.36931782960891724,
          -0.22550317645072937,
          -0.3001174032688141,
          -0.3367075026035309,
          -0.29804182052612305,
          -0.35749030113220215,
          -0.3265138566493988,
          -0.36836016178131104,
          -0.40811318159103394,
          -0.3163953423500061,
          -0.3300577700138092,
          -0.38153231143951416,
          -0.15532329678535461,
          -0.4093775749206543,
          -0.41877949237823486,
          -0.4161573648452759,
          -0.28031110763549805,
          -0.4009166359901428,
          -0.30571815371513367,
          -0.30515989661216736,
          -0.356575071811676,
          -0.4010068476200104,
          -0.35939323902130127,
          -0.5020056366920471,
          -0.35158830881118774,
          -0.4836435616016388,
          -0.36785605549812317,
          -0.42919039726257324,
          -0.42487582564353943,
          -0.2812248468399048,
          -0.3775719106197357,
          -0.2693123519420624,
          -0.3050305247306824,
          -0.29190802574157715,
          -0.41806793212890625,
          -0.27192503213882446,
          -0.36364853382110596,
          -0.37317517399787903,
          -0.2273455262184143,
          -0.3909008204936981,
          -0.384805828332901,
          -0.3824406862258911,
          -0.32899823784828186,
          -0.3395328223705292,
          -0.3570024371147156,
          -0.43949663639068604,
          -0.3181476593017578,
          -0.2919757664203644,
          -0.3185008466243744,
          -0.23752638697624207,
          -0.24492120742797852,
          -0.4104744493961334,
          -0.4569172263145447,
          -0.3623066544532776,
          -0.4648987948894501,
          -0.3426832854747772,
          -0.28121572732925415,
          -0.3468714952468872,
          -0.4216105341911316,
          -0.45557865500450134,
          -0.4774450957775116,
          -0.31832823157310486,
          -0.3550478518009186,
          -0.31517529487609863,
          -0.4422629773616791,
          -0.301425576210022,
          -0.41438278555870056,
          -0.42036759853363037,
          -0.4082317054271698,
          -0.4402742385864258,
          -0.38406500220298767,
          -0.3403486907482147,
          -0.31700581312179565,
          -0.3883344233036041,
          -0.4582909643650055,
          -0.457583487033844,
          -0.4074195623397827,
          -0.23836058378219604,
          -0.44256067276000977,
          -0.4424198865890503,
          -0.4011002779006958,
          -0.43506044149398804,
          -0.4107256233692169,
          -0.2740184962749481,
          -0.392955482006073,
          -0.3363902270793915,
          -0.2869434058666229,
          -0.34518107771873474,
          -0.1531171351671219,
          -0.45166271924972534,
          -0.3626486659049988,
          -0.39672595262527466,
          -0.4355442523956299,
          -0.3506467640399933,
          -0.36225634813308716,
          -0.41028228402137756,
          -0.442939817905426,
          -0.42532119154930115,
          -0.33862319588661194,
          -0.4587981104850769,
          -0.3585026264190674,
          -0.4274875819683075,
          -0.3728157877922058,
          -0.4534160792827606,
          -0.2957634925842285,
          -0.35207894444465637,
          -0.3164277672767639,
          -0.37137266993522644,
          -0.25368595123291016,
          -0.4653032720088959,
          -0.34779733419418335
         ],
         "y": [
          0.22069504857063293,
          0.04365689307451248,
          0.1585288643836975,
          0.021541383117437363,
          0.05751601606607437,
          0.12780623137950897,
          0.05821019038558006,
          0.02921617031097412,
          0.13025692105293274,
          0.04947531223297119,
          0.0862215906381607,
          -0.06339714676141739,
          -0.014848943799734116,
          0.1722787767648697,
          0.0630156546831131,
          0.04895519092679024,
          0.1043815016746521,
          0.1437363475561142,
          -0.035636596381664276,
          0.11441250145435333,
          0.06596232205629349,
          0.12771625816822052,
          0.06974662840366364,
          0.06478301435709,
          0.06660696864128113,
          0.1543329954147339,
          0.11110616475343704,
          0.06623820215463638,
          0.11289238184690475,
          0.1319694221019745,
          0.20570209622383118,
          -0.024391649290919304,
          -0.05413374304771423,
          -0.02373068779706955,
          0.14022427797317505,
          0.04032859951257706,
          0.07794554531574249,
          0.14290258288383484,
          0.17400863766670227,
          0.07354497164487839,
          0.03372683376073837,
          0.1602291762828827,
          0.12573790550231934,
          0.07966412603855133,
          0.06399410218000412,
          0.05252053588628769,
          0.09094801545143127,
          0.06159654259681702,
          0.07136223465204239,
          0.058796875178813934,
          0.17176762223243713,
          0.11423836648464203,
          -0.05105847120285034,
          0.23040801286697388,
          0.21709932386875153,
          0.21820330619812012,
          0.18406254053115845,
          0.22832287847995758,
          0.22207053005695343,
          0.22483903169631958,
          0.04008100554347038,
          0.02039150893688202,
          0.07707492262125015,
          0.23246856033802032,
          0.1601598858833313,
          0.16599474847316742,
          0.06497310101985931,
          0.09307686984539032,
          0.22349871695041656,
          -0.05766473710536957,
          0.12419682741165161,
          0.19914093613624573,
          0.1585364043712616,
          0.10325495898723602,
          0.18523025512695312,
          0.08263193070888519,
          0.1869564950466156,
          0.1522088497877121,
          0.1908765733242035,
          0.06684230268001556,
          0.11069218814373016,
          0.07505373656749725,
          0.11337326467037201,
          0.0853683352470398,
          0.16884872317314148,
          0.13340918719768524,
          0.09728090465068817,
          0.13112011551856995,
          0.0819762796163559,
          0.1317104697227478,
          0.08240216970443726,
          0.03941136598587036,
          0.16653580963611603,
          0.11911600828170776,
          0.03774649277329445,
          0.17560647428035736,
          -0.0004714354872703552,
          0.15312442183494568,
          0.2006884664297104,
          0.20946425199508667,
          0.1402401179075241,
          0.148765429854393,
          0.02635515108704567,
          0.045009952038526535,
          0.18599678575992584,
          0.04870840907096863,
          0.20533829927444458,
          0.026424381881952286,
          0.1633717268705368,
          0.1173195019364357,
          0.11772085726261139,
          0.13603729009628296,
          0.0656738430261612,
          0.18321414291858673,
          0.1890072524547577,
          0.07166515290737152,
          0.17489562928676605,
          0.1729334592819214,
          0.14142677187919617,
          0.1981007158756256,
          0.30922529101371765,
          0.18489830195903778,
          0.16075503826141357,
          0.1592831313610077,
          0.16022548079490662,
          0.06616594642400742,
          0.15195634961128235,
          0.08971267938613892,
          0.08925725519657135,
          0.025822168216109276,
          0.03813110664486885,
          0.09716692566871643,
          0.10916707664728165,
          0.12656669318675995,
          0.12810902297496796,
          0.10926901549100876,
          0.0732022076845169,
          0.028716597706079483,
          0.13154029846191406,
          0.1840173602104187,
          -0.010713090188801289,
          0.16284090280532837,
          0.07491602003574371,
          0.08134658634662628,
          -0.014939449727535248,
          0.07694628089666367,
          0.23112910985946655,
          0.2631834149360657,
          -0.02445119246840477,
          -0.007929505780339241,
          0.08417399227619171,
          0.1856227070093155,
          0.15287141501903534,
          0.1519051194190979,
          0.14246869087219238,
          0.15258026123046875,
          0.011365622282028198,
          0.2612553834915161,
          0.08842568844556808,
          0.10953432321548462,
          0.08280962705612183,
          0.11421111226081848,
          0.04533727839589119,
          0.06621737778186798,
          0.25059330463409424,
          0.043978214263916016,
          -0.033102188259363174,
          0.16585424542427063,
          0.02371959388256073,
          -0.03422613441944122,
          0.05985017865896225,
          0.08382949233055115,
          0.1745094209909439,
          0.18800091743469238,
          0.1118086725473404,
          0.18164995312690735,
          0.10812710970640182,
          -0.06577794253826141,
          0.09210310876369476,
          0.12535977363586426,
          0.1538420021533966,
          0.11957991123199463,
          0.01752714067697525,
          0.08072976768016815,
          0.11090589314699173,
          -0.0802491158246994,
          0.05147465318441391,
          0.10688669979572296,
          0.09810791164636612,
          0.1735997200012207,
          0.1565014123916626,
          0.023321498185396194,
          0.08749726414680481,
          0.12113813310861588,
          0.14622023701667786,
          0.13749057054519653,
          0.18208684027194977,
          0.1036723256111145,
          0.09847709536552429,
          0.031908031553030014,
          0.15347109735012054,
          -0.09657351672649384,
          -0.03378318250179291,
          0.17743752896785736,
          0.06645340472459793,
          0.1408938616514206,
          -0.06914304196834564,
          0.06266602873802185,
          0.0581609345972538,
          0.07508692145347595,
          0.1007971242070198,
          0.03570162504911423,
          0.048439737409353256,
          0.0934738963842392,
          0.04727146774530411,
          0.11896835267543793,
          0.11956561356782913,
          0.1007673591375351,
          0.1652192771434784,
          0.13226193189620972,
          0.11360417306423187,
          0.10636231303215027,
          0.07278801500797272,
          0.0607357881963253,
          0.20789019763469696,
          0.14355123043060303,
          0.2037300169467926,
          0.17496925592422485,
          0.05515103042125702,
          0.17539682984352112,
          0.10097745805978775,
          0.2221750169992447,
          0.1424141228199005,
          0.057464033365249634,
          0.1923365741968155,
          0.15865293145179749,
          0.1659064143896103,
          0.03310387581586838,
          0.16517917811870575,
          0.1997787058353424,
          0.12771344184875488,
          0.08656606823205948,
          0.004912964999675751,
          0.025695670396089554,
          0.08303957432508469,
          0.08211056143045425,
          0.12800386548042297,
          0.19049999117851257,
          0.16427573561668396,
          0.09291889518499374,
          0.057162653654813766,
          0.019874297082424164,
          0.034354425966739655,
          0.1205739751458168,
          0.03823046386241913,
          0.18516536056995392,
          0.15558269619941711,
          0.14387424290180206,
          0.10717921704053879,
          0.18385052680969238,
          -0.007801476866006851,
          0.17411024868488312,
          0.05648608133196831,
          -0.03785397484898567,
          0.10577070713043213,
          0.14655698835849762,
          0.10739894211292267,
          0.037659283727407455,
          0.1002747043967247,
          0.15649709105491638,
          0.14529813826084137,
          0.3118364214897156,
          0.11326363682746887,
          0.21227824687957764,
          0.17133815586566925,
          -0.003369271755218506,
          0.022091003134846687,
          0.10263360291719437,
          0.08846556395292282,
          0.11554109305143356,
          0.23764917254447937,
          0.08705085515975952,
          0.18437623977661133,
          0.1200159341096878,
          0.16759082674980164,
          0.0706893652677536,
          0.16075775027275085,
          0.09174647927284241,
          0.0857112854719162,
          0.0979226604104042,
          0.023605123162269592,
          0.12452571094036102,
          0.10381010174751282,
          0.19976407289505005,
          -0.04310933127999306,
          0.0849500223994255,
          0.024697642773389816,
          -0.07569140195846558,
          0.10229680687189102,
          0.02815701812505722,
          0.005083601921796799,
          0.019557610154151917,
          0.13971787691116333,
          0.13688935339450836,
          0.17394694685935974,
          0.08175203204154968,
          -0.038961879909038544,
          0.14932619035243988,
          0.03376187011599541,
          0.04003032669425011,
          0.14682245254516602,
          0.1985083520412445,
          0.0998571366071701,
          0.18227863311767578,
          -0.04054470360279083,
          0.017949149012565613,
          0.005425892770290375,
          0.27345389127731323,
          0.1791335791349411,
          0.1809469759464264,
          0.031847987323999405,
          -0.030434314161539078,
          -0.006590653210878372,
          0.1496172547340393,
          0.07535520941019058,
          0.05317824333906174,
          0.10205422341823578,
          0.11633739620447159,
          0.2525077760219574,
          0.11607609689235687,
          0.13894076645374298,
          0.06045076996088028,
          0.11580450087785721,
          0.2485765516757965,
          0.1262931227684021,
          0.061157599091529846,
          -0.03349899500608444,
          0.15725235641002655,
          0.19669127464294434,
          0.10591520369052887,
          0.1631341576576233,
          0.10117004811763763,
          0.000406116247177124,
          0.12894855439662933,
          0.08920333534479141,
          -0.0058387815952301025,
          0.08809035271406174,
          0.26964277029037476,
          0.1885099709033966,
          0.09560511261224747,
          0.09808102250099182,
          0.17604582011699677,
          0.10014596581459045,
          0.033000268042087555,
          0.08309943974018097,
          0.25376805663108826,
          0.15999430418014526,
          0.03720174357295036,
          0.1983216106891632,
          0.14280694723129272,
          0.21765907108783722,
          0.08781258761882782,
          0.1770954728126526,
          0.025900069624185562,
          0.2110334038734436,
          0.21373802423477173,
          0.18447917699813843,
          -0.06365946680307388,
          0.18641668558120728,
          0.10362443327903748
         ]
        },
        {
         "marker": {
          "color": 36,
          "size": 5
         },
         "mode": "markers",
         "name": "31",
         "text": [
          "Theragun Multi-Device Wireless Charger - MD-CHRGR-PKG ",
          "Precision - PB-PR5000-WHT - 5000mAh Round Tube Power Bank",
          "Laser  - PB-5K19P-BLK - 5000mAh Power Bank ",
          "Cygnett - CY3044PBCHE - 20,000 mAh 18W Power Bank - Black",
          "Cygnett - CY2501PBCHE - 5,000mAh Portable Power Bank",
          "Cygnett - CY2378ACDAS - Magnetic Dash & Window Phone Mount",
          "Belkin - F7U052auBLK - BOOST UP™ Wireless Charging Stand - Black",
          "Cygnett - CY2377ACVEN - Premium Magnetic Vent Car Mount",
          "Belkin 18W Boost Charge USB-C Wall Charger",
          "Belkin - F8J235auBLK - BOOST UP™ Wireless Charging Dock",
          "Cygnett - CY1574POFLO - Flow Dual USB Wall Charger",
          "Cygnett - Flow+ Dual USB Wall Charger AU - Black - CY1947POFLW",
          "Cygnett - CY2367ACVEN - Magnetic Vent Wireless Charger & Mount",
          "Cygnett - CY2499PBCHE - 5,000mAh Portable Power Bank",
          "Cygnett - CY3042PBCHE - 10,000 mAh 18W Power Bank - Lilac",
          "Cygnett - CY2407PDWCH - USB-C PD Wall Charger",
          "Cygnett - CY3085POPLU - 18W Wall Charger",
          "Cygnett - CY3039PBCHE - 10,000 mAh 18W Power Bank - Black",
          "Cygnett - CY3048PBCHE - 20,000 mAh 18W Power Bank - Red",
          "Cygnett - 10,000mAh USB-C Power Bank - CY2219PBCHE",
          "Cygnett - CY2662WIRDD - 20W Dual Wireless Charger ",
          "Cygnett - CY2887CHCGL - Smart Wi-Fi LED Bulb A19 - Colour & Ambient White E27",
          "Ring - 8AB1S70AU0 - Quick-Release Battery Pack ",
          "Cygnett - CY2508PBCHE - 15,000mAh Portable Power Bank in Red",
          "Laser  - PB-10K19P-BLK - ChargeCore 10,000 Powerbank",
          "Targus - 65W Slim & Light Laptop Charger - APA047AU",
          "Belkin - F7U099bt04-BLK - BOOST CHARGE USB-C Car Charger",
          "Cygnett - CY1735UNSES - Bluetooth Selfie Stick & Tripod",
          "Belkin - F8J187DS04-BLK - Car Charger",
          "Cygnett - CY2411PDWCH - Dual USB-C & USB-A PD Travel Wall Charger  ",
          "Cygnett - CY2510PBCHE - 15,000mAh Portable Power Bank in Lilac",
          "Cygnett - FlashPower Charge & Sync Cable - CY1101PCCSL",
          "Scosche - WDQM - StuckUp Qi Wireless Charging Dash Mount",
          "Cygnett - CY2889CHCGL - Smart Wi-Fi LED Bulb A19 - Colour & Ambient White B22",
          "Cygnett - CY3047PBCHE - 20,000 mAh 18W Power Bank - Lilac",
          "Cygnett - CY2099PBCHE - 20,000mAh Portable Power Bank",
          "Eufy - E8210CW1 - Video Doorbell 2K (Battery-Powered) ",
          "Belkin - F7U006bt04-BLK - USB-C Car Charger",
          "Uniden - BT446 - Cordless Phone Battery Pack",
          "Cygnett - CY1784PBCHE - 2,500mAh ChargeUp Pocket Lightning ",
          "Cygnett - CY0716PAPM2 - PowerMini II Car Charger",
          "Crest - PWA04987 - USB Power Board",
          "Laser  - PB-5K19P-WHT - 5000mAh Power Bank",
          "Belkin - F8M730btC00 - MIXIT™ Metallic Car Charger - Black",
          "Belkin BOOST UP™ Wireless Charging Pad 5W - F7U068btBLK",
          "Alogic - R2A10BK - Rapid 10,000mAh Power Bank - Black",
          "Cygnett - CY3114CYCCH - CarPower 18W Dual USB Car Charger",
          "DJI - 4301412 - Mavic 2 Battery Charging Hub",
          "Anker - A1215H21 - PowerCore 13000 - White ",
          "Cygnett - CY1999PBCHE - 4,000mAh Power Bank - Red",
          "Belkin - F8J235AUWHT - BOOST UP™ Wireless Charging Dock",
          "Cygnett - CarGo II Tablet Car Mount - CY1435ACCAR",
          "FITBIT - FB171RCC - Versa 2 Charging Cable",
          "Belkin - F8M668BT04-BLK - 2.1A Car Charger",
          "Cygnett - CY2500PBCHE - 5,000mAh Portable Power Bank - Red",
          "Cygnett - CY3084POPLU - 12W Wall Charger - White",
          "Cygnett - CY2683WLCCH - 10W Wireless Smartphone Car Charger Vent Mount",
          "Laser  - PB-CJ6000 - 6000mAh Emergency Power Bank ",
          "Cygnett - CY2507PBCHE - 15,000mAh Portable Power Bank",
          "Cygnett - CY1996PBCHE - 4,000mAh Portable Power Bank",
          "Crest - USA Adaptor with USB Charging - PWA04994",
          "Uniden - BT694 - Cordless Phone Battery",
          "Cygnett - CY2890CHCGL - Smart Wi-Fi LED Bulb A19 - Ambient White B22",
          "Cygnett - CY2578WLCCH - Wireless 10W Smartphone Car Charger & Mount",
          "Cygnett - CY2505PBCHE - 10,000mAh Portable Power Bank in Navy",
          "Belkin - F8M731BGC00 - MIXIT™ Metallic Home Charger - Rose Gold",
          "Inca - 745454 - Universal Charger",
          "Laser  - PW-WQCP1 - Fast Charge QI Wireless Charger",
          "Precision - PB-PR2500-BLK - Round Tube 2500mAh Power Bank",
          "Belkin - F7U096au04-WHT - Boost Charge USB-C Wall Charger",
          "Targus - APA30AU - Laptop Charger",
          "Cygnett - CY3045PBCHE - 20,000 mAh 18W Power Bank - Navy",
          "Crest - EU Adaptor with USB Charging - PWA04993",
          "Cygnett - PowerMini 2.4 Dual USB Car Charger - Black - CY1905PAPM2",
          "Cygnett - CY2376PPWIR - Wireless Desk Charger",
          "Cygnett - CY2502PBCHE - 5,000mAh Portable Power Bank",
          "Belkin - F8M667au04-BLK - Universal Home Charger",
          "Cygnett - CY2888CHCGL - Smart Wi-Fi LED Bulb A19 - Ambient White E27",
          "Alogic - P10QC10P18-BK - USB-C 10,000mAh Wireless Power Bank",
          "Belkin - F8J237auWHT - PowerHouse™ Charge Dock",
          "Cygnett - CY2503PBCHE - 10,000mAh Portable Power Bank - Black",
          "Cygnett - CY2646WIRDE - Prime Wireless Desk Charger",
          "Precision - PB-PR2500-WHT - Round Tube 2500mAh Power Bank",
          "Dyson V11 Dok™ Charging Dock - 970778-01",
          "Precision 20,000mAh Power Bank - PB-20K19K-BLK",
          "Laser  - PB-2201K-BLU - 2200mah Power Bank  (Blue)",
          "Cygnett - Flow+ Dual USB Wall Charger AU - White - CY1896POFLW",
          "Belkin - F7U052auWHT - BOOST UP™ Wireless Charging Stand - White",
          "Cygnett - CY2647WIRDE - Prime Wireless Phone Charger",
          "Cygnett - CY2436PBCHE - 27,000 mAh USB-C Power Bank",
          "Cygnett - CY2403PDWCH - USB-C Wall Charger ",
          "Cygnett - CY3043PBCHE - 10,000 mAh 18W Power Bank - Red",
          "Cygnett - CY2075CHAUT - 12,000mAh 12V Jump-Starter & Power Pack",
          "Crest - CHC2LC - Twin USB Car Charger & Lightning Cable",
          "Precision - PB-PR10K-BLK - Round Tube 10,000 mAh Power Bank",
          "Cygnett - CY2805PBCHE - 8,000mAh Power Bank with Solar Panels",
          "Cygnett - CY2504PBCHE - 10,000mAh Portable Power Bank in Red",
          "Belkin - F8J181DS04-BLK - Car Charger",
          "Precision - PB-PR5000-BLK - 5000mAh Round Tube Power Bank",
          "Cygnett - CY1998PBCHE - 4000mAh Portable Power Bank - Blue",
          "Cygnett - CY2000PBCHE - ChargeUp Digital 4000"
         ],
         "type": "scatter",
         "x": [
          0.14154984056949615,
          0.13756629824638367,
          0.15278933942317963,
          0.1709909588098526,
          0.16989167034626007,
          0.1251010298728943,
          0.06757418811321259,
          0.03526739776134491,
          0.11446413397789001,
          0.07756141573190689,
          0.13355723023414612,
          0.17269648611545563,
          0.0905856117606163,
          0.18606509268283844,
          0.11365736275911331,
          0.1611635833978653,
          0.06714600324630737,
          0.1721363514661789,
          0.1557816118001938,
          0.21803966164588928,
          0.14689850807189941,
          0.19167667627334595,
          0.04515334963798523,
          0.16953204572200775,
          0.1255796104669571,
          0.10709120333194733,
          0.07817792892456055,
          0.2433929145336151,
          -0.0010137856006622314,
          0.208472341299057,
          0.1492140144109726,
          0.16075751185417175,
          0.10744180530309677,
          0.20570628345012665,
          0.14681965112686157,
          0.1639157384634018,
          0.12051519751548767,
          0.08949721604585648,
          0.17350129783153534,
          0.08052334934473038,
          0.1300780326128006,
          0.11562107503414154,
          0.14775744080543518,
          0.028359487652778625,
          0.09761711955070496,
          0.2580840289592743,
          0.1683932989835739,
          0.1739884316921234,
          0.11108951270580292,
          0.1250273585319519,
          0.08096953481435776,
          0.18282821774482727,
          0.07423988729715347,
          0.0580107718706131,
          0.18791210651397705,
          0.05716945230960846,
          0.1582973450422287,
          0.12504033744335175,
          0.17398935556411743,
          0.14772000908851624,
          0.17627210915088654,
          0.16975757479667664,
          0.19895759224891663,
          0.2077254354953766,
          0.1328761875629425,
          -0.024795986711978912,
          0.0026540905237197876,
          0.15388070046901703,
          0.11042175441980362,
          0.048065438866615295,
          0.13075044751167297,
          0.1159643679857254,
          0.17500753700733185,
          0.22264118492603302,
          0.16724207997322083,
          0.17018918693065643,
          -0.016788557171821594,
          0.19117914140224457,
          0.28322675824165344,
          -0.01938743144273758,
          0.18426866829395294,
          0.15335522592067719,
          0.10557135939598083,
          0.0737750232219696,
          0.13916829228401184,
          0.11174219101667404,
          0.14695772528648376,
          0.03300678730010986,
          0.16642872989177704,
          0.19557055830955505,
          0.14142784476280212,
          0.12656933069229126,
          0.12174545228481293,
          0.1936463713645935,
          0.13997887074947357,
          0.06447289884090424,
          0.16246972978115082,
          -0.004848681390285492,
          0.13655167818069458,
          0.17382851243019104,
          0.0927547961473465
         ],
         "y": [
          -0.15166328847408295,
          -0.08575445413589478,
          -0.13084793090820312,
          -0.027212345972657204,
          -0.06710436940193176,
          -0.06352850794792175,
          -0.1810995489358902,
          -0.08293206244707108,
          -0.029450448229908943,
          -0.2256426066160202,
          -0.043994735926389694,
          -0.04095086082816124,
          -0.1302672177553177,
          -0.05109109729528427,
          -0.06985187530517578,
          -0.05160778760910034,
          -0.0358806811273098,
          -0.033648811280727386,
          -0.024411354213953018,
          -0.09563855081796646,
          -0.12469135224819183,
          0.062586210668087,
          -0.08354434370994568,
          -0.05762594938278198,
          -0.13595174252986908,
          -0.004094153642654419,
          -0.1314125657081604,
          -0.20822285115718842,
          -0.13830623030662537,
          -0.028102774173021317,
          -0.06355918198823929,
          -0.0951058641076088,
          -0.06396552175283432,
          0.007115982472896576,
          -0.029205122962594032,
          -0.07627775520086288,
          -0.005306348204612732,
          -0.1200806200504303,
          -0.2055336833000183,
          -0.1396051049232483,
          -0.09581238776445389,
          -0.06911030411720276,
          -0.10975982248783112,
          -0.14383599162101746,
          -0.14518851041793823,
          -0.0938594713807106,
          -0.038698501884937286,
          -0.18286514282226562,
          -0.06821752339601517,
          -0.12885050475597382,
          -0.22074846923351288,
          -0.061500802636146545,
          -0.1720340996980667,
          -0.14342236518859863,
          -0.07347635924816132,
          -0.05101647973060608,
          0.0033575892448425293,
          -0.14406076073646545,
          -0.04488532245159149,
          -0.06827297806739807,
          -0.06549499928951263,
          -0.16551390290260315,
          0.020828112959861755,
          -0.0367150753736496,
          -0.08055897802114487,
          -0.0694340169429779,
          -0.04140501096844673,
          -0.04884859174489975,
          -0.15764933824539185,
          -0.020293693989515305,
          -0.09270025789737701,
          -0.03020945005118847,
          -0.02606816589832306,
          -0.07859586179256439,
          -0.17572543025016785,
          -0.06870666146278381,
          -0.08650675415992737,
          0.06820736825466156,
          -0.05777799338102341,
          -0.14595510065555573,
          -0.09653967618942261,
          -0.15195302665233612,
          -0.1202973797917366,
          0.03656742721796036,
          -0.10194094479084015,
          -0.19485792517662048,
          -0.045938700437545776,
          -0.1806129664182663,
          -0.12354137003421783,
          -0.031910140067338943,
          -0.06064777076244354,
          -0.06249060854315758,
          -0.06473860144615173,
          -0.1079103872179985,
          -0.1404038816690445,
          -0.0028995461761951447,
          -0.0865466296672821,
          -0.13087056577205658,
          -0.1235283687710762,
          -0.13640795648097992,
          -0.1307050883769989
         ]
        },
        {
         "marker": {
          "color": 37,
          "size": 5
         },
         "mode": "markers",
         "name": "32",
         "text": [
          "iPhone SE 256GB White",
          "iPhone SE 64GB White",
          "iPhone XR 64GB Black",
          "iPhone 7 256GB Jet Black ",
          "iPhone 11 64GB (Product) Red    ",
          "iPhone XR 256GB (Product) Red ",
          "iPhone XR 128GB (Product) Red ",
          "iPhone 11 Pro 256GB Space Grey ",
          "iPhone SE 256GB Black",
          "iPhone XR 256GB Black ",
          "iPhone XR 64GB White",
          "iPhone 11 Pro Max 256GB Gold  ",
          "iPhone 11 Pro 64GB Space Grey",
          "Apple TV 32GB  (4th Gen) ",
          "iPhone 11 256GB Black",
          "iPhone SE 128GB (PRODUCT) Red ",
          "iPhone 11 128GB (Product) Red    ",
          "iPhone 11 64GB Purple  ",
          "iPhone SE 64GB Black ",
          "iPhone 11 Pro 256GB Gold    ",
          "iPhone 11 Pro Max 64GB Gold   ",
          "iPhone XR 64GB (Product) Red ",
          "iPhone 11 128GB Purple",
          "iPhone 11 128GB White ",
          "iPhone SE 64GB (PRODUCT) Red",
          "iPhone 11 Pro Max 256GB Silver  ",
          "iPhone SE 256GB (Product) Red",
          "iPhone XR 128GB White ",
          "iPhone X 64GB Silver",
          "iPhone XR 128GB Blue ",
          "iPhone XR 256GB White",
          "iPhone 7 Plus 256GB (Product) Red Special Edition",
          "iPhone 11 128GB Black ",
          "iPhone 11 Pro Max 64GB Midnight Green    ",
          "iPhone SE 128GB White ",
          "iPhone 11 256GB White ",
          "iPhone 11 256GB (Product) Red   ",
          "iPhone SE 128GB Black",
          "iPhone 11 64GB Black ",
          "iPhone XS 512GB Silver",
          "iPhone 11 Pro 64GB Midnight Green  ",
          "iPhone X 64GB Space Grey",
          "iPhone X 256GB Space Grey",
          "iPhone 11 Pro Max 64GB Space Grey  ",
          "iPhone 11 64GB White "
         ],
         "type": "scatter",
         "x": [
          0.27913379669189453,
          0.2577171325683594,
          0.2921225428581238,
          0.3276939392089844,
          0.29655230045318604,
          0.281899631023407,
          0.28256088495254517,
          0.31068965792655945,
          0.31679654121398926,
          0.30187106132507324,
          0.25928518176078796,
          0.30698129534721375,
          0.3037289083003998,
          0.3293188214302063,
          0.3304075598716736,
          0.3009550869464874,
          0.30963099002838135,
          0.28576377034187317,
          0.2943241000175476,
          0.3030374050140381,
          0.2976882755756378,
          0.2753302752971649,
          0.29391488432884216,
          0.2899567484855652,
          0.28394976258277893,
          0.2978491187095642,
          0.2908334732055664,
          0.2652219831943512,
          0.2641247510910034,
          0.299071341753006,
          0.269481897354126,
          0.30470436811447144,
          0.3220820724964142,
          0.29941678047180176,
          0.27324044704437256,
          0.29633015394210815,
          0.31249547004699707,
          0.30779701471328735,
          0.3117993175983429,
          0.28466230630874634,
          0.28518301248550415,
          0.2765159010887146,
          0.2909582257270813,
          0.31164366006851196,
          0.2754870355129242
         ],
         "y": [
          0.15707452595233917,
          0.20633360743522644,
          0.18475556373596191,
          0.1441582441329956,
          0.1494571566581726,
          0.05829787254333496,
          0.08314874768257141,
          0.15172985196113586,
          0.1492270529270172,
          0.1476721316576004,
          0.18238098919391632,
          0.15564808249473572,
          0.188860684633255,
          0.2799912989139557,
          0.1753685474395752,
          0.10652530193328857,
          0.10457365214824677,
          0.19978976249694824,
          0.19586294889450073,
          0.16341441869735718,
          0.1894288808107376,
          0.11747097223997116,
          0.17460903525352478,
          0.18801163136959076,
          0.13813933730125427,
          0.1371164470911026,
          0.06679198890924454,
          0.16299830377101898,
          0.2003864049911499,
          0.10625141113996506,
          0.14405639469623566,
          0.12033272534608841,
          0.18795229494571686,
          0.1695988029241562,
          0.17949533462524414,
          0.17702323198318481,
          0.09348976612091064,
          0.1728152334690094,
          0.2090413123369217,
          0.16489392518997192,
          0.17672660946846008,
          0.2049594521522522,
          0.16552050411701202,
          0.178850457072258,
          0.2137850672006607
         ]
        },
        {
         "marker": {
          "color": 38,
          "size": 5
         },
         "mode": "markers",
         "name": "33",
         "text": [
          "Bosch - PBH6B5B80A - Serie | 2 60cm 2 Gas Hob Cooktop",
          "Bosch - Serie | 6 Induction Cooktop 80 cm Black - PVS875FB5E ",
          "Bosch - DWB91PR50A - 90cm Wall-Mounted Canopy Rangehood",
          "Bosch - HBA574BS0A - 60cm Built-in Oven",
          "Bosch - Serie 6 | SMV66MX01A - 60cm Fully Integrated Dishwasher",
          "Bosch - Serie | 8 Oven Black - HBG6753B1A ",
          "Bosch - DHL555BAU - 53 cm Integrated Rangehood",
          "Bosch - HLS79R350A - Serie | 6 60cm Electric Freestanding Cooker",
          "Bosch - DWP66BC50A - Serie 2 Canopy Rangehood",
          "Bosch - PUE611BB1E - Serie | 4 60cm Induction Cooktop",
          "Bosch -  Serie | 8 Oven Black HBG675BB2A ",
          "Bosch - Serie | 4 SMS46KI01A - 60cm Freestanding Dishwasher",
          "Bosch - Serie | 2 SMS40E08AU - 60cm Freestanding Dishwasher     ",
          "Bosch - HRG675BS1B - Serie | 8 Built-in oven with added Steam Function ",
          "Bosch Serie | 8 HSG656XB6A - 60cm Built-in Steam Oven - Black",
          "Bosch - DWP96BC50A - Serie 2 Canopy Rangehood",
          "Bosch - DFM064W50A - 60cm Slideout Rangehood",
          "Bosch - WTA74200AU - 7kg Classixx Sensor Vented Dryer",
          "Bosch - Serie | 6  PPS9A6B90A - 90cm Gas Cooktop - Tempered Glass",
          "Bosch - HEZ633073 - Professional Pan",
          "Bosch - Serie | 8 WTW87566AU - 9kg Heat Pump Tumble Dryer",
          "Bosch - Serie | 4 PIJ611BB1E - 60 cm Induction Cooktop",
          "Bosch - Serie | 6 WTG86400AU - 8kg Condenser Dryer",
          "Bosch - PBH6B5B90A - Serie | 2 60 cm Gas Hob Cooktop",
          "Bosch - HKS79R250A - Serie | 6 60cm Free Standing Electric Cooker",
          "Bosch - HEZ381401 - Exhaust Kit",
          "Bosch - VBD578FS0 - Series 6 90 cm Built-In Oven - Stainless Steel",
          "Bosch - Serie | 8 CSG656RS2A - 60cm Compact Combination Steam Oven",
          "Bosch - Serie 6 | HVA541NS0 - 90cm Built-in Multifunction Oven",
          "Bosch - Serie | 8 WTW87565AU - 9Kg Heat Pump Dryer  ",
          "Bosch - DWB97LM50A - 90cm Canopy Rangehood",
          "Bosch - DHI625NAU - Slide Out Rangehood",
          "Bosch - Serie | 6 SMS66MW01A - 60cm Freestanding Dishwasher - White ",
          "Bosch - Serie | 8 WTW87564AU - 9kg Heat Pump Tumble Dryer",
          "Bosch - SMS88TI01A - Serie | 8 Freestanding 60 cm Dishwasher  ",
          "Bosch - Serie 8 | HBG633BS1A - 60cm Built-in Oven ",
          "Bosch - Serie | 8 PKN675DB1A - 60cm Ceramic Cooktop",
          "Bosch - Serie | 8 SMI88TS02A - 60cm Semi-Integrated Dishwasher",
          "Bosch - DFR067A50A - 60cm Slideout Rangehood",
          "Bosch - DHI635KAU - Slideaway Rangehood",
          "Bosch - BCH6AT25AU - Cordless Handstick Vacuum Cleaner ",
          "Bosch - HBG633BB1B - 60cm Built-in Oven ",
          "Bosch - Series 4 | PKF645D17A - 60cm Ceramic Cooktop ",
          "Bosch - WTZ20410 - Stacking Kit ",
          "Bosch - Serie | 8 Built-in Oven with Steam-function - HRG6769B2A",
          "Bosch - Serie | 4  WTH85200AU - Tumble Dryer with Heat Pump",
          "Bosch - VBC578FS0 - Series 6 90 cm Built-In Oven",
          "Bosch - PCT9A5B90A - Serie | 6 90 cm Gas Cooktop ",
          "Bosch - Serie | 8 Compact Combination Steam Oven Black - CSG656RB1A ",
          "Bosch - DHL895DAU - 86cm Integrated Rangehood",
          "Bosch - MBA534BS0A - 60cm Double Oven",
          "Bosch - Serie | 8 WAW28620AU - 9kg Front Load Washing Machine",
          "Bosch - VBC5540S0 -  Serie | 4 90 cm Built-in Oven ",
          "Bosch - HBF133BS0A - 60cm Built-in Oven",
          "Bosch - DHL575CAU - 52cm Integrated Rangehood",
          "Bosch - Serie 8 | HRG6767S2A - 60cm Built-in Oven with Added Steam ",
          "Bosch - BEL554MS0A - Serie 6 Built-in Microwave Oven",
          "Bosch - HSB838357A - Series 8 90cm Dual Fuel Range Freestanding Cooker",
          "Bosch - DLN54AA70A - 53cm Integrated Rangehood",
          "Bosch - Serie 8 | BIC630NS1A - Warming Drawer",
          "Bosch - WTZ11400 - Stacking Kit",
          "Bosch - HEZ390511 - Teppan Yaki (Small)",
          "Bosch - HEZ633001 - Lid for Professional Pan",
          "Bosch - MBG5787S0A - 60cm Double Oven",
          "Bosch - BCHF220GAU - Readyy'y 20V max Rechargeable Vacuum",
          "Bosch - HEZ390090 - Wok",
          "Bosch - Serie | 6 - SMP66MX01A - 60cm Built-under Dishwasher",
          "Bosch - DHL895CAU - 86cm Integrated Rangehood",
          "Bosch - Serie | 8 Compact Combination Microwave Oven Black - CMG633BB1A",
          "Bosch - Serie 6 | HBA13B253A - 60cm Built-in Oven ",
          "Bosch - Serie | 4 - SMS46GW01A - 60cm Freestanding Dishwasher ",
          "Bosch Serie | 8 Built-In Fully Automatic Coffee Machine - CTL636ES6 - Stainless Steel",
          "Bosch - HXR39KI50A - Serie | 4 60cm Freestanding Cooker",
          "Bosch - HEZ381501 - Recirculating Kit",
          "Bosch - PCH615B9TA - 60cm Gas Cooktop ",
          "Bosch - Serie | 6 SMU66MS02A - 60cm Built-under Dishwasher",
          "Bosch - Serie | 6 SMS66MI02A - 60cm Freestanding Dishwasher",
          "Bosch - HSB738357A -  Serie | 6 90 cm Dual Fuel Range Freestanding Cooker ",
          "Bosch - Serie | 6 PCR9A5B90A - 90cm Gas Cooktop ",
          "Bosch - Serie | 8 WAW28420AU - 9kg  Front Load Washing Machine",
          "Bosch HXU09AH50A - Serie | 4 60cm Dual Fuel Freestanding Cooker",
          "Bosch - PBH6B5B60A -  Serie | 2 60 cm Gas Cooktop ",
          "Bosch - Serie | 6  PPH6A6B20A - 60cm Gas Cooktop ",
          "Bosch Serie | 8 Built-In Fully Automatic Coffee Machine - CTL636EB6 - Black",
          "Bosch - WMZ20600 - Stacking Kit",
          "Bosch - WTB86200AU - Avantixx Condenser Dryer ",
          "Bosch - Serie | 6  SMP66MX02A - 60 cm Built-under Dishwasher - White",
          "Bosch - Serie | 8 SMV88TX02A - 60cm Fully-integrated Dishwasher",
          "Bosch - Serie | 6  SPS60M08AU - 45cm Freestanding Dishwasher",
          "Bosch - Serie | 8 CMG633BS1B - 60cm Compact Oven With Microwave",
          "Bosch - Serie 8 | SBV88TX06A - 60cm Fully-Integrated Dishwasher",
          "Bosch - SERIE | 6 SMI66MS01A - 60cm Semi-integrated Dishwasher",
          "Bosch - Serie | 6 PCR7A5B90A 75cm Gas Cooktop ",
          "Bosch - Serie | 6 SPU68M05AU - 45cm Built-under Dishwasher- Stainless steel",
          "Bosch -  Serie 8 | PIV975DC1E - 90 cm Induction Cooktop  ",
          "Bosch - HEZ390011 - Induction Roaster",
          "Bosch - HBA534ES0A - Serie 4 Oven",
          "Bosch - SERIE | 6 SMP66MX03A - 60cm Underbench Dishwasher - Black",
          "Bosch - PVS675FB5E - 60cm Induction Cooktop",
          "Bosch - DFS067A50A - 60cm Slideout Rangehood",
          "Bosch -  Serie | 6 Induction Cooktop with Integrated Ventilation - PVS851F21E ",
          "Bosch - 60cm Gas Cooktop - PCI6A5B90A "
         ],
         "type": "scatter",
         "x": [
          -0.3139549791812897,
          -0.26299774646759033,
          -0.16631370782852173,
          -0.3950546085834503,
          -0.22025442123413086,
          -0.2276960015296936,
          -0.13961099088191986,
          -0.28700587153434753,
          -0.11852888762950897,
          -0.2534533143043518,
          -0.21962034702301025,
          -0.22483167052268982,
          -0.2229364812374115,
          -0.230709046125412,
          -0.30228808522224426,
          -0.12728562951087952,
          -0.19784626364707947,
          -0.10969775170087814,
          -0.299744188785553,
          -0.16430599987506866,
          -0.1387484073638916,
          -0.2727483808994293,
          -0.19678065180778503,
          -0.3210582137107849,
          -0.25781887769699097,
          -0.14596980810165405,
          -0.3814312815666199,
          -0.31789764761924744,
          -0.35339394211769104,
          -0.15475502610206604,
          -0.17627164721488953,
          -0.11797385662794113,
          -0.2213040292263031,
          -0.14102071523666382,
          -0.19572505354881287,
          -0.3083575963973999,
          -0.2480354905128479,
          -0.21001335978507996,
          -0.17909832298755646,
          -0.11284726113080978,
          -0.1318034678697586,
          -0.4080439507961273,
          -0.31307393312454224,
          -0.10896023362874985,
          -0.28270527720451355,
          -0.12668687105178833,
          -0.4070946276187897,
          -0.27305537462234497,
          -0.24649649858474731,
          -0.16477403044700623,
          -0.37646564841270447,
          -0.10397481173276901,
          -0.3002135157585144,
          -0.3985555171966553,
          -0.15930387377738953,
          -0.3379186689853668,
          -0.2612440288066864,
          -0.3433753252029419,
          -0.1504310965538025,
          -0.1553681492805481,
          -0.09032437950372696,
          -0.21817585825920105,
          -0.15935736894607544,
          -0.3579314351081848,
          -0.14613404870033264,
          -0.17162761092185974,
          -0.2185557782649994,
          -0.17354440689086914,
          -0.20520508289337158,
          -0.32937130331993103,
          -0.24856474995613098,
          -0.10875315964221954,
          -0.27289581298828125,
          -0.13794103264808655,
          -0.37592095136642456,
          -0.23091468214988708,
          -0.24253731966018677,
          -0.2713053524494171,
          -0.3113694489002228,
          -0.10562179237604141,
          -0.2729703485965729,
          -0.30134859681129456,
          -0.3086003363132477,
          -0.0483570471405983,
          -0.13907364010810852,
          -0.17821982502937317,
          -0.20673412084579468,
          -0.21661105751991272,
          -0.2421760857105255,
          -0.2517915666103363,
          -0.23781171441078186,
          -0.24196437001228333,
          -0.31382328271865845,
          -0.22358456254005432,
          -0.23763132095336914,
          -0.1807159185409546,
          -0.30613797903060913,
          -0.2156953513622284,
          -0.32933852076530457,
          -0.18142080307006836,
          -0.2794693410396576,
          -0.31795188784599304
         ],
         "y": [
          0.09692376106977463,
          0.02236277237534523,
          -0.09055713564157486,
          0.01957690715789795,
          0.09245932847261429,
          0.010574135929346085,
          -0.05966904014348984,
          0.09602534025907516,
          -0.08738183230161667,
          0.018550578504800797,
          0.007716380059719086,
          0.07456973940134048,
          0.0639958307147026,
          0.04973079264163971,
          0.16177892684936523,
          -0.09657622873783112,
          -0.03700205683708191,
          0.014155663549900055,
          0.10518448054790497,
          -0.11714571714401245,
          0.039557527750730515,
          0.022900791838765144,
          0.049157075583934784,
          0.11024300754070282,
          0.08616484701633453,
          -0.09878095984458923,
          0.06634880602359772,
          0.14057621359825134,
          0.05285144969820976,
          0.05686250329017639,
          -0.09618663787841797,
          -0.13952481746673584,
          0.06562042981386185,
          0.03990698233246803,
          0.13217413425445557,
          0.09205101430416107,
          0.030823154374957085,
          0.09178844839334488,
          -0.0452028252184391,
          -0.14508056640625,
          -0.11807919293642044,
          0.03487435728311539,
          0.05452107638120651,
          -0.0832614153623581,
          0.05486270785331726,
          0.03583482652902603,
          0.060532111674547195,
          0.14314033091068268,
          0.06194312870502472,
          -0.04049035906791687,
          -0.004397474229335785,
          0.051964301615953445,
          0.08206883072853088,
          0.019217226654291153,
          -0.024290716275572777,
          0.14341126382350922,
          -0.03515242412686348,
          0.0670769140124321,
          -0.04327888414263725,
          -0.02352152019739151,
          -0.07880176603794098,
          -0.0986170619726181,
          -0.1174926683306694,
          0.03823145478963852,
          -0.06407737731933594,
          -0.07904575765132904,
          0.06834043562412262,
          -0.039659205824136734,
          -0.00023737922310829163,
          0.06173674389719963,
          0.0910794734954834,
          0.017946142703294754,
          0.09076456725597382,
          -0.11312086135149002,
          0.06512735038995743,
          0.09035007655620575,
          0.087132029235363,
          0.03615044802427292,
          0.09374970197677612,
          0.039961524307727814,
          0.09947151690721512,
          0.09891580790281296,
          0.08327574282884598,
          -0.0054894909262657166,
          -0.09158474951982498,
          -0.06748667359352112,
          0.05986041948199272,
          0.10285504162311554,
          0.09482913464307785,
          0.06477010250091553,
          0.10422760993242264,
          0.05231505259871483,
          0.08646391332149506,
          0.0716034471988678,
          0.03770671412348747,
          -0.10336755961179733,
          0.014801029115915298,
          0.03988208621740341,
          0.024439774453639984,
          -0.036571431905031204,
          0.010528374463319778,
          0.07877378910779953
         ]
        },
        {
         "marker": {
          "color": 39,
          "size": 5
         },
         "mode": "markers",
         "name": "34",
         "text": [
          "Samsung - SM-A315GZKVXSA - Galaxy A31 Prism Crush Black",
          "Samsung Galaxy Buds Live - SM-R180NZKAASA - Mystic Black",
          "Samsung - Galaxy Note9 - 128GB  - Midnight Black - SM-N960FZKDXSA",
          "Samsung - Galaxy S8 64GB - Midnight Black - SM-G950FZKAXSA ",
          "Samsung Galaxy Watch 3 (41mm) - SM-R850NZDAXSA - Bluetooth - Bronze ",
          "Samsung - SM-R365NZKAXSA - Gear Fit2 Pro Large  ",
          "Samsung - SM-J105YZWAXSA - Galaxy J1 mini - White - Unlocked",
          "Samsung SM-R170NZWAXSA - Galaxy Buds - White",
          "Samsung Galaxy Watch Active - SM-R500NZSAXSA - Silver",
          "Samsung - SM-R800NZSAXSA - Galaxy Watch (46mm) - Bluetooth - Silver ",
          "Samsung Galaxy Note20 Ultra - SM-N985FZKEXSA - 256GB - Mystic Black ",
          "Samsung Galaxy Note20 - SM-N980FZAEXSA  - 256GB - Mystic Grey   ",
          "Samsung - SM-P610NZAAXSA - Galaxy Tab S6 Lite Wi-Fi 64GB",
          "Samsung - SM-R365NZRNXSA - Gear Fit2 Pro Small - Black/Red",
          "Samsung - SM-P610NZAEXSA - Galaxy Tab S6 Lite Wi-Fi 128GB",
          "Samsung - Galaxy Tab S4 10.5\" 4G 64GB Black - SM-T835NZKAXSA   ",
          "Samsung - Galaxy Note 8 - 64GB  - Midnight Black - SM-N950FZKAXSA  ",
          "Samsung Galaxy S20+ (5G) SM-G986BZAEXSA - 512GB - Cosmic Grey  ",
          "Samsung Galaxy S20 (5G) - SM-G981BZAAXSA - 128GB - Cosmic Grey  ",
          "Samsung - SM-A715FZKDXSA - Galaxy A71 Black",
          "Samsung Galaxy S20 - SM-G980FZAAXSA - 128GB - Cosmic Grey  ",
          "Samsung - Galaxy Note 9 - 128GB  - Ocean Blue - SM-N960FZBDXSA",
          "Samsung Galaxy S20+  SM-G985FZKAXSA - 128GB - Cosmic Black",
          "Samsung Galaxy S20 - SM-G980FZIAXSA - 128GB - Cloud Pink",
          "Samsung Galaxy S10 - SM-G973FZKGXSA - 512GB - Prism Black",
          "Samsung - SM-G960FZKFXSA - Galaxy S9 256GB - Midnight Black ",
          "Samsung - SM-G965FZDFXSA - Galaxy S9+ 256GB Sunrise Gold",
          "Samsung Galaxy Note20 - SM-N980FZGEXSA - 256GB - Mystic Green",
          "Samsung - MB-MC256GA/APC - 256GB EVO Plus microSD Card",
          "Samsung - SM-A315GZRVXSA - Galaxy A31 Prism Crush Red ",
          "Samsung - SM-G570YZKAXSA - Galaxy J5 Prime Black - Unlocked",
          "Samsung - Galaxy S8+ 64GB - Midnight Black - SM-G955FZKAXSA  ",
          "Samsung Galaxy Note20 5G - SM-N981BZGEXSA - 256GB - Mystic Green",
          "Samsung Galaxy Note20 5G - SM-N981BZAEXSA  - 256GB - Mystic Grey ",
          "Samsung - SM-A515FZKFATS - Galaxy A51 - Black",
          "Samsung - SM-A715FZSDXSA - Galaxy A71 Silver ",
          "Samsung Galaxy A70 - 128GB Black - SM-A705YZKNXSA ",
          "Samsung - Galaxy A5 Smartphone - Gold - SM-A520FZDAXSA",
          "Samsung - SM-T290NZKAXSA - Galaxy Tab A 8.0\" Wi-Fi 32GB - Black  ",
          "Samsung - SM-G935FZKAXSA - Galaxy S7 Edge 32GB - Black",
          "Samsung Galaxy Watch Active - SM-R500NZDAXSA - Rose Gold",
          "Samsung - SM-G965FZKAXSA - Galaxy S9+ 64GB - Midnight Black",
          "Samsung - SM-G960FZKAXSA - Galaxy S9 64GB - Midnight Black ",
          "Samsung - SM-G930FZDAXSA - Galaxy S7 32GB - Gold",
          "Samsung Galaxy Note20 - SM-N980FZNEXSA - 256GB - Mystic Bronze ",
          "Samsung - SM-A217FZKAXSA - Galaxy A21s Black",
          "Samsung Galaxy Buds Live - SM-R180NZNAASA - Mystic Bronze",
          "Samsung Galaxy Watch Active2 -  Aluminum Bluetooth 44mm - Rose Gold",
          "Samsung - SM-G570YWDAXSA - Galaxy J5 Prime White/Gold - Unlocked",
          "Samsung - SM-G930FZSAXSA - Galaxy S7 32GB - Silver",
          "Samsung - SM-G930FZKAXSA - Galaxy S7 32GB - Black",
          "Samsung - SM-T510NZKGXSA - Galaxy Tab A - 10.1\" Wi-Fi 128GB",
          "Samsung Galaxy S20 - SM-G980FLBAXSA - 128GB - Cloud Blue ",
          "Samsung Galaxy S20 Ultra 5G - SM-G988BZKEXSA - 512GB - Cosmic Black  ",
          "Samsung Galaxy S20+ (5G) SM-G986BZAAXSA - 128GB - Cosmic Grey ",
          "Samsung Galaxy S20 Ultra 5G - SM-G988BZKAXSA - 128GB - Cosmic Black",
          "Samsung Galaxy S10+ SM-G975FCWGXSA - 512GB - Porcelain White",
          "Samsung Galaxy Note20 Ultra 5G -SM-N986BZNEXSA - 256GB - Mystic Bronze",
          "Samsung Galaxy Watch 3 (45mm) - SM-R840NZKAXSA -  Bluetooth - Black ",
          "Samsung - SM-R600NZKAXSA - Gear Sport Smartwatch - Black   ",
          "Samsung - SM-R810NZKAXSA - Galaxy Watch (42mm) - Bluetooth - Midnight Black",
          "Samsung - SM-J530YZDEXSA - Galaxy J5 Pro - Gold",
          "Samsung - SM-R7200ZWAXSA - Gear S2 - Silver/White",
          "Samsung - SM-R600NZBAXSA - Gear Sport - Blue",
          "Samsung - MB-MC128GA/APC - 128GB EVO Plus microSD Card ",
          "Samsung Galaxy Note20 Ultra 5G - SM-N986BZWEXSA - 256GB - Mystic White",
          "Samsung - SM-R7320ZKAXSA - Gear S2 Classic",
          "Samsung Galaxy S20+ (5G) SM-G986BZKAXSA - 128GB - Cosmic Black",
          "Samsung Galaxy S20 Ultra 5G - SM-G988BZAAXSA - 128GB - Cosmic Grey ",
          "Samsung - SM-R170NZKAXSA - Galaxy Buds",
          "Samsung Galaxy S10+ SM-G975FZKAXSA - 128GB - Prism Black ",
          "Samsung Galaxy Tab S6 SMT-T860 - 10.5\" - Wi-Fi - 128GB - Grey",
          "Samsung - SM-R810NZDAXSA - Galaxy Watch (42mm) - Bluetooth - Rose Gold",
          "Samsung - SM-R150NZKAXSA - Gear IconX",
          "Samsung - SM-A115FZWAXSA - Galaxy A11 Smartphone - White",
          "Samsung - Galaxy Note 8 - 64GB  - Gold - SM-N950FZDAXSA ",
          "Samsung - Galaxy S8+ 64GB - Maple Gold - SM-G955FZDAXSA ",
          "Samsung - SM-A530FZKAXSA - Galaxy A8 Black",
          "Samsung Galaxy Watch Active2 -  Aluminum Bluetooth 44mm - Black",
          "Samsung - SM-A908BZKAXSA - Galaxy A90 5G",
          "Samsung - SM-A515FZBFATS - Galaxy A51 - Blue",
          "Samsung Galaxy S20+ (5G) SM-G986BLBAXSA - 128GB - Cloud Blue   ",
          "Samsung Galaxy S20+  SM-G985FZAAXSA - 128GB - Cosmic Grey  ",
          "Samsung - Galaxy Tab S4 10.5\" 4G 256GB Black - SM-T835NZKLXSA",
          "Samsung Galaxy Note20 5G - SM-N981BZNEXSA - 256GB - Mystic Bronze  ",
          "Samsung Galaxy Tab S6 SMT-T865 - 10.5\" - 4G - 128GB - Iron Grey",
          "Samsung Galaxy S10+ SM-G975FCKGXSA - 512GB - Ceramic Black",
          "Samsung - SM-J810YZDDXSA - Galaxy J8 Smartphone - 32GB - Gold  ",
          "Samsung - SM-A217FZWAXSA - Galaxy A21s White",
          "Samsung - SM-J730GZKEXSA - Galaxy J7 Pro - Black",
          "Samsung - SM-G960FZBAXSA - Galaxy S9 64GB - Coral Blue  ",
          "Samsung - MB-MC64GA/APC - 64GB EVO Plus microSD Card",
          "Samsung - Galaxy S8 64GB - Maple Gold - SM-G950FZDAXSA    ",
          "Samsung - SM-G965FZKFXSA - Galaxy S9+ 256GB - Midnight Black ",
          "Samsung Galaxy Buds Live - SM-R180NZWAASA - Mystic White",
          "Samsung Galaxy A20 32GB Blue - SM-A205YZBTXSA   ",
          "Samsung - SM-G965FZDAXSA - Galaxy S9+ 64GB Sunrise Gold ",
          "Samsung Galaxy Note20 Ultra 5G - SM-N986BZKFXSA - 512GB - Mystic Black   ",
          "LG - LM-X210YMW - K9 Smart Phone",
          "Samsung - Galaxy A30 32GB White - SM-A305YZWNXSA ",
          "Samsung - Gear Fit2 Pro Large - SM-R365NZRAXSA",
          "Samsung Galaxy Note10 - 256GB - Aura Black",
          "Samsung Galaxy S20+  SM-G985FLBAXSA - 128GB - Cloud Blue ",
          "Samsung - SM-J120ZZWNXSA - White Galaxy J1 (2016) 8GB",
          "Samsung - Galaxy S8 64GB - Orchid Grey - SM-G950FZVAXSA       ",
          "Samsung - Galaxy J1 - SM-J100YZWAXSA - White",
          "Samsung - Galaxy Note 3 Premium Wallet",
          "Samsung - MB-MC512GA/APC - 512GB EVO Plus microSD Card",
          "Samsung - SM-J320ZZWNXSA - Galaxy J3 2106 - White",
          "Samsung - SM-G965FZPAXSA - Galaxy S9+ 64GB - Lilac Purple ",
          "Samsung - SM-G960FZPAXSA - Galaxy S9 64GB - Lilac Purple",
          "Samsung Galaxy Watch Active - SM-R500NZKAXSA - Black ",
          "Samsung - SM-T510NZKDXSA - Galaxy Tab A 10.1 Wi-Fi 32GB",
          "Samsung Galaxy Note20 Ultra 5G -SM-N986BZKEXSA - 256GB - Mystic Black",
          "Samsung - SM-J810YZKDXSA - Galaxy J8 Smartphone - 32GB - Black  ",
          "Samsung Galaxy S10 - SM-G973FZWGXSA - 512GB - Prism White ",
          "Samsung - SM-A115FZKAXSA - Galaxy A11 Smartphone - Black"
         ],
         "type": "scatter",
         "x": [
          0.19079293310642242,
          0.19460833072662354,
          0.26736265420913696,
          0.243509903550148,
          0.2301936000585556,
          0.16883115470409393,
          0.2256978452205658,
          0.13945280015468597,
          0.1998445838689804,
          0.24621668457984924,
          0.24951274693012238,
          0.2484840601682663,
          0.24450740218162537,
          0.2176598608493805,
          0.23760685324668884,
          0.3016182482242584,
          0.26472151279449463,
          0.27705007791519165,
          0.27547430992126465,
          0.24751156568527222,
          0.25029152631759644,
          0.2644069790840149,
          0.2487877756357193,
          0.24493539333343506,
          0.26291990280151367,
          0.23789845407009125,
          0.20988234877586365,
          0.22977040708065033,
          0.28379449248313904,
          0.18180851638317108,
          0.24964678287506104,
          0.2563939392566681,
          0.24526861310005188,
          0.2644561231136322,
          0.23053506016731262,
          0.20392394065856934,
          0.3066880702972412,
          0.27805113792419434,
          0.31471186876296997,
          0.2592937648296356,
          0.21110215783119202,
          0.237431600689888,
          0.23113787174224854,
          0.2395918071269989,
          0.2160320281982422,
          0.23560155928134918,
          0.16099029779434204,
          0.24390210211277008,
          0.24296072125434875,
          0.226435124874115,
          0.2617431879043579,
          0.31127750873565674,
          0.25433626770973206,
          0.24616548418998718,
          0.2823983430862427,
          0.24833741784095764,
          0.1798606961965561,
          0.22089992463588715,
          0.25989457964897156,
          0.23879678547382355,
          0.24749715626239777,
          0.2683648467063904,
          0.18771524727344513,
          0.20982612669467926,
          0.27837178111076355,
          0.22409853339195251,
          0.18829794228076935,
          0.27308061718940735,
          0.25701069831848145,
          0.1625099778175354,
          0.26732584834098816,
          0.2861398756504059,
          0.23878441751003265,
          0.17982470989227295,
          0.2530885934829712,
          0.25163498520851135,
          0.23122122883796692,
          0.26969707012176514,
          0.26791277527809143,
          0.22040770947933197,
          0.23320995271205902,
          0.288862943649292,
          0.2564013600349426,
          0.3084535300731659,
          0.23314768075942993,
          0.25391680002212524,
          0.2015751749277115,
          0.29097676277160645,
          0.20696300268173218,
          0.31067827343940735,
          0.24197760224342346,
          0.26805949211120605,
          0.21498428285121918,
          0.2463606745004654,
          0.14762911200523376,
          0.31467539072036743,
          0.21281318366527557,
          0.24654319882392883,
          0.1632334589958191,
          0.25452685356140137,
          0.20038624107837677,
          0.31100142002105713,
          0.2610081434249878,
          0.28728604316711426,
          0.24840301275253296,
          0.24625125527381897,
          0.2762957513332367,
          0.2767471969127655,
          0.21749737858772278,
          0.24058394134044647,
          0.23265689611434937,
          0.23075227439403534,
          0.3052031397819519,
          0.25177013874053955,
          0.3132242262363434,
          0.22390145063400269,
          0.27972012758255005
         ],
         "y": [
          0.314876914024353,
          0.0782727375626564,
          0.41514891386032104,
          0.4319589138031006,
          0.18725042045116425,
          0.20161348581314087,
          0.23512402176856995,
          0.18988767266273499,
          0.2536170184612274,
          0.1564599871635437,
          0.3796464800834656,
          0.34049928188323975,
          0.4005374312400818,
          0.1839790940284729,
          0.37192994356155396,
          0.45836341381073,
          0.4162691533565521,
          0.3683316707611084,
          0.38274937868118286,
          0.3369545042514801,
          0.3743996024131775,
          0.39176613092422485,
          0.3861057162284851,
          0.3632296323776245,
          0.4133528769016266,
          0.4353884160518646,
          0.4162113070487976,
          0.369539737701416,
          0.27272599935531616,
          0.30306553840637207,
          0.322479784488678,
          0.4251542091369629,
          0.39588290452957153,
          0.3748372495174408,
          0.3033691942691803,
          0.3278249502182007,
          0.4146569073200226,
          0.29155951738357544,
          0.35298052430152893,
          0.4296052157878876,
          0.2572745084762573,
          0.4371091425418854,
          0.4392859637737274,
          0.4521392285823822,
          0.3473556339740753,
          0.29262644052505493,
          0.10731736570596695,
          0.17460665106773376,
          0.3395611643791199,
          0.43896785378456116,
          0.44593697786331177,
          0.37107816338539124,
          0.3373408317565918,
          0.4042767286300659,
          0.38263028860092163,
          0.40282905101776123,
          0.36869174242019653,
          0.3971353769302368,
          0.1717815101146698,
          0.24860446155071259,
          0.1915803700685501,
          0.3106144666671753,
          0.2697353661060333,
          0.13124650716781616,
          0.29181671142578125,
          0.39251911640167236,
          0.2771341800689697,
          0.39475733041763306,
          0.39172619581222534,
          0.1978234052658081,
          0.3915048837661743,
          0.38501131534576416,
          0.21304960548877716,
          0.19496598839759827,
          0.34773609042167664,
          0.43684035539627075,
          0.4313434958457947,
          0.34555691480636597,
          0.1588229387998581,
          0.3663758635520935,
          0.24944502115249634,
          0.35753917694091797,
          0.36990854144096375,
          0.45963573455810547,
          0.378579318523407,
          0.42559385299682617,
          0.4087409973144531,
          0.415829598903656,
          0.3103410601615906,
          0.35418397188186646,
          0.41931021213531494,
          0.32153767347335815,
          0.4411460757255554,
          0.4347198009490967,
          0.09150393307209015,
          0.3635483682155609,
          0.43916958570480347,
          0.40088409185409546,
          0.21957232058048248,
          0.3654598295688629,
          0.1856590062379837,
          0.30944424867630005,
          0.3298223614692688,
          0.42398831248283386,
          0.44074201583862305,
          0.24023401737213135,
          0.17340348660945892,
          0.270218163728714,
          0.29602912068367004,
          0.42809221148490906,
          0.43450427055358887,
          0.22085949778556824,
          0.35194292664527893,
          0.41150909662246704,
          0.4132338762283325,
          0.4123895466327667,
          0.3286289870738983
         ]
        },
        {
         "marker": {
          "color": 40,
          "size": 5
         },
         "mode": "markers",
         "name": "35",
         "text": [
          "Panasonic - NN-ST64JWQPQ - 32L Inverter Microwave Oven ",
          "Panasonic - NN-ST665BQPQ - 32L Inverter Sensor Microwave",
          "Panasonic - NN-SF564WQPQ - 27L Inverter Microwave Oven - White ",
          "Panasonic - CR-2025PT/1B - Lithium Coin Cell",
          "Panasonic - KX-TGD324ALB - Digital Cordless Phone System",
          "Panasonic - BK-4LDAW/2BT - 2x AAA Batteries for DECT Phones",
          "Panasonic - RP-HF400BE-K - Bluetooth® Wireless Headphones - Black",
          "Panasonic - DMR-XW440GLK - Twin HD Tuner - 500GB HDD/DVD Recorder",
          "Panasonic - KX-TG7893AZS - DECT Digital Cordless Phone - Triple Pack",
          "Panasonic - VW-BTA1GCK - Extended Battery",
          "Panasonic - NN-ST34HBQPQ - 25L Microwave Oven",
          "Panasonic - NN-ST671S - 32L Inverter Sensor Microwave Oven",
          "Panasonic - NN-ST25JW - 20L Microwave Oven  ",
          "Panasonic - Portable AM/FM Radio - RF-P50DGC-S",
          "Panasonic - DMP-BDT380GN - 3D Blu-ray Disc Player",
          "Panasonic - SD-2501 - Bread Maker",
          "Panasonic EVOLTA AA 2pk - LR6EG/2B",
          "Panasonic - NN-ST25JM - 20L Microwave Oven",
          "Panasonic - DMR-BWT955GL - 3D Blu-ray Disc™/ DVD Recorder - 2TB HDD",
          "Panasonic - SR-DF101WST - Rice Cooker - 5 Cup Capacity",
          "Panasonic - RF-D10GN-K - Portable Digital Radio - DAB/ DAB+",
          "Panasonic - KX-TG7892AZS - DECT Digital Cordless Phone - Twin Pack",
          "Panasonic - DMR-PWT560GL  - 3D Blu-Ray Disc Recorder - 500GB HDD  ",
          "Panasonic - DP-UB420 - Ultra HD Blu-ray Player ",
          "Panasonic - BK-4HCCE4BT - AAA Eneloop Pro Rechargeable Batteries",
          "Panasonic LR6EG/18B - EVOLTA AA 18pk",
          "Panasonic - RP-BTS10E-Y - Bluetooth® Sport Earphones - Yellow",
          "Panasonic - DMC-TZ80GN-S - Lumix Digital Camera",
          "Panasonic - Amplified Cordless Telephone - Twin - KX-TGM422AZB",
          "Panasonic - 25L Microwave Oven - NN-ST34HWQPQ",
          "Panasonic - SC-MAX9000 - Mini System - 4000W",
          "Panasonic - NN-TK510FSQP - Trim Kit - Stainless Steel",
          "Panasonic - LR6EG/4B - EVOLTA AA 4pk  ",
          "Panasonic LR03EG/18B - EVOLTA AAA 18pk",
          "Olympus - VP-10 - Digital Voice Recorder - 4GB",
          "Panasonic - ES-LV9Q - Multi-Flex 5-Blade Rechargeable Shaver",
          "Panasonic - NN-SD38HS - 23L Inverter Microwave",
          "Panasonic - SC-UX100 - Mini System",
          "Panasonic - RP-BTS10E-K - Bluetooth® Sport Earphones - Black",
          "Panasonic - SC-AKX710 - Mini Hi-Fi System",
          "Panasonic - RP-HD610N - High-Resolution  NC Wireless Headphones - Copper",
          "Panasonic - RF-2400 - AM/FM Radio",
          "Panasonic - Portable AM/FM Radio - RF-2400DGN-S",
          "Panasonic - SR-CN108WST - 5 Cup Rice Cooker",
          "Panasonic - DMP-BD84GNK - Blu-Ray Player",
          "Panasonic - KX-TGC222ALS - DECT Cordless Phone System",
          "Panasonic - KX-TGMA44AZB - Optional Handset",
          "Panasonic - CR-2016PT/1B - Lithium Coin Cell",
          "Sony - SELP1650 - E PZ 16-50mm F3.5-5.6 OSS ",
          "Panasonic - Wireless CD Hi-Fi System - SC-PMX152GNS",
          "Panasonic - RP-HTX80BE-K - Bluetooth® Wireless Headphones - Black",
          "Panasonic - LR03EG/4B - EVOLTA AAA 4pk",
          "Olympus - WS-852 - Digital Voice Recorder - 4GB",
          "Panasonic - NN-ST253WQPQ - 20L Microwave Oven",
          "Panasonic - RP-HD610N - High-Resolution  NC Wireless Headphones - Black",
          "Panasonic - RP-BTS55E-K - Sport Wireless Headphones - Black",
          "Panasonic - SC-AKX660GNK - Mini System - ",
          "Panasonic - SR-CX108SST - 5 Cup Rice Cooker",
          "Panasonic - SR-DF181WST - Rice Cooker - 10 Cups Capacity",
          "Panasonic - RP-HTX90NE-K - Retro Noise Cancelling Wireless Headphones ",
          "Panasonic WLAN Smart Adaptor - CZ-TACG1   ",
          "Panasonic - DMR-BWT760GL - 3D Blu-Ray Disc Recorder - 1TB",
          "Panasonic 3-in-1 Hybrid Rechargeable Shaver - ES-LL41",
          "Panasonic - KX-TGB110ALB - Digital Cordless Phone",
          "Panasonic - RP-TCM130EBLU - In-Ear Wired Headphones - Blue",
          "Panasonic - Cordless Phone - Single - KX-TG6821ALB",
          "Panasonic - BK-3HCCE4BT - AA Eneloop Pro Rechargeable Batteries",
          "Panasonic - DMC-TZ110 Black - Lumix Digital Camera  ",
          "Panasonic - SC-HC397 - Micro Hi-Fi System",
          "Panasonic - RP-BTS30E-R - Wireless Sport Headphone",
          "Panasonic EVOLTA AAA 2Pk - LR03EG/2B",
          "Panasonic - LR-43PT/1B - Micro Alkaline Coin Cell",
          "Panasonic - SR-CN188WST - 10 Cup Rice Cooker",
          "Panasonic - RP-HTX20BE-K - Retro Wireless Earbuds - Black",
          "Panasonic - NN-CD997S - 42L Convection Microwave",
          "Panasonic - K-KJ55MCC4TA - Eneloop Smart & Quick Charger ",
          "Panasonic - DMR-BWT460GN - 3D Blu-ray Disc™/ DVD Recorder",
          "Panasonic - 6LR61EG/1B - EVOLTA 9V 1pk",
          "Panasonic - Rechargeable Shaver - ES-RT37",
          "Panasonic - SR-ZE105WST - 5-cup Rice Cooker - 10 Cooking Programs",
          "Panasonic - NN-ST655WQPQ - 32L White Inverter Sensor Microwave",
          "Panasonic - NN-CD87KSQPQ - 34L Convection Microwave Oven",
          "Panasonic - SC-AKX200 - Mini System",
          "Panasonic - LR14EG/2B - EVOLTA C 2pk",
          "Panasonic - RX-D50 - CD Radio Cassette Player",
          "Panasonic - SD-ZP2000KST - The Artisan Breadmaker",
          "Panasonic - SD-ZB2512 - Automatic Bread Maker",
          "Panasonic - RP-BTS55E-P - Sport Wireless Headphones - Pink",
          "Panasonic - RP-TCM130EBLK - In-Ear Wired Headphones - Black",
          "Panasonic - CR-2032PT/1B - Lithium Coin Cell",
          "Olympus - VN-731PC - Notetaker - 2GB",
          "Panasonic - KX-TG7883AZS - DECT Digital Cordless Phone",
          "Olympus - VN-741PC - Digital Voice Recorder",
          "Panasonic - Ultra HD Blu-ray Player - DMP-UB300GNK",
          "Panasonic - NN-CF770M - 27L Flatbed Microwave Oven ",
          "Panasonic - NN-SF574SQPQ - 27L Inverter Microwave Oven",
          "Panasonic - LR20EG/2B - EVOLTA D 2pk",
          "Panasonic - NN-ST776SQPQ - 44L Stainless Steel Inverter Sensor Microwave",
          "Panasonic - NN-ST67JS - 32L Inverter Sensor Microwave",
          "One For All - URC 1914 - Panasonic Replacement Remote",
          "Panasonic - NN-ST641WQPQ - 32L Inverter Microwave Oven",
          "Panasonic - DMR-HWT260GL - Smart Network 1TB HDD Recorder",
          "Panasonic - RP-HTX80BE-R - Bluetooth® Wireless Headphones - Red",
          "Panasonic - RP-HF400BE-W - Bluetooth® Wireless Headphones - White",
          "Panasonic - SC-PM600 - CD Micro System ",
          "Panasonic - SC-GA10GN-K - Google Assistant Speaker ",
          "Panasonic - 27L Grill/Steam Microwave Oven - NN-DS596BQPQ",
          "Panasonic - SC-GA10GN-W - Smart Speaker",
          "Panasonic - SR-ZE185WSTM - 1.8L Rice Cooker",
          "Panasonic - RC-7290 - Clock Radio",
          "Panasonic - KX-TG8163ALB - Cordless Phone – Triple Pack",
          "Panasonic - SC-PM250 - CD Micro System",
          "Panasonic - LR03EG/8B - EVOLTA AAA 8pk",
          "Panasonic - NN-TK510FWQP - Trim Kit - White"
         ],
         "type": "scatter",
         "x": [
          -0.19136583805084229,
          -0.06527668237686157,
          -0.18399453163146973,
          0.04981821030378342,
          0.18578682839870453,
          0.17179962992668152,
          0.2642831802368164,
          0.1541256159543991,
          0.15967640280723572,
          0.09556964784860611,
          -0.24621152877807617,
          -0.153365820646286,
          -0.2141958475112915,
          0.16450504958629608,
          0.16128751635551453,
          -0.11082775145769119,
          0.08732081949710846,
          -0.19648626446723938,
          0.16589194536209106,
          -0.18871530890464783,
          0.21600978076457977,
          0.14812135696411133,
          0.1617383509874344,
          0.21058033406734467,
          0.11565980315208435,
          0.05421818047761917,
          0.30581361055374146,
          0.1040118932723999,
          0.14479976892471313,
          -0.2539166212081909,
          0.10560307651758194,
          -0.039740510284900665,
          0.05367068946361542,
          0.05420958623290062,
          0.2515847980976105,
          0.004207029938697815,
          -0.0811980739235878,
          0.11056613177061081,
          0.2937883734703064,
          0.2100987285375595,
          0.19082313776016235,
          0.11998847126960754,
          0.16987916827201843,
          -0.20864790678024292,
          0.14177140593528748,
          0.19309702515602112,
          0.14459723234176636,
          0.07161954790353775,
          0.20063169300556183,
          0.18946336209774017,
          0.2812127470970154,
          0.052455976605415344,
          0.17688637971878052,
          -0.2313331663608551,
          0.25017455220222473,
          0.2622271180152893,
          0.11895884573459625,
          -0.18107867240905762,
          -0.19263708591461182,
          0.21269254386425018,
          0.2368191033601761,
          0.17261505126953125,
          -0.01374979317188263,
          0.1720498949289322,
          0.21134740114212036,
          0.14257687330245972,
          0.14008820056915283,
          0.1424824297428131,
          0.1899416148662567,
          0.23325714468955994,
          0.09230299293994904,
          0.09191550314426422,
          -0.20700371265411377,
          0.25599852204322815,
          -0.13080954551696777,
          0.1573975682258606,
          0.17227308452129364,
          0.022764138877391815,
          0.019136451184749603,
          -0.153407484292984,
          -0.05811626464128494,
          -0.2433004379272461,
          0.15590286254882812,
          0.08427819609642029,
          0.1735438108444214,
          -0.062061674892902374,
          -0.11920163035392761,
          0.26151931285858154,
          0.21047700941562653,
          0.05707854405045509,
          0.2211812436580658,
          0.16317392885684967,
          0.203652024269104,
          0.20088078081607819,
          -0.19832852482795715,
          -0.19457989931106567,
          0.0831926017999649,
          -0.06554559618234634,
          -0.052175432443618774,
          0.033337391912937164,
          -0.19646680355072021,
          0.16505612432956696,
          0.27394160628318787,
          0.2381300926208496,
          0.13413947820663452,
          0.2241239994764328,
          -0.2691955864429474,
          0.19573251903057098,
          -0.17512038350105286,
          0.07937949895858765,
          0.14870412647724152,
          0.1328173130750656,
          0.06688138842582703,
          0.013386912643909454
         ],
         "y": [
          0.15924251079559326,
          0.12527091801166534,
          0.14797073602676392,
          -0.037025321274995804,
          0.010625125840306282,
          -0.01508696936070919,
          -0.2116864025592804,
          0.1841534972190857,
          0.056332461535930634,
          -0.007105950266122818,
          0.14861440658569336,
          0.10353726148605347,
          0.09381388127803802,
          -0.023686837404966354,
          0.03444156423211098,
          0.024777697399258614,
          0.09901109337806702,
          0.08594073355197906,
          0.17130766808986664,
          0.09168809652328491,
          -0.040351249277591705,
          0.05270703136920929,
          0.15033744275569916,
          0.056526198983192444,
          -0.007629474624991417,
          0.1591482013463974,
          -0.15610449016094208,
          0.10108323395252228,
          -0.05505388230085373,
          0.1551109254360199,
          0.0797654390335083,
          0.043407000601291656,
          0.099302276968956,
          0.1349267065525055,
          -0.006903195753693581,
          0.057320255786180496,
          0.10313203185796738,
          0.05898042768239975,
          -0.1679842472076416,
          -0.05076427012681961,
          -0.033470600843429565,
          -0.12885233759880066,
          -0.038747016340494156,
          0.1121041476726532,
          0.047196827828884125,
          0.03933493420481682,
          0.07432577759027481,
          -0.0041181109845638275,
          0.09067642688751221,
          -0.07059535384178162,
          -0.1633274406194687,
          0.07027182728052139,
          0.06472684442996979,
          0.14022523164749146,
          -0.03468608111143112,
          -0.14497879147529602,
          0.053159523755311966,
          0.136946439743042,
          0.10380003601312637,
          -0.12614953517913818,
          0.060617223381996155,
          0.11959892511367798,
          -0.013664457947015762,
          0.012397781014442444,
          -0.22019286453723907,
          0.016544710844755173,
          -0.029969073832035065,
          0.03992673382163048,
          -0.052363891154527664,
          -0.18510618805885315,
          0.07325372099876404,
          -0.010408591479063034,
          0.12164193391799927,
          -0.16860824823379517,
          0.078987255692482,
          0.12446188181638718,
          0.06837150454521179,
          0.17420247197151184,
          -0.013834016397595406,
          0.10853222012519836,
          0.12619028985500336,
          0.1463851034641266,
          -0.0157387126237154,
          0.07911589741706848,
          -0.04888834431767464,
          -0.0054026395082473755,
          0.06515881419181824,
          -0.14890700578689575,
          -0.19317400455474854,
          -0.025591515004634857,
          0.11343279480934143,
          0.05936358869075775,
          -0.059765711426734924,
          0.05181613191962242,
          0.08985098451375961,
          0.15405353903770447,
          0.04804793372750282,
          0.13829347491264343,
          0.09681884944438934,
          -0.05811206251382828,
          0.15791922807693481,
          0.19814211130142212,
          -0.16880282759666443,
          -0.21382896602153778,
          -0.009251171723008156,
          0.010799326002597809,
          0.18907049298286438,
          0.021135933697223663,
          0.12899500131607056,
          -0.03521514683961868,
          0.024765074253082275,
          -0.02973955310881138,
          0.10210204869508743,
          0.03299698233604431
         ]
        },
        {
         "marker": {
          "color": 41,
          "size": 5
         },
         "mode": "markers",
         "name": "36",
         "text": [
          "Fisher & Paykel DD60SDFTB9 - 60cm Single DishDrawer™ Dishwasher",
          "Blanco - PLENTA6K5 - PLENTA 6 Laundry Tub",
          "Omega - ODW717X - 60cm Freestanding Dishwasher",
          "Fisher & Paykel - DD60DCX9 - Double DishDrawer™ Dishwasher",
          "Asko - DBI653IB.S - 60cm Built-in Dishwasher - Stainless Steel  ",
          "Beko - BDF1410X - 60cm Freestanding Dishwasher - Stainless Steel",
          "Asko - DFI654BXXL - XXL 86cm Fully Integrated Dishwasher",
          "Smeg - DWA6314X - 60cm Freestanding Dishwasher ",
          "Smeg - DWA6315X2 - 60cm Freestanding Dishwasher",
          "Omega - ODW101W - 55cm Compact Benchtop Dishwasher ",
          "Fisher & Paykel - DW60UC6X - Built-In Dishwasher",
          "Fisher & Paykel - DW60U6I1 - Integrated Dishwasher",
          "Inalto - DWI62CS - 60cm Integrated Dishwasher",
          "Fisher & Paykel - DD60SCW9 - Single DishDrawer™ Dishwasher",
          "Fisher & Paykel - DD60DAX9 - Double DishDrawer™ Dishwasher ",
          "Westinghouse - WSF6606W - 60cm Freestanding Dishwasher",
          "LG - XD4B24PS - XD Series Quadwash Dishwasher - Platinum Steel",
          "Dishlex - DSF6106X - 60cm Freestanding Dishwasher - Stainless Steel",
          "Dishlex - DSF6106W - 60cm Freestanding Dishwasher - White",
          "Neff Built-under Dishwasher 60 cm Stainless Steel - S215M60S0A",
          "DeLonghi - DEDW6015INFI - 60cm Fully Integrated Dishwasher",
          "Fisher & Paykel - DW60UC6B - Built-under Dishwasher",
          "Fisher & Paykel - DW60U2I1 - Integrated Dishwasher",
          "Neff Fully Integrated Dishwasher 60 cm - S515M60X0A",
          "Miele - G 4930 U BRWS - 60cm Built-Under Dishwasher",
          "Fisher & Paykel - DD60SCX9 - DishDrawer™ Single Dishwasher",
          "Fisher & Paykel - DD60DCW9 - Double DishDrawer™ Dishwasher",
          "Smeg - DWA6314X2 - 60cm Freestanding Dishwasher",
          "Miele - G 4203 i Active - 60cm Integrated Dishwasher",
          "Fisher & Paykel - 60cm Freestanding Dishwasher - DW60FC2W1",
          "Fisher & Paykel - DD60DAW9 - Double DishDrawer™ Dishwasher",
          "Asko - DFI654B - 82cm Fully Integrated Dishwasher  ",
          "Electrolux - ESF8735ROX - 60cm Built-under Dishwasher  ",
          "Beko - BDF1620X - 60cm Freestanding Dishwasher - Stainless Steel",
          "Smeg - DWAFI4510 - 45cm Fully Integrated Dishwasher",
          "Smeg - DWA4510X - 45cm Freestanding/Built-in Dishwasher",
          "Magikleen - MAG0105 - 60mL Screen Cleaner",
          "Westinghouse 60cm Freestanding Dishwasher - Stainless Steel - WSF6606XA",
          "Beko - BDF1620W - 60cm Freestanding Dishwasher - White",
          "Miele - G 4930 U CLST - CleanSteel - Built-Under Dishwasher - 60cm Wide",
          "Miele - G 4720 SCU CLST - 45cm Built-under Dishwasher  ",
          "One For All - SV8415 - 250mL LCD Screen Cleaner",
          "Miele - G 4930 SC CLST - 60cm Freestanding Dishwasher ",
          "DeLonghi - DEDW6015SI - 60cm Semi Integrated Dishwasher",
          "Asko - DBI654IBXXL.S - 86cm Built-under Dishwasher  ",
          "Miele - G 4203 SC CLST - 60cm Freestanding Dishwasher ",
          "Haier - HDW15V3S1 - 60cm Freestanding Dishwasher",
          "Smeg - 60cm Freestanding Dishwasher - DWA6314B  ",
          "Smeg - DWA6314W2 - 60cm Freestanding Dishwasher",
          "Westinghouse - WSF6602WA - 60cm White Freestanding Dishwasher",
          "Asko - DBI653IB.W - 60cm Built-in Diswasher - White",
          "Smeg - DWAI6314X - 60cm Semi-Integrated Dishwasher",
          "LG - XD4B14PS - XD Series QuadWash Dishwasher",
          "Miele - G 4930 SCU CLST - CleanSteel - 60cm Wide - Built-Under Dishwasher   ",
          "Miele - G 6620 SCU CLST - 60cm Built-under Dishwasher ",
          "Westinghouse 60cm Freestanding Dishwasher - WSF6606KXA",
          "Westinghouse 60cm Freestanding Dishwasher - White - WSF6604WA   ",
          "Miele - G 4720 SCi CLST - 45cm Integrated Dishwasher ",
          "Asko - DBI654IB.S - XL 60cm Built-in Dishwasher  ",
          "DeLonghi - DEDW6015S - 60cm Freestanding Dishwasher",
          "Neff Fully Integrated Dishwasher 60 cm XXL - S525T80D0A",
          "Fisher & Paykel - DD60DDFB9 - Double DishDrawer™ Dishwasher",
          "Electrolux - PDST60 - Laundry Pedestal with Drawer",
          "Electrolux - ESF8735RKX - 60cm Built-under Dishwasher",
          "Beko - BDF1410W - 60cm Freestanding Dishwasher - White",
          "Unilux - Dishwasher Cutlery Basket - ULX201",
          "DeLonghi - DEDW4510S - 45cm Freestanding Dishwasher",
          "Asko - DBI865IGXXLS - 86cm Built-under Dishwasher ",
          "Smeg - DWAI6314X2 - 60cm Semi-Integrated Dishwasher",
          "Magikleen - MAGDWD250 - 250ml Dishwasher & Washing Machine Descaler",
          "Westinghouse WSF6604XA - 60cm Freestanding Dishwasher",
          "Asko Built-in Black Steel XL Dishwasher - DBI653IB.BS ",
          "Smeg - DWA4510X2 - 45cm Freestanding/Built-in Dishwasher",
          "Smeg - DWIFABNE-1 - 60cm 50's Retro Style Built-in Dishwasher",
          "Beko - DFN16420W - 60cm Freestanding Dishwasher ",
          "Asko - DFI643 - 82cm Fully Integrated Dishwasher  ",
          "Smeg - DWA6315W2 - 60cm Freestanding Dishwasher",
          "Smeg - DWA6214S - 60cm Freestanding Dishwasher  ",
          "Haier - HDW15V2S1 - 60cm Freestanding Dishwasher",
          "Smeg - DWIFABR-1 - 60cm 50's Retro Style Built-in Dishwasher",
          "Electrolux - ESF6767KXA - 60cm Freestanding Dishwasher",
          "Westinghouse - WSF6602XA - 60cm Stainless Steel Freestanding Dishwasher ",
          "DeLonghi - DEDW45S - 45cm Freestanding Dishwasher",
          "Westinghouse 60cm Freestanding Dishwasher - WSF6608XA",
          "Dishlex - DSF6206X - 60cm Freestanding Dishwasher - Stainless Steel",
          "Beko - BDF1630X - 60cm Freestanding Dishwasher - Stainless Steel",
          "Inalto - IDW604S - 60cm Stainless Steel Freestanding Dishwasher",
          "Neff Semi-integrated Dishwasher 60 cm Stainless Steel, XXL - S425T80S0A",
          "Omega - ODW300XN - 45cm Compact Dishwasher",
          "Asko 82cm Built-Under Dishwasher - DBI253IB.W  ",
          "Inalto - IDW604W - 60cm White Freestanding Dishwasher ",
          "LG - XD5B14WH - XD Series QuadWash Dishwasher",
          "Electrolux - ESF6768KXA - 60cm Freestanding Dishwasher",
          "Fisher & Paykel - 60cm Freestanding Dishwasher - DW60FC4X1",
          "Smeg - 60cm Freestanding Dishwasher - DWA6314W",
          "Smeg - DWA6314B2 - 60cm Freestanding Dishwasher",
          "Smeg - DWAU6315X2 - 60cm Underbench Dishwasher",
          "Miele - G 6727 SCU CLST XXL - 60cm Built-under Dishwasher ",
          "Miele - G 4203 SCi Active - 60cm Integrated Dishwasher ",
          "Asko 82cm Built-Under Dishwasher - DBI243IB.W     ",
          "LG XD3A25BS - 15 Place QuadWash® Dishwasher - Black Stainless Finish",
          "Miele - G 4203 SCU Active CLST - 60cm Built-Under Dishwasher ",
          "Miele - G 4203 SCU Active BRWS - 60cm Built-Under Dishwasher",
          "Westinghouse WSF6608KXA - 60cm Freestanding Dishwasher",
          "Miele - G 4980 Vi - 60cm Fully Integrated Dishwasher",
          "Asko 82cm Built-Under Dishwasher - DBI243IB.S      ",
          "Smeg - DWAFI4510-2 - 45cm Fully Integrated Dishwasher",
          "Miele - G 4930 i OBSW - Active Integrated Dishwasher - 60cm",
          "Miele - G 4930 BRWS - 60cm Freestanding Dishwasher ",
          "Asko 82cm Built-Under Dishwasher - DBI253IB.S  ",
          "Asko 82cm Built-Under Dishwasher - Black Steel - DBI253IB.BS ",
          "Electrolux - ESF8725RKX - 60cm Built-under Dishwasher",
          "Smeg - DWAFI6314-2 - 60cm Fully Integrated Dishwasher",
          "Smeg - DWIFABP-1 - 60cm 50's Retro Style Built-in Dishwasher",
          "Miele - G 6620 SC BRWS - 60cm Freestanding Dishwasher",
          "LG - XD3A15BS - XD Series QuadWash Dishwasher - Black",
          "Miele - G4203 SC Active BRWS - 60cm Freestanding Dishwasher ",
          "Miele - G 4263 SCVi Active - 60cm Fully Integrated Dishwasher",
          "Beko - DFN16420X - 60cm Free Standing Dishwasher ",
          "LG XD3A25MB - 15 Place QuadWash® Dishwasher - Matte Black Finish",
          "Inalto - DW42CS - 45cm Compact Dishwasher",
          "Haier - HDW13V1W1 - 60cm Freestanding Dishwasher",
          "Omega - ODW717W - 60cm Freestanding Dishwasher ",
          "Asko - DFI666GXXL - XXL 86cm Fully Integrated Dishwasher",
          "Miele - G 4980 SCVi Jubilee - 60cm Fully Integrated Dishwasher ",
          "Miele - G 4930 SCI CLST Jubilee - 60cm Integrated Dishwasher"
         ],
         "type": "scatter",
         "x": [
          -0.23257973790168762,
          -0.09629121422767639,
          -0.17009130120277405,
          -0.17579853534698486,
          -0.2230249047279358,
          -0.2203463912010193,
          -0.24293315410614014,
          -0.3086059093475342,
          -0.3150472342967987,
          -0.1926824152469635,
          -0.2418820858001709,
          -0.2123795449733734,
          -0.2361387014389038,
          -0.2014409899711609,
          -0.17727318406105042,
          -0.33608880639076233,
          -0.10193341225385666,
          -0.2603590488433838,
          -0.2758983373641968,
          -0.2571526765823364,
          -0.20829561352729797,
          -0.24545684456825256,
          -0.2118619978427887,
          -0.2504938244819641,
          -0.3120785653591156,
          -0.1951155662536621,
          -0.1859482228755951,
          -0.31379982829093933,
          -0.2501648962497711,
          -0.29517704248428345,
          -0.1919114887714386,
          -0.24350246787071228,
          -0.22560855746269226,
          -0.2323426902294159,
          -0.23588669300079346,
          -0.2449803650379181,
          -0.08558862656354904,
          -0.3058624863624573,
          -0.2530971169471741,
          -0.2809408903121948,
          -0.21741154789924622,
          -0.06145346909761429,
          -0.27431589365005493,
          -0.24385559558868408,
          -0.2480332851409912,
          -0.27340149879455566,
          -0.20218724012374878,
          -0.32616597414016724,
          -0.3250671625137329,
          -0.3123154938220978,
          -0.18233248591423035,
          -0.29235196113586426,
          -0.05567927658557892,
          -0.2553316652774811,
          -0.27155089378356934,
          -0.3220190107822418,
          -0.30317267775535583,
          -0.21744698286056519,
          -0.2277134358882904,
          -0.26180943846702576,
          -0.2534183859825134,
          -0.19617003202438354,
          -0.13273024559020996,
          -0.22754213213920593,
          -0.23085567355155945,
          -0.19102078676223755,
          -0.23621252179145813,
          -0.22467690706253052,
          -0.29458990693092346,
          -0.18096265196800232,
          -0.32161620259284973,
          -0.16227778792381287,
          -0.2517595887184143,
          -0.30655255913734436,
          -0.2857232093811035,
          -0.24770787358283997,
          -0.32579100131988525,
          -0.3428092300891876,
          -0.19976502656936646,
          -0.29969215393066406,
          -0.2606517970561981,
          -0.30924907326698303,
          -0.2341529130935669,
          -0.31950876116752625,
          -0.24763908982276917,
          -0.24996408820152283,
          -0.249461829662323,
          -0.27353644371032715,
          -0.15215864777565002,
          -0.2897559404373169,
          -0.23388314247131348,
          -0.08757094293832779,
          -0.2445605993270874,
          -0.28048381209373474,
          -0.3319365680217743,
          -0.32476845383644104,
          -0.3207946717739105,
          -0.2633890211582184,
          -0.2462977170944214,
          -0.28339383006095886,
          -0.049876973032951355,
          -0.24500861763954163,
          -0.2758345603942871,
          -0.3181598484516144,
          -0.23827189207077026,
          -0.27504023909568787,
          -0.23825058341026306,
          -0.26093021035194397,
          -0.3040992319583893,
          -0.27998456358909607,
          -0.22855937480926514,
          -0.247109055519104,
          -0.2847740054130554,
          -0.2787456214427948,
          -0.32066118717193604,
          -0.033699437975883484,
          -0.2561531066894531,
          -0.2644787132740021,
          -0.24551722407341003,
          -0.03110029548406601,
          -0.2079409658908844,
          -0.2110334038734436,
          -0.20385628938674927,
          -0.22682785987854004,
          -0.21318957209587097,
          -0.24328279495239258
         ],
         "y": [
          0.07682547718286514,
          -0.023009318858385086,
          0.09551522135734558,
          0.016995113343000412,
          0.026869330555200577,
          -0.030085520818829536,
          0.07477737963199615,
          0.10767273604869843,
          0.0940026044845581,
          0.09367715567350388,
          0.027519550174474716,
          0.017122182995080948,
          0.07667957991361618,
          0.02220320887863636,
          0.0038793636485934258,
          0.16485238075256348,
          0.17917364835739136,
          0.08307336270809174,
          0.0708456039428711,
          0.11787083745002747,
          0.04830460995435715,
          -0.0019232556223869324,
          -0.014016177505254745,
          0.1305810511112213,
          0.15558259189128876,
          0.023870574310421944,
          0.020246809348464012,
          0.09725506603717804,
          0.13822591304779053,
          0.0588378943502903,
          0.006276932079344988,
          0.012873739004135132,
          0.1245604157447815,
          -0.02342892438173294,
          0.027534805238246918,
          0.04620199650526047,
          0.01311052218079567,
          0.13832607865333557,
          -0.029009610414505005,
          0.23794367909431458,
          0.2174105942249298,
          0.09500035643577576,
          0.20503045618534088,
          0.053999513387680054,
          0.025125261396169662,
          0.17061418294906616,
          0.17526432871818542,
          0.05989896506071091,
          0.10235618054866791,
          0.12473322451114655,
          -0.010524449869990349,
          0.09848544001579285,
          0.224279522895813,
          0.25019294023513794,
          0.21909484267234802,
          0.14494216442108154,
          0.10533866286277771,
          0.1922813057899475,
          0.019708603620529175,
          0.07139213383197784,
          0.1696731299161911,
          -0.003878345713019371,
          0.008345186710357666,
          0.12990503013134003,
          -0.031424522399902344,
          -0.023498721420764923,
          0.027978498488664627,
          0.025803955271840096,
          0.08494263142347336,
          -0.06400362402200699,
          0.18883216381072998,
          -0.026410356163978577,
          0.04246655851602554,
          -0.006801721174269915,
          0.05071388930082321,
          0.0316360667347908,
          0.10058905184268951,
          0.09607073664665222,
          0.16982796788215637,
          -0.04983885958790779,
          0.11407742649316788,
          0.1482144296169281,
          0.011151600629091263,
          0.14903008937835693,
          0.07169514894485474,
          -0.02044754847884178,
          0.09182281792163849,
          0.15160955488681793,
          0.08363412320613861,
          -0.04001360014081001,
          0.0748598501086235,
          0.23653265833854675,
          0.13287153840065002,
          0.0661170482635498,
          0.09577222168445587,
          0.07148277759552002,
          0.10339739173650742,
          0.23176193237304688,
          0.15361863374710083,
          -0.061726298183202744,
          0.15786898136138916,
          0.20316097140312195,
          0.15046186745166779,
          0.19130605459213257,
          0.20187386870384216,
          -0.07181838899850845,
          0.026033718138933182,
          0.15499255061149597,
          0.14067092537879944,
          -0.05008627101778984,
          -0.04386574402451515,
          0.11748339235782623,
          0.047897353768348694,
          -0.030815444886684418,
          0.1361287534236908,
          0.21471399068832397,
          0.1258673369884491,
          0.1870270073413849,
          0.03925205022096634,
          0.15722252428531647,
          0.08847950398921967,
          0.16911831498146057,
          0.10275000333786011,
          0.08630205690860748,
          0.18791444599628448,
          0.1626739799976349
         ]
        },
        {
         "marker": {
          "color": 42,
          "size": 5
         },
         "mode": "markers",
         "name": "37",
         "text": [
          "iPad Air Wi-Fi 64GB Space Grey  ",
          "iPad Pro 12.9\" 256GB Wi-Fi Space Grey",
          "iPad Pro 12.9-inch 256GB Wi-Fi Space Grey ",
          "iPad Pro 10.5\" 512GB Wi-Fi+Cellular Space Grey ",
          "iPad 32GB Wi-Fi Space Grey",
          "iPad Pro 10.5\" 64GB Wi-Fi Space Grey ",
          "Apple 11\" iPad Pro 256GB Wi-Fi Space Grey   ",
          "iPad Pro 10.5\" 512GB Wi-Fi Rose Gold",
          "iPad 7th Generation 128GB Wi-Fi Gold  ",
          "Apple 12.9\" iPad Pro 256GB Wi-Fi Space Grey  ",
          "Apple 11\" iPad Pro 128GB Wi-Fi Space Grey   ",
          "iPad Pro 12.9\" 256GB Wi-Fi + Cellular Space Grey ",
          " iPad Pro 12.9\" 256GB Wi-Fi + Cellular Gold",
          "iPad 32GB Wi-Fi + Cellular Silver",
          "iPad 128GB Wi-Fi Space Grey",
          "iPad 32GB Wi-Fi Silver",
          "iPad 128GB Wi-Fi Silver",
          "iPad 128GB Wi-Fi Gold",
          "iPad 32GB Wi-Fi Gold",
          "iPad 128GB Wi-Fi + Cellular Silver",
          "iPad 6th Generation 128GB Wi-Fi Space Grey ",
          "iPad 7th Generation 128GB Wi-Fi Space Grey   ",
          "iPad Pro 11-inch  64GB Wi-Fi Space Grey",
          "Apple 12.9\" iPad Pro 256GB Wi-Fi + Cellular Space Grey",
          "iPad 7th Generation 32GB Wi-Fi Space Grey ",
          "iPad 7th Generation 32GB Wi-Fi Gold ",
          "iPad 7th Generation 32GB Wi-Fi Silver  ",
          "iPad 7th Generation 128GB Wi-Fi Silver ",
          "iPad Pro 10.5\" 256GB Wi-Fi Space Grey "
         ],
         "type": "scatter",
         "x": [
          0.2880133390426636,
          0.3436293303966522,
          0.33739274740219116,
          0.36391836404800415,
          0.3124532699584961,
          0.3346657156944275,
          0.36142992973327637,
          0.30402085185050964,
          0.30889153480529785,
          0.3542153239250183,
          0.35864371061325073,
          0.36407625675201416,
          0.3303527235984802,
          0.30627933144569397,
          0.3044406473636627,
          0.293212354183197,
          0.28726136684417725,
          0.28850480914115906,
          0.29012954235076904,
          0.3008866310119629,
          0.2953217625617981,
          0.3254750370979309,
          0.3286411762237549,
          0.3708403706550598,
          0.3337726593017578,
          0.31063276529312134,
          0.31138092279434204,
          0.3045663833618164,
          0.3492545783519745
         ],
         "y": [
          0.12913432717323303,
          0.13096709549427032,
          0.11448007822036743,
          0.14085990190505981,
          0.11435326933860779,
          0.15474003553390503,
          0.13300320506095886,
          0.12113109230995178,
          0.1689823567867279,
          0.15359772741794586,
          0.14452965557575226,
          0.154567688703537,
          0.14625754952430725,
          0.10379485785961151,
          0.10999006032943726,
          0.08792655169963837,
          0.09031527489423752,
          0.11343701928853989,
          0.11311087012290955,
          0.10128769278526306,
          0.15893855690956116,
          0.16812165081501007,
          0.12589174509048462,
          0.1714993417263031,
          0.1704285889863968,
          0.169304758310318,
          0.14751745760440826,
          0.14677980542182922,
          0.1196604073047638
         ]
        },
        {
         "marker": {
          "color": 43,
          "size": 5
         },
         "mode": "markers",
         "name": "38",
         "text": [
          "Electrolux - EMF2529DSD - 25L Combination Microwave",
          "Electrolux - ZB3311 - 18V Ergorapido Allergy - Titan Blue",
          "Electrolux - EHG755SD - 75cm Gas Cooktop",
          "Electrolux - UMP3 - Bag Dust Ultrasilencer Mega Pack",
          "Electrolux - EVEP916SB - 90cm Electric Multifunction Pyrolytic Oven",
          "Electrolux - ERR627SA - 60cm Slide Out Rangehood",
          "Dimplex - BLF7451-AU - 74\" Wall-Mounted PRISM Electric Fire",
          "Chef - 54cm Freestanding Electric Cooker - CFE536SB",
          "Electrolux - EHI635BD - 60cm Induction Cooktop",
          "Electrolux - EVE616DSD - 60cm Multifunction Oven",
          "Electrolux - EFEP915SB - 90cm Dual Fuel Freestanding Cooker",
          "Electrolux - EHI745BD - 70cm Induction Cooktop",
          "Electrolux - EHI955BD - 90cm Induction Cooktop",
          "Tiger - JNP1800FLZ - Electric Rice Cooker",
          "Tefal - GC712 - Optigrill+ Smart Electric Grill ",
          "Beko - HIC64105 - 60cm Electric Cooktop",
          "Electrolux Ease C3 Origin - Bagless Vacuum Cleaner - Ice White",
          "Volta - 1840 - ELECTROLUX VOLTA AEG PROGRES-3TORNADO",
          "Electrolux - EHC644BA - 60cm Electric Cooktop",
          "Electrolux - KIT10A - Ergorapido and Rapido Car Kit  ",
          "Omega - OO654X - 60cm Electric Oven - Stainless Steel Finish",
          "Electrolux - ERI842DSD - 86cm Integrated Rangehood ",
          "Electrolux - EVEP618DSD - 60cm Multifunction Oven",
          "Dimplex - ETM20-AU - 2kW Eltham Mantle Firebox",
          "Dimplex - Pemberley - Opti-myst Wall Mounted Electric Fire",
          "Euromaid - R54RW - 54cm Electric Oven Radiant Coil Cooktop",
          "Electrolux - STA9GW - Laundry Stacking Kit ",
          "Electrolux - EVEM645DSD - 44L Compact Combination Microwave Oven",
          "Euromaid - MC130T - Electric Benchtop Cooker",
          "Omega - OO885XR - 60cm Electric Double Oven",
          "Electrolux - 9kg UltimateCare System- EWF14933",
          "Electrolux - ZB3320P - 18V Ergorapido Animal",
          "Electrolux Pure C9 Animal - Chili Red",
          "Electrolux - EVEP626DSD - 60cm Multifunction Duo Oven",
          "Electrolux - EWD1402DSD - 14cm Built-in Warming Drawer ",
          "Electrolux - EHI645BD - 60cm Induction Cooktop",
          "Electrolux - ERI712SA - 70cm Integrated Rangehood",
          "Glem - IT965PROEI2 - 90cm Electric Multifunction Oven",
          "Electrolux - EHG645BD - 60cm Gas Cooktop",
          "Electrolux - EHI997BD - 90cm Induction Cooktop",
          "Electrolux - EVE614SD - 60cm Multifunction Oven",
          "Electrolux - EF144A - Ergorapido & Rapido Filters",
          "Electrolux - EHI935BA - 90cm Induction Cooktop",
          "Electrolux - EHG953BA - 90cm Gas Cooktop",
          "Electrolux - EHG643BA - 60cm Gas Cooktop",
          "Electrolux - EVEP618SC - 60cm Multifunction Steam Oven",
          "Electrolux - EVEP614SC - Multifunction 10 Pyrolux Pyrolytic Oven",
          "Electrolux - EVE636SC - 60cm Mutifunction 12/12 Double Oven",
          "Dimplex - BLF5051-AU - 50\" Wall-Mounted PRISM Electric Fire",
          "Electrolux - EHI745BA - 70cm Induction Cooktop",
          "Electrolux - EHI667BD - 60cm Induction Cooktop",
          "Dimplex - TLC20LX-AU - Toluca Deluxe 2kW Optiflame Electric Fire",
          "Electrolux - USK11ANZ - Ultraflex Starter Kit",
          "Electrolux - EVE614DSD - 60cm Multifunction Oven",
          "Dimplex - SWD20-AU - 2kW Sherwood Mantle Firebox",
          "Dimplex - WDS20-AU - Windelsham 2kW Revillusion Electric Fireplace",
          "Electrolux - ZUF4303PET - UltraFlex™ Animal Allergy ",
          "Electrolux - EFEP956DSD - 90cm Freestanding Cooker",
          "Electrolux - EHG953SA - 90cm Gas Cooktop",
          "Dimplex - WIN-W-LF - 2kW Winston Electraflame",
          "Chef - 54cm Freestanding Electric Cooker - CFE532WB",
          "Westinghouse - WHEF01G - Electric Frypan",
          "Electrolux - EVE636DSD - 60cm Multifunction Duo Oven",
          "Smeg - C6CMXA8 - 60cm Electric Upright Cooker",
          "Dimplex - RBF36-AU - 36\" Built-in Revillusion Electric Firebox",
          "Omega - OO640X - 60cm Electric Single Oven",
          "Dimplex - DF2608-LED - 26\" Optiflame LED Electric Firebox",
          "Electrolux - EVEP614DSD - 60cm Multifunction Oven",
          "Electrolux - EVEP916DSD - 90cm Multifunction Oven",
          "Electrolux - ZSP4302PP - SilentPerformer™ Cyclonic Animal",
          "Electrolux - ERI512SA - 52cm Integrated Rangehood",
          "Vax - VX72 - Power 7 Pet Barrel Vacuum",
          "Westinghouse - WHEF02K - Black Electric Fry Pan",
          "Electrolux - EFEP916DSD - 90cm Dual Fuel Freestanding Cooker",
          "Dimplex - BLF3451-AU - 34\" Wall-Mounted PRISM Electric Fire",
          "Electrolux - EHG645SD - 60cm Gas Cooktop",
          "Electrolux - EVE626DSD - 60cm Multifunction Duo Oven",
          "Electrolux - ACC139 - Replacement Refrigeration Water Filter",
          "Electrolux - EVEP614SD - 60cm Multifunction Oven",
          "Dimplex - RBF42-AU - 42\" Built-in Revillusion Electric Firebox",
          "Electrolux - EHI845BB - 80cm Induction Cooktop",
          "Dimplex - Fieldstone - Electric Flame Heater",
          "Omega - OBO674X - 60cm Electric Oven",
          "Dimplex - OSB20-AU - Osbourne 2kW Revillusion Electric Fireplace",
          "Electrolux - EC41-4ANIM - Ease C4 Vacuum Cleaner",
          "Dimplex - Oakhurst - 2kW Oakhurst Portable Electric Stove",
          "Dimplex - SSE-E-LF - 2kW Kenton Expresso Electraflame",
          "Dimplex - SSE-W-LF - 2kW Kenton White Electraflame",
          "Electrolux - EVEP616DSD - 60cm Multifunction Oven",
          "Dimplex - STA20-AU - Strata 2kW Revillusion Electric Fireplace",
          "Tefal - GC722 - Optigrill+ XL Smart Electric Grill ",
          "Sunbeam - PE6100 - Aviva™ 6L Electronic Pressure Cooker",
          "Electrolux Pure Q9 Cordless Vacuum - Indigo Blue   ",
          "Electrolux - EMB2529DSD - 25L Microwave Oven",
          "Electrolux - EHG955SD - 90cm Gas Cooktop",
          "Omega - OO757X - 75cm Electric Oven",
          "Electrolux Pure Q9 Animal Cordless Vacuum - Shale Grey Metallic",
          "Tiger - JNP1000FLZ - Electric Rice Cooker",
          "Electrolux - E201S - s-bag® Classic Long Performance Dust Bags",
          "Electrolux - EHI965BA - 90cm Induction Cooktop",
          "Electrolux - EVEP626SD - 60cm Multifunction Duo Oven",
          "Electrolux - ERI522DSD - 52cm Integrated Rangehood",
          "DeLonghi - DEH60SX1 - 60cm Electric Cooktop Stainless Steel",
          "Electrolux - PC91-4IG - Pure C9 Origin - Iron Grey ",
          "Electrolux - EHG755SA - 75cm Gas Cooktop",
          "Dimplex - MINICUBE-B - 1.5kW Mini Cube Portable Electric Fire",
          "Dimplex - WLL20-AU - Willowbrook 2kW Opti-myst Portable Electric Stove",
          "Electrolux - EHI645BB - 60cm Induction Cooktop",
          "Neff N 70 Electric Hob 60 cm Black - T11D41X2",
          "Dimplex - Redway - 2kW Redway Wall-Mounted Electric Fire",
          "Chef - 54cm Freestanding Electric Cooker - CFE547SB",
          "Volta - 1800 - ELECTROLUX VOLTA AEG PROGRES-3TORNADO",
          "Electrolux - PowerForce™ Animal All Floors - ZPF2310T",
          "Electrolux - EVE626SC - 60cm Multifunction 12/6 Duo Wall Oven",
          "Electrolux - EHG955SA - 90cm Gas Cooktop",
          "Electrolux - VCSK4 - Value Pack",
          "Smart - WM700EW - Wall Mounted Electric BBQ",
          "Electrolux - EFE914DSD - 90cm Dual Fuel Freestanding Cooker"
         ],
         "type": "scatter",
         "x": [
          -0.155840665102005,
          0.021607257425785065,
          -0.3462674021720886,
          0.043057478964328766,
          -0.3332555890083313,
          -0.11387960612773895,
          -0.14702865481376648,
          -0.37003228068351746,
          -0.2546762228012085,
          -0.35617372393608093,
          -0.3198702037334442,
          -0.24716272950172424,
          -0.2491573989391327,
          -0.21053728461265564,
          -0.1342776119709015,
          -0.32559117674827576,
          -0.04013732820749283,
          -0.0028932616114616394,
          -0.3169093728065491,
          0.0466262623667717,
          -0.31116732954978943,
          -0.10484727472066879,
          -0.34820297360420227,
          -0.03431367874145508,
          -0.06913699209690094,
          -0.3548263609409332,
          -0.13540059328079224,
          -0.24425795674324036,
          -0.27541714906692505,
          -0.32041189074516296,
          -0.022510692477226257,
          -0.00878637284040451,
          0.04022678732872009,
          -0.3256819546222687,
          -0.17460525035858154,
          -0.26556527614593506,
          -0.07760414481163025,
          -0.3291773200035095,
          -0.3517685830593109,
          -0.2489595115184784,
          -0.35599038004875183,
          0.05060938000679016,
          -0.24728849530220032,
          -0.36144956946372986,
          -0.3599695861339569,
          -0.3735991418361664,
          -0.2683505117893219,
          -0.34638041257858276,
          -0.12139219790697098,
          -0.2548846900463104,
          -0.2409394383430481,
          -0.012230858206748962,
          -0.021176442503929138,
          -0.3586711883544922,
          -0.06399694830179214,
          -0.17060714960098267,
          -0.018660828471183777,
          -0.34681135416030884,
          -0.36474961042404175,
          -0.06980856508016586,
          -0.3664698600769043,
          -0.32294338941574097,
          -0.33414244651794434,
          -0.3652510643005371,
          -0.12083794176578522,
          -0.3164532780647278,
          -0.03962063789367676,
          -0.346158504486084,
          -0.32889324426651,
          0.02514880895614624,
          -0.03663908690214157,
          -0.08852123469114304,
          -0.2783924341201782,
          -0.31016770005226135,
          -0.11913347244262695,
          -0.3468729853630066,
          -0.33670929074287415,
          -0.03672640770673752,
          -0.3440295457839966,
          -0.07692690938711166,
          -0.276902437210083,
          -0.14356014132499695,
          -0.32145264744758606,
          -0.15421831607818604,
          -0.03883470594882965,
          -0.18377685546875,
          -0.06301235407590866,
          -0.08914778381586075,
          -0.3468010425567627,
          -0.15685884654521942,
          -0.15873786807060242,
          -0.20649206638336182,
          0.05331387743353844,
          -0.2516109347343445,
          -0.32925698161125183,
          -0.32519909739494324,
          0.04093107953667641,
          -0.18160858750343323,
          0.03428734093904495,
          -0.26109108328819275,
          -0.3298308849334717,
          -0.05568600445985794,
          -0.3061758577823639,
          0.04734085500240326,
          -0.3534752428531647,
          -0.0989135280251503,
          -0.20597633719444275,
          -0.2777459919452667,
          -0.11349047720432281,
          -0.08315516263246536,
          -0.35782983899116516,
          0.010024875402450562,
          0.021212249994277954,
          -0.30019351840019226,
          -0.33628958463668823,
          0.06563106179237366,
          -0.04965723305940628,
          -0.3065578043460846
         ],
         "y": [
          0.016432642936706543,
          -0.14301803708076477,
          0.12025150656700134,
          -0.2387726902961731,
          0.04520474374294281,
          0.0011095907539129257,
          -0.030983611941337585,
          0.007883403450250626,
          0.018599364906549454,
          0.09247833490371704,
          0.008314769715070724,
          -0.0021291635930538177,
          -0.005728021264076233,
          -0.07985199987888336,
          0.05419877916574478,
          -0.02408153936266899,
          -0.11851324886083603,
          -0.11939278244972229,
          0.019779659807682037,
          -0.08318743109703064,
          0.10808701813220978,
          -0.03601609915494919,
          0.09127965569496155,
          -0.05146925523877144,
          -0.14809851348400116,
          0.09164483100175858,
          -0.006500966846942902,
          0.05452902615070343,
          0.006683439016342163,
          0.08707860112190247,
          -0.0007806317880749702,
          -0.057090140879154205,
          -0.03254516422748566,
          0.07057925313711166,
          0.051956433802843094,
          0.007552269846200943,
          -0.04142488166689873,
          0.05878213047981262,
          0.08638027310371399,
          -0.036920491605997086,
          0.09336727112531662,
          -0.11333070695400238,
          -0.00540456548333168,
          0.08726816624403,
          0.11623932421207428,
          0.13144780695438385,
          0.022434156388044357,
          0.08458946645259857,
          -0.09339682012796402,
          -0.010744605213403702,
          0.01870243437588215,
          -0.01255638524889946,
          -0.07397378236055374,
          0.08206619322299957,
          -0.015641257166862488,
          0.03585178405046463,
          -0.09669899940490723,
          0.01658327877521515,
          0.12099183350801468,
          -0.06367290019989014,
          -0.006250388920307159,
          -0.015390217304229736,
          0.07591979205608368,
          0.10247667133808136,
          -0.058199431747198105,
          0.11431847512722015,
          0.04198809340596199,
          0.08314747363328934,
          0.054894447326660156,
          -0.1284940540790558,
          -0.038409989327192307,
          -0.028253676369786263,
          -0.026148732751607895,
          0.023034706711769104,
          -0.07398442924022675,
          0.1305258572101593,
          0.06912938505411148,
          -0.12136665731668472,
          0.08848462253808975,
          -0.028556354343891144,
          -0.03288409113883972,
          -0.11676587909460068,
          0.06766141951084137,
          -0.03913842886686325,
          -0.027055470272898674,
          -0.05497254431247711,
          -0.018022321164608,
          -0.020204786211252213,
          0.08480647206306458,
          0.0006732381880283356,
          0.08593819290399551,
          -0.022973457351326942,
          -0.10144159197807312,
          0.02140161395072937,
          0.16561859846115112,
          0.08560514450073242,
          -0.008944143541157246,
          -0.09402607381343842,
          -0.08454181253910065,
          -0.0075941625982522964,
          0.07284492999315262,
          -0.028851687908172607,
          0.07062717527151108,
          0.05602364242076874,
          0.11907820403575897,
          -0.09129646420478821,
          0.0047797635197639465,
          -0.003953183069825172,
          0.03317048400640488,
          -0.07282671332359314,
          -0.018978938460350037,
          -0.12608057260513306,
          -0.08931444585323334,
          0.09226040542125702,
          0.1576932668685913,
          -0.049117714166641235,
          0.031944725662469864,
          0.02228805050253868
         ]
        },
        {
         "marker": {
          "color": 44,
          "size": 5
         },
         "mode": "markers",
         "name": "39",
         "text": [
          "Jabra - Talk Bluetooth Headset - 100-92200000-33",
          "JBL - JBLT600BTNCWHT - Wireless Headphones",
          "JBL - JBLJR300BTUNO - Kids Wireless On-Ear Headphones",
          "B&O Play - A1 Green - Beoplay A1 Portable Bluetooth Speaker",
          "Sony - SRSXB43B - EXTRA BASS™ Portable Bluetooth Speaker - Black",
          "JBL - Flip 3 Red - Splashproof Portable Bluetooth Speaker",
          "JBL - JBLREFCONTOUR2 - Reflect Contour 2 - Black",
          "JBL - Inspire 500 In-Ear Wireless Sport Headphones - JBLINSP500BLK",
          "Bush - BPA1505BT - LED Rechargeable Bluetooth Party Speaker",
          "Harman/Kardon - Onyx Studio 3 - Portable Bluetooth Speaker - Black",
          "B&O Play - P2 Black - Beoplay P2 Portable Bluetooth Speaker",
          "JBL - Boombox 2 - Portable Bluetooth Speaker",
          "JBL - Portable Bluetooth Speaker - FLIP4 BLUE",
          "Sony - SRS-XB22 - Extra Bass Portable Bluetooth Speaker - Black ",
          "JBL - Flip3 Grey - Splashproof Bluetooth Speaker",
          "JBL Bar 2.0 All-in-One Soundbar - 80W ",
          "Sony - SRSXB21L - Extra Bass Portable Party Speaker - Blue",
          "JBL - JBLE35BLU - E35 Headphone - Blue",
          "B&O - Beolit 17 Portable Speaker - Natural ",
          "JBL Flip Essential Portable Bluetooth Speaker  ",
          "JBL Link Bar - Voice-Activated Soundbar with Android TV",
          "JBL - JBLT110BTWHT - In-Ear Wireless Headphones",
          "Sony - SRSXB23C - EXTRA BASS™ Portable Bluetooth Speaker - Taupe",
          "Sony - SRSXB22H - Extra Bass Portable Bluetooth Speaker - Grey",
          "Sennheiser - BT T100 - Bluetooth® Audio Transmitter",
          "JBL - LINK20 - Voice-activated Portable Speaker - Black  ",
          "JBL - JBLGO2BLACK - Portable Bluetooth Speaker - Black",
          "JBL - Link 300 - Voice-activated Speaker - Black",
          "JBL - JBLJRPOPRED - JR Pop Speaker - Red",
          "JBL - CLIP 2 RED - Portable Bluetooth Speaker",
          "B&O Play - P2 Sand Stone - Beoplay P2 Portable Bluetooth Speaker",
          "Audio Pro - BT5 Bluetooth Speaker - Driftwood",
          "JBL TUNE 220TWS True Wireless Earbuds - Blue",
          "JBL - JBLT500BTPIK - TUNE 500BT Wireless On-Ear Headphones - Pink",
          "JBL - Portable Bluetooth Speaker - Flip 5 Black",
          "JBL - XTREME RED - Portable Bluetooth Speaker",
          "JBL PartyBox 300 - Wireless Bluetooth Party Speaker - JBLPARTYBOX300",
          "JBL PartyBox 100 - Powerful Portable Bluetooth Party Speaker",
          "JBL - LINK 10 - Voice-activated Portable Speaker - White",
          "Sony - SRSXB23B - EXTRA BASS™ Portable Bluetooth Speaker - Black",
          "Audio Pro - BT5 Bluetooth Speaker - Walnut  ",
          "JBL - Charge 4 Pink - Portable Bluetooth Speaker",
          "JBL - JBLGOBLK - GO Portable Bluetooth Speaker",
          "Sony - SRSXB22R - Extra Bass Portable Bluetooth Speaker - Red",
          "Sony - SRSXB43C - EXTRA BASS™ Portable Bluetooth Speaker - Taupe",
          "JBL - Portable Bluetooth Speaker - FLIP4 WHITE",
          "JBL - Portable Bluetooth Speaker - Flip 5 Pink",
          "Sony - SRSXB23R - EXTRA BASS™ Portable Bluetooth Speaker - Red",
          "JBL Free X | Truly Wireless In-Ear Headphones - Black",
          "B&O Play - A1 Natural - Beoplay A1 Portable Bluetooth Speaker",
          "JBL - JBLGO2CINNAMON - Portable Bluetooth Speaker - Cinnamon",
          "JBL - Link View Voice Activated Speaker - Black",
          "JBL - Playlist Wireless Speaker - JBLPLYLIST150BLKAS",
          "Sony - SRSXB33L - EXTRA BASS™ Portable Bluetooth Speaker - Blue",
          "Sony - SRSXB23L - EXTRA BASS™ Portable Bluetooth Speaker - Blue",
          "JBL Kids Wireless On-Ear Headphones - Pink - JBLJR300BT",
          "JBL - JBLGO2RED - Portable Bluetooth Speaker - Red",
          "JBL - E55BT Over Ear Headphones - Black - JBLE55BTBLK ",
          "JBL - CHARGE 3 BLUE - Portable Bluetooth Speaker",
          "JBL - JBLTUNERBLKAU - Portable Bluetooth Speaker with DAB/FM",
          "JBL 5.1 Channel Surround Soundbar with MultiBeam™ Sound - 550W",
          "JBL - JBLGO2BLUE - Portable Bluetooth Speaker - Blue",
          "Sony - SRSXB33C - EXTRA BASS™ Portable Bluetooth Speaker - Taupe",
          "JBL Free X | Truly Wireless In-Ear Headphones - White",
          "JBL - JBLGOYEL - GO Portable Bluetooth Speaker",
          "JBL - JBLT210BLK - In-ear headphones - Black",
          "Harman/Kardon - Go + Play - Portable Bluetooth Speaker",
          "JBL - CLIP 3 BLACK - Portable Bluetooth® Speaker",
          "Sony - SRS-XB12 - Portable Bluetooth® Speaker - Grey ",
          "JBL - Charge 4 Blue - Portable Bluetooth Speaker  ",
          "JBL - CLIP 2 BLACK - Portable Bluetooth Speaker",
          "JBL - JBLT500BLK - Tune 500 Wired On-Ear Headphones",
          "JBL - Tune 120TWS Black - Wireless In-ear Headphones",
          "Sengled -  Pulse LED + Wireless Speaker - Pair - B22",
          "JBL Endurance DIVE | Waterproof Wireless In-Ear Sport Headphones with MP3 Player",
          "JBL - JBLT210RGD - In-ear Headphones - Rose Gold ",
          "JBL - JBLHORIZONBLKEU - Bluetooth®  Clock Radio - Black",
          "JBL - JBLT600BTNCPIK - Wireless Headphones",
          "Jabra - Drive Black - Drive In-Car Speakerphone",
          "JBL - JBLJRPOPPUR - JR Pop Speaker - Iris Purple",
          "JBL - XTREME 2 GREEN - Portable Bluetooth Speaker",
          "JBL - JBLT600BTNCBLK - TUNE 600 BTNC Noise Cancelling  Headphones",
          "JBL - JBLPULSE4BLK - Pulse 4 Portable Bluetooth Speaker",
          "JBL - Portable Bluetooth Speaker - Flip 5 Blue",
          "JBL - JBLINSP700TEL - Inspire 700 for Women -  In-Ear Wireless Headphones",
          "Harman/Kardon - Onyx Mini Black - Portable Bluetooth Speaker",
          "Audio Pro - BT5 Bluetooth Speaker - Black",
          "JBL - LIVE 650BTNC - Wireless Noise Cancelling Headphones - Blue",
          "JBL - JBLT450WHT - T450 On-ear Headphones - White",
          "JBL - CLIP 3 RED - Portable Bluetooth® Speaker",
          "Jabra - Talk 5 Mono Bluetooth Headset ",
          "Jabra - Talk 15 Mono Bluetooth Headset",
          "Sony - SRSXB33R - EXTRA BASS™ Portable Bluetooth Speaker - Red",
          "JBL - JBLT500BTWHT - TUNE 500BT Wireless On-Ear Headphones - White",
          "JBL - JBLT500BLU - Tune 500 Wired On-Ear Headphones",
          "JBL - JBLT110BTBLK - In-Ear Wireless Headphones ",
          "Jabra - Talk 45 Mono Bluetooth Headset",
          "JBL TUNE 220TWS True Wireless Earbuds - Black",
          "JBL TUNE 220TWS True Wireless Earbuds - White",
          "JBL - Tune 120TWS White - Wireless In-ear Headphones",
          "JBL Bar 2.1Channel Deep Bass Soundbar with Wireless Subwoofer - 300W",
          "JBL - XTREME 2 BLUE - Portable Bluetooth Speaker",
          "Sony - SRSXB41B - Portable Wireless Bluetooth Speaker - Black",
          "JBL - JBLENDURPEAKBLK - Endurance Peak Wireless Headphones",
          "JBL LIVE 400BT Wireless On-Ear Headphones - Black",
          "JBL - LIVE 650BTNC - Wireless Noise Cancelling Headphones - Black",
          "JBL - JBLT600BTNCBLU - Wireless - Active Noise-Cancelling Headphones",
          "JBL - PULSE2BLACK - Splashproof Bluetooth Speaker",
          "JBL Endurance SPRINT | Waterproof Wireless In-Ear Sport Headphones",
          "Sony - SRS-XB12 - Portable Bluetooth® Speaker - Black  ",
          "Sony - SRSXB43L - EXTRA BASS™ Portable Bluetooth Speaker - Blue",
          "JBL - Portable Bluetooth Speaker - Flip 5 Green",
          "Sony - SRSXB32R - Extra Bass Portable Bluetooth Speaker - Red",
          "Sony - SRSXB33B - EXTRA BASS™ Portable Bluetooth Speaker - Black",
          "Sangean - BTS-101GB - BLUTAB Portable Stereo/Bluetooth Speaker",
          "JBL - Boombox - Portable Bluetooth Speaker",
          "JBL - PartyBox 1000 Bluetooth Party Speaker",
          "JBL - CHARGE 3 RED - Portable Bluetooth Speaker",
          "JBL - Charge 4 Black - Portable Bluetooth Speaker  ",
          "JBL - XTREME 2 BLACK - Portable Bluetooth Speaker",
          "JBL - Flip3 Black - Splashproof Bluetooth Speaker",
          "Sony - SRS-XB12 - Portable Bluetooth® Speaker - Red ",
          "JBL - CLIP 3 PINK - Portable Bluetooth® Speaker",
          "JBL - JBLSW10BLKAS - 10\" Powered Wireless Subwoofer",
          "JBL Endurance RUN Sports Headphones",
          "JBL  Endurance RUN In-Ear Sweatproof Wired Sport In-Ear Headphones",
          "JBL - JBLREFFLOWBLK - Reflect Flow Wireless Sport Headphones",
          "JBL LIVE 400BT Wireless On-Ear Headphones - White",
          "JBL - JBLT500BTBLK - TUNE 500BT Wireless On-Ear Headphones - Black"
         ],
         "type": "scatter",
         "x": [
          0.2687622904777527,
          0.3124489486217499,
          0.2898709774017334,
          0.31963080167770386,
          0.3540506064891815,
          0.315695583820343,
          0.18871144950389862,
          0.3122972548007965,
          0.16984295845031738,
          0.32891690731048584,
          0.33499741554260254,
          0.33489665389060974,
          0.3156566917896271,
          0.3453238010406494,
          0.3188994228839874,
          0.15607334673404694,
          0.2908247709274292,
          0.27270272374153137,
          0.17384983599185944,
          0.3483348488807678,
          0.32043975591659546,
          0.3098253011703491,
          0.33579662442207336,
          0.35488957166671753,
          0.3380570113658905,
          0.2883453071117401,
          0.3360234498977661,
          0.21844777464866638,
          0.19679082930088043,
          0.3517255187034607,
          0.28509649634361267,
          0.31291478872299194,
          0.3286704421043396,
          0.34279078245162964,
          0.3433360755443573,
          0.3212251365184784,
          0.261545866727829,
          0.27211639285087585,
          0.27612435817718506,
          0.3434758186340332,
          0.33661961555480957,
          0.3112577199935913,
          0.31933099031448364,
          0.34683752059936523,
          0.34911271929740906,
          0.30195480585098267,
          0.3227984607219696,
          0.3418697118759155,
          0.34436729550361633,
          0.31483906507492065,
          0.28240975737571716,
          0.2580816149711609,
          0.2879355549812317,
          0.3457223176956177,
          0.33856290578842163,
          0.3048262298107147,
          0.3336121439933777,
          0.2549647092819214,
          0.3004797399044037,
          0.3299565315246582,
          0.2488679438829422,
          0.32945916056632996,
          0.34347233176231384,
          0.31952184438705444,
          0.3207484483718872,
          0.2835547626018524,
          0.30907484889030457,
          0.3467978239059448,
          0.37105050683021545,
          0.3231945037841797,
          0.35199037194252014,
          0.3029799461364746,
          0.3002542555332184,
          0.20525123178958893,
          0.292668879032135,
          0.2539078891277313,
          0.30023229122161865,
          0.3052661120891571,
          0.25707754492759705,
          0.21527911722660065,
          0.3173765242099762,
          0.25475168228149414,
          0.3023798167705536,
          0.336362361907959,
          0.3019721210002899,
          0.32602787017822266,
          0.36502254009246826,
          0.264818012714386,
          0.2826085388660431,
          0.34305423498153687,
          0.3148016333580017,
          0.32273566722869873,
          0.3485056161880493,
          0.34177568554878235,
          0.30072104930877686,
          0.29652372002601624,
          0.27401548624038696,
          0.32884031534194946,
          0.3024384081363678,
          0.2785727083683014,
          0.24035212397575378,
          0.3356638550758362,
          0.3580707311630249,
          0.2754024863243103,
          0.3335363268852234,
          0.2689160406589508,
          0.27052220702171326,
          0.29736581444740295,
          0.2880382239818573,
          0.3629060387611389,
          0.3505316972732544,
          0.31939977407455444,
          0.3496064245700836,
          0.35148903727531433,
          0.25331443548202515,
          0.3244543671607971,
          0.28109583258628845,
          0.30246761441230774,
          0.33104807138442993,
          0.3382316827774048,
          0.3213711678981781,
          0.3606698215007782,
          0.3425430953502655,
          0.2464745193719864,
          0.2767234146595001,
          0.2348642349243164,
          0.26412233710289,
          0.30729684233665466,
          0.3621543347835541
         ],
         "y": [
          -0.35860365629196167,
          -0.32276540994644165,
          -0.3899346590042114,
          -0.19813185930252075,
          -0.18788626790046692,
          -0.33705422282218933,
          -0.2719401717185974,
          -0.310613214969635,
          -0.29694294929504395,
          -0.26424604654312134,
          -0.27238979935646057,
          -0.3459104001522064,
          -0.3186228275299072,
          -0.17515592277050018,
          -0.3428837060928345,
          -0.22767239809036255,
          -0.16418521106243134,
          -0.2640724182128906,
          -0.21604347229003906,
          -0.3083159625530243,
          -0.10269470512866974,
          -0.32442349195480347,
          -0.20941665768623352,
          -0.18103131651878357,
          -0.3061378002166748,
          -0.2667692303657532,
          -0.3229641318321228,
          -0.3146897554397583,
          -0.33785414695739746,
          -0.3148949146270752,
          -0.25343450903892517,
          -0.31553053855895996,
          -0.3552771210670471,
          -0.3274577856063843,
          -0.29278379678726196,
          -0.3161104619503021,
          -0.33325010538101196,
          -0.2605902850627899,
          -0.25584620237350464,
          -0.20486444234848022,
          -0.3318858742713928,
          -0.2859654724597931,
          -0.2794593572616577,
          -0.20331890881061554,
          -0.19148842990398407,
          -0.3164331316947937,
          -0.2908985912799835,
          -0.2122860997915268,
          -0.3268160820007324,
          -0.22183796763420105,
          -0.31221237778663635,
          -0.2731636166572571,
          -0.3420138955116272,
          -0.20457516610622406,
          -0.21033602952957153,
          -0.36225229501724243,
          -0.32604628801345825,
          -0.22700192034244537,
          -0.33907485008239746,
          -0.33560213446617126,
          -0.14917896687984467,
          -0.33149486780166626,
          -0.20739631354808807,
          -0.32579755783081055,
          -0.2801746129989624,
          -0.3145487308502197,
          -0.24674929678440094,
          -0.3299698829650879,
          -0.14559826254844666,
          -0.30109772086143494,
          -0.3242349624633789,
          -0.32015010714530945,
          -0.3108479976654053,
          -0.2736099362373352,
          -0.27219271659851074,
          -0.2955465316772461,
          -0.3079027533531189,
          -0.33720457553863525,
          -0.297390341758728,
          -0.3147734999656677,
          -0.2857775092124939,
          -0.2713296413421631,
          -0.279885858297348,
          -0.30730122327804565,
          -0.28900444507598877,
          -0.26741892099380493,
          -0.3163321614265442,
          -0.342576801776886,
          -0.20831246674060822,
          -0.31822407245635986,
          -0.34667885303497314,
          -0.346664696931839,
          -0.2071533501148224,
          -0.32097721099853516,
          -0.32806819677352905,
          -0.3326159417629242,
          -0.3318212032318115,
          -0.3385705351829529,
          -0.33704930543899536,
          -0.31018537282943726,
          -0.27070993185043335,
          -0.32105502486228943,
          -0.19528013467788696,
          -0.3701784014701843,
          -0.3600437343120575,
          -0.3233444094657898,
          -0.3360242247581482,
          -0.36959201097488403,
          -0.3148435950279236,
          -0.1513402760028839,
          -0.19187386333942413,
          -0.27070415019989014,
          -0.1833229660987854,
          -0.20074060559272766,
          -0.18632535636425018,
          -0.35590797662734985,
          -0.3326149582862854,
          -0.3277207911014557,
          -0.2904808819293976,
          -0.3209940791130066,
          -0.343503475189209,
          -0.1610335111618042,
          -0.31545162200927734,
          -0.21999259293079376,
          -0.29590553045272827,
          -0.28713902831077576,
          -0.35609906911849976,
          -0.36049526929855347,
          -0.3217858076095581
         ]
        },
        {
         "marker": {
          "color": 45,
          "size": 5
         },
         "mode": "markers",
         "name": "40",
         "text": [
          "Sennheiser CX 150BT Wireless Headset - Black",
          "Jabra Elite 65t True Wireless Earbuds - Copper Black ",
          "Ultimate Ears - Boom 3 Wireless Bluetooth Speaker - Unicorn",
          "Moki - ACC-HPKNCGY - Moki Navigator Headphones - Grey ",
          "Sony - MDREX15APB - EX Monitor Headphones",
          "Ultimate Ears - Wonderboom - Bluetooth Speaker - FireBall ",
          "Lightning to 3.5mm Headphone Jack Adapter",
          "Sony - MDR-ZX110B - ZX110 Headphones",
          "Moki - ACC-HPHBDR - Hybrid Bluetooth Earphones - Red ",
          "Jabra - 4305791 - Talk 35 Headset",
          "B&O Play - H3 Natural - Beoplay H3  In-Ear Headphones",
          "Urbanista Paris - True Wireless Headphones & Qi-wireless Pad Bundle - Fluffy Cloud",
          "Laser - DJ Style Over Ear Headphones - Red",
          "Jabra - 4305790 - Talk 25 Headset",
          "Bowers & Wilkins PX5 Noise Cancelling Wireless Headphones - Blue",
          "Laser  - DJ Style Over Ear Headphones - Silver",
          "Beats Solo3 Wireless On-Ear Headphones - Matt Black ",
          "Sony WH-1000XM3 Wireless Noise Cancelling Headphones",
          "Jabra - Elite Active 65t Earbuds - For True Wireless Music, Calls and Sport   ",
          "Marshall - Mode Earphones with Microphone",
          "Powerbeats3 Wireless Earphones - Black",
          "Sony - MDRZX110NC - Noise Cancelling Headphones",
          "Ultimate Ears - Megaboom - Wireless Speaker - Lava Red ",
          "Sony - MDREX15APW - EX Monitor Headphone (White)",
          "Marshall - Kilburn Black - Bluetooh Wireless Speaker ",
          "Sennheiser MOMENTUM Wireless - Noise Cancelling Headphones - Black",
          "urBeats3 - In-Ear Headphones - Matt Black",
          "Marshall - Monitor Bluetooth Headphones ",
          "Ultimate Ears - Boom 2 - Wireless Speaker - Lilac",
          "Sennheiser CX 150BT Wireless Headset - White",
          "Sennheiser CX 350BT Wireless Earphones - White",
          "Sony - MDRXB650BTB - Extra Bass Bluetooth Headphones - Black",
          "Marshall - Stockwell with Flip Cover - Stockwell Speaker",
          "Jabra Move Style Edition Wireless Over-the-head Headphones - Black  ",
          "Sennheiser - RS 175 - TV Wireless Headphones",
          "Blueant - Pump Lite Wireless HD Audio Sportbuds - Red",
          "Ultimate Ears - Blast Blue Steel - Bluetooth Wireless Speaker",
          "Jabra Elite Active 75t Truly Wireless Headphones - Gold",
          "Plantronics - BackBeat FIT Bluetooth Headphone - Red",
          "Urbanista - Stockholm - True Wireless In-Ear Headphones - Dark Clown ",
          "Sony Truly Wireless Noise Cancelling In-ear Headphones - WF1000XM3S ",
          "Sony - WHXB900NB - EXTRA BASS™ Wireless Noise Cancelling Headphones",
          "Ultimate Ears - Wonderboom 2 - Bluetooth Speaker - Unicorn",
          "Ultimate Ears - MegaBoom 3 Wireless Bluetooth Speaker - Sunset Red",
          "Sennheiser HD 100 - On-ear Headphones",
          "B&O Play - H5 Dusty Rose - Beoplay H5 In-Ear Headphones ",
          "Ultimate Ears - Boom 3 Wireless Bluetooth Speaker - Sunset Red",
          "Sony - WH-CH500B - Wireless Headphones - Black",
          "Moki - ACC-HPPOU4 - Popper Triangle Pattern Headphones",
          "Moki - ACC-HPPOE - Popper Levels Black Headphone ",
          "Sony - WISP500B - Wireless In-ear Sports Headphones - Black",
          "Moki - ACC-HPPOB - Popper Claw Red Headphone",
          "Beats Solo2 On-Ear Headphones – Luxe Edition, Black",
          "Cygnett - CY2086BTFRU - Wireless Bluetooth Earphones in Blue",
          "Cygnett - CY2084BTFRU - Wireless Bluetooth Earphones in Green",
          "Konka SE2 Smartphone PLUS HE10 Bluetooth Earbuds Bundle",
          "Powerbeats3 Wireless Earphones - White ",
          "Ultimate Ears - Wonderboom 2 Bluetooth Speaker - Double Pack - Black",
          "Ultimate Ears - Wonderboom - Bluetooth Speaker - SubZero",
          "Bowers & Wilkins PX7 Over-ear Noise Cancelling Wireless Headphones - Space Grey",
          "Beats Studio3 Wireless Headphones - Skyline Collection, Midnight Black  ",
          "Ultimate Ears - Boom 3 Wireless Bluetooth Speaker - Ultraviolet Purple",
          "Sennheiser MOMENTUM True Wireless 2 - White",
          "Moki - ACC-HPHBDB - Hybrid Bluetooth Earphones - Blue",
          "Sennheiser MOMENTUM True Wireless ",
          "Sony - MDRE9LPWI - Fontopia Headphone (Snow White)",
          "Sony - WHXB700B - EXTRA BASS™ Wireless Headphones",
          "Sennheiser - MOMENTUM In-Ear Wireless Black Headphones - M2IEBTBLK",
          "Sony - MDRE9LPB - Fontopia Headphone  (Black)",
          "Sony - WISP500P - Wireless In-ear Sports Headphones - Pink",
          "Sony - WIC310N - Wireless In-ear Headphones - Neutral",
          "Sony - WISP500Y - Wireless In-ear Sports Headphones - Yellow",
          "Ultimate Ears - Wonderboom 2 - Bluetooth Speaker - Black",
          "Ultimate Ears - Megaboom - Wireless Speaker - Plum",
          "Beats Studio3 Wireless Over-Ear Headphones - Matt Black   ",
          "Ultimate Ears - Megaboom - Wireless Speaker - Blue",
          "Sony WF1000XM3B Truly Wireless Noise Cancelling In-ear Headphones  ",
          "Sony - WISP500W - Wireless In-ear Sports Headphones - White",
          "Ultimate Ears -  Roll 2 - Wireless Portable Bluetooth Speaker - SugarPlum",
          "EarPods with Lightning Connector - MMTN2FE/A",
          "Sony - WHCH700NB - Wireless Noise Cancelling Headphones ",
          "EarPods with 3.5mm Headphone Plug",
          "Urbanista - Stockholm - True Wireless In-Ear Headphones - Olive Green",
          "Sennheiser MOMENTUM True Wireless 2 - Black",
          "Merge Mobile AR/VR Headset (Moon Grey)",
          "Beats Studio3 Wireless Over‑Ear Headphones - White ",
          "Bowers & Wilkins Zeppelin Wireless Speaker - FP37672",
          "Ultimate Ears - POWER UP - Power Up Charging Dock",
          "Ultimate Ears - BOOM 2 - Wireless Speaker - Limited Edition",
          "Jabra Elite Sport - True Wireless Sports Earbuds ",
          "Moki - ACC-HPP17A - Popper Unicorn Headphone ",
          "Sennheiser - In-Ear Headphones - iPhone/iPad/iPod - Red - MOMENTUMIEI",
          "Urbanista - Stockholm - True Wireless In-Ear Headphones - Rose Gold",
          "Jabra Move Style Edition Wireless Over-the-head Headphones - Navy",
          "Sennheiser - MOMENTUMIEG - In-Ear Headphones - Red",
          "Sony - MDRE9LPL - Fontopia Headphone (Blue)",
          "Marshall - Major II Bluetooth Headphones -Black ",
          "Moki - ACC-HPKSPP - Kid Safe Volume Limited Pink & Purple Headphone ",
          "Moki - ACC-HPEXKP - EXO Kids Bluetooth Headphones - Pink ",
          "Jabra Elite 85h Noise-Cancelling Headphones - Black   ",
          "Sennheiser HD 450BT Wireless Headphone - Black",
          "Sennheiser HD 350BT Wireless Headphone - Black",
          "Ultimate Ears - Boom 2 - Wireless Speaker - Cashmere ",
          "Sennheiser - CX SPORT - In-Ear Wireless Headset",
          "Ultimate Ears - Boom 3 Wireless Bluetooth Speaker - Lagoon Blue",
          "Urbanista - Seattle Wireless Headphones - Rose Gold  ",
          "Ultimate Ears - Wonderboom 2 - Bluetooth Speaker - Red",
          "Beats X Earphones - Black  ",
          "Beats EP On-Ear Headphones Black",
          "Moki - ACC-HPKSBR - Kid Safe Volume Limited Blue & Red Headphones",
          "Beats by Dre - Powerbeats Pro - Totally Wireless Earphones - Black   ",
          "Beats Solo3 Wireless On-Ear Headphones - Satin Silver",
          "Beats Solo2 On-Ear Headphones – Luxe Edition, Silver ",
          "Urbanista Paris - True Wireless Headphones & Qi-wireless Pad Bundle - Rose Gold",
          "Beats Studio3 Wireless Headphones -  The Beats Skyline Collection - Desert Sand ",
          "Urbanista Paris - True Wireless Headphones & Qi-wireless Pad Bundle - Black",
          "Sony - MDR-RF995RK - Wireless Headphones",
          "Urbanista Paris - True Wireless Headphones & Qi-wireless Pad Bundle - Olive Green",
          "Urbanista Athens - True Wireless In Earphones - Midnight Black - IP67",
          "Sony - WH-1000XM4S - Wireless Noise Cancelling Headphones - Silver",
          "urBeats3 Earphones with Lightning Connector - Black",
          "Beats Studio3 Wireless Over-Ear - Matt Black",
          "Sennheiser - RS 120-9 - RF Wireless Headphones ",
          "Cygnett - CY2496FREPL - FreePlay Bluetooth® Earphones - White",
          "Sony Wireless Noise Cancelling Headphones - WFSP700NW - White",
          "Blueant - Pump Lite Wireless HD Audio Sportbuds - Black ",
          "Sony - WFSP700NP - Wireless Noise Cancelling Headphones - Pink",
          "Sennheiser MOMENTUM Wireless - Noise Cancelling Headphones - Sandy White ",
          "Bowers & Wilkins PX7 Over-ear Noise Cancelling Wireless Headphones - Silver",
          "Ultimate Ears - MegaBlast Graphite - Bluetooth Wireless Speaker ",
          "Ultimate Ears - Boom 3 Wireless Bluetooth Speaker - Black Night",
          "Sony - WH1000XM3 Silver - Wireless Noise Cancelling Headphones",
          "Sennheiser - CX 6.00BT - Wireless In-Ear Headset",
          "Ultimate Ears - MegaBoom 3 Wireless Bluetooth Speaker - Lagoon Blue",
          "Belkin - AV10044bt - Headphone Splitter",
          "Bowers & Wilkins PX5 Noise Cancelling Wireless Headphones - Space Grey",
          "Ultimate Ears - Wonderboom 2 - Bluetooth Speaker - Peach",
          "Ultimate Ears - Wonderboom - Bluetooth Speaker - Stone ",
          "Ultimate Ears -  Roll 2 - Wireless Portable Bluetooth Speaker - Habanero ",
          "Ultimate Ears - Wonderboom 2 - Bluetooth Speaker - Grey",
          "Jabra - Elite 25e Headphones - For Wireless Calls & Music",
          "Sennheiser - PXC 550 - Noise Cancelling Wireless Headphone Headset ",
          "Sony - WH-1000XM4B - Wireless Noise Cancelling Headphones - Black",
          "Ultimate Ears - Boom 2 - Wireless Speaker - Stone ",
          "Jabra Elite 65t True Wireless Earbuds - Titanium Black ",
          "AKG - N700NC - Wireless, Adaptive Noise Cancelling Headphones",
          "Ultimate Ears -  Roll 2 - Wireless Portable Bluetooth Speaker - Volcano",
          "Jabra - 1009307000040 - Storm  Bluetooth Mono Headset",
          "Sennheiser - On Ear Stereo Headphones - HD 2.10",
          "Sennheiser HD 450BT Wireless Headphone - White",
          "Sennheiser - PXC 550-II - Wireless Headphone",
          "Sennheiser CX 350BT Wireless Earphones - Black",
          "Sennheiser HD 350BT Wireless Headphone - White",
          "Ultimate Ears - Wonderboom 2 - Bluetooth Speaker - Blue",
          "Urbanista - Tokyo Plus Moon Walk -  In-Ear Headphones",
          "Jabra Elite Active 75t Truly Wireless Headphones - Navy",
          "Sony - WF-SP700NB - Wireless Noise Cancelling Headphones - Black",
          "Ultimate Ears -  Roll 2 - Wireless Portable Bluetooth Speaker - Atmosphere",
          "Jabra - Elite 45e Headphones - For Superior Wireless Calls and Music",
          "Ultimate Ears - MegaBlast Blue Steel - Bluetooth Wireless Speaker",
          "Ultimate Ears - MegaBoom 3 Wireless Bluetooth Speaker - Night Black",
          "Ultimate Ears - Megaboom - Wireless Speaker - Juicy Orange",
          "Sennheiser - HDR 175 - Additional Headphone for the RS 175 ",
          "Jabra  Elite 75t Truly Wireless Headphones - Titanium Black",
          "Jabra Elite 75t Truly Wireless Headphones - Gold",
          "Ultimate Ears - MegaBoom 3 Wireless Bluetooth Speaker - Ultraviolet Purple",
          "Jabra - Style Bluetooth Headset - 100-99600000-33",
          "Sony - WIC310B - Wireless In-ear Headphones - Black",
          "Urbanista - Stockholm - True Wireless In-Ear Headphones - Fluffy Cloud",
          "Jabra Move Style Edition Wireless Over-the-head Headphones - Gold Beige"
         ],
         "type": "scatter",
         "x": [
          0.3471324145793915,
          0.1835971176624298,
          0.2935536205768585,
          0.2458512783050537,
          0.34622812271118164,
          0.22566398978233337,
          0.2554160952568054,
          0.2913340926170349,
          0.255104660987854,
          0.2260846644639969,
          0.22134733200073242,
          0.2984772324562073,
          0.2620088756084442,
          0.20079493522644043,
          0.2723067104816437,
          0.25765883922576904,
          0.3634647727012634,
          0.3253781199455261,
          0.2564716041088104,
          0.2736479341983795,
          0.35140925645828247,
          0.26661932468414307,
          0.19528335332870483,
          0.34175020456314087,
          0.21333789825439453,
          0.3005775809288025,
          0.31058722734451294,
          0.3030126988887787,
          0.25268393754959106,
          0.3231917917728424,
          0.3019678294658661,
          0.35142481327056885,
          0.09567807614803314,
          0.33975303173065186,
          0.2974891662597656,
          0.20573270320892334,
          0.2556607723236084,
          0.2418799251317978,
          0.22687193751335144,
          0.24458518624305725,
          0.29220208525657654,
          0.3026771545410156,
          0.3054943084716797,
          0.2859279215335846,
          0.28097760677337646,
          0.19307468831539154,
          0.3045459985733032,
          0.32182419300079346,
          0.24437038600444794,
          0.21783074736595154,
          0.33827129006385803,
          0.18720540404319763,
          0.3464997410774231,
          0.25298112630844116,
          0.2355804741382599,
          0.3281344771385193,
          0.32510629296302795,
          0.30943846702575684,
          0.279142290353775,
          0.28153568506240845,
          0.31578171253204346,
          0.319530189037323,
          0.3250367045402527,
          0.2510729134082794,
          0.3443949520587921,
          0.31931620836257935,
          0.3448878824710846,
          0.3093481659889221,
          0.3339551091194153,
          0.33324772119522095,
          0.26455187797546387,
          0.34129244089126587,
          0.3413085341453552,
          0.23362597823143005,
          0.3557133376598358,
          0.2832809388637543,
          0.30053821206092834,
          0.32936879992485046,
          0.3240947127342224,
          0.2089207023382187,
          0.2737392783164978,
          0.30090945959091187,
          0.22338855266571045,
          0.3493754267692566,
          0.31090104579925537,
          0.33925479650497437,
          0.116309754550457,
          0.1844581663608551,
          0.2668231129646301,
          0.29601630568504333,
          0.21208560466766357,
          0.34793946146965027,
          0.23606500029563904,
          0.2885143458843231,
          0.2815283238887787,
          0.32913777232170105,
          0.3136035203933716,
          0.17528684437274933,
          0.25690045952796936,
          0.2065110057592392,
          0.3235087990760803,
          0.33848118782043457,
          0.2569573223590851,
          0.33625394105911255,
          0.289156049489975,
          0.27151334285736084,
          0.32184866070747375,
          0.313466340303421,
          0.31388673186302185,
          0.20319242775440216,
          0.3427354693412781,
          0.33297649025917053,
          0.3170565962791443,
          0.29789555072784424,
          0.2890644073486328,
          0.32822927832603455,
          0.3271487057209015,
          0.28350144624710083,
          0.29947686195373535,
          0.28906765580177307,
          0.3188350796699524,
          0.3022450804710388,
          0.27535784244537354,
          0.28228044509887695,
          0.24178770184516907,
          0.22299467027187347,
          0.2646756172180176,
          0.2740262448787689,
          0.25924384593963623,
          0.24687150120735168,
          0.3175514042377472,
          0.30988121032714844,
          0.31514230370521545,
          0.2740021049976349,
          0.14349445700645447,
          0.2641088664531708,
          0.3138301968574524,
          0.2806718349456787,
          0.3411794900894165,
          0.3348708748817444,
          0.2844597101211548,
          0.2626398503780365,
          0.30059975385665894,
          0.2477625608444214,
          0.24355539679527283,
          0.2869882583618164,
          0.2622532248497009,
          0.25233811140060425,
          0.3489041030406952,
          0.30260005593299866,
          0.2979085147380829,
          0.3274891674518585,
          0.31535467505455017,
          0.3269934356212616,
          0.21696636080741882,
          0.21215808391571045,
          0.2514490485191345,
          0.3524022400379181,
          0.2845754325389862,
          0.2551042437553406,
          0.29842039942741394,
          0.2494841367006302,
          0.29439112544059753,
          0.2634475827217102,
          0.24261882901191711,
          0.30197495222091675,
          0.24875716865062714,
          0.2919512689113617,
          0.23680366575717926,
          0.31585314869880676
         ],
         "y": [
          -0.2955867648124695,
          -0.22667533159255981,
          -0.37439030408859253,
          -0.25569915771484375,
          -0.1496010422706604,
          -0.3286667466163635,
          -0.24137628078460693,
          -0.14184752106666565,
          -0.3125697672367096,
          -0.23257337510585785,
          -0.18522855639457703,
          -0.2616384029388428,
          -0.36435484886169434,
          -0.21190369129180908,
          -0.24271613359451294,
          -0.3677695691585541,
          -0.31680840253829956,
          -0.2350393384695053,
          -0.23968857526779175,
          -0.28052955865859985,
          -0.3081965744495392,
          -0.16301727294921875,
          -0.35699135065078735,
          -0.14455342292785645,
          -0.37755733728408813,
          -0.3221636414527893,
          -0.34369325637817383,
          -0.3127533793449402,
          -0.38342607021331787,
          -0.29564476013183594,
          -0.2995370030403137,
          -0.2289072424173355,
          -0.23310121893882751,
          -0.32895416021347046,
          -0.17560270428657532,
          -0.21316659450531006,
          -0.3744497299194336,
          -0.22918502986431122,
          -0.34557217359542847,
          -0.2646135687828064,
          -0.20329800248146057,
          -0.2312910407781601,
          -0.32614830136299133,
          -0.38533109426498413,
          -0.1727081686258316,
          -0.1298222839832306,
          -0.39400970935821533,
          -0.22497010231018066,
          -0.2529715895652771,
          -0.29150956869125366,
          -0.19275793433189392,
          -0.33935612440109253,
          -0.2197500318288803,
          -0.3224943280220032,
          -0.295096218585968,
          -0.15111935138702393,
          -0.3094289302825928,
          -0.33829259872436523,
          -0.3641015291213989,
          -0.16914544999599457,
          -0.2864000201225281,
          -0.3597642183303833,
          -0.30105912685394287,
          -0.34448957443237305,
          -0.2717953324317932,
          -0.22101780772209167,
          -0.22891736030578613,
          -0.33298254013061523,
          -0.2513766884803772,
          -0.17460724711418152,
          -0.17322753369808197,
          -0.15867233276367188,
          -0.3326776325702667,
          -0.3767402172088623,
          -0.3173314332962036,
          -0.3989679217338562,
          -0.2074013650417328,
          -0.17350837588310242,
          -0.34542250633239746,
          -0.2862398624420166,
          -0.2543504238128662,
          -0.23712916672229767,
          -0.2539551854133606,
          -0.29856908321380615,
          -0.17045201361179352,
          -0.30314570665359497,
          -0.25187379121780396,
          -0.2671366333961487,
          -0.358645498752594,
          -0.3301994800567627,
          -0.24661055207252502,
          -0.24785180389881134,
          -0.24671363830566406,
          -0.3553850054740906,
          -0.31140589714050293,
          -0.2626693844795227,
          -0.33909571170806885,
          -0.23374179005622864,
          -0.25052762031555176,
          -0.24164512753486633,
          -0.23522818088531494,
          -0.2690373957157135,
          -0.37978070974349976,
          -0.249581441283226,
          -0.39911383390426636,
          -0.30948904156684875,
          -0.347870409488678,
          -0.25221458077430725,
          -0.25465574860572815,
          -0.31857776641845703,
          -0.308268278837204,
          -0.2970256507396698,
          -0.25046414136886597,
          -0.23579582571983337,
          -0.26322418451309204,
          -0.26138344407081604,
          -0.2488759309053421,
          -0.2402210235595703,
          -0.22282737493515015,
          -0.20538553595542908,
          -0.2941431403160095,
          -0.3206915259361267,
          -0.262515664100647,
          -0.280071496963501,
          -0.2160700261592865,
          -0.21477994322776794,
          -0.20461207628250122,
          -0.28750139474868774,
          -0.1941167116165161,
          -0.32967597246170044,
          -0.35898834466934204,
          -0.2370690554380417,
          -0.28754937648773193,
          -0.3872513473033905,
          -0.29147833585739136,
          -0.18687573075294495,
          -0.34170305728912354,
          -0.36394476890563965,
          -0.3695477247238159,
          -0.3296399712562561,
          -0.29781025648117065,
          -0.22666601836681366,
          -0.23441439867019653,
          -0.37231582403182983,
          -0.2349175363779068,
          -0.2345176339149475,
          -0.3408329486846924,
          -0.3108132481575012,
          -0.17640067636966705,
          -0.23732146620750427,
          -0.23421604931354523,
          -0.2990073561668396,
          -0.2705909013748169,
          -0.35119175910949707,
          -0.3176368176937103,
          -0.258633017539978,
          -0.22314974665641785,
          -0.3348143696784973,
          -0.27033770084381104,
          -0.34907108545303345,
          -0.34744927287101746,
          -0.3631342649459839,
          -0.12625855207443237,
          -0.24128027260303497,
          -0.24357165396213531,
          -0.35053306818008423,
          -0.3473406434059143,
          -0.2042146623134613,
          -0.2915860414505005,
          -0.3121144771575928
         ]
        },
        {
         "marker": {
          "color": 46,
          "size": 5
         },
         "mode": "markers",
         "name": "41",
         "text": [
          "Philips - GC557/30 - ComfortTouch Garment Steamer",
          "Philips - HR2401/06 - Pasta & Noodle Maker Accessory  ",
          "Philips HUE Calla Outdoor Pedestal Kit - White and Color Ambiance",
          "Philips - HQ200/50 - Jet Clean Cleaning Solution",
          "Philips - Hue Motion sensor",
          "Philips - MG7770/15 - Multigroom Series 7000",
          "Philips - BT3216/14 - Beard Timmer 3000 Series",
          "Philips - AJ3115 - Digital Clock Radio",
          "Philips Nano Protect Filter Active Carbon  FY1413/30 ",
          "Philips - GC9681/80 - PerfectCare Elite Plus Steam Generator Iron",
          "Philips - HR2490/00 - Pasta and Noodle Maker Accessory Kit",
          "Philips - SH50/51 - Shaving Heads",
          "Philips - SHB5500BK/00 - Wireless Bluetooth® Headphones",
          "Philips - HC3520/15 - Hair Clipper",
          "Philips HUE Lily Outdoor Spot Light Kit - White & Color Ambiance",
          "Philips - Over-Ear Headphones - SHL4805RG/00",
          "Philips HUE Outdoor Lightstrip - White & Color Ambience - 2 meter  ",
          "Philips - BRI863/00 - Lumea Essential IPL",
          "Philips - In-Ear Headphones - SHE4205WT/00",
          "Philips - Hue White and Color Ambiance - Single bulb GU10",
          "Philips Series 3000 Air Purifier -  AC3256/70",
          "Philips - HP8372/00 - MoistureProtect Straightener ",
          "Philips - In-ear Headphones - SHE3855SG/00",
          "Philips HUE Outdoor Lightstrip - White & Color Ambience - 5meter  ",
          "Philips - PQ208 - Electric Shaver",
          "Philips - In-Ear Headphones - SHE3205WT/00",
          "Philips - AZ1837/79 - CD Soundmachine",
          "Philips - S6630/11 - Wet and Dry Electric Shaver",
          "Philips - AZ100C/79 - CD Soundmachine - Pink",
          "Philips - GC2999/84 - PowerLife Steam Iron",
          "Philips - HD2778/60 - Viva Collection Inner Pot",
          "Philips - HC5630/15 - Series 5000 Washable Hair Clipper",
          "Philips - SHK1031/00 - Kids Headphones",
          "Philips - AquaTouch Wet & Dry Shaver - S5420/06",
          "Philips - GC3929/64 - PerfectCare Steam Iron",
          "Philips - GC7920/20 - PerfectCare Compact Plus Steam Generator",
          "Philips - Bluetooth Earphones - SHB5250WT/00",
          "Philips Nanoprotect HEPA Filter - FY1410/30   ",
          "Philips - HX9912/07 - DiamondClean 9000 Electric Toothbrush - White",
          "Philips Air Humidifier - HU4803/70 ",
          "Philips - AJ3400/79 - Clock FM Radio ",
          "Philips - HD9952/01 - Airfryer XXL Baking Master Kit",
          "Philips - CD Soundmachine - AZ1852/79",
          "Philips - Hue Dimmer Switch",
          "Philips - Voice Tracer Audio Recorder - DVT6010",
          "Philips - GC012 - Soleplate Cleaning Stick",
          "Philips - BRE652/00 - Satinelle Prestige",
          "Philips - GC332/60 - Steam & Go 2-in-1",
          "Philips - HUEWHTBULB-B22 - Hue White - Single Bulb B22",
          "Philips - GC4517/20 - Azur Performer Plus Steam Iron",
          "Philips - HX6231/01 - Sonicare Plaque Control Toothbrush",
          "Philips - HQ200 - Jet Clean Solution",
          "Philips - Hue White and Color Ambiance - Starter Kit E27 ",
          "Philips - SH90/70 - Series 9000 Shaving Replacement Heads  ",
          "Philips - GC8962/40 - PerfectCare Expert Plus Steam Generator",
          "Philips Hue Single Bulb E14 - White and Coloured Light",
          "Philips - HUEWHTBULB-E27 - Hue White - Single Bulb E27",
          "Philips - BHD184/00 - DryCare Advanced Dryer",
          "Philips - GC362/80 - Handheld Garment Steamer  ",
          "Philips - HUEWHTKIT - Hue White Starter Kit - E27 ",
          "Philips - FY3432/10 - Nano Protect Filter",
          "Philips - Hue Go Portable Light",
          "Philips - HD9904/01 - Airfryer Party Master Kit",
          "Philips - HX6062/67 - Sonicare W2 Optimal White Tootbrush Heads - 2pk",
          "Philips - HR2403/06 - Pasta & Noodle Maker Accessory ",
          "Philips - HX9912/17 - DiamondClean 9000 Electric Toothbrush - Black",
          "Philips - GC3920/24 - PerfectCare Steam Iron",
          "Philips - HX8331/01 - AirFloss Ultra Interdental Cleaner",
          "Philips - HX6068/67 - Sonicare W2 Standard Sonic Toothbrush Heads",
          "Philips - S9211/12 - Shaver 9000",
          "Philips - HX8491/03 - Sonicare Interdental Cleaner",
          "Philips - HC5612/15 - Washable Hair Clipper",
          "Philips - AT10/00 - Wireless Portable Radio",
          "Philips - Voice Tracer Audio Recorder - DVT2510",
          "Philips - Go Portable Light with Bluetooth",
          "Philips - HR2491/00 - Pasta and Noodle Maker Accessory Kit ",
          "Philips - HX9023/67 - C2 Optimal Plaque Defense Brush Heads - 3Pk",
          "Philips - GC023/00 - AquaBlock Ironing Board Cover",
          "Philips - HC9450/15 - Hair Clipper",
          "Philips - HP8280/00 - MoistureProtect Dryer",
          "Philips - MyJam Vibes In-Ear Headphones - SHE3705WT/00",
          "Philips - S5380/06 - Wet and Dry Electric Shaver",
          "Philips - Pro Straightener - HPS930/00",
          "Philips - AZ127 - CD Soundmachine",
          "Philips - AJT5300 - Clock Radio - Bluetooth",
          "Philips - S7311/66 - Wet and Dry Electric Shaver",
          "Philips Series 2000 Air Purifier AC2887/70 ",
          "Philips - HD2237/72 - All-In-One Multi Cooker ",
          "Philips - HD9721/21 - Viva Collection Airfryer",
          "Philips - Sonicare DiamondClean Toothbrush - HX9368/35",
          "Philips - AirFloss Ultra Interdental Cleaner - HX8331/01",
          "Philips - GC4527/00 - Azur Performer Plus Steam Iron",
          "Philips - S3122/51 - AquaTouch Shaver 3000",
          "Philips - BRL140/00 - SatinShave Advanced Wet & Dry Shaver ",
          "Philips - HD9861/99 - Airfryer XXL Premium",
          "Philips - GC2996/20 - PowerLife Steam Iron",
          "Philips - HD2178/72 - Premium Collection All-In-One Cooker",
          "Philips - HD9951/01 - Airfyer Grill Master Kit",
          "Philips - HD9218/51 - Daily Collection Airfryer",
          "Philips - HD9950/01 - Airfryer Party Master  Kit",
          "Philips - Hue Smart Bridge",
          "Philips - GC2145/29 - EasySpeed Plus Steam Iron",
          "Philips - PerfectCare Pure Anti-Scale Cartridge - GC002",
          "Philips - S5086/06 - Series 5000 Wet & Dry Electric Shaver",
          "Philips - HX6851/56 - ProtectiveClean 4500 Electric Toothbrush",
          "Philips - HX6063/96 - Sonicare W2 Optimal White Toothbrush Heads - 3 Pack",
          "Philips - HX6072/67 - Sonicare Wc  DiamondClean Brush Heads - 2Pk",
          "Philips -  Hue White and color ambiance - LightStrip Plus - 1 Meter Extension",
          "Philips - S5550/44 - Wet & Dry Electric Shaver",
          "Philips - FY2422/30 - NanoProtect Filter for Air Purifier",
          "Philips - HX9033/67 - Sonicare G2 Optimal Gum Care - 3Pk",
          "Philips - SHK1030/00 - Headband Kids Headphones",
          "Philips - Hue White and Color Ambiance -Single Bulb B22",
          "Philips - HD9630/21 - Viva Collection Airfryer XXL - White  ",
          "Philips - BT7500/15 - Vacuum Beard Trimmer",
          "Philips - QP220/50 - OneBlade Replacement Blades",
          "Philips - QP6510/20 - OneBlade Pro Beard Trimmer ",
          "Philips - Vacuum Beard Trimmer - BT7204/85",
          "Philips Active Carbon Filter FY2420/30 ",
          "Philips - HD9940/00 - Airfryer Grill Pan Accessory",
          "Philips - HD9941/00 - Airfryer Grill Master Kit",
          "Philips - AJ3232B/79 - Clock Radio",
          "Philips - BRL170/00 - SatinShave Prestige Electric Shaver",
          "Philips - MG5730/15 - 11-in-1 Trimmer",
          "Philips - GC026/00 - Fabric Shaver",
          "Philips - HD9925/01 - Airfryer Baking Master Kit",
          "Philips - MG7735/15 - 12-in-1 Face, Hair and Body Trimmer",
          "Philips - HR2375/13 - Avance Collection Pasta and Noodle Maker",
          "Philips - HX9954/56 - Sonicare DiamondClean Electric Toothbrush",
          "Philips - BRE620/00 - Satinelle Advanced Wet & Dry Epilator",
          "Philips - HD9650/93 - Airfryer XXL Premium",
          "Philips Series 1000 Air Purifier AC1215/70",
          "Philips - GC5031/20 - Azur Elite Steam Iron",
          "Philips - HD9742/93 - Avance Collection AirFryer",
          "Philips - Hue Tap Switch",
          "Philips - DE5205/70 - Series 5000 2-in 1 Air Dehumidifier",
          "Philips - In-Ear Headphones - SHE3855RG/00",
          "Philips - JC302/51 - Cleaning Cartridge - 2Pk",
          "Philips - NT3160 - Nose Trimmer Series 3000",
          "Philips - Hue White and Colour Ambiance B22 with Bluetooth",
          "Philips - BRI956/00 - Lumea Prestige IPL - Hair Removal Device",
          "Philips HUE Lily Outdoor Spot Light Extension",
          "Philips - HX9618/24 - ExpertClean 7300 Electric Toothbrush",
          "Philips - AZ100B/79 - CD Soundmachine"
         ],
         "type": "scatter",
         "x": [
          -0.10460460931062698,
          -0.12251783907413483,
          0.05600065737962723,
          0.022806011140346527,
          0.13694657385349274,
          0.07658128440380096,
          0.09611902385950089,
          0.17539793252944946,
          0.09551233798265457,
          -0.12354397028684616,
          -0.1212884709239006,
          0.047171495854854584,
          0.2726306915283203,
          0.013163931667804718,
          0.04133172333240509,
          0.19078120589256287,
          0.05509202927350998,
          0.024592019617557526,
          0.2248612642288208,
          0.061877764761447906,
          0.012178339064121246,
          -0.01705460250377655,
          0.19278137385845184,
          0.05134744197130203,
          -0.019924037158489227,
          0.20720511674880981,
          0.1505192518234253,
          -0.05147111415863037,
          0.1687486469745636,
          -0.060108669102191925,
          -0.024064801633358,
          -0.008720196783542633,
          0.19813424348831177,
          -0.016231879591941833,
          -0.09953176230192184,
          -0.07244765013456345,
          0.23875395953655243,
          0.08963794261217117,
          0.06067174673080444,
          -0.039247699081897736,
          0.17117786407470703,
          -0.0772433876991272,
          0.1579795479774475,
          0.056721724569797516,
          0.1584361344575882,
          -0.030196882784366608,
          0.03904467821121216,
          -0.012258529663085938,
          0.051817089319229126,
          -0.008773580193519592,
          0.07070492953062057,
          0.0504516065120697,
          0.07631772756576538,
          0.04957279562950134,
          -0.06828249245882034,
          0.08643057942390442,
          0.03419166058301926,
          -0.04083395004272461,
          -0.12977011501789093,
          0.012971095740795135,
          0.08592765778303146,
          0.14689217507839203,
          0.07086870074272156,
          0.1321008801460266,
          -0.12457704544067383,
          0.08356627076864243,
          -0.11892720311880112,
          0.032202839851379395,
          0.11440809816122055,
          0.046278297901153564,
          0.07849538326263428,
          -0.0219893679022789,
          0.253930926322937,
          0.17837536334991455,
          0.2586483657360077,
          -0.12354838848114014,
          0.04902258515357971,
          -0.09997934103012085,
          0.03089001774787903,
          -0.010865360498428345,
          0.22818949818611145,
          -0.019960686564445496,
          0.014278560876846313,
          0.1655787080526352,
          0.24183985590934753,
          -0.06398244947195053,
          -0.013257309794425964,
          -0.10168959200382233,
          0.0763670802116394,
          0.06280633807182312,
          0.020134039223194122,
          -0.05851934105157852,
          0.04773302376270294,
          -0.03562711179256439,
          0.018416091799736023,
          -0.02342895418405533,
          -0.05622825026512146,
          0.006156176328659058,
          0.03768061101436615,
          0.011120423674583435,
          0.11402028053998947,
          -0.0735224112868309,
          0.010756909847259521,
          -0.017008215188980103,
          0.001914985477924347,
          0.0910554975271225,
          0.054857902228832245,
          0.08565060049295425,
          -0.02738402783870697,
          0.03663283586502075,
          0.06651568412780762,
          0.18906518816947937,
          0.09239712357521057,
          0.02414693683385849,
          0.013774141669273376,
          -0.004751548171043396,
          -0.006831839680671692,
          -0.060195066034793854,
          0.04294730722904205,
          -0.11723875999450684,
          -0.13070550560951233,
          0.154998779296875,
          -0.018478289246559143,
          -0.01796889305114746,
          -0.04519224166870117,
          -0.14857636392116547,
          0.05844826251268387,
          -0.0901355966925621,
          0.05045716464519501,
          -0.05150022357702255,
          0.020748481154441833,
          0.004978962242603302,
          -0.0659787505865097,
          0.09155429154634476,
          0.06089593470096588,
          -0.0022615641355514526,
          0.1943790316581726,
          0.09899342060089111,
          0.009360738098621368,
          0.22310887277126312,
          0.03305743634700775,
          0.017917431890964508,
          -0.0055327340960502625,
          0.1674533486366272
         ],
         "y": [
          -0.0646582543849945,
          -0.11034806072711945,
          -0.13858965039253235,
          -0.08352287858724594,
          -0.10321146249771118,
          -0.053564637899398804,
          -0.1814594715833664,
          -0.1492641568183899,
          -0.09558641910552979,
          0.009258963167667389,
          -0.07653528451919556,
          -0.14474159479141235,
          -0.30070775747299194,
          -0.13330456614494324,
          -0.13756674528121948,
          -0.1947709619998932,
          -0.09125828742980957,
          -0.15797215700149536,
          -0.18274535238742828,
          -0.09765271842479706,
          -0.1006249263882637,
          -0.1411818563938141,
          -0.17740951478481293,
          -0.07150781899690628,
          -0.10664225369691849,
          -0.2020818442106247,
          -0.13416236639022827,
          -0.0831039547920227,
          -0.12104266881942749,
          -0.03257684037089348,
          0.03265814483165741,
          -0.05872340500354767,
          -0.2292851060628891,
          -0.12363356351852417,
          0.009845193475484848,
          0.01381378248333931,
          -0.2700340747833252,
          -0.12794438004493713,
          -0.09649011492729187,
          -0.057866305112838745,
          -0.16163355112075806,
          -0.0757073163986206,
          -0.129728764295578,
          -0.1296008974313736,
          -0.10056959092617035,
          -0.08703833818435669,
          -0.1920662224292755,
          0.029508208855986595,
          -0.14250802993774414,
          0.027964148670434952,
          -0.18798202276229858,
          -0.08508308976888657,
          -0.0747610330581665,
          -0.11564208567142487,
          -0.025938354432582855,
          -0.07122908532619476,
          -0.05478668212890625,
          -0.09934200346469879,
          -0.029108790680766106,
          -0.06851888447999954,
          -0.20088337361812592,
          -0.08837941288948059,
          -0.1025901585817337,
          -0.12180796265602112,
          -0.10855886340141296,
          -0.07956290990114212,
          -0.0235435850918293,
          -0.13230913877487183,
          -0.11009055376052856,
          -0.11194479465484619,
          -0.15622836351394653,
          -0.1065986156463623,
          -0.21088376641273499,
          -0.14130832254886627,
          -0.20919866859912872,
          -0.07957066595554352,
          -0.07853003591299057,
          -0.11300203204154968,
          -0.08642688393592834,
          -0.10598435252904892,
          -0.2363259643316269,
          -0.06804951280355453,
          -0.10248634219169617,
          -0.15374888479709625,
          -0.23974573612213135,
          -0.07645801454782486,
          -0.0559881366789341,
          0.028146518394351006,
          -0.0467684268951416,
          -0.16617423295974731,
          -0.14158257842063904,
          0.0048816874623298645,
          -0.1309758722782135,
          -0.21781183779239655,
          0.04133978486061096,
          -0.03112451359629631,
          0.06982032209634781,
          -0.1148037314414978,
          -0.012978676706552505,
          -0.07069533318281174,
          -0.10502193123102188,
          0.006065024062991142,
          -0.1102178692817688,
          -0.04369125887751579,
          -0.05157622694969177,
          -0.16115117073059082,
          -0.12925085425376892,
          -0.11674296855926514,
          -0.116045281291008,
          -0.13755525648593903,
          -0.06453458964824677,
          -0.24022555351257324,
          -0.17679408192634583,
          0.0007431209087371826,
          -0.20300430059432983,
          -0.10522184520959854,
          -0.06279460340738297,
          -0.18813180923461914,
          -0.08939718455076218,
          0.0154460109770298,
          -0.04434192180633545,
          -0.1843041479587555,
          -0.1882219910621643,
          -0.09161536395549774,
          -0.11283894628286362,
          -0.04464869201183319,
          -0.09632661938667297,
          -0.09030815958976746,
          -0.1282782256603241,
          -0.23319320380687714,
          0.04367602616548538,
          -0.07276468724012375,
          -0.04937160760164261,
          -0.026653021574020386,
          -0.13640928268432617,
          -0.0610751137137413,
          -0.19440099596977234,
          -0.13205091655254364,
          -0.12105923146009445,
          -0.21992754936218262,
          -0.16824036836624146,
          -0.09508046507835388,
          -0.06654918938875198,
          -0.14227476716041565
         ]
        },
        {
         "marker": {
          "color": 47,
          "size": 5
         },
         "mode": "markers",
         "name": "42",
         "text": [
          "SodaStream - Source Element - Drinks Maker - White",
          "Two Hands Hand Sanitiser - 500ml",
          "SodaStream - Lemon Lime 440ml - Lemon Lime 440ml",
          "SodaStream - Lemon Lime Bitters 440ml",
          "SodaStream - Blueberry & Lime - Organic Soda Syrup",
          "SodaStream - Sugar Free Cola 440ml - Sugar Free Cola 440ml",
          "SodaStream - Fruits Lemonade 440ml - Fruits Lemonade 440ml",
          "SodaStream - Orange 440ml - Orange 440ml",
          "Two Hands Hand Sanitiser - 100ml",
          "SodaStream - Ginger Beer 440ml - Ginger Beer 440ml",
          "SodaStream - Cola 440ml",
          "SodaStream - Cream Soda 440ml - Cream Soda 440ml",
          "SodaStream - Fuse 1L Bottles - (Twin Pack - White)",
          "SodaStream - Kombucha - Organic Soda Syrup",
          "Sodastream - 60 Litre Spare CO2 Cylinder",
          "SodaStream - Power - Black - Power Drinks Maker - Black ",
          "SodaStream - Fuse 1L Bottles - Twin Pack - Metal",
          "SodaStream - Raspberry & Mint - Organic Soda Syrup",
          "SodaStream - Zeros Orange Mango 440ml - Zeros Orange Mango 440ml",
          "SodaStream - Source Element Drinks Maker -  Black"
         ],
         "type": "scatter",
         "x": [
          0.01994786038994789,
          -0.0257321298122406,
          -0.038069915026426315,
          -0.053228870034217834,
          0.057475507259368896,
          -0.034012556076049805,
          -0.027635976672172546,
          -0.01987277716398239,
          -0.05112779140472412,
          0.05106332525610924,
          -0.018575169146060944,
          -0.05078994482755661,
          -0.054434143006801605,
          0.017330963164567947,
          -0.130872905254364,
          0.03923024982213974,
          -0.07739710807800293,
          0.04475482180714607,
          0.034722428768873215,
          0.051167335361242294
         ],
         "y": [
          -0.10665497183799744,
          -0.061100706458091736,
          -0.01991933211684227,
          -0.04904043674468994,
          -0.10894190520048141,
          0.015604334883391857,
          -0.04757797718048096,
          -0.017048411071300507,
          -0.054728709161281586,
          -0.05110641196370125,
          0.02231897972524166,
          -0.006644257344305515,
          -0.13186192512512207,
          -0.07305768132209778,
          0.01419753022491932,
          -0.10908608138561249,
          -0.09001539647579193,
          -0.07281014323234558,
          -0.042525358498096466,
          -0.11251328885555267
         ]
        },
        {
         "marker": {
          "color": 48,
          "size": 5
         },
         "mode": "markers",
         "name": "43",
         "text": [
          "Samsung - MUF-64BE4/APC - 64GB USB 3.1 Flash Drive BAR Plus",
          "Seagate - STEB4000300 - 4TB Expansion Desktop ",
          "Samsung - MUF-128BE4/APC - 128GB USB 3.1 Flash Drive BAR Plus",
          "Sandisk - 256GB Ultra USB 3.0 Flash Drive - SDCZ48-256G-UQ46",
          "Seagate - 4TB Expansion Portable Hard Drive - STEA4000400",
          "Sandisk - SDUNC016GGN6IN - 16GB Ultra® SDHC™ UHS-I Card",
          "Seagate - STCM250400 - 250GB Portable Fast SSD",
          "Samsung 500GB T7 Touch Portable SSD - Black - MU-PC500K/WW ",
          "Sandisk - 128GB Extreme Pro microSDXC UHS-II CARD - SDSQXPJ-128G-CN6M3",
          "Sandisk - 128GB Extreme microSD UHS-I CARD - SDSQXVF-128G-QN6MA  ",
          "Sandisk Extreme Portable SSD - 2TB",
          "Seagate - STJE1000402 - 1TB One Touch SSD - White",
          "Seagate - STJD500400 - 500GB Expansion SSD",
          "Sandisk - 64GB Extreme Pro microSDXC UHS-II CARD - SDSQXPJ-064G-CN6M3",
          "Sandisk - 128GB Extreme® Go USB 3.1 Flash Drive - SDCZ800-128G-Q46",
          "Samsung 2TB T7 Touch Portable SSD - Silver - MU-PC2T0S/WW",
          "Seagate - STJM1000400 - 1TB Barracuda Fast SSD",
          "Seagate - STEA5000402 - 5TB Expansion Portable Hard Drive",
          "Sandisk - SDUNC064GGN6IN - 64GB Ultra SDXC Memory Card",
          "Sandisk - 64GB Ultra Dual Drive USB Type C - SDDDC2064GQ46  ",
          "Seagate - STEH2000301 - 2TB Backup Plus Ultra Slim - Gold",
          "SanDisk Extreme® 32GB microSDHC™ UHS-I Card with Adapter",
          "Seagate - STHP4000403 - 4TB Backup Plus Portable Drive - Red",
          "Samsung 1TB T7 Touch Portable SSD - MU-PC1T0S/WW  ",
          "Seagate - STJM2000400 - 2TB Barracuda Fast SSD",
          "Sandisk - SQUAR-256G-GN6MA - 256GB Ultra microSDXC UHS-I CARD",
          "Sandisk - SDXX-G064G-GN4IN - 64GB Extreme PRO® SDXC Memory Card",
          "Seagate - STEA2000400 - 2TB Expansion Portable Hard Drive",
          "Seagate - STJD1000400 - 1TB Expansion SSD",
          "Seagate - STHN2000400 - 2TB Backup Plus Slim Portable Drive - Black",
          "Seagate - STJL4000400 - 4TB Basic External HDD",
          "Seagate - 2TB Backup Plus Slim Portable Drive - Black",
          "Sandisk - SDCZ57016GB46T - 16GB Cruzer Dial USB Flash Drive - 3 Pack",
          "Sandisk - 64GB Extreme® Pro™SDXC™ Memory Card",
          "Samsung MU-PC1T0K/WW - 1TB T7 Touch Portable SSD",
          "Sandisk Extreme Portable SSD - 1TB",
          "Sandisk Extreme® 32GB SDHC™ UHS-I Card ",
          "Samsung - MU-PC2T0R - 2TB Portable SSD T7 USB3.2 - Metallic Red",
          "WD - WDBGPU0010BBK - 1TB My Passport® Ultra - Classic Black",
          "Sandisk 2TB Extreme Pro® Portable SSD",
          "WD - 2TB My Passport - White - WDBYFT0020BWT",
          "WD - 2TB My Passport - RED - WDBYFT0020BRD",
          "Sandisk - 128GB Extreme PRO® SDXC Memory Card - SDXXG-128G-GN4IN",
          "Sandisk - 64GB Extreme® SDXC™ UHS-I Card",
          "SanDisk 64GB High Endurance Video Monitoring  MicroSDXC Card ",
          "Sandisk Extreme 500 Portable SSD - 120GB ",
          "Sandisk - 256GB Ultra microSD UHS-I CARD - SDSQUNI-256G-QN6MA",
          "Sandisk - SDCZ48-016G-UQ46 - 16GB Ultra USB 3.0 Flash Drive",
          "Sandisk - SDCZ48-064G-UQ46 - 64GB Ultra USB 3.0 Flash Drive",
          "WD - WDBBKD0020BBK - 2TB My Passport® Ultra - Classic Black",
          "WD - WDBCTL0020HWT - 2TB My Cloud  ",
          "Seagate - STHP4000402 - 4TB Backup Plus Portable Drive - Light Blue",
          "Sandisk - SDSQXA1-128G-GN6MA - 128GB  EXTREME® microSD™ UHS-I CARD ",
          "Sandisk - SDSQXA2-064G-GN6MA - 64GB  EXTREME® microSD™ UHS-I CARD",
          "Sandisk - SDXX-G032G-GN4IN - 32GB Extreme PRO® SDHC Memory Card",
          "WD - 2TB My Passport - Blue - WDBYFT0020BBL",
          "Seagate - STHN2000403 - 2TB Backup Plus Slim Portable Drive - Red",
          "Sandisk - SDSDX-128G-XQ46 - 128GB Extreme SD UHS-I Card",
          "SanDisk 256GB High Endurance Video Monitoring  MicroSDXC Card  ",
          "Samsung 500GB T7 Touch Portable SSD - Silver - MU-PC500S/WW ",
          "Seagate - STJL2000400 - 2TB Basic External HDD",
          "Sandisk Extreme Portable SSD - 500GB",
          "Samsung - MU-PC500T - 500GB Portable SSD T7 USB3.2 - Titan Gray",
          "Seagate - STJE500400 - 500GB One Touch SSD - Black",
          "Sandisk - SDSDX-064G-XQ46 - 64GB Extreme SD UHS-I Card ",
          "Seagate - STJE1000400 - 1TB One Touch SSD - Black",
          "Seagate - STGD2000400 - Game Drive PS4",
          "Sandisk - SDDDC2-064G-A46 - 64GB Ultra Dual Drive USB Type-C Flash Drive  ",
          "Sandisk - 200GB Ultra microSD UHS-I CARD - SDSDQUAN-200G-Q4A ",
          "Western Digital - WDBU6Y0020BBK - 2TB Elements Portable HDD",
          "Sandisk - SDIX30C-064G-AN6NN - 64GB iXpand Flash Drive",
          "Sandisk - SDSDU-064G-UQ46 - 64GB Ultra® SDXC™ UHS-I Card ",
          "Sandisk - SDCZ48-1286G-UQ46 - 128GB Ultra USB 3.0 Flash Drive",
          "Sandisk - SDCZ50-032G-B35S - 32GB Cruzer® Blade™ USB Flash Drive ",
          "SanDisk 128GB High Endurance Video Monitoring  MicroSDXC Card  ",
          "Sandisk - SDCZ50-064G - 64GB Cruzer Blade™ USB Flash Drive",
          "Seagate - STEL10000400 - 10TB Backup Plus Hub",
          "Seagate - STEH2000300 - 2TB Backup Plus Ultra Slim - Platinum",
          "Seagate - STJM500400 - 500GB BarraCuda SSD",
          "Sandisk - SQUAR-512G-GN6MA - 512GB Ultra microSDXC UHS-I CARD",
          "Seagate - STEA1000400 - 1TB Expansion Portable Hard Drive  ",
          "Sandisk 1TB Extreme PRO® Portable SSD ",
          "Samsung 2TB T7 Touch Portable SSD - Black - MU-PC2T0K/WW  ",
          "Seagate - STHP4000400 - 4TB Backup Plus Portable Drive - Black",
          "WD 2TB WD_Black™ P50 Game Drive SSD",
          "WD 1TB WD_Black™ P50 Game Drive SSD",
          "Seagate - STJP1000400 - 1TB FireCuda Gaming SSD ",
          "Samsung - MU-PT500B - 500GB T3 Portable SSD",
          "Sandisk - SDCZ50-016G-B35S - 16GB Cruzer® Blade™ USB Flash Drive ",
          "Samsung - MU-PC1T0T - 1TB Portable SSD T7 USB3.2 - Titan Gray",
          "Sandisk 32GB SanDisk Extreme microSDHC UHS-I Card with Adapter",
          "Seagate - STJE500402 - 500GB One Touch SSD - White",
          "Samsung - MUF-256BE4/APC - 256GB USB 3.1 Flash Drive BAR Plus",
          "Sandisk - SDSQXA1-256G-GN6MA - 256GB  EXTREME® microSD™ UHS-I CARD",
          "Samsung - MU-PA1T0R/WW - 1TB T5 Portable SSD - Metallic Red",
          "Seagate - 1TB Backup Plus Slim Portable Drive - Red",
          "Sandisk - 32GB Ultra microSD UHS-I CARD - SDSDQUA-032G-UQ46A",
          "Sandisk Extreme 500 Portable SSD - 240GB ",
          "Seagate - STHP5000400 - 5TB Backup Plus Portable Drive - Black",
          "Asus ZenDrive U9M - SDRW-08U9M - Slim External DVD Burner - Black",
          "WD - WDBWVZ0080JWT - 8TB My Cloud Mirror (Gen 2)",
          "Sandisk - SDSDQUA-064G-UQ46A - 64GB Ultra microSD UHS-I CARD",
          "Sandisk - SDSDQUA-128G-UQ46A - 128GB Ultra microSD UHS-I CARD",
          "Samsung - MU-PT1T0B - 1TB T3 Portable SSD",
          "WD - WDBGPU0010BBY - 1TB My Passport Ultra - Wild Berry",
          "Samsung - MU-PC2T0T - 2TB Portable SSD T7 USB3.2 - Titan Grey",
          "Samsung - MU-PA250B/WW - 250GB Portable SSD T5",
          "Seagate - STHN2000402 - 2TB Backup Plus Slim Portable Drive - Light Blue",
          "Seagate - STJP500400 - 500GB FireCuda Gaming SSD ",
          "WD - WDBLWE0080JCH - 8TB My Book Duo",
          "WD - WDBLWE0040JCH - 4TB My Book Duo",
          "Samsung - MU-PC1T0R - 1TB Portable SSD T7 USB3.2 - Metallic Red",
          "Sandisk - SDXVE-032G-GNCIN - 32GB Extreme SDHC UHS-I Card"
         ],
         "type": "scatter",
         "x": [
          0.2275155633687973,
          0.1630329191684723,
          0.23233920335769653,
          0.21675926446914673,
          0.20205731689929962,
          0.22187155485153198,
          0.1955014318227768,
          0.3107078969478607,
          0.2560640871524811,
          0.2342795878648758,
          0.28131282329559326,
          0.21697333455085754,
          0.21288996934890747,
          0.24615532159805298,
          0.24777820706367493,
          0.3141067624092102,
          0.2316097617149353,
          0.1988265961408615,
          0.1990293711423874,
          0.1754818856716156,
          0.14054732024669647,
          0.2798851728439331,
          0.2039468139410019,
          0.3149268925189972,
          0.22602280974388123,
          0.22104498744010925,
          0.2340964674949646,
          0.19262635707855225,
          0.21144217252731323,
          0.2049574851989746,
          0.1866767406463623,
          0.22312013804912567,
          0.22842127084732056,
          0.26297569274902344,
          0.30300435423851013,
          0.2786980867385864,
          0.23222163319587708,
          0.30441057682037354,
          0.20916494727134705,
          0.30953845381736755,
          0.15346811711788177,
          0.17893218994140625,
          0.25732868909835815,
          0.23302412033081055,
          0.2170538306236267,
          0.24213072657585144,
          0.23090243339538574,
          0.21196633577346802,
          0.19864964485168457,
          0.19828110933303833,
          0.16088226437568665,
          0.2173026204109192,
          0.22849565744400024,
          0.2257373332977295,
          0.23620545864105225,
          0.18282143771648407,
          0.18276476860046387,
          0.23010939359664917,
          0.2264094352722168,
          0.2844159007072449,
          0.17382964491844177,
          0.2689210772514343,
          0.34561416506767273,
          0.24053825438022614,
          0.20773737132549286,
          0.24655047059059143,
          0.18758752942085266,
          0.21161018311977386,
          0.22839437425136566,
          0.15643395483493805,
          0.1794736385345459,
          0.21896806359291077,
          0.21537727117538452,
          0.20976346731185913,
          0.23030507564544678,
          0.18576054275035858,
          0.14770513772964478,
          0.13370874524116516,
          0.21189042925834656,
          0.2169705480337143,
          0.19353945553302765,
          0.3036503791809082,
          0.33591166138648987,
          0.22521694004535675,
          0.1875179558992386,
          0.18446184694766998,
          0.15686558187007904,
          0.27346035838127136,
          0.21829979121685028,
          0.3483174741268158,
          0.2711445093154907,
          0.2133394330739975,
          0.2321261614561081,
          0.2252906709909439,
          0.263801246881485,
          0.20748868584632874,
          0.22814127802848816,
          0.24766729772090912,
          0.22904366254806519,
          0.2021465301513672,
          0.17669886350631714,
          0.2302485555410385,
          0.24762998521327972,
          0.2817937135696411,
          0.17773814499378204,
          0.3483670949935913,
          0.22641539573669434,
          0.19966240227222443,
          0.14305078983306885,
          0.19161829352378845,
          0.16010189056396484,
          0.3000696003437042,
          0.19403286278247833
         ],
         "y": [
          0.27910685539245605,
          0.13281670212745667,
          0.24920718371868134,
          0.23785802721977234,
          0.16628088057041168,
          0.23914101719856262,
          0.21071188151836395,
          0.37554094195365906,
          0.24501992762088776,
          0.28005608916282654,
          0.21175304055213928,
          0.15238384902477264,
          0.21012523770332336,
          0.26987770199775696,
          0.2260146588087082,
          0.3446499705314636,
          0.17851704359054565,
          0.17005400359630585,
          0.2619943916797638,
          0.28714340925216675,
          0.10863128304481506,
          0.21709632873535156,
          0.15744122862815857,
          0.3803942799568176,
          0.1745988428592682,
          0.2275562584400177,
          0.2914009392261505,
          0.10512004047632217,
          0.19360357522964478,
          0.10398000478744507,
          0.1637740284204483,
          0.08076101541519165,
          0.2267259806394577,
          0.15478157997131348,
          0.3800824284553528,
          0.20670351386070251,
          0.22562579810619354,
          0.34928572177886963,
          0.166075199842453,
          0.2065725028514862,
          0.0999005138874054,
          0.11299791932106018,
          0.2545997202396393,
          0.23876456916332245,
          0.2946990728378296,
          0.23625969886779785,
          0.24966798722743988,
          0.2643570303916931,
          0.2818555235862732,
          0.13669294118881226,
          0.1581556349992752,
          0.12192706763744354,
          0.2737817168235779,
          0.2770124673843384,
          0.24481967091560364,
          0.09676191210746765,
          0.10384330153465271,
          0.2783970236778259,
          0.24134723842144012,
          0.37587785720825195,
          0.1077251136302948,
          0.229226753115654,
          0.3443979024887085,
          0.18209391832351685,
          0.30917617678642273,
          0.15922963619232178,
          0.18984295427799225,
          0.27848610281944275,
          0.24671253561973572,
          0.18809285759925842,
          0.26963120698928833,
          0.28693288564682007,
          0.2879050672054291,
          0.19234710931777954,
          0.2595014274120331,
          0.23037639260292053,
          0.1088683232665062,
          0.09947805106639862,
          0.191693514585495,
          0.22051212191581726,
          0.10836973041296005,
          0.18532311916351318,
          0.34085091948509216,
          0.15398073196411133,
          0.2700701355934143,
          0.2795484662055969,
          0.23772716522216797,
          0.35500621795654297,
          0.20025427639484406,
          0.34160277247428894,
          0.2479354739189148,
          0.17084673047065735,
          0.22919577360153198,
          0.2556251287460327,
          0.3491860628128052,
          0.07644505798816681,
          0.27868568897247314,
          0.24238458275794983,
          0.14564001560211182,
          0.20504480600357056,
          0.19657796621322632,
          0.29926204681396484,
          0.27880820631980896,
          0.3453904390335083,
          0.12162743508815765,
          0.3300897479057312,
          0.3693658709526062,
          0.0652187168598175,
          0.2521412968635559,
          0.18803681433200836,
          0.1745198369026184,
          0.3521024286746979,
          0.2543984651565552
         ]
        },
        {
         "marker": {
          "color": 49,
          "size": 5
         },
         "mode": "markers",
         "name": "44",
         "text": [
          "Hisense - 65PX - 65\" Smart OLED TV ",
          "Samsung QA65Q70TAWXXY - 65\" Q70T QLED 4K Smart TV - 200Hz  ",
          "LG 50UN7300PTC 50\" Smart 4K UHD TV - ThinQ™ AI ",
          "CHiQ - L32K5 - 32\" HD Android TV ",
          "LG - 32LH570D - 32\" HD Smart LED TV",
          "Samsung - QA82Q800TAWXXY - 82\" QLED 8K UHD HDR Smart TV   ",
          "Blaupunkt - 65\" 4K UHD Android TV - BP650USG9200",
          "LG - 55UK7550PTA - Super UHD 4K TV 55\" - AI ThinQ™  ",
          "Changhong - LED58D2600 - 58\" FHD LED TV",
          "Samsung QA65Q800TAWXXY 65\" QLED 8K UHD HDR Smart TV    ",
          "Samsung UA65TU8000WXXY 65\" Crystal UHD 4K Smart TV  ",
          "CHiQ - L24H4 - 24\" HD TV",
          "Samsung QA75Q800TAWXXY 75\" QLED 8K UHD HDR Smart TV  ",
          "LG - UBK90 - 4K Ultra HD Blu-ray Player",
          "CHiQ - L40K5 - 40\" FHD Android TV",
          "TCL - 32S615 - 32\" HD Android TV",
          "TCL - 43P715 - 43” QUHD Android Smart TV",
          "Samsung QA65Q95TAWXXY 65\" Q95T QLED Smart 4K TV",
          "TCL - 85P715 - 85'' QUHD Android Smart TV",
          "Sony - KD-55X8500G - 55\" X85G 4K Ultra HD - HDR - Smart Android TV   ",
          "Hisense - 50S8 - 50\" Series 8 UHD Smart TV",
          "Panasonic - TH-65GZ1500U - 65\" OLED 4K UHD HDR TV ",
          "LG OLED55BXPTA - BX 55\" 4K Smart OLED TV w/ AI ThinQ®",
          "Sony - W660E - 32\" FHD LED - Smart TV - KDL-32W660E",
          "Sony - KD-65X8000H - 65\" X8000H 4K Ultra HD HDR Smart Android TV  ",
          "Sony - KD-85X8000H - 85\" X8000H 4K Ultra HD HDR Smart Android TV  ",
          "LG - OLED65C8PTA - OLED 65\" TV C8  ",
          "LG -  65UM7600PTA - 65\" UHD Smart 4K UHD TV - Magic Remote  ",
          "Samsung - UA43NU7100WXXY - 43\" Series 7 NU7100 4K TV ",
          "CHiQ - U58H10 - 58\" 4K UHD Android TV ",
          "Samsung - 55\" MU6100 UHD LED TV - UA55MU6100WXXY",
          "Panasonic - TH-55GX740A - 55\" LED 4K UHD LED TV ",
          "Hisense 55Q8 Series Q8  55″ ULED 4K Smart TV  ",
          "Hisense 75Q8 Series Q8  75″ ULED 4K Smart TV  ",
          "LG - OLED77C8PTA - 77\" OLED TV C8 ",
          "LG - 65UK7550PTA - Super UHD 4K TV 65\" - AI ThinQ™",
          "Sony - KD-85X9500G - 85\" 4K Ultra HD - HDR - Smart Android TV",
          "Hisense - 40S4 - 40\" Series 4 FHD Smart TV",
          "Hisense - 32S4 - 32\" Series 4 HD Smart TV",
          "Hisense - 55S8 - 55\" Series 8 UHD Smart TV",
          "Samsung QA75Q95TAWXXY 75\" Q95T QLED Smart 4K TV",
          "TCL - 100P715 - 100'' QUHD Android Smart TV",
          "Samsung - LC49RG90SSEXXY - 49\" QLED Gaming Monitor",
          "Hisense - 75S8 - 75\" Series 8 UHD Smart TV",
          "Hisense 65Q8 Series Q8  65″ ULED 4K Smart TV  ",
          "Sony - KD-65X9500H - 65\" X9500H 4K Ultra HD HDR Smart Android TV",
          "TCL - 55P715 - 55” QUHD Android Smart TV",
          "CHiQ - U65H10 - 65\" UHD Android TV",
          "CHiQ - U43H10 - 43\" 4K UHD Android TV",
          "Samsung The Frame 65\" QLED 4K TV - QA65LS03TAWXXY  ",
          "LG NanoCell 75\" 4K UHD TV with LG AI ThinQ - 75NANO91TNA  ",
          "TCL - 65X4US - 65” QLED Android TV",
          "Sony KD-55X8000H 55\" X8000H 4K Ultra HD HDR Smart Android TV  ",
          "Sony - KD-49X8000H - 49\" X8000H 4K Ultra HD HDR Smart Android TV  ",
          "Sony - KD-55A8G - 55\" A8G OLED 4K Ultra HD - HDR - Android TV",
          "Hisense - 85S8 - 85\" Series 8 UHD Smart TV",
          "CHiQ - U55H10 - 55\" 4K UHD Android TV ",
          "Samsung - QA65Q7FNAWXXY - 65\" Q7 QLED 4K UHD TV  ",
          "Sony - KD-85X8500G - 85\" X85G 4K UHD - HDR - Smart TV (Android TV)",
          "Hisense - 65S8 - 65\" Series 8 UHD Smart TV",
          "LG NanoCell 65NANO91TNA - 65\" Nano 9 Series 4K UHD TV with LG AI ThinQ ",
          "LG - LMK410ZMW - K41S Smartphone",
          "Samsung - UA75NU8000WXXY - 75\" Premium 4K UHD Smart LED TV   ",
          "Samsung The Frame 43\" QLED 4K TV - QA43LS03TAWXXY   ",
          "Samsung The Frame 55\" QLED 4K TV - QA55LS03TAWXXY ",
          "LG - 75SK8000PTA - Super UHD 4K TV 75\" ",
          "Samsung QA75Q60TAWXXY 75\" Q60T QLED 4K UHD HDR Smart TV    ",
          "Samsung QA65Q80TAWXXY 65\" Q80T QLED 4K UHD HDR Smart TV  - 200Hz   ",
          "Samsung - UA75NU7100WXXY - 75\" 4K UHD Smart LED TV  ",
          "Samsung - UA55NU7100WXXY - 55\" 4K UHD Smart LED TV",
          "Panasonic - TH49FX600A - 49\" 4K UHD Smart LED TV",
          "LG 65UN7300PTC - 65\" Smart 4K UHD TV - ThinQ™ AI   ",
          "LG 65\" NanoCell Smart UHD 4K  TV w/ AI ThinQ®  - 65NANO86TNA   ",
          "LG - LMQ630EAW - K61 Smartphone",
          "Samsung - UA50KU6000W - Series 6 50\" UHD LED TV",
          "Samsung - 32\" FHD Smart LED TV - UA32M5500AWXXY",
          "Sony - KD-75X9500H - 75\" X9500H 4K Ultra HD HDR Smart Android TV",
          "Sony - KD-65A8G - 65\" A8G OLED 4K Ultra HD - HDR - Smart TV (Android TV) ",
          "Samsung UA50TU8000WXXY 50\" Crystal UHD 4K Smart TV ",
          "Sony - KD-75X8500G - 75\" X85G 4K UHD - HDR - Smart TV (Android TV)",
          "Hisense - 43S8 - 43\" Series 8 UHD Smart TV ",
          "LG - OLED65W9PTA - 65\" OLED TV w Design on Wall   ",
          "LG - 65SK8000PTA - Super UHD 4K TV 65\"",
          "Sony - KD-55X9500H - 55\" X9500H 4K Ultra HD HDR Smart Android TV",
          "CHiQ - L43G5 - 43\" Netflix - Freeview - YouTube - FHD TV",
          "Sony - X85 - KD-55X8500F - 55\" 4K UHD Smart LED Android TV",
          "Hisense - 43P6 - 43\" Series 6 UHD Smart LED TV",
          "LG 55UN7300PTC 55\" Smart 4K UHD TV - ThinQ™ AI ",
          "LG - 55\" OLED TV E7 - OLED55E7T ",
          "LG 86UN8100PTB 86\" Smart 4K UHD TV - ThinQ™ AI  ",
          "TCL - 65P6US - 65” QUHD Android TV   ",
          "Panasonic - TH-65FX600A - 65\" 4K UHD Smart LED TV",
          "TCL - 75C815 - 75” QLED Android TV",
          "LG 43UN7300PTC 43\" Smart 4K UHD TV - ThinQ™ AI ",
          "Samsung UA75TU8000WXXY 75\" Crystal UHD 4K Smart TV   ",
          "Sony - A8F - KD65A8F - 65\" 4K HDR OLED Android TV ",
          "Hisense - Series 4 40R4 - 40\"  FHD LED LCD Smart TV  ",
          "Samsung QA55Q80TAWXXY - 55\" Q80T QLED 4K UHD HDR Smart TV  - 200Hz    ",
          "Hisense - 85Q8 - 85\" Series Q8 UHD Smart TV",
          "Samsung UA43TU8000WXXY - 43\" Crystal UHD 4K Smart TV",
          "CHiQ - U50H10 - 50\" 4K UHD Android TV ",
          "Blaupunkt - 55\" 4K UHD Android TV - BP550USG9200",
          "LG - OLED55B8STB - 55\" B8 OLED TV  ",
          "Panasonic - TH-55FX600A - 55\" 4K UHD Smart LED TV ",
          "Hisense - 55P6 - 55\" Series 6 UHD Smart LED TV ",
          "Samsung QA75Q950TSWXXY 75\" QLED 8K UHD HDR Smart TV     ",
          "Hisense - 32R4 - 32\" Series 4  LED LCD Smart HD TV ",
          "Hisense - 65R6 - 65\" Series 6 UHD Smart LED TV   ",
          "Hisense - 32K3110W - 32\" HD Smart LED TV",
          "Samsung QA85Q950TSWXXY 85\" QLED 8K UHD HDR Smart TV      ",
          "Apple TV 4K 32GB  ",
          "Samsung QA65Q950TSWXXY 65\" QLED 8K UHD HDR Smart TV   ",
          "LG OLED77CXPTA - 77\" OLED 4K with LG AI ThinQ ",
          "TCL - 40S615 - 40” Full HD Android TV  ",
          "LG -  55UM7600PTA - 55\" UHD Smart 4K UHD TV - Magic Remote  ",
          "Samsung - LU32R590CWEXXY - 32\" UHD Curved Monitor ",
          "TCL - 65C715 - 65” QLED UHD Android Smart TV",
          "Panasonic - TH43FX600A - 43\" UHD Smart LED TV  ",
          "Samsung - Series 7 75\" RU7100 4K UHD TV - UA75RU7100WXXY ",
          "LG - OLED55E8PTA - 55\" OLED TV E8",
          "LG - OLED65B8STB - 65\" B8 OLED TV ",
          "Samsung - UA55NU8500WXXY - 55\" Curved Premium 4K UHD Smart LED TV",
          "Sony - UBP-X700 - 4K Ultra HD Blu-ray Player",
          "Samsung QA75Q80TAWXXY 75\" Q80T QLED 4K UHD HDR Smart TV  - 200Hz    ",
          "Samsung QA85Q70TAWXXY - 85\" Q70T QLED 4K Smart TV - 200Hz  ",
          "Samsung QA85Q80TAWXXY 85\" Q80T QLED 4K UHD HDR Smart TV  - 200Hz   ",
          "Samsung QA55Q95TAWXXY 55\" Q95T QLED Smart 4K TV",
          "Samsung - QA55Q7FNAWXXY - 55\" Q7 QLED 4K UHD TV  ",
          "TCL 24D3100 - 24” HD LED TV  ",
          "Samsung UA55TU8000 55\" Crystal UHD 4K Smart TV ",
          "Sony - KD43X8000H - 43\" X8000H 4K Ultra HD HDR Smart Android TV   ",
          "TCL - 65P715 - 65” QUHD Android Smart TV ",
          "TCL - 50P715 - 50” QUHD Android Smart TV",
          "Hisense - 32\" LED LCD Smart TV - Series 4 - 32N4",
          "TCL - 65P615 - 65\" UHD 4K Android TV ",
          "LG OLED55CXPTA - CX 55\" OLED 4K with LG AI ThinQ",
          "TCL - 65C6US - 65” QUHD Android TV",
          "Samsung - UA55MU6103WXXY - 55\" 4K UHD Smart LED TV ",
          "Samsung - UA55NU8000WXXY - 55\" Premium 4K UHD Smart LED TV       ",
          "Sony - KD-43X7500F - 43\" X75F - 4K Ultra HD - HDR - Android TV ",
          "CHiQ - L20G4 - G4 20\" HD TV",
          "Samsung - QA98Q900RBWXXY - 98\" QLED Smart 8K UHD TV",
          "LG NanoCell 86\" 4K UHD TV with LG AI ThinQ - 86NANO91TNA ",
          "Samsung Odyssey G7  - LC27G75TQSEXXY - 27\" QLED Gaming Monitor",
          "Samsung - Series 7 - 65\" UHD QLED TV - QA65Q7FAMWXXY ",
          "LG - 4K UHD 3D Blu-ray Player - UP970 ",
          "LG - 65\" OLED TV B7 -  OLED65B7T  ",
          "Samsung - LU28E590DS/XY - 28\" UHD Monitor",
          "Hisense - 75P5 - 75\" Series 5 UHD Smart LED TV  ",
          "LG - OLED65W8PTA - 65\" OLED TV    ",
          "TCL - 50C715 - 50” QLED UHD Android Smart TV",
          "LG OLED65BXPTA - BX 65\" 4K Smart OLED TV w/ AI ThinQ®",
          "Panasonic - TH75FX780A - 75\" Premium 4K UHD Smart LED TV",
          "LG 75UN8100PTB 75\" Smart 4K UHD TV - ThinQ™ AI  ",
          "Samsung UA82TU8000WXXY 82\" TU8000 Crystal UHD 4K Smart TV  ",
          "LG NanoCell 65NANO95TNA - 65\" Nano 9 Series 8K TV​  ",
          "Samsung - UA65NU7100WXXY - 65\" 4K UHD Smart LED TV  ",
          "LG -  75UM7600PTA - 75\" UHD Smart 4K UHD TV - Magic Remote  ",
          "TCL - 55C715 - 55” QLED UHD Android Smart TV",
          "Samsung - LC34J791WTEXXY - 34\" QLED Curved Monitor",
          "Samsung - UBD-K8500 - 4K Ultra HD Blu-ray™ Player",
          "LG NanoCell 75NANO95TNA - 75\" Nano 9 Series 8K TV​ ",
          "LG - 34UC79G - 34\" IPS Curved Gaming Monitor",
          "TCL - 75P715 - 75” QUHD Android Smart TV ",
          "Samsung QA55Q60TAWXXY 55\" Q60T QLED 4K UHD HDR Smart TV    ",
          "Samsung QA55Q70TAWXXY 55\" Q70T QLED 4K UHD HDR Smart TV  - 200Hz ",
          "Samsung - Series 7 50\" RU7100 4K UHD TV - UA50RU7100WXXY ",
          "Samsung QA75Q70TAWXXY - 75\" Q70T QLED 4K Smart TV - 200Hz  ",
          "Samsung - Series 7 43\" RU7100 4K UHD TV - UA43RU7100WXXY",
          "Samsung Odyssey G7 - LC32G75TQSEXXY - 32\" QLED Gaming Monitor ",
          "Samsung - Series 7 UA65KU7000W - 65\" UHD LED TV",
          "Sony - KD75X8000H - 75\" X8000H 4K Ultra HD HDR Smart Android TV   ",
          "Asus - XG49VQ - 49\" ROG Strix Gaming Monitor",
          "Panasonic - 4K UHD Blu-ray Player - FHD Recorder - DMR-UBT1GL-K ",
          "LG OLED65CXPTA - 65\" OLED 4K with LG AI ThinQ ",
          "LG - 65SK8500PTA - Super UHD 4K TV 65\" - New 2018 Model",
          "LG - 55SK8500PTA - Super UHD 4K TV 55\" - New 2018 Model ",
          "Samsung QA65Q60TAWXXY 65\" Q60T QLED 4K UHD HDR Smart TV   ",
          "TCL - 55C6US - 55” QUHD Android TV  ",
          "Samsung - UA49NU7100WXXY - 49\" 4K UHD Smart LED TV",
          "LG - LMK510ZMW - K51S Smartphone",
          "Hisense - 49S4 - 49\" Series 4 FHD Smart TV",
          "Apple TV 4K 64GB",
          "Samsung - UA32N5300AWXXY - 32\" FHD Smart LED TV "
         ],
         "type": "scatter",
         "x": [
          0.1597996950149536,
          0.21339692175388336,
          0.1807001829147339,
          0.2076929360628128,
          0.1792728155851364,
          0.24215561151504517,
          0.33343276381492615,
          0.17214573919773102,
          0.09930731356143951,
          0.25053250789642334,
          0.23367927968502045,
          0.09791171550750732,
          0.24195802211761475,
          0.17062409222126007,
          0.1722814291715622,
          0.23738431930541992,
          0.2522260546684265,
          0.21624930202960968,
          0.22368137538433075,
          0.269355833530426,
          0.19654953479766846,
          0.14482197165489197,
          0.20068290829658508,
          0.18077430129051208,
          0.28741899132728577,
          0.27739614248275757,
          0.14401941001415253,
          0.20087604224681854,
          0.21450334787368774,
          0.21937908232212067,
          0.17865343391895294,
          0.15088683366775513,
          0.19461657106876373,
          0.17939716577529907,
          0.1693025678396225,
          0.15821130573749542,
          0.26818087697029114,
          0.1578127145767212,
          0.20179644227027893,
          0.21000079810619354,
          0.21486227214336395,
          0.22040386497974396,
          0.20044711232185364,
          0.17872580885887146,
          0.17152738571166992,
          0.27618637681007385,
          0.23256126046180725,
          0.20380356907844543,
          0.23373043537139893,
          0.18187479674816132,
          0.16955751180648804,
          0.19086238741874695,
          0.2880956828594208,
          0.30212637782096863,
          0.28947901725769043,
          0.19169113039970398,
          0.22341124713420868,
          0.22817805409431458,
          0.25813615322113037,
          0.18095625936985016,
          0.2009895294904709,
          0.15542365610599518,
          0.22110573947429657,
          0.22537237405776978,
          0.20050552487373352,
          0.16877374053001404,
          0.21423901617527008,
          0.22222408652305603,
          0.20888249576091766,
          0.22420893609523773,
          0.19036543369293213,
          0.19043104350566864,
          0.19774815440177917,
          0.1452350914478302,
          0.16818030178546906,
          0.23276136815547943,
          0.2857353985309601,
          0.29102951288223267,
          0.23506005108356476,
          0.259968638420105,
          0.21382606029510498,
          0.1157149076461792,
          0.17810140550136566,
          0.2867806851863861,
          0.10967642813920975,
          0.24140460789203644,
          0.18370357155799866,
          0.20196445286273956,
          0.16544242203235626,
          0.16358688473701477,
          0.18695229291915894,
          0.1526431143283844,
          0.16679708659648895,
          0.22102810442447662,
          0.2260833978652954,
          0.270519495010376,
          0.15281318128108978,
          0.2246677726507187,
          0.18539246916770935,
          0.2676609456539154,
          0.20801304280757904,
          0.34290698170661926,
          0.15173718333244324,
          0.16986915469169617,
          0.17389604449272156,
          0.24119044840335846,
          0.18484479188919067,
          0.14493897557258606,
          0.18080052733421326,
          0.24239814281463623,
          0.30656662583351135,
          0.2500433921813965,
          0.18365785479545593,
          0.198012575507164,
          0.20932461321353912,
          0.17788103222846985,
          0.23096010088920593,
          0.1899438500404358,
          0.20735497772693634,
          0.16573573648929596,
          0.13519293069839478,
          0.2198171615600586,
          0.31324881315231323,
          0.21829023957252502,
          0.21023820340633392,
          0.2203502207994461,
          0.22364678978919983,
          0.24121619760990143,
          0.16006970405578613,
          0.2568446099758148,
          0.308076947927475,
          0.22106263041496277,
          0.22698868811130524,
          0.17368876934051514,
          0.2315918207168579,
          0.17699475586414337,
          0.17338809370994568,
          0.23528523743152618,
          0.23913250863552094,
          0.2764553427696228,
          0.09929107129573822,
          0.23812560737133026,
          0.16880829632282257,
          0.2195461392402649,
          0.23319561779499054,
          0.24812538921833038,
          0.13581305742263794,
          0.22051483392715454,
          0.16026146709918976,
          0.14603416621685028,
          0.24307867884635925,
          0.18619628250598907,
          0.1512351632118225,
          0.1669013500213623,
          0.23661138117313385,
          0.19446492195129395,
          0.2156922072172165,
          0.19314561784267426,
          0.24809423089027405,
          0.2030286341905594,
          0.2807920277118683,
          0.1862964779138565,
          0.15906749665737152,
          0.20882414281368256,
          0.2271352857351303,
          0.230508491396904,
          0.21021734178066254,
          0.21140018105506897,
          0.23159931600093842,
          0.22225764393806458,
          0.20663577318191528,
          0.2822916805744171,
          0.19026634097099304,
          0.22072800993919373,
          0.16512015461921692,
          0.17346875369548798,
          0.18206308782100677,
          0.22015367448329926,
          0.1802491694688797,
          0.23367901146411896,
          0.14596247673034668,
          0.15677431225776672,
          0.2876855731010437,
          0.22545278072357178
         ],
         "y": [
          0.32790422439575195,
          0.5916306376457214,
          0.5286779403686523,
          0.3140484094619751,
          0.40745100378990173,
          0.594467282295227,
          0.226205974817276,
          0.5229958891868591,
          0.27872055768966675,
          0.6374025344848633,
          0.5900668501853943,
          0.2377709448337555,
          0.6333571076393127,
          0.27301427721977234,
          0.3168225884437561,
          0.3264463543891907,
          0.3809262216091156,
          0.6195036172866821,
          0.3804708421230316,
          0.46289747953414917,
          0.3768528699874878,
          0.4481143355369568,
          0.4496624171733856,
          0.3622595965862274,
          0.4298364520072937,
          0.41471603512763977,
          0.3923989236354828,
          0.4742092490196228,
          0.5536534786224365,
          0.4299453794956207,
          0.5382028222084045,
          0.4552229046821594,
          0.4725404381752014,
          0.4782736003398895,
          0.3853309750556946,
          0.5150856971740723,
          0.4460151195526123,
          0.3116055428981781,
          0.3262594938278198,
          0.423644095659256,
          0.6183140277862549,
          0.3250957429409027,
          0.4166833162307739,
          0.4033321738243103,
          0.4739789664745331,
          0.44192057847976685,
          0.3936372995376587,
          0.3986940085887909,
          0.40667790174484253,
          0.5500929355621338,
          0.4829050898551941,
          0.3293638527393341,
          0.46312224864959717,
          0.4385644793510437,
          0.44045698642730713,
          0.4016282558441162,
          0.43581002950668335,
          0.6129145622253418,
          0.448058158159256,
          0.4089330732822418,
          0.49530309438705444,
          0.23848333954811096,
          0.5908899307250977,
          0.5303722620010376,
          0.5386135578155518,
          0.4928640127182007,
          0.6390587687492371,
          0.6284147500991821,
          0.601415753364563,
          0.6038340330123901,
          0.45548608899116516,
          0.5404441952705383,
          0.5113688707351685,
          0.3314206898212433,
          0.48953521251678467,
          0.4987030029296875,
          0.43189167976379395,
          0.46723809838294983,
          0.5585160255432129,
          0.45180127024650574,
          0.4079101085662842,
          0.3544629216194153,
          0.4960024356842041,
          0.43533948063850403,
          0.26636719703674316,
          0.4439275860786438,
          0.38341784477233887,
          0.5595106482505798,
          0.4110018014907837,
          0.5083476901054382,
          0.3652579188346863,
          0.44559186697006226,
          0.3204977214336395,
          0.5459178686141968,
          0.5887094140052795,
          0.3960394859313965,
          0.3105136752128601,
          0.6097723245620728,
          0.41424480080604553,
          0.5676713585853577,
          0.3831377625465393,
          0.23056520521640778,
          0.37079113721847534,
          0.4362475275993347,
          0.3864653408527374,
          0.6378569602966309,
          0.2993941009044647,
          0.3623354434967041,
          0.33030107617378235,
          0.6230761408805847,
          0.3990563154220581,
          0.6417185664176941,
          0.45355045795440674,
          0.30462080240249634,
          0.47963494062423706,
          0.4222562909126282,
          0.41083356738090515,
          0.400270938873291,
          0.5794569849967957,
          0.40070265531539917,
          0.37337222695350647,
          0.5933104157447815,
          0.15863269567489624,
          0.623679518699646,
          0.5890377163887024,
          0.6182018518447876,
          0.6195946931838989,
          0.608797550201416,
          0.29918384552001953,
          0.5726054906845093,
          0.43050533533096313,
          0.3893126845359802,
          0.335979700088501,
          0.26836100220680237,
          0.4064554274082184,
          0.4593283236026764,
          0.3651075065135956,
          0.5922555327415466,
          0.5895595550537109,
          0.4126182496547699,
          0.29278016090393066,
          0.5758273601531982,
          0.47464415431022644,
          0.4643818736076355,
          0.5835087299346924,
          0.24291616678237915,
          0.37391048669815063,
          0.4395774006843567,
          0.3625674843788147,
          0.4041202664375305,
          0.37296783924102783,
          0.44905099272727966,
          0.4467252194881439,
          0.5212165713310242,
          0.572109043598175,
          0.39002886414527893,
          0.6024991869926453,
          0.4655517637729645,
          0.41581612825393677,
          0.41233956813812256,
          0.29813772439956665,
          0.3738262951374054,
          0.3361087143421173,
          0.37135064601898193,
          0.6395815014839172,
          0.6242443919181824,
          0.5580196380615234,
          0.590278148651123,
          0.5786375403404236,
          0.4842676818370819,
          0.5500321984291077,
          0.4327550232410431,
          0.28105488419532776,
          0.2569614052772522,
          0.47344067692756653,
          0.4733823835849762,
          0.4773738384246826,
          0.6423262357711792,
          0.3687626123428345,
          0.595477819442749,
          0.25879448652267456,
          0.34524115920066833,
          0.408447802066803,
          0.4908081889152527
         ]
        },
        {
         "marker": {
          "color": 50,
          "size": 5
         },
         "mode": "markers",
         "name": "45",
         "text": [
          "GoPro - CHDHS-502 - HERO5 Session ",
          "GoPro - ACBAT-001 - MAX Rechargeable Battery",
          "GoPro - AKTAC-001 - Sports Kit",
          "GoPro - ASBHM-002 - MAX Grip + Tripod",
          "Scosche - MPOHMR - MagicMOUNT Pro Magnetic Office/Home Mount",
          "Garmin - fenix® 5S GPS Watch - Sapphire Rose Gold ",
          "Garmin fenix® 5 Outdoor GPS Watch - Slate Gray with Black Band ",
          "GoPro - AGBAG-001 - Replacement Parts",
          "GoPro - WETBAG - Waterproof Dry Bag 10L ",
          "GoPro - AFAEM-001 - 3-Way Mount",
          "GoPro MAX 360 Action Camera",
          "Navman - MOVE100 - 5\" GPS System",
          "GoPro - AAMIC-001 - Pro 3.5mm Mic Adapter",
          "Navman MOVE100 5\" GPS Unit + MiVUE700 Dashcam Bundle  ",
          "GoPro - CHDHX-601 - HERO6 Black",
          "Cygnett - DashView Vice Universal Car Mount - CY1738UNVIC",
          "Garmin - DriveAssist™ 51 LMT-S GPS",
          "Garmin - DriveSmart™ 55 In-Car GPS",
          "Scosche - MAGTHM2 - MagicMount XL Headrest",
          "Manfrotto - MKCOMPACTLT-BK - Compact Light Tripod ",
          "GoPro - AWALC-002 - Supercharger (International Dual-Port Charger)",
          "Fitbit Charge 4 Advance Fitness Tracker + GPS - Black - FB417BKBK ",
          "GoPro - Composite Cable - ACMPS-001",
          "Navman - CRUISE550MT - 5\" Car GPS System",
          "Garmin - BC™ 40 Wireless Backup Camera With License Plate Mount ",
          "GoPro - AJBAT-001 - Rechargeable Battery",
          "GoPro - AFAEM-001 - 3-Way Mount",
          "GoPro - AACFT-001 - Curved + Flat Adhesive Mounts",
          "GoPro - AJDBD-001 - Dual Battery Charger + Battery",
          "Garmin - vívoactive® 4S - White with Rose-gold Hardware",
          "GoPro - GCHM30-001 - Chest Mount Harness",
          "GoPro - AWRMK-001 - Wi-Fi Remote Mounting Kit ",
          "Garmin - 010-02173-12 - Venu™ Black with Slate Hardware",
          "Garmin - Drive™ 52 & Live Traffic - GPS",
          "Scosche - MAG12V - MagicMount™ Power",
          "Scosche - MAGVM2 - MagicMount™ Vent2",
          "GoPro - Large Tube Mount - AGTLM-001",
          "GoPro - CHDHS-102 - HERO Session",
          "Garmin - 010-01955-07 - vívosmart® HR - Purple (Regular)",
          "Tomtom - START 52 GPS System - 5\" - 8GB",
          "Tomtom - Via 52 GPS System - 5\" LCD - 8GB - Bluetooth®",
          "GoPro - Floaty - AFLTY-004",
          "Garmin - Dash Cam™ 66W ",
          "Garmin - dezl 580 LMT-S - dezl™ 580 LMT-S Trucking GPS",
          "GoPro - ANVGM-001 - NVG Mount",
          "Navman - CRUISE650MMT - 6\" LCD Car GPS System",
          "GarminVenu™ GPS Fitness Watch - Light Sand with Rose-gold Hardware ",
          "GoPro - ACSST-005 - GoPro Sleeve (Red) + Lanyard",
          "GoPro - ACHMJ-301 - Junior Chesty (Chest Harness)",
          "Garmin - dezlCam™ 785 LMT-S",
          "Navman - GPS Dual Dash Camera - MIVUE800   ",
          "Garmin - Dash Cam™ 45 - 010-01750-01",
          "GoPro - The Handler (Floating Hand Grip) - AFHGM-001",
          "Scosche - MAGCD2 - MagicMount CD Slot Magnetic Mount",
          "Scosche - MEDPMSR-XTET - MagicMount Elite - Double Pivot Magnet to Magnet Mount",
          "Scosche - MEBSR-XTET - MagicMount Elite - Dual Sided Magnetic Bar Mount",
          "Navman Big Rig Duo - GPS + 2K Dash Cam    ",
          "GoPro - The Frame - Frame Mount  ",
          "Scosche - MPQWD-XTSP - MagicMount™ Charge",
          "GoPro - GPAFLTY-003 - Floaty Backdoor",
          "Scosche - MAGMS2 - MagicMount™ MiniMat",
          "Navman - MiVUE740 - FHD - 2.7\"LCD - Dashcam ",
          "GoPro - AADBD-001 - Dual Battery Charger + Battery (HERO5 Black)",
          "GoPro - AFHGM-002 - The Handler (Floating Hand Grip) ",
          "GoPro Hero7 Black Bundle ",
          "Uniden - iGO CAM 325 - Accident CAM Vehicle Recorder",
          "GoPro - Handlebar / Seatpost / Pole Mount - AGTSM-001",
          "Garmin Instinct® Outdoor GPS Watch - Flame Red",
          "Tomtom - GO Professional 620 - Trucker GPS",
          "GoPro - the Strap Hand+Wrist+Arm+ Leg Mount - AHWBM-001",
          "Smeg - GT1T-2 - Telescopic Shelf Guide",
          "Garmin - vívoactive® 4 - Black with Slate Hardware",
          "GoPro - AHDMC-301 - Micro HDMI Cable",
          "GoPro - ADOGM-001 - Fetch™ Dog Harness ",
          "Tomtom GO Supreme GPS System 5\" LCD",
          "GoPro - GPACHOM-001 - Head Strap + QuickClip",
          "GoPro - CHDHX-701 - Hero7 Black - Action Camera - 4K60 - 12MP - GPS ",
          "Tomtom GO Supreme GPS System 6\" LCD",
          "Navman - MiVUE700 - Dash Camera",
          "Scosche - MAGFMI - MagicMount Surface",
          "Garmin - Dash Cam™ Mini",
          "Sanus - VMF720-B2 - Premium Full Motion Mount",
          "GoPro - ATBKT-005 - Camera Tethers",
          "GoPro - AHDWH-301 - Wrist Housing",
          "GoPro - AADBD-001-EU - Dual Battery Charger + Battery",
          "Inca - i3273D - 3-way Head Tripod",
          "Navman - MIVUE760 ULTRA - Dash Cam",
          "Scosche - MEVSR-XTET - MagicMount Elite",
          "GoPro - ACMPM-001 - Jaws: Flex Clamp",
          "Garmin - 010-01955-06 - vívosmart® HR - Black (Regular)",
          "GoPro - ALCAK-301 - HERO3 Caps + Doors",
          "GoPro - AUCMT-302 - Suction Cup",
          "GoPro - AHBBP-401 - Dual Battery Charger + Battery",
          "GoPro - AWALC-001 - Wall Charger",
          "GoPro - ARMTE-002 - Smart Remote",
          "GoPro - AHFMT-001 - Helmet Front Mount ",
          "Garmin - Dash Cam™ 56",
          "Garmin - Drive™ 51 LM GPS",
          "Scosche - MEDSR-XTET - MagicMount Elite - Magnetic Dash Mount",
          "Garmin - Marvel Spider-Man - Vívofit® Jr. 2 GPS Watch ",
          "Cygnett - DashView Universal Smartphone Car Mount",
          "Cygnett - MagMount 360 Dash & Window Car Mount",
          "Garmin - RV 775 MT-S In Car GPS",
          "Navman - MIVUE750 - WIFI Dashcam",
          "GoPro - CHDHB-601 - Hero7 - White - Action Camera - FHD -10MP",
          "Scosche - MAGWDM - MagicMount Window",
          "Jivo - GPKIT1 - GoPro 6 Piece Accessory Kit",
          "GoPro - AHBBP-301 - Dual Battery Charger*",
          "Garmin - BC™ 30 - Wireless Backup Camera ",
          "Scosche - MAGWSM2 - MagicMount™ Dash/Window",
          "Scosche - MAGDM - MagicMount™ Dash",
          "GoPro - Grab Bag - AGBAG-002",
          "Navman - MIVUE820 - 1080p Dual Camera Dash Cam ",
          "GoPro - CHDHX-701 - Hero7 Black",
          "Garmin - 010-01608-00 - vívofit 3 - Black (Regular) ",
          "Garmin Instinct® Outdoor GPS Watch - Tundra",
          "GoPro - Auto Charger - ACARC-001",
          "GoPro - CHDSB-701 - Hero7 Black with 32GB SD Card",
          "Navman - MiVUE630 Dash Cam - 2\" LCD ",
          "Scosche - MPQ2V-XTSP - MagicMount Pro",
          "Garmin - Disney Minnie Mouse - Vívofit® Jr. 2 GPS Watch",
          "Scosche - MPWD2 - MagicMount™ Pro Window/Dash",
          "Garmin - DEZL 570LMT - dezl™ 570LMT GPS",
          "GoPro - AHDAF-301 - Anti-Fog Inserts",
          "GoPro - AHDBT-401 - Rechargeable Battery - For HERO4 ",
          "GoPro - CHDHX-701-BOX - Hero7 Black - Dry Bag Bundle  ",
          "Fitbit Charge 4 Advance Fitness Tracker + GPS - Rosewood - FB417BYBY",
          "Fitbit Charge 4 Advance Fitness Tracker + GPS - Storm - FB417BKNV",
          "GoPro - AABAT-001-EU - Rechargeable Battery",
          "Cygnett - CY1882ACVEN - MagMount Magnetic Vent Car Mount",
          "Navman MOVE120M - 5\" LCD GPS System ",
          "Garmin Instinct® Outdoor GPS Watch - Graphite   ",
          "Garmin - vívomove® HR Watch - Black with Rose Gold Hardware - S/M ",
          "Scosche - MAGTHD2 - MagicMount™ XL Dash/Window",
          "GoPro Max 360 Action Camera Bundle ",
          "GoPro - 3.5mm Mic Adapter - AMCCC-301",
          "Scosche - MPQ2WD-XTSP - MagicMount™ Charge Magnetic Mount"
         ],
         "type": "scatter",
         "x": [
          0.25271427631378174,
          0.2354353815317154,
          0.2378300428390503,
          0.18562088906764984,
          0.09728795289993286,
          0.17522548139095306,
          0.21397729218006134,
          0.1956246942281723,
          0.054528482258319855,
          0.18747426569461823,
          0.20526863634586334,
          0.13732141256332397,
          0.3545275330543518,
          0.19320173561573029,
          0.2200177013874054,
          0.08869382739067078,
          0.13561084866523743,
          0.17219023406505585,
          0.0746716633439064,
          0.10666170716285706,
          0.21350178122520447,
          0.1415092796087265,
          0.27296727895736694,
          0.16064992547035217,
          0.16089069843292236,
          0.28385674953460693,
          0.18747426569461823,
          0.2037918120622635,
          0.26436498761177063,
          0.14416803419589996,
          0.12970639765262604,
          0.24887236952781677,
          0.1244841143488884,
          0.16714203357696533,
          0.07759594917297363,
          0.08767299354076385,
          0.12658853828907013,
          0.20268332958221436,
          0.15049374103546143,
          0.23245403170585632,
          0.27741867303848267,
          0.13964973390102386,
          0.10076636075973511,
          0.09491053968667984,
          0.16538241505622864,
          0.13067537546157837,
          0.1819344460964203,
          0.2239723801612854,
          0.1492794007062912,
          0.07660168409347534,
          0.18158137798309326,
          0.1582786738872528,
          0.13942024111747742,
          0.12979233264923096,
          0.10975073277950287,
          0.06831198930740356,
          0.1723955124616623,
          0.18636608123779297,
          0.10043365508317947,
          0.14352409541606903,
          0.09566406905651093,
          0.18523411452770233,
          0.31704023480415344,
          0.13994547724723816,
          0.2888556718826294,
          0.0967610776424408,
          0.18686024844646454,
          0.12885281443595886,
          0.1352992057800293,
          0.19279658794403076,
          0.030758045613765717,
          0.14796271920204163,
          0.2773999571800232,
          0.19014407694339752,
          0.2803153991699219,
          0.22976888716220856,
          0.3042640686035156,
          0.25627413392066956,
          0.17531923949718475,
          0.027626395225524902,
          0.20280539989471436,
          0.0827862098813057,
          0.2154848426580429,
          0.13555322587490082,
          0.27713078260421753,
          0.11022123694419861,
          0.0741785392165184,
          0.09364053606987,
          0.19258522987365723,
          0.16805589199066162,
          0.21403741836547852,
          0.06988754868507385,
          0.2033858448266983,
          0.19384102523326874,
          0.28111279010772705,
          0.17981797456741333,
          0.12904177606105804,
          0.13603103160858154,
          0.0975775420665741,
          0.2061503827571869,
          0.24136339128017426,
          0.05165604501962662,
          0.12320417165756226,
          0.18384380638599396,
          0.20275846123695374,
          0.01687145233154297,
          0.16656728088855743,
          0.1936762034893036,
          0.1718931645154953,
          0.08395446836948395,
          0.08957257121801376,
          0.17302796244621277,
          0.14970004558563232,
          0.2753237187862396,
          0.11223529279232025,
          0.2087230384349823,
          0.26124879717826843,
          0.2975960373878479,
          0.1413053721189499,
          0.16789256036281586,
          0.2096422016620636,
          0.15581253170967102,
          0.15245772898197174,
          0.13396266102790833,
          0.2471017986536026,
          0.2059059739112854,
          0.12024568021297455,
          0.09468767046928406,
          0.24576345086097717,
          0.010846346616744995,
          0.15934248268604279,
          0.1488146334886551,
          0.20526844263076782,
          0.09531725943088531,
          0.19370099902153015,
          0.3292422294616699,
          0.11777728796005249
         ],
         "y": [
          0.0393981859087944,
          -0.11246953904628754,
          -0.09721823036670685,
          -0.10887715220451355,
          -0.12013396620750427,
          0.006117093376815319,
          -0.025566257536411285,
          -0.041674938052892685,
          -0.08362948894500732,
          -0.10101820528507233,
          0.03358842432498932,
          -0.03151387721300125,
          -0.07918771356344223,
          0.05211389809846878,
          0.040814463049173355,
          -0.046620532870292664,
          -0.006360502913594246,
          0.039233721792697906,
          -0.16384312510490417,
          -0.24427789449691772,
          -0.08931665122509003,
          -0.04781569167971611,
          -0.10853034257888794,
          -0.037425585091114044,
          -0.11833860725164413,
          -0.11946040391921997,
          -0.10101820528507233,
          -0.12794916331768036,
          -0.09821160137653351,
          0.020397974178195,
          -0.053151458501815796,
          -0.12876951694488525,
          -0.08460815250873566,
          -0.03158769756555557,
          -0.09140492975711823,
          -0.09726668894290924,
          -0.02684912644326687,
          0.017081376165151596,
          -0.023125920444726944,
          0.07873020321130753,
          0.0034366268664598465,
          -0.11297696828842163,
          -0.04293788969516754,
          0.01356559433043003,
          -0.01701279729604721,
          -0.009604307822883129,
          -0.010003175586462021,
          -0.057353753596544266,
          -0.1593620777130127,
          -0.03145983815193176,
          -0.07400673627853394,
          -0.017184287309646606,
          -0.033926256000995636,
          -0.08468087017536163,
          -0.10201649367809296,
          -0.15582284331321716,
          -0.02070583403110504,
          -0.06637319922447205,
          -0.06511867046356201,
          -0.07738828659057617,
          -0.15616518259048462,
          0.054152119904756546,
          -0.05761433392763138,
          -0.06876493990421295,
          0.042468030005693436,
          -0.07433520257472992,
          0.015072356909513474,
          -0.06119922548532486,
          -0.06669741868972778,
          -0.07720495760440826,
          0.004104906693100929,
          -0.04959641396999359,
          0.03369284048676491,
          -0.09949267655611038,
          0.06508222222328186,
          -0.1057763397693634,
          0.1723189651966095,
          0.07313483953475952,
          -0.10212187469005585,
          -0.1467418670654297,
          -0.08444848656654358,
          0.007926851511001587,
          -0.10906709730625153,
          -0.01406119205057621,
          -0.02071738801896572,
          -0.09201201051473618,
          -0.11370078474283218,
          -0.16690298914909363,
          -0.1516341120004654,
          -0.017797421663999557,
          -0.055484384298324585,
          -0.04541657865047455,
          -0.06278236210346222,
          -0.0740097165107727,
          -0.0324440523982048,
          -0.11656368523836136,
          -0.0444706454873085,
          -0.008739689365029335,
          -0.12291224300861359,
          -0.06351146101951599,
          0.020907826721668243,
          -0.12745770812034607,
          -0.03154638037085533,
          -0.08578173071146011,
          0.10903918743133545,
          -0.1363857090473175,
          -0.011973327025771141,
          -0.050826314836740494,
          -0.19486045837402344,
          -0.11830317229032516,
          -0.1588345766067505,
          -0.07568401843309402,
          0.02863757684826851,
          0.061162419617176056,
          -0.1110125258564949,
          -0.06322097778320312,
          -0.08809290826320648,
          0.13445104658603668,
          -0.03289042040705681,
          -0.09852668642997742,
          -0.12149468064308167,
          -0.08989174664020538,
          0.015490951016545296,
          -0.010432664304971695,
          -0.018976248800754547,
          -0.006232524290680885,
          -0.07013282924890518,
          -0.05390400439500809,
          -0.04534965753555298,
          -0.08166845142841339,
          0.05119884014129639,
          -0.03600851818919182,
          0.04476121813058853,
          -0.1106741800904274,
          0.005959061905741692,
          -0.02383904531598091,
          -0.041296251118183136
         ]
        },
        {
         "marker": {
          "color": 51,
          "size": 5
         },
         "mode": "markers",
         "name": "46",
         "text": [
          "Smeg - FAB32LBLNA1 - 326L Retro Style Bottom Mount Fridge - Black",
          "Smeg - FAB32RBLNA1 - 326L Retro Style Bottom Mount Fridge - Black",
          "Smeg - FAB28RWH3AU - 281L 50's Retro Aesthetics Vertical Fridge - White",
          "Smeg - FAB32RCRNA1 - 326L Retro Style Bottom Mount Fridge - Cream",
          "Smeg - FAB28RCR3AU - 281L 50's Retro Aesthetics Vertical Fridge - Cream",
          "Smeg - FAB28LRD3AU - 281L 50's Retro Aesthetics Vertical Fridge - Red",
          "Smeg - KLF04PGAU - Retro Style Aesthetic Electric Kettle - Pastel Green",
          "Smeg - KLF04PKAU - Retro Style Aesthetic Electric Kettle - Pink",
          "Smeg - FAB32LPBNA1 - 326L Retro Style Bottom Mount Fridge - Pastel Blue",
          "Smeg - TSF03PBAU - 50's Style 4 Slice Toaster - Pastel Blue",
          "Smeg - FAB32LLINA1 - 326L Retro Style Bottom Mount Fridge - Lime Green",
          "Smeg - FAB32RLINA1 - 326L Retro Style Bottom Mount Fridge - Lime Green",
          "Smeg - FAB28RYW3 - 281L 50's Retro Aesthetics Fridge - Yellow",
          "Smeg - FAB28RDTP3 - 281L 50's Retro Aesthetics Fridge - Taupe",
          "Smeg - FAB28RDMC3 - 281L 50's Retro Aesthetics Fridge - Multicolour",
          "Smeg - KLF03BLAU - 50's Retro Style Aesthetic Electric Kettle - Black",
          "Smeg - FAB28LWH3AU - 281L 50's Retro Aesthetics Vertical Fridge - White",
          "Smeg - FAB50RRDAU - 467L 50's Retro Style Fridge - Red",
          "Smeg - FAB50RBLAU - 467L 50's Retro Style Fridge - Black",
          "Smeg - FAB28LSV3 - 281L 50's Retro Aesthetics Fridge - Silver",
          "Smeg - FAB50LRDAU - 467L 50's Retro Style Fridge - Red",
          "Smeg - KLF04CRAU - Retro Style Aesthetic Electric Kettle - Cream",
          "Smeg - FAB28 Mickey Mouse Fridge - Limited Edition",
          "Smeg - FAB5RRDA - 42L 50's Retro Style Bar Fridge - Red",
          "Smeg - FAB50LBLAU - 467L 50's Retro Style Fridge - Black",
          "Smeg - KLF03WHAU - 50's Retro Style Aesthetic Electric Kettle - White",
          "Smeg - TSF01PBAU - 50's Retro Style Aesthetic 2 Slice Toaster -  Pale Blue",
          "Smeg - TSF02PKAU - 50's Retro Style Aesthetic 4 Slice Toaster - Pink",
          "Smeg - FAB38RWHAU - 510L 50's Retro Style Bottom Mount Fridge - White",
          "Smeg - KLF04WHAU - Retro Style Aesthetic Electric Kettle - White",
          "Smeg - SMF13WHAU - 50's Retro Style Stand Mixer - White",
          "Smeg - BLF01CRAU - 50's Retro Style Blender - Cream",
          "Smeg - KLF03CRAU - 50's Retro Style Aesthetic Electric Kettle - Cream",
          "Smeg - TSF02SSAU - 50's Retro Style Aesthetic 4 Slice Toaster - Chrome",
          "Smeg - KLF04PBAU - Retro Style Aesthetic Electric Kettle - Pastel Blue",
          "Smeg - TSF01WHAU - 50's Retro Style Aesthetic 2 Slice Toaster -  White",
          "Smeg - TSF02PGAU - 50's Retro Style Aesthetic 4 Slice Toaster - Pastel Green",
          "Smeg - TSF01PGAU - 50's Retro Style Aesthetic 2 Slice Toaster - Pastel Green ",
          "Smeg - FAB32RBENA1 - 326L Retro Style Bottom Mount Fridge - Royal Blue",
          "Smeg - FAB32RSVNA1 - 326L Retro Style Bottom Mount Fridge - Silver",
          "Smeg - FAB28RDBB3 - 281L 50's Retro Aesthetics Fridge",
          "Smeg - FAB28RBL3AU - 281L 50's Retro Aesthetics Vertical Fridge - Black",
          "Smeg - FAB28RBE3 - 281L 50's Retro Aesthetics Top Mount Fridge - Blue",
          "Smeg - HBF02BLAU - 50's Retro Style Blender - Black ",
          "Smeg - FAB5RCRA - 42L Retro Style Bar Fridge - Cream",
          "Smeg - FAB28RAU1 - 256L Retro Refrigerator - Australian Flag",
          "Smeg - FAB38RPBAU - 510L 50's Retro Style Bottom Mount Fridge - Pastel Blue",
          "Smeg - FAB38RCRAU - 510L 50's Retro Style Bottom Mount Fridge - Cream",
          "Smeg - FAB50RCRAU - 467L 50's Retro Style Fridge - Cream",
          "Smeg - FAB32LORNA1 - 326L Retro Style Bottom Mount Fridge - Orange",
          "Smeg - FAB32LBENA1 - 326L Retro Style Bottom Mount Fridge - Royal Blue",
          "Smeg - FAB28RSV3 - 281L 50's Retro Aesthetics Fridge - Silver",
          "Smeg - FAB28RPK3 - 281L 50's Retro Aesthetics Fridge - Pink",
          "Smeg - FAB28ROR3 - 281L 50's Retro Aesthetics Fridge - Orange",
          "Smeg - FAB32RPGNA1 - 326L Retro Style Bottom Mount Fridge - Pale Green",
          "Smeg - HBF02PBAU - 50's Retro Style Blender - Pastel Blue",
          "Smeg - FAB50LWHAU - 467L 50's Retro Style Fridge - White",
          "Smeg - FAB28LYW3 - 281L 50's Retro Aesthetic Fridge - Yellow",
          "Smeg - FAB10HRP-1 - 135L Retro Bar Fridge - Cream",
          "Smeg - FAB10HLP - 135L Retro Bar Fridge - Cream",
          "Smeg - FAB10HLNE - 135L Retro Bar Fridge - Black",
          "Smeg - HBF02CRAU - 50's Retro Style Blender - Cream",
          "Smeg - TSF02WHAU - 50's Retro Style Aesthetic 4 Slice Toaster - White",
          "Smeg - SMF03BLAU - 50's Retro Style Stand Mixer - Black",
          "Smeg - TSF03WHAU - 50's Style 4 Slice Toaster - White",
          "Smeg - FAB38RPGAU - 510L 50's Retro Style Bottom Mount Fridge - Pastel Green",
          "Smeg - FAB28LOR3 - 281L 50's Retro Aesthetics Fridge - Orange",
          "Smeg - FAB28LDUJ3 - 281L 50's Retro Aesthetics Fridge - Union Jack",
          "Smeg - FAB28RPA1 - 256L Retro Refrigerator - Cream",
          "Smeg - FAB32RRDNA1 - 326L Retro Style Bottom Mount Fridge - Red",
          "Smeg - FAB10HRR - 135L Retro Bar Fridge - Red",
          "Smeg - FAB32RPKNA1 - 326L Retro Style Bottom Mount Fridge - Pink",
          "Smeg - FAB28RLI3 - 281L 50's Retro Aesthetics Fridge - Lime Green",
          "Smeg - FAB28RDUJ3 - 281L 50's Retro Aesthetics Fridge - Union Jack",
          "Smeg - FAB5RBLA - 42L Retro Style Bar Fridge - Black",
          "Smeg - TSF03PGAU - 50's Style 4 Slice Toaster - Pastel Green",
          "Smeg - FAB50LCRAU - 467L 50's Retro Style Fridge - Cream",
          "Smeg - FAB32LSVNA1 - 326L Retro Style Bottom Mount Fridge - Silver",
          "Smeg - FAB50RPBAU - 467L 50's Retro Style Fridge - Pastel Blue",
          "Smeg - FAB28ARR1 - 256L Retro Refrigerator - Red",
          "Smeg - KLF03PBAU - 50's Retro Style Aesthetic Electric Kettle - Pastel Blue",
          "Smeg - TSF01PKAU - 50's Retro Style Aesthetic 2 Slice Toaster - Pink",
          "Smeg - TSF02RDAU - 50's Retro Style Aesthetic 4 Slice Toaster - Red",
          "Smeg - TSF01RDAU - 50's Retro Style Aesthetic 2 Slice Toaster - Red",
          "Smeg - FAB38RBLAU - 510L 50's Retro Style Bottom Mount Fridge - Black",
          "Smeg - FAB32RWHNA1 - 326L Retro Style Bottom Mount Fridge - White",
          "Smeg - TSF03CRAU - 50's Style 4 Slice Toaster - Cream",
          "Smeg - FAB28RDIT3 - 281L 50's Retro Aesthetics Fridge - Italian Flag",
          "Smeg - FAB28LPG3AU - 281L 50's Retro Aesthetics Vertical Fridge - Pastel Green",
          "Smeg - FAB32LCRNA1 - 326L Retro Style Bottom Mount Fridge - Cream",
          "Smeg - FAB28RVE1 - 256L Retro Refrigerator - Lime Green",
          "Smeg - FAB28RPB3AU - 281L 50's Retro Aesthetics Vertical Fridge - Pastel Blue",
          "Smeg - SMF03CRAU - 50's Retro Style Stand Mixer - Cream",
          "Smeg - FAB28LPB3AU - 281L 50's Retro Aesthetics Vertical Fridge - Pastel Blue",
          "Smeg - KLF03PKAU - 50's Retro Style Aesthetic Electric Kettle - Pink",
          "Smeg - TSF03BLAU - 50's Style 4 Slice Toaster - Black",
          "Smeg - KLF04BLAU - Retro Style Aesthetic Electric Kettle - Black",
          "Smeg - FAB28RPG3AU - 281L 50's Retro Aesthetics Vertical Fridge - Pastel Green",
          "Smeg - FAB10HRNE-1 - 135L Retro Bar Fridge - Black",
          "Smeg - TSF01SSAU - 50's Retro Style Aesthetic 2 Slice Toaster - Chrome",
          "Smeg - FAB32LPGNA1 - 326L Retro Style Bottom Mount Fridge - Pale Green",
          "Smeg - FAB28RBKA1 - 256L Retro Refrigerator - Black",
          "Smeg - KLF03RDAU - 50's Retro Style Aesthetic Electric Kettle - Red",
          "Smeg - KLF03SSAU - 50's Retro Style Aesthetic Electric Kettle - Stainless steel",
          "Smeg - FAB38RRDAU - 510L 50's Retro Style Bottom Mount Fridge - Red",
          "Smeg - BLF01WHAU - 50's Retro Style Blender - White",
          "Smeg - BLF01PBAU - 50's Retro Style Blender - Pastel Blue ",
          "Smeg - TSF01CRAU - 50's Retro Style Aesthetic 2 Slice Toaster - Cream",
          "Smeg - TSF01BLAU - 50's Retro Style Aesthetic 2 Slice Toaster -  Black",
          "Smeg - TSF02BLAU - 50's Retro Style Aesthetic 4 Slice Toaster - Black",
          "Smeg - TSF02PBAU - 50's Retro Style Aesthetic 4 Slice Toaster - Pale Blue",
          "Smeg - TSF02CRAU - 50's Retro Style Aesthetic 4 Slice Toaster - Cream",
          "Smeg - FAB38LCRAU - 510L 50's Retro Style Bottom Mount Fridge - Cream",
          "Smeg - FAB50RPGAU - 467L 50's Retro Style Fridge - Pastel Green",
          "Smeg - KLF04SSAU - Retro Style Aesthetic Electric Kettle - Stainless steel",
          "Smeg - FAB32LRDNA1 - 326L Retro Style Bottom Mount Fridge - Red",
          "Smeg - FAB32LPKNA1 - 326L Retro Style Bottom Mount Fridge - Pink",
          "Smeg - FAB28RRD3AU - 281L 50's Retro Aesthetics Vertical Fridge - Red",
          "Smeg - FAB28RDRB3 - 281L 50's Retro Aesthetics Fridge - Ruby Red",
          "Smeg - FAB28RDBLV3 - 281L 50's Retro Aesthetics Fridge - Black Velvet",
          "Smeg - FAB28LPK3 - 281L 50's Retro Aesthetics Fridge - Pink",
          "Smeg - FAB28LCR3AU - 281L 50's Retro Aesthetics Vertical Fridge - Cream",
          "Smeg - FAB28LBL3AU - 281L 50's Retro Aesthetics Vertical Fridge - Black",
          "Smeg - FAB50RWHAU - 467L 50's Retro Style Fridge - White",
          "Smeg - FAB10HLR - 42L Retro Style Bar Fridge - Red ",
          "Smeg - KLF03PGAU - 50's Retro Style Aesthetic Electric Kettle - Pastel Green",
          "Smeg - KLF04RDAU - Retro Style Aesthetic Electric Kettle - Red"
         ],
         "type": "scatter",
         "x": [
          -0.22163823246955872,
          -0.21161386370658875,
          -0.26413798332214355,
          -0.20272961258888245,
          -0.20981097221374512,
          -0.2367568016052246,
          -0.20789507031440735,
          -0.16235798597335815,
          -0.2632608413696289,
          -0.18441280722618103,
          -0.2629244029521942,
          -0.2622397840023041,
          -0.23148366808891296,
          -0.21108442544937134,
          -0.20887607336044312,
          -0.1657232642173767,
          -0.26716387271881104,
          -0.26466894149780273,
          -0.2427777647972107,
          -0.22937831282615662,
          -0.26031526923179626,
          -0.14130264520645142,
          -0.07662025839090347,
          -0.2173050045967102,
          -0.2450563609600067,
          -0.2040923833847046,
          -0.13034172356128693,
          -0.1578843593597412,
          -0.24700558185577393,
          -0.20211926102638245,
          -0.15910834074020386,
          -0.12427020817995071,
          -0.1501794457435608,
          -0.13987404108047485,
          -0.20206546783447266,
          -0.17340803146362305,
          -0.17332486808300018,
          -0.15003633499145508,
          -0.22614088654518127,
          -0.2545473277568817,
          -0.2515796422958374,
          -0.22555309534072876,
          -0.21782422065734863,
          -0.09643113613128662,
          -0.17505419254302979,
          -0.1654156744480133,
          -0.2674473226070404,
          -0.22071200609207153,
          -0.23186534643173218,
          -0.18741565942764282,
          -0.22981777787208557,
          -0.22968515753746033,
          -0.2168804109096527,
          -0.19154879450798035,
          -0.2593919038772583,
          -0.16770586371421814,
          -0.2873421013355255,
          -0.2349865436553955,
          -0.15586155652999878,
          -0.15086525678634644,
          -0.15466764569282532,
          -0.1201171949505806,
          -0.19852322340011597,
          -0.12305355817079544,
          -0.22991755604743958,
          -0.27455219626426697,
          -0.1980101764202118,
          -0.20018154382705688,
          -0.18507635593414307,
          -0.2217383086681366,
          -0.1804841160774231,
          -0.23925554752349854,
          -0.22733286023139954,
          -0.19574633240699768,
          -0.17846748232841492,
          -0.1986081600189209,
          -0.23181965947151184,
          -0.25254276394844055,
          -0.2859216332435608,
          -0.21616005897521973,
          -0.20776358246803284,
          -0.13338372111320496,
          -0.1707461178302765,
          -0.14679542183876038,
          -0.22267454862594604,
          -0.2734982967376709,
          -0.18082883954048157,
          -0.14956411719322205,
          -0.2838171124458313,
          -0.18390193581581116,
          -0.23610341548919678,
          -0.2653299868106842,
          -0.14931251108646393,
          -0.25930866599082947,
          -0.16813281178474426,
          -0.18055853247642517,
          -0.15014588832855225,
          -0.2765381336212158,
          -0.15259979665279388,
          -0.11576500535011292,
          -0.2609489858150482,
          -0.18805193901062012,
          -0.1741807758808136,
          -0.2012026607990265,
          -0.2379811406135559,
          -0.15848413109779358,
          -0.16349981725215912,
          -0.12499701231718063,
          -0.12121997028589249,
          -0.14534533023834229,
          -0.15518178045749664,
          -0.15125538408756256,
          -0.22329393029212952,
          -0.29691845178604126,
          -0.1952451765537262,
          -0.21632933616638184,
          -0.24717047810554504,
          -0.23040291666984558,
          -0.21297535300254822,
          -0.21643933653831482,
          -0.21915927529335022,
          -0.20576941967010498,
          -0.22778666019439697,
          -0.2730650305747986,
          -0.19704154133796692,
          -0.21335747838020325,
          -0.16823914647102356
         ],
         "y": [
          -0.09895475953817368,
          -0.11453361809253693,
          -0.04302534461021423,
          -0.1370711326599121,
          -0.08514728397130966,
          -0.057550691068172455,
          -0.03144507110118866,
          -0.08221504092216492,
          -0.12699712812900543,
          -0.15700450539588928,
          -0.11413974314928055,
          -0.11516670882701874,
          -0.0679536834359169,
          -0.11194366216659546,
          -0.1184808760881424,
          -0.11421750485897064,
          -0.0316348522901535,
          -0.10939204692840576,
          -0.13168981671333313,
          -0.0922815278172493,
          -0.10906188935041428,
          -0.11838081479072571,
          -0.13708055019378662,
          -0.11283168196678162,
          -0.12287750095129013,
          -0.06697943806648254,
          -0.1857055276632309,
          -0.08698082715272903,
          -0.0872439593076706,
          -0.07705581933259964,
          -0.11289587616920471,
          -0.22093465924263,
          -0.11225724220275879,
          -0.022953452542424202,
          -0.15212269127368927,
          -0.11414797604084015,
          -0.021379336714744568,
          -0.06093628704547882,
          -0.17219585180282593,
          -0.08887068182229996,
          -0.11785101890563965,
          -0.07224159687757492,
          -0.14340749382972717,
          -0.16840875148773193,
          -0.12890417873859406,
          -0.08380094915628433,
          -0.12431669235229492,
          -0.1303718090057373,
          -0.1426466405391693,
          -0.11974731087684631,
          -0.14598923921585083,
          -0.08701472729444504,
          -0.10850487649440765,
          -0.12999367713928223,
          -0.08529415726661682,
          -0.19229483604431152,
          -0.08076167106628418,
          -0.05250692367553711,
          -0.11522862315177917,
          -0.1047416552901268,
          -0.11027839034795761,
          -0.1629919707775116,
          -0.07489979267120361,
          -0.1773887425661087,
          -0.08291865140199661,
          -0.06831909716129303,
          -0.1211300641298294,
          -0.1261744499206543,
          -0.12204891443252563,
          -0.12317144870758057,
          -0.12305523455142975,
          -0.09208512306213379,
          -0.10814061760902405,
          -0.13271579146385193,
          -0.1226179301738739,
          -0.023010078817605972,
          -0.13292354345321655,
          -0.09169661998748779,
          -0.13493327796459198,
          -0.09740421175956726,
          -0.13949985802173615,
          -0.12611748278141022,
          -0.09239216148853302,
          -0.13162089884281158,
          -0.12135519832372665,
          -0.08790908753871918,
          -0.12115020304918289,
          -0.1008080542087555,
          0.01615828648209572,
          -0.11104027181863785,
          -0.07996140420436859,
          -0.07970030605792999,
          -0.16362819075584412,
          -0.07493829727172852,
          -0.07317262887954712,
          -0.11689743399620056,
          -0.12914404273033142,
          -0.029823362827301025,
          -0.11298376321792603,
          -0.06361941993236542,
          -0.05296669527888298,
          -0.12982499599456787,
          -0.07935647666454315,
          -0.024615351110696793,
          -0.10662492364645004,
          -0.18684667348861694,
          -0.21973805129528046,
          -0.15437613427639008,
          -0.14525075256824493,
          -0.10930801928043365,
          -0.15363022685050964,
          -0.11778796464204788,
          -0.11793672293424606,
          -0.07483165711164474,
          -0.0421435683965683,
          -0.12107923626899719,
          -0.0843355804681778,
          -0.0722472295165062,
          -0.12118776142597198,
          -0.10722902417182922,
          -0.09700854122638702,
          -0.07356471568346024,
          -0.05849846452474594,
          -0.08337633311748505,
          -0.09624633938074112,
          -0.0225777979940176,
          -0.09110233187675476
         ]
        },
        {
         "marker": {
          "color": 52,
          "size": 5
         },
         "mode": "markers",
         "name": "47",
         "text": [
          "Excelair - 40cm Pedestal Fan - EPFR 40",
          "Omega Altise -  Brigadier Natural Gas Heater - Sand Dune - OABRFNGSD",
          "Omega Altise - Brigadier Natural Gas Heater - Silver Streak - OABRFNGSS",
          "Excelair - EPF 50 - 50cm Pedestal Fan",
          "Omega Altise - Lancer Natural Gas Heater - Black Marble - OALAFNGBM ",
          "Omega Altise - OAPC1413 - Portable Air Conditioner",
          "Dyson Pure Hot+Cool™ Purifier Fan Heater White/Silver - 244384-01   ",
          "Kambrook - KFA839GRY - Arctic LED Display Tower Fan",
          "Kambrook - KFH660GRY - Upright Fan Heater",
          "Omega Altise - SATINPED40 - 40cm Pedestal Fan",
          "Kambrook - KPF849WHT - 40cm Pedestal Fan",
          "Inalto - IO64-1 - 60cm Fan-Forced Oven",
          "Excelair - 30cm Box Fan - EBF 30",
          "Stadler Form - CHARLY-FL - Charly Floor Fan ",
          "Dyson Pure Cool Me™ Personal Purifying Fan - 275920-01 - Gunmetal/Copper",
          "Sunbeam - 90cm Tower Fan with Night Mode - FA7250",
          "Omega Altise - OP408R - 40cm Pedestal Fan",
          "Dyson Pure Hot+Cool™ Purifier Fan Heater Black/Nickel - 248812-01  ",
          "Honeywell - CL40PM - Evaporative Air Cooler",
          "Omega Altise - OP46BC - 46cm Pedestal Fan",
          "Excelair - ETF45RI - Tower Fan",
          "Excelair - EHVP4590 - 45cm Pedestal Fan",
          "Omega Altise - OT600B - 89cm Tower Fan",
          "Dyson Pure Cool™ Purifying Tower Fan Black/Nickel - 249230-01 ",
          "Excelair - EPF40 - 40cm Pedestal Fan",
          "Omega Altise - Brigadier Natural Gas Heater - Black Marble - OABRFNGBM",
          "Dyson Cool™ Tower Fan White/Silver - 301216-01 ",
          "Omega Altise - O14B - 35cm Box Fan",
          "Omega Altise - Lancer Nautral Gas Heater - Sand Dune - OALAFNGSD",
          "Tefal Easy Fry Deluxe Air Fryer - EY401D",
          "Omega Altise - 80cm Tower Fan - OT803RW",
          "Excelair - EBF36 - 36cm Box Fan",
          "Dyson Hot+Cool™ Fan Heater White/Silver - 302427-01",
          "Omega Altise - OHVP46C - 46cm High Velocity Fan",
          "Excelair - EPF46 - 46cm Pedestal Fan",
          "Excelair - 2.9kw Portable Airconditioner - EPA101A",
          "DeLonghi - DETF115 - Tower Fan",
          "Omega Altise OAGCH25NGW - 25 MJ/h Natural Gas Heater - White",
          "Kambrook - KTF816BLK - Arctic 77cm Tower Fan",
          "DeLonghi - DETF121 - Tower Fan",
          "Sunbeam - FA8900 - 40cm Pedestal Fan",
          "Dyson Pure Cool Me™ Personal Purifying Fan - 275919-01 - White/Silver",
          "Omega Altise - Lancer LPGas Heater - Black Marble - OALAFLPBM",
          "Sunbeam - 121cm Tower Fan - FA7550",
          "Dyson Hot+Cool™ Fan Heater Black/Nickel - 302644-01 ",
          "Midea - FS40-12AR - 40cm DC Stand Fan",
          "Dyson Pure Cool™  Purifying Tower Fan White/Silver - 310132-01 ",
          "Excelair - ETF1200 - Tower Fan",
          "Excelair - EHVF4590 - 45cm Floor Fan",
          "Omega Altise OAGCH25NGS - 25 MJ/h Natural Gas Heater - Silver",
          "Omega Altise - OP40C - 40cm Slimline Pedestal Fan",
          "Ninja - AF160ANZ - Air Fryer Max XL",
          "Dyson Pure Hot+Cool Link™ Purifying Fan Heater White/Silver - 308008-01  ",
          "Excelair - ETF901 - Tower Fan"
         ],
         "type": "scatter",
         "x": [
          -0.15732404589653015,
          -0.13352817296981812,
          -0.1336195021867752,
          -0.16770270466804504,
          -0.0966649129986763,
          0.06412044167518616,
          -0.12344340234994888,
          -0.07738472521305084,
          -0.19699010252952576,
          -0.11409784108400345,
          -0.1861743927001953,
          -0.33228087425231934,
          -0.15076154470443726,
          -0.11838331073522568,
          -0.10076048970222473,
          -0.15280961990356445,
          -0.100492462515831,
          -0.11661447584629059,
          -0.14874866604804993,
          -0.0952177420258522,
          -0.04738321155309677,
          -0.16641685366630554,
          -0.10951612144708633,
          -0.0708623006939888,
          -0.15639284253120422,
          -0.10704842209815979,
          -0.07182807475328445,
          -0.0352640300989151,
          -0.12984821200370789,
          -0.1080290675163269,
          -0.1467733383178711,
          -0.13995103538036346,
          -0.11393439024686813,
          -0.06988460570573807,
          -0.1324504315853119,
          0.00420689582824707,
          -0.0763186514377594,
          -0.12159447371959686,
          -0.12743434309959412,
          -0.0575958788394928,
          -0.17777609825134277,
          -0.06065065413713455,
          -0.08730549365282059,
          -0.16903060674667358,
          -0.11780302971601486,
          -0.12790490686893463,
          -0.07249560207128525,
          -0.02565007656812668,
          -0.17291247844696045,
          -0.10969173908233643,
          -0.10583270341157913,
          -0.048915568739175797,
          -0.10000995546579361,
          -0.05894313007593155
         ],
         "y": [
          -0.027700956910848618,
          0.0006750263273715973,
          -0.020971283316612244,
          -0.05730152875185013,
          -0.02878459542989731,
          -0.03018791228532791,
          0.006281678564846516,
          -0.06671170145273209,
          -0.09535284340381622,
          0.03936469927430153,
          -0.049490462988615036,
          0.11251982301473618,
          -0.08661846071481705,
          -0.12814004719257355,
          -0.018252942711114883,
          -0.0077692605555057526,
          0.02132444456219673,
          0.005455189384520054,
          -0.04059894382953644,
          -0.004376180469989777,
          -0.10310527682304382,
          0.038191020488739014,
          0.0016323402523994446,
          -0.06382163614034653,
          -0.02712802216410637,
          -0.056891072541475296,
          -0.06315140426158905,
          -0.011593326926231384,
          0.02273031324148178,
          -0.11327248811721802,
          -0.001596156507730484,
          -0.055644333362579346,
          -0.005476567894220352,
          0.09416669607162476,
          -0.013484809547662735,
          -0.06415759772062302,
          -0.16378501057624817,
          0.059408560395240784,
          -0.14122918248176575,
          -0.16471165418624878,
          0.005076766945421696,
          -0.019980469718575478,
          -0.04499714821577072,
          -0.04094382002949715,
          -0.014009742066264153,
          0.006066922098398209,
          -0.050831910222768784,
          -0.13402335345745087,
          0.039704106748104095,
          0.06011960655450821,
          0.06836418807506561,
          -0.08127851784229279,
          0.010414223186671734,
          -0.11354956030845642
         ]
        },
        {
         "marker": {
          "color": 53,
          "size": 5
         },
         "mode": "markers",
         "name": "48",
         "text": [
          "Westinghouse - 501L Single Door Fridge - WRB5004WA",
          "Vintec 50 Bottle Wine Cabinet - VWS050SBB-X",
          "Beko - BBM450W - 450L Bottom Mount Fridge",
          "Vintec 130 Bottle Wine Cabinet - VWS130SSB-X",
          "Westinghouse - 700L Chest Freezer - WCM7000WD",
          "Westinghouse - WBE4500SC-L - 453L Bottom Mount Refrigerator",
          "Vintec 100 Beer Bottle Beverage Centre - VBS050SBB-X",
          "Beko - RCNA340K30ZX - 320L Bottom Mount Fridge",
          "Westinghouse - WBB3400AG - 340L Bottom Mount Fridge ",
          "Westinghouse - WBE5304BB-R - 528L Bottom Mount Fridge",
          "Westinghouse - WFB4204WC-R - 425L Vertical Freezer",
          "Westinghouse - WRB5004SC-R - 501L Stainless Steel Single Door Fridge",
          "Westinghouse - WIM1200AD - 124L Bar Fridge",
          "Westinghouse - WBE4504SB-L - 453L Bottom Mount Refrigerator",
          "Westinghouse - WFB4204WC-L - 425L Vertical Freezer",
          "Inalto - IWC34B - Wine Chiller ",
          "Westinghouse - WBE4500WAL - 450L Bottom Mount Fridge",
          "Westinghouse - WBE5300SC-R - 528L Bottom Mount Refrigerator",
          "Westinghouse - WTB4600WC-L - 460L White Top Mount Fridge",
          "Westinghouse - WFB2804WA - 280L White Vertical Freezer",
          "Westinghouse WRI514BB - 50cm Integrated Rangehood",
          "Westinghouse WRI500SB - 51cm Integrated Rangehood",
          "Westinghouse WRI524BB - 52cm Integrated Rangehood",
          "Vintec - VWS050SBA-X - 50 Bottle Wine Cabinet",
          "Westinghouse - WRM1400WD - 138L Bar Fridge",
          "Westinghouse - WBE4500WAR - 450L Bottom Mount Fridge",
          "Lemair - LWC59 - Wine Storage",
          "Westinghouse - WBE5304SB-R - 528L Bottom Mount Refrigerator",
          "Beko - RDNE350K30W - 347L Top Mount Fridge",
          "Westinghouse - WBE5300SC-L - 528L Bottom Mount Refrigerator",
          "Westinghouse - WTB4600WC-R - 460L White Top Mount Fridge",
          "Westinghouse - WRB5004SB-R - 501L Single Door All Fridge ",
          "Westinghouse - WBE4504BB-R - 453L Bottom Mount Refrigerator",
          "Husky - HUS-WC168S-BK-ZY - 450L Single Zone Wine Fridge",
          "Beko - CN151140ZX - 505L Stainless Steel Bottom Mount Fridge",
          "Husky - HUS-WC168D-ZY - 440L Freestanding Wine Fridge",
          "Westinghouse WMB4425DSC - 44L Built-in Combination Microwave",
          "Husky - HUS-WC168D-BK-ZY - 440L Freestanding Wine Fridge",
          "Lemair - LWC646 - 46 Bottle Dual Zone Wine Chiller",
          "Westinghouse - WIM1200SC - 120L Bar Fridge",
          "Vintec 100 Beer Bottle Beverage Centre - VBS050SSB-X",
          "Vintec - 148 Bottle Wine Cabinet - VWM148SBA-L",
          "Vintec 35 Bottle Wine Cabinet - VWS035SSB-X",
          "Vintec 20 Bottle Wine Cabinet - VWS020SBB-X",
          "Vintec - 148 Bottle Wine Cabinet - VWM148SBA-R",
          "Vintec 50 Bottle Dual Zone Wine Cabinet - VWD050SBB-X",
          "Westinghouse - WCM1400WD - 140L Chest Freezerv",
          "Vintec 35 Bottle Wine Cabinet - VWS035SBB-X",
          "Birko - 1009005 - Domestic Urn 5 Litre",
          "Vintec 50 Bottle Wine Cabinet - VWS050SSB-X",
          "Inalto - IWC46 - Wine Chiller",
          "Beko - BTM345W - 345L Top Mount Fridge",
          "Vintec 130 Bottle Wine Cabinet - V110SGES3    ",
          "Vintec 50 Bottle Dual Zone Wine Cabinet - VWD050SSB-X",
          "Inalto - IWCD46 - 46 Bottle Dual Zone Wine Chiller",
          "Vintec 40 Beer Bottle Beverage Centre - VBS020SBB-X",
          "Westinghouse - WCM2000WD - 200L Chest Freezer ",
          "Beko - BTM510X - 510L Top Mount Fridge ",
          "Westinghouse - WRB5004WB-R - 501L Single Door All Fridge",
          "Westinghouse - WBE4502SB-R - 453L Bottom Mount Fridge",
          "Westinghouse - WBB3400WG - 340L Bottom Mount Fridge",
          "Vintec - V190BVCBK - 250 Bottle Wine Chiller",
          "Westinghouse - WTB5400WA-L - 540L Top Mount Fridge",
          "Westinghouse - WSE6200SA - 620L Side By Side Fridge",
          "Westinghouse - WBE4500SAR - 450L Bottom Mount Fridge",
          "Westinghouse - WBE4500SAL - 450L Bottom Mount Fridge",
          "Westinghouse - WRM1300WC - 130L Bar Fridge",
          "Westinghouse - WIM1200WC - 120L Bar Fridge",
          "Westinghouse - WBE4500BB-R - 453L Bottom Mount Refrigerator",
          "Westinghouse - 690L Side by Side Fridge - WSE6900SA   ",
          "Westinghouse - WSE6200WA - 620L Side By Side Fridge",
          "Westinghouse - WCM2900WD - 290L Chest Freezer",
          "Beko - TS 190320 - 90L Tabel Top Fridge",
          "Westinghouse - WBE4504SB-R - 453L Bottom Mount Refrigerator",
          "Lemair - LWC694 - 270L Wine Storage Freestanding Chiller",
          "Vintec 170 Bottle Multi Zone - V190SG2E-BKLH",
          "Beko - RDNE400K30ZX - 400L Stainless Steel Top Mount Fridge    ",
          "Westinghouse - WRB5004SC-L - 501L Stainless Steel Single Door Fridge",
          "Beko - RDNE350K30X - 347L Top Mount Fridge",
          "Westinghouse - WRB5004SA - 501L Single Door Fridge - Stainless Steel ",
          "Vintec - 170 Bottle Multi Zone -  V190SG2E-BK ",
          "Westinghouse - WTB2300WG - 230L Top Mount Fridge",
          "Husky - HUS-WC54S-ZY - 154L Single Zone Wine Fridge",
          "Westinghouse - WTB4600SA-R - 460L Top Mount Fridge",
          "Beko - TSE1283 X - 119L Bar Fridge",
          "Westinghouse - WTB4600WA-L - 460L Top Mount Fridge",
          "Westinghouse - 540L Top Mount Fridge - WTB5404SAR",
          "Westinghouse - WCM5000WD - 500L Chest Freezer ",
          "Westinghouse - WMF4102BA - 40L Benchtop Black Microwave",
          "Husky - HUS-WC54S-BK-ZY - 154L Single Zone Wine Fridge - Black",
          "Husky - HUS-WC54D-BK-ZY - 154L Dual Zone Wine Fridge - Black",
          "Husky - HUS-WC168S-ZY - 450L Single Zone Wine Fridge",
          "Westinghouse - WTB5400WC-R - 536L White Top Mount Fridge",
          "Westinghouse - WBE5300BC-R - 528L Bottom Mount Refrigerator",
          "Westinghouse - WBE4500SC-R - 453L Bottom Mount Refrigerator ",
          "Westinghouse - 530L Bottom Mount Fridge - WBE5300WAR",
          "Vintec - V30SGMEBK - 35-Bottle Wine Cabinet",
          "Westinghouse WMB4425SC - 44L Built-in Combination  Microwave",
          "Husky - HUS-WC54D-ZY - 154L Dual Zone Wine Fridge",
          "Westinghouse - WBE4500BB-L - 453L Bottom Mount Refrigerator",
          "Beko - TSE1283 W - 119L Bar Fridge"
         ],
         "type": "scatter",
         "x": [
          -0.23701626062393188,
          -0.08906146138906479,
          -0.14835229516029358,
          -0.0859997346997261,
          -0.24660316109657288,
          -0.21932470798492432,
          0.0005113556981086731,
          -0.2096538543701172,
          -0.29250654578208923,
          -0.28416720032691956,
          -0.32273775339126587,
          -0.20669114589691162,
          -0.24932557344436646,
          -0.23975470662117004,
          -0.3239106833934784,
          -0.12422598898410797,
          -0.23612791299819946,
          -0.2713581919670105,
          -0.2589040696620941,
          -0.31449002027511597,
          -0.21047285199165344,
          -0.15701057016849518,
          -0.20251968502998352,
          -0.07614591717720032,
          -0.2646850645542145,
          -0.25625720620155334,
          -0.1264646053314209,
          -0.27782371640205383,
          -0.2183387577533722,
          -0.2742311656475067,
          -0.2558498978614807,
          -0.19818171858787537,
          -0.24722254276275635,
          -0.1254093050956726,
          -0.18389007449150085,
          -0.138949453830719,
          -0.26621493697166443,
          -0.13893064856529236,
          -0.17211657762527466,
          -0.24678122997283936,
          0.005196020007133484,
          -0.07055431604385376,
          -0.08269834518432617,
          -0.06718849390745163,
          -0.05936481058597565,
          -0.06988590955734253,
          -0.2546117305755615,
          -0.08323798328638077,
          -0.13055506348609924,
          -0.08694327622652054,
          -0.09821443259716034,
          -0.203111469745636,
          -0.08902902156114578,
          -0.06817407160997391,
          -0.1097012385725975,
          0.010029450058937073,
          -0.2668355405330658,
          -0.1280900239944458,
          -0.20228028297424316,
          -0.2587909400463104,
          -0.29999053478240967,
          -0.14641156792640686,
          -0.28211715817451477,
          -0.2822621762752533,
          -0.21526259183883667,
          -0.23471736907958984,
          -0.2686082720756531,
          -0.2572726011276245,
          -0.22161951661109924,
          -0.27581989765167236,
          -0.2929892838001251,
          -0.27853038907051086,
          -0.25069963932037354,
          -0.24397066235542297,
          -0.2601398229598999,
          -0.05669613182544708,
          -0.1849997639656067,
          -0.21538189053535461,
          -0.20389604568481445,
          -0.21068844199180603,
          -0.06707487255334854,
          -0.2995438575744629,
          -0.13590463995933533,
          -0.2675713002681732,
          -0.1852077841758728,
          -0.27991700172424316,
          -0.2899360656738281,
          -0.258716344833374,
          -0.26831236481666565,
          -0.10107972472906113,
          -0.08383002877235413,
          -0.12508141994476318,
          -0.25550174713134766,
          -0.27408868074417114,
          -0.21862277388572693,
          -0.26912128925323486,
          -0.12885859608650208,
          -0.2706044018268585,
          -0.124900221824646,
          -0.2190265953540802,
          -0.21263867616653442
         ],
         "y": [
          -0.007595244795084,
          -0.035254232585430145,
          -0.11424633860588074,
          -0.004086744040250778,
          0.02114012837409973,
          0.0710853710770607,
          -0.12050077319145203,
          -0.1236293762922287,
          0.00502411462366581,
          0.031705621629953384,
          0.0738513171672821,
          0.026250947266817093,
          -0.03668304160237312,
          0.04971584305167198,
          0.08437629789113998,
          -0.10596770793199539,
          0.05509604513645172,
          0.045300111174583435,
          0.05746632069349289,
          0.027502592653036118,
          -0.003609027713537216,
          0.011070672422647476,
          0.02651868388056755,
          -0.04777573421597481,
          0.02156771346926689,
          0.014123234897851944,
          -0.09780526906251907,
          0.03846939280629158,
          -0.11164440959692001,
          0.06101103872060776,
          0.04320933669805527,
          -0.011895671486854553,
          0.02632506936788559,
          -0.01666209101676941,
          -0.05646219104528427,
          -0.022943200543522835,
          0.08680501580238342,
          -0.024950986728072166,
          -0.1013558879494667,
          -0.019617818295955658,
          -0.10713578015565872,
          -0.029713928699493408,
          -0.03949245810508728,
          -0.044280968606472015,
          -0.043991729617118835,
          -0.025748558342456818,
          0.050195932388305664,
          -0.06557171046733856,
          -0.09330727159976959,
          -0.012153975665569305,
          -0.08302553743124008,
          -0.1424570530653,
          -0.0008119493722915649,
          -0.0026080086827278137,
          -0.03149586543440819,
          -0.10250511020421982,
          -0.0018128640949726105,
          -0.12839935719966888,
          -0.01112278550863266,
          0.022831786423921585,
          -0.007864590734243393,
          -0.07177607715129852,
          0.0757853090763092,
          0.08578545600175858,
          0.043447189033031464,
          0.06331335753202438,
          -0.019485022872686386,
          -0.014916608110070229,
          0.020887650549411774,
          0.08444724977016449,
          0.0639437735080719,
          0.05304980278015137,
          -0.06604981422424316,
          0.034918222576379776,
          -0.06888532638549805,
          0.03524138033390045,
          -0.07229909300804138,
          0.036286741495132446,
          -0.10403551161289215,
          0.0373077355325222,
          0.014966648072004318,
          -0.00404270738363266,
          -0.018621433526277542,
          0.07413507997989655,
          -0.06455153226852417,
          0.05563338100910187,
          0.05596419423818588,
          0.026725977659225464,
          0.028589501976966858,
          -0.02018074132502079,
          -0.017196573317050934,
          -0.017159152776002884,
          0.051848482340574265,
          0.003285929560661316,
          0.05369797348976135,
          0.01908305659890175,
          -0.011661864817142487,
          0.0935552567243576,
          -0.019411280751228333,
          0.03924950957298279,
          -0.07514576613903046
         ]
        },
        {
         "marker": {
          "color": 54,
          "size": 5
         },
         "mode": "markers",
         "name": "49",
         "text": [
          "Franke Neptune Double Bowl Right Hand Drainer Sink - NEX621RHD",
          "Franke Box Centre Sink - BWX220-54/27SBL",
          "Franke - TA 9500 - Eos Swivel Mixer Tap",
          "Franke - TA7611MB - Active Plus Pull Out Tap",
          "Franke - TA 9511 - Taros Pull Out Tap",
          "Franke Aton Double Bowl Sink - ANX221LHD",
          "Franke - TA 7811 - Azimut Pull Out Spray Chrome Tap",
          "Franke Bolero Single Bowl Sink - BOX210-50",
          "Franke Acquario Line Sink - AEX610",
          "Franke Urban Fragranite Double Bowl Sink - Stone Grey - UBG221SG",
          "Franke - TA6831MB - Pyra Pull Out Tap",
          "Franke - TA 7311 - Pull Out Tap",
          "Franke Urban Fragranite 1 and 3/4 Bowl Sink - Polar White - UBG220-86PW",
          "Franke Kubus Single Bowl Sink - KBX 210-45/HW",
          "Franke - TA6300 - Sinos - Swivel Spout Chrome",
          "Franke - TA 6400 - Swing Kitchen Mixer Tap",
          "Franke Urban Fragranite Single Bowl Sink - Polar White - UBG211-100PW",
          "Franke Urban Fragranite 1 and 3/4 Bowl Sink - Onyx Black - UBG220-86ON",
          "Franke - TA 9510 - Taros Kitchen Mixer Tap",
          "Franke Maris Single Bowl Sink - MRX 210-70",
          "Franke Urban Fragranite Double Bowl Sink - Onyx Black - UBG221ON",
          "Franke - SD319 - Standard Soap Dispenser",
          "Franke Kubus Double Bowl Sink - KBG120ONYX",
          "Franke Bolero Double Bowl Sink - BOX220-36",
          "Franke Bolero Single Bowl Sink - BOX210-36",
          "Franke - TA 6300B - Sinos Swivel Mixer Tap",
          "Franke - TA 6301 - Sinos Pull Out Nozzle",
          "Franke - TA9501 - EOS Pull Out Tap",
          "Franke - TA 7610MB - Active Plus Swivel Mixer Tap",
          "Franke Chef Centre Sink - CUX11024-W",
          "Franke - BCX621R/TA6400 - Sink & Tap Package",
          "Franke Bolero Single Bowl Sink - BOX210-68",
          "Franke - TA 6831CH - Pyra Pull Out Tap",
          "Franke - TA 7300 - Verona Mixer Tap",
          "Franke Maris Single Bowl Sink - MRX 210-50",
          "Franke - TA 6850MB - Ozone Kitchen Mixer Tap",
          "Franke - TA 7610 - Active Plus Swivel Mixer Tap",
          "Franke Centinox 1 and 3/4 Bowl Sink - CMX220-50/34",
          "Franke - TA 7181 - Professional Flexible Spray Tap",
          "Franke - TA6841 - Pyra Light Pull Out Nozzle Tap",
          "Franke Aton Double Bowl Sink - ANX221RHD",
          "Franke - AMX621LHD - Harmony Double Bowl Sink",
          "Franke Maris Double Bowl Sink - MRX 220-40-40",
          "Franke - TA9520 - Atlas Kitchen Mixer Tap",
          "Franke - DRX621LHDPACK - Sink & Tap Pack ( DRX621LHD + TA6400 )",
          "Franke Urban Fragranite Double Bowl Sink - Polar White - UBG221PW",
          "Franke Maris Single Bowl Sink - MRX 210-34 ",
          "Franke - TA 6851 - Ozone Pull Out Tap",
          "Franke Bolero 1 and 3/4 Bowl Sink - BOX 220-42/29 SBR",
          "Franke - TA 6000 - Eclipse Swivel Mixer Tap",
          "Franke Bolero 1 and 3/4 Bowl Sink - BOX 220-42/29 SBL",
          "Franke - PFX621L/TA8800 - Sink & Tap Pack",
          "Franke - TA6301B - Sinos - Pull Out Nozzle Onyx",
          "Franke Urban Fragranite Single Bowl Sink - Onyx Black - UBG211-100ON",
          "Franke - TA 6850 - Ozone Kitchen Mixer Tap",
          "Franke Urban Fragranite Single Bowl Sink - Stone Grey - UBG210-78SG",
          "Franke Urban Fragranite Single Bowl Sink - Onyx - UBG210-78ON",
          "Franke - BCX621L/TA6400 - Sink & Tap Package",
          "Franke - TA 621B - Mythos Pull Out Tap - Black",
          "Franke Box Centre Sink - BWX220-54/27SBR",
          "Franke Urban Fragranite 1 and 3/4 Bowl Sink - Stone Grey - UBG220-86SG",
          "Franke - TA 780R - Zambesi - Swivel Spout",
          "Franke - TA 5120 - Centinox Semi Pro Stainless Steel Tap",
          "Franke Urban Fragranite Single Bowl Sink - Stone Grey - UBG211-100SG",
          "Franke - TA 7611 - Active Plus Pull Out Tap",
          "Franke - TA 6001 - Eclipse Pull Out Tap",
          "Franke - TA6851MB - Ozone Pull Out Tap",
          "Franke Urban Fragranite Single Bowl Sink - Polar White - UBG210-78PW",
          "Franke - RM44 - Rollamat",
          "Franke - BFG621ONYX - Basis Double Bowl Sink",
          "Franke - TA 9521 - Atlas Pull Out Tap"
         ],
         "type": "scatter",
         "x": [
          -0.14679624140262604,
          -0.04732196033000946,
          -0.08909682184457779,
          -0.01721017062664032,
          -0.04242989420890808,
          -0.09808774292469025,
          -0.08629920333623886,
          -0.1401941180229187,
          -0.010187461972236633,
          -0.11497944593429565,
          -0.07119815051555634,
          -0.06041663885116577,
          -0.12080129235982895,
          -0.17611294984817505,
          -0.06129361689090729,
          -0.27587926387786865,
          -0.13602209091186523,
          -0.09300534427165985,
          -0.2532961666584015,
          -0.1327751874923706,
          -0.08532293885946274,
          -0.12337600439786911,
          -0.13060936331748962,
          -0.17805767059326172,
          -0.18262584507465363,
          -0.15024372935295105,
          -0.09528565406799316,
          0.05211254954338074,
          -0.12075573205947876,
          -0.23376289010047913,
          -0.06413570046424866,
          -0.18351159989833832,
          -0.18331041932106018,
          -0.10965420305728912,
          -0.09706579148769379,
          -0.21146440505981445,
          -0.12910819053649902,
          -0.08371386677026749,
          -0.09073417633771896,
          -0.1594516932964325,
          -0.09490510821342468,
          -0.037276893854141235,
          -0.13800938427448273,
          -0.2154027223587036,
          -0.03781457245349884,
          -0.11728595197200775,
          -0.13151907920837402,
          -0.07105568051338196,
          -0.11686993390321732,
          -0.09594270586967468,
          -0.11163628101348877,
          -0.049505069851875305,
          -0.015128232538700104,
          -0.10122949630022049,
          -0.22235077619552612,
          -0.14427214860916138,
          -0.14783033728599548,
          -0.08619509637355804,
          -0.01490405946969986,
          -0.05986945331096649,
          -0.12729468941688538,
          -0.1069508045911789,
          -0.09315554052591324,
          -0.13598361611366272,
          -0.08196970075368881,
          -0.0415111780166626,
          0.006451889872550964,
          -0.15349100530147552,
          -0.06431300193071365,
          -0.14613333344459534,
          0.0040476396679878235
         ],
         "y": [
          -0.1268603801727295,
          -0.1713694930076599,
          -0.16853566467761993,
          -0.15162914991378784,
          -0.19365385174751282,
          -0.12199991196393967,
          -0.12841233611106873,
          -0.21437089145183563,
          -0.21904844045639038,
          -0.13284194469451904,
          -0.17514193058013916,
          -0.17753368616104126,
          -0.12552638351917267,
          -0.157332181930542,
          -0.12506574392318726,
          -0.11878636479377747,
          -0.17250293493270874,
          -0.13775211572647095,
          -0.12633730471134186,
          -0.18866223096847534,
          -0.19290152192115784,
          -0.1009894534945488,
          -0.20623934268951416,
          -0.21786725521087646,
          -0.21395277976989746,
          -0.18815873563289642,
          -0.18874302506446838,
          -0.1670059859752655,
          -0.13281923532485962,
          -0.10193070769309998,
          -0.2118600606918335,
          -0.19730673730373383,
          -0.1420779675245285,
          -0.18647491931915283,
          -0.21804261207580566,
          -0.07784037292003632,
          -0.129114031791687,
          -0.1344950795173645,
          -0.14442452788352966,
          -0.1723974049091339,
          -0.16093292832374573,
          -0.17175893485546112,
          -0.19240111112594604,
          -0.15775950253009796,
          -0.12901322543621063,
          -0.1687181144952774,
          -0.2060001790523529,
          -0.16267281770706177,
          -0.1538579910993576,
          -0.21734394133090973,
          -0.15454798936843872,
          -0.19836853444576263,
          -0.21005913615226746,
          -0.19326242804527283,
          -0.06223885715007782,
          -0.10472749918699265,
          -0.15426400303840637,
          -0.2000124454498291,
          -0.23472470045089722,
          -0.17682325839996338,
          -0.08460940420627594,
          -0.1702599972486496,
          -0.13753938674926758,
          -0.1272130310535431,
          -0.14030170440673828,
          -0.23947234451770782,
          -0.1808657944202423,
          -0.13568571209907532,
          -0.2095716893672943,
          -0.2448750138282776,
          -0.2007536143064499
         ]
        }
       ],
       "layout": {
        "showlegend": true,
        "template": {
         "data": {
          "bar": [
           {
            "error_x": {
             "color": "#2a3f5f"
            },
            "error_y": {
             "color": "#2a3f5f"
            },
            "marker": {
             "line": {
              "color": "#E5ECF6",
              "width": 0.5
             }
            },
            "type": "bar"
           }
          ],
          "barpolar": [
           {
            "marker": {
             "line": {
              "color": "#E5ECF6",
              "width": 0.5
             }
            },
            "type": "barpolar"
           }
          ],
          "carpet": [
           {
            "aaxis": {
             "endlinecolor": "#2a3f5f",
             "gridcolor": "white",
             "linecolor": "white",
             "minorgridcolor": "white",
             "startlinecolor": "#2a3f5f"
            },
            "baxis": {
             "endlinecolor": "#2a3f5f",
             "gridcolor": "white",
             "linecolor": "white",
             "minorgridcolor": "white",
             "startlinecolor": "#2a3f5f"
            },
            "type": "carpet"
           }
          ],
          "choropleth": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "type": "choropleth"
           }
          ],
          "contour": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "contour"
           }
          ],
          "contourcarpet": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "type": "contourcarpet"
           }
          ],
          "heatmap": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "heatmap"
           }
          ],
          "heatmapgl": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "heatmapgl"
           }
          ],
          "histogram": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "histogram"
           }
          ],
          "histogram2d": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "histogram2d"
           }
          ],
          "histogram2dcontour": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "histogram2dcontour"
           }
          ],
          "mesh3d": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "type": "mesh3d"
           }
          ],
          "parcoords": [
           {
            "line": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "parcoords"
           }
          ],
          "pie": [
           {
            "automargin": true,
            "type": "pie"
           }
          ],
          "scatter": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scatter"
           }
          ],
          "scatter3d": [
           {
            "line": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scatter3d"
           }
          ],
          "scattercarpet": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scattercarpet"
           }
          ],
          "scattergeo": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scattergeo"
           }
          ],
          "scattergl": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scattergl"
           }
          ],
          "scattermapbox": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scattermapbox"
           }
          ],
          "scatterpolar": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scatterpolar"
           }
          ],
          "scatterpolargl": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scatterpolargl"
           }
          ],
          "scatterternary": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scatterternary"
           }
          ],
          "surface": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "surface"
           }
          ],
          "table": [
           {
            "cells": {
             "fill": {
              "color": "#EBF0F8"
             },
             "line": {
              "color": "white"
             }
            },
            "header": {
             "fill": {
              "color": "#C8D4E3"
             },
             "line": {
              "color": "white"
             }
            },
            "type": "table"
           }
          ]
         },
         "layout": {
          "annotationdefaults": {
           "arrowcolor": "#2a3f5f",
           "arrowhead": 0,
           "arrowwidth": 1
          },
          "coloraxis": {
           "colorbar": {
            "outlinewidth": 0,
            "ticks": ""
           }
          },
          "colorscale": {
           "diverging": [
            [
             0,
             "#8e0152"
            ],
            [
             0.1,
             "#c51b7d"
            ],
            [
             0.2,
             "#de77ae"
            ],
            [
             0.3,
             "#f1b6da"
            ],
            [
             0.4,
             "#fde0ef"
            ],
            [
             0.5,
             "#f7f7f7"
            ],
            [
             0.6,
             "#e6f5d0"
            ],
            [
             0.7,
             "#b8e186"
            ],
            [
             0.8,
             "#7fbc41"
            ],
            [
             0.9,
             "#4d9221"
            ],
            [
             1,
             "#276419"
            ]
           ],
           "sequential": [
            [
             0,
             "#0d0887"
            ],
            [
             0.1111111111111111,
             "#46039f"
            ],
            [
             0.2222222222222222,
             "#7201a8"
            ],
            [
             0.3333333333333333,
             "#9c179e"
            ],
            [
             0.4444444444444444,
             "#bd3786"
            ],
            [
             0.5555555555555556,
             "#d8576b"
            ],
            [
             0.6666666666666666,
             "#ed7953"
            ],
            [
             0.7777777777777778,
             "#fb9f3a"
            ],
            [
             0.8888888888888888,
             "#fdca26"
            ],
            [
             1,
             "#f0f921"
            ]
           ],
           "sequentialminus": [
            [
             0,
             "#0d0887"
            ],
            [
             0.1111111111111111,
             "#46039f"
            ],
            [
             0.2222222222222222,
             "#7201a8"
            ],
            [
             0.3333333333333333,
             "#9c179e"
            ],
            [
             0.4444444444444444,
             "#bd3786"
            ],
            [
             0.5555555555555556,
             "#d8576b"
            ],
            [
             0.6666666666666666,
             "#ed7953"
            ],
            [
             0.7777777777777778,
             "#fb9f3a"
            ],
            [
             0.8888888888888888,
             "#fdca26"
            ],
            [
             1,
             "#f0f921"
            ]
           ]
          },
          "colorway": [
           "#636efa",
           "#EF553B",
           "#00cc96",
           "#ab63fa",
           "#FFA15A",
           "#19d3f3",
           "#FF6692",
           "#B6E880",
           "#FF97FF",
           "#FECB52"
          ],
          "font": {
           "color": "#2a3f5f"
          },
          "geo": {
           "bgcolor": "white",
           "lakecolor": "white",
           "landcolor": "#E5ECF6",
           "showlakes": true,
           "showland": true,
           "subunitcolor": "white"
          },
          "hoverlabel": {
           "align": "left"
          },
          "hovermode": "closest",
          "mapbox": {
           "style": "light"
          },
          "paper_bgcolor": "white",
          "plot_bgcolor": "#E5ECF6",
          "polar": {
           "angularaxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           },
           "bgcolor": "#E5ECF6",
           "radialaxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           }
          },
          "scene": {
           "xaxis": {
            "backgroundcolor": "#E5ECF6",
            "gridcolor": "white",
            "gridwidth": 2,
            "linecolor": "white",
            "showbackground": true,
            "ticks": "",
            "zerolinecolor": "white"
           },
           "yaxis": {
            "backgroundcolor": "#E5ECF6",
            "gridcolor": "white",
            "gridwidth": 2,
            "linecolor": "white",
            "showbackground": true,
            "ticks": "",
            "zerolinecolor": "white"
           },
           "zaxis": {
            "backgroundcolor": "#E5ECF6",
            "gridcolor": "white",
            "gridwidth": 2,
            "linecolor": "white",
            "showbackground": true,
            "ticks": "",
            "zerolinecolor": "white"
           }
          },
          "shapedefaults": {
           "line": {
            "color": "#2a3f5f"
           }
          },
          "ternary": {
           "aaxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           },
           "baxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           },
           "bgcolor": "#E5ECF6",
           "caxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           }
          },
          "title": {
           "x": 0.05
          },
          "xaxis": {
           "automargin": true,
           "gridcolor": "white",
           "linecolor": "white",
           "ticks": "",
           "title": {
            "standoff": 15
           },
           "zerolinecolor": "white",
           "zerolinewidth": 2
          },
          "yaxis": {
           "automargin": true,
           "gridcolor": "white",
           "linecolor": "white",
           "ticks": "",
           "title": {
            "standoff": 15
           },
           "zerolinecolor": "white",
           "zerolinewidth": 2
          }
         }
        }
       }
      },
      "text/html": [
       "<div>\n",
       "        \n",
       "        \n",
       "            <div id=\"fdc150e7-6aa4-43b2-81ab-208e85c19a6b\" class=\"plotly-graph-div\" style=\"height:525px; width:100%;\"></div>\n",
       "            <script type=\"text/javascript\">\n",
       "                require([\"plotly\"], function(Plotly) {\n",
       "                    window.PLOTLYENV=window.PLOTLYENV || {};\n",
       "                    \n",
       "                if (document.getElementById(\"fdc150e7-6aa4-43b2-81ab-208e85c19a6b\")) {\n",
       "                    Plotly.newPlot(\n",
       "                        'fdc150e7-6aa4-43b2-81ab-208e85c19a6b',\n",
       "                        [{\"marker\": {\"color\": \"orange\", \"line\": {\"color\": \"DarkSlateGrey\", \"width\": 2}, \"size\": 5}, \"mode\": \"markers\", \"name\": \"centroids\", \"text\": [\"Miele - DAR 1130 - 85cm Integrated Rangehood\", \"Targus - TSS88610AU - 15.6\\\" Bex II Laptop Sleeve - Black\", \"Samsung - EF-NG973PBEGWW - Galaxy S10 LED View Cover\", \"Noirot - 7384-5 - 1500W Evolution Tall Heater \", \"Sangean - Portable Digital Radio - DPR34W\", \"DJI - 4088375 - Mavic Air - Onyx Black    \", \"LG - WD1208TC4W - 8kg Front Load Washer\", \"Audio-Technica - In-Ear Headphones - ATH-CK330iBK\", \"Vogels - WALL3450 - Full-Motion TV Wall Mount\", \"BeefEater - BS19942 - Signature 3000E Built-in BBQ\", \"Ring - 8SS1E8-WAU0 - Stick Up Cam Elite - 1080p Security Camera - White  \", \"Yamaha - MCR-B043D Black - Micro HiFi System\", \"Neff N 90 Built-in Oven with steam function 60 cm Stainless steel - B48FT78H0B\", \"Glem - CK90SCF - 90cm Canopy Rangehood\", \"Adobe - Premiere Elements 2020 - Mac - Digital Delivery\", \"Breville - BCG200 - the Coffee & Spice\\u2122\", \"Fisher & Paykel - OR90SCI4B1 - 90cm Freestanding Induction Cooker\", \"Zip - HT4785 - HydroTap Elite - Boiling | Ambient\", \"Smeg - CGF01BLAU - Coffee Grinder - Black\", \"Chef - CHC644BA - 60cm Ceramic Cooktop\", \"Cygnett - CY2290CPTGL - iPhone X Tempered Glass Screen Protector\", \"Mitsubishi - MSZ-AP25VGKIT - 2.5kW/3.2kW RC Inverter Split System \", \"Canon - CLI681XLBK - 681 XL Black Ink Cartridge\", \"Smart Cover for 10.5\\\" iPad Pro - Charcoal Grey\", \"Logitech - 910-002151 -  Wireless Mouse M325\", \"Cygnett - CY2146PCUSA - 1m USB-C To USB-A Cable\", \"Hitachi - R-WB640VT0 - 638L French Door Fridge   \", \"Blanco - SUBLINE500UWK5 - Single Bowl Undermount Sink - White\", \"Oppo Find X2 Pro Smartphone - 6.7\\\" AMOLED - 512GB - Black  \", \"Asus VivoBook F420FAC - i5/1.6GHz - 8GB - 256GB SSD - 14\\\" FHD \", \"Westinghouse - WVG655SNG - 60cm Underbench Oven\", \"Cygnett - 10,000mAh USB-C Power Bank - CY2219PBCHE\", \"iPhone 11 256GB Black\", \"Bosch - Serie 8 | HBG633BS1A - 60cm Built-in Oven \", \"Samsung - SM-G960FZBAXSA - Galaxy S9 64GB - Coral Blue  \", \"Panasonic - LR03EG/4B - EVOLTA AAA 4pk\", \"Smeg - DWAU6315X2 - 60cm Underbench Dishwasher\", \"Apple 11\\\" iPad Pro 128GB Wi-Fi Space Grey   \", \"Electrolux - EHC644BA - 60cm Electric Cooktop\", \"JBL - JBLGO2BLUE - Portable Bluetooth Speaker - Blue\", \"Sennheiser - MOMENTUM In-Ear Wireless Black Headphones - M2IEBTBLK\", \"Philips - Pro Straightener - HPS930/00\", \"SodaStream - Lemon Lime Bitters 440ml\", \"Sandisk Extreme Portable SSD - 2TB\", \"Samsung - UA65NU7100WXXY - 65\\\" 4K UHD Smart LED TV  \", \"GoPro - ANVGM-001 - NVG Mount\", \"Smeg - FAB28RDBB3 - 281L 50's Retro Aesthetics Fridge\", \"Excelair - EHVF4590 - 45cm Floor Fan\", \"Westinghouse - WBE4502SB-R - 453L Bottom Mount Fridge\", \"Franke Bolero Single Bowl Sink - BOX210-68\"], \"type\": \"scatter\", \"x\": [-0.22667419910430908, 0.19534116983413696, 0.15072274208068848, -0.13041508197784424, 0.1916317194700241, 0.1369260549545288, -0.09277349710464478, 0.30943208932876587, 0.007617935538291931, -0.18883198499679565, 0.10306807607412338, 0.28292882442474365, -0.4278973937034607, -0.11901507526636124, 0.23934951424598694, -0.08587929606437683, -0.3009621202945709, -0.10447513312101364, -0.1155930832028389, -0.3705446720123291, 0.12953537702560425, 0.05177586153149605, 0.13680359721183777, 0.22734776139259338, 0.24558125436306, 0.2256128489971161, -0.17861315608024597, -0.16976290941238403, 0.3699491620063782, 0.287032812833786, -0.4836435616016388, 0.21803966164588928, 0.3304075598716736, -0.3083575963973999, 0.24197760224342346, 0.052455976605415344, -0.3207946717739105, 0.35864371061325073, -0.3169093728065491, 0.32945916056632996, 0.3093481659889221, 0.014278560876846313, -0.053228870034217834, 0.28131282329559326, 0.2156922072172165, 0.16538241505622864, -0.2515796422958374, -0.17291247844696045, -0.2587909400463104, -0.18351159989833832], \"y\": [-0.0037857573479413986, -0.006495622918009758, 0.28739383816719055, -0.02930467389523983, -0.13482427597045898, -0.17634186148643494, 0.2362469881772995, -0.24227231740951538, 0.043058641254901886, -0.06548621505498886, 0.13119855523109436, -0.2358345091342926, 0.15026207268238068, -0.014946404844522476, -0.03953191265463829, -0.2666502892971039, -0.02763938158750534, -0.05139359086751938, -0.15683609247207642, 0.015726212412118912, 0.055434416979551315, 0.023188840597867966, -0.024935688823461533, 0.05345987528562546, -0.2018473595380783, -0.10365592688322067, 0.0004988498985767365, -0.12165416777133942, 0.13176767528057098, 0.3321794271469116, 0.16759082674980164, -0.09563855081796646, 0.1753685474395752, 0.09205101430416107, 0.41931021213531494, 0.07027182728052139, 0.10339739173650742, 0.14452965557575226, 0.019779659807682037, -0.33149486780166626, -0.33298254013061523, -0.10248634219169617, -0.04904043674468994, 0.21175304055213928, 0.6024991869926453, -0.01701279729604721, -0.11785101890563965, 0.039704106748104095, 0.022831786423921585, -0.19730673730373383]}, {\"marker\": {\"color\": 5, \"size\": 5}, \"mode\": \"markers\", \"name\": \"0\", \"text\": [\"Miele - KM 2312 G - Gas Cooktop\", \"Unilux - Universal Dryer Venting Kit - ULX103 \", \"Dyson Cinetic Big Ball Multi Floor Extra Barrel Vacuum - 300278-01 \", \"Dyson Cinetic Big Ball Animal Pro Barrel Vacuum - 214893-01 \", \"Shark Ion W1 Cordless Handheld Vacuum - WV203ANZ \", \"Miele - K 28202 D WS - 393L Freestanding Refrigerator - White\", \"Miele FashionMaster Steam Ironing System - B 3847\", \"Miele - H 7840 BM PureLine CleanSteel - 60cm Speed Oven\", \"Dyson V7 Motorhead Cordless Vacuum - 278176-01 \", \"Miele H 2890 B PureLine CleanSteel 90cm Oven \", \"Miele - CS 1327 Y - TepanYaki Grill Combiset\", \"Honeywell - CL30XC - Evaporative Cooler\", \"Miele - DA 3496 - 90cm Wide Slimline Rangehood\", \"Miele - DA 2360 - 60cm Wide Built-in Rangehood\", \"Miele KM 7897 FL Induction Cooktop\", \"Remington - D7779AU - AIR3D Plus Hair Dryer\", \"Miele - SBB 300-3 HF - Hardfloor Twister Brush\", \"Honeywell - CL25AE - Evaporative Cooler\", \"FoodSaver\\u00ae Handheld Vacuum Sealer - VS1190\", \"Miele - KM 2012 G - Gas Cooktop\", \"Shark HZ390 Corded Handstick Premium Vacuum\", \"Dyson Supersonic\\u2122 Hair Dryer (Fuchsia/Nickel) Mother's Day Gift Edition - 333258-01\", \"Miele - HR 1956 G - 120cm Dual Fuel Upright Cooker   \", \"Miele - KFNS 37432 iD - 283L Integrated Fridge\", \"Miele - M 7244 TC VitroLine Graphite Grey - Built-in Microwave\", \"Miele - H 7840 BM VitroLine Graphite Grey - Speed Oven \", \"DeLonghi PrimaDonna Elite Fully Automatic Coffe Machine - ECAM 650.55.MS\", \"Miele - SUB 10 - Universal Brush\", \"Miele DGM 7440 PureLine CleanSteel Steam oven With Microwave\", \"Dyson V11 Absolute Extra Stick Vacuum - 347782-01   \", \"Miele M 7244 TC PureLine CleanSteel Built-in Microwave Oven \", \"Miele - TWR860 WP - 9kg T1 Heat-Pump Tumble Dryer\", \"Miele - DA 2808 - Ceiling Extractor \", \"Miele - DA 2628 - 118cm Built-in Rangehood  \", \"Dyson V7 Trigger Handheld - 282064-01 \", \"Miele - Maxipack FJM 3D Hyclean Dustbags\", \"Miele H 7840 BMX ArtLine Graphite Grey - Handleless Speed Oven\", \"Numatic International - HVB160 - 6L Henry Cordless Vacuum Cleaner  \", \"Miele - STB 305-3 - TurboTeQ\", \"Miele - DA 4228 W - 120cm Puristic Plus Wall Mounted Rangehood\", \"Miele DA 2668 Built-in Rangehood\", \"Miele - DA 2450 - 53cm Fully Integrated Rangehood\", \"Miele - DG 2740 ContourLine CleanSteel - Steam Oven \", \"Miele - DAR 1150 - 115cm Freestading Cooker Extract Unit \", \"Miele - DA 7198 W Triple Black - 88cm Wall Mounted Rangehood  \", \"Miele - DA 2518 - 110cm Fixed Rangehood\", \"Miele - DA 186 60cm Wide Integrated Rangehood\", \"DeLonghi Dinamica Plus Fully Automatic Coffee Machine  - ECAM37095T \", \"Samsung Jet\\u2122 70 Complete Cordless Stick Vacuum Cleaner - VS15T7036R5\", \"Dyson Cyclone V10 Animal+ Cordless Vacuum - 286273-01   \", \"Dyson - V6 Cord-free Handstick - 218109-01\", \"Miele - KM 362-1 G - Gas Cooktop\", \"Dyson Light Ball Multi Floor+ Upright Vacuum - 281282-01  \", \"Miele H 7890 BP PureLine CleanSteel 90cm Pyrolytic Oven\", \"Miele - KWT 6831 SG - Freestanding Wine Conditioning Unit\", \"Miele - FN 28262 WS - Freestanding Freezer - White\", \"Miele - M 7244 TC VitroLine Obsidian Black - Built-in Microwave\", \"Miele KM 7594 FL Induction Cooktop \", \"Miele - PUR 98 W - Wall-mounted Rangehood\", \"LG CordZero - A9ULTIMATE - Cordless Handstick Vacuum Cleaner    \", \"Miele - SF AA 50 - AirClean Filter\", \"LG CordZero A9NEOMULTI Cordless Handheld Stick Vacuum   \", \"Dyson Cinetic Big Ball Absolute Barrel Vacuum - 300282-01 \", \"Miele - DAR 1250 - 120cm Freestanding Cooker Wall Mount Rangehood \", \"Miele - DAR 1230 - 90cm Freestanding Cooker Wall Mount Rangehood \", \"Miele - DAR 1130 - 85cm Integrated Rangehood\", \"Miele - H 7140 BM ContourLine CleanSteel - 60cm Speed Oven\", \"Miele - DA 6700 D AURA Ed. 6000 Brilliant white Island d\\u00e9cor rangehood\", \"Miele - DA 3466 EXT - Slimline Rangehood with External Fan\", \"Miele - DA 2620 - 120cm Wide Built-in Rangedhood\", \"Miele - KWT 6321 UG - Built-under Wine Conditioning Unit\", \"Miele ESW 7020 PureLine CleanSteel Gourmet Warming Drawer\", \"Miele - EVS 7010 VitroLine Obsidian Black - Vacuum Sealing Drawer\", \"Shark NZ801 Ultimate Upright Vacuum\", \"Miele - WDB 030 + TDB 130 WP - Washer & Dryer Package \", \"Dyson Supersonic\\u2122 Hair Dryer Iron/Fuchsia - 323191-01  \", \"Miele - TWV 680 WP - 9kg Heat Pump Tumble Dryer \", \"Dyson - V8 Origin Cordless Vacuum - 271642-01  \", \"Miele DGM 7640 PureLine CleanSteel Steam Oven with Microwave\", \"Miele - H 7840 BM VitroLine Obsidian Black - Speed Oven \", \"Miele - ESW 6229X Obsidian Black - Gourmet Warming Drawer\", \"Miele - H 7440 BM VitroLine Graphite Grey - Speed Oven \", \"Miele CVA 7440 VitroLine Obsidian Black Built-in Coffee Machine\", \"Honeywell - CS10XE - Indoor Evaporative Cooler\", \"Miele - SMD 10 - Mattress Nozzle\", \"Miele Allergy XL Pack - HyClean 3D -10632880\", \"Miele - H 7440 BMX ArtLine Obsidian Black - 60cm Speed Oven\", \"Miele - Puristic Edition 6000 Rangehood - DA 6690 W Clean Steel\", \"Shark ZU62 Navigator Pet Vacuum \", \"Miele - H 7840 BMX ArtLine Obsidian Black - Handleless Speed Oven\", \"Miele CVA 7440 PureLine CleanSteel Built-in Coffee Machine \", \"Dyson V11 Outsize Stick Vacuum - 346614-01 \", \"Miele - SFD 10 - Long Crevice Nozzle\", \"Dyson Cinetic Big Ball Animal+ Barrel Vacuum - 300280-01 \", \"Miele KM 7684 FL Induction Cooktop \", \"Vax - VX40 - Wet & Dry Vacuum Cleaner - 1250W \", \"Miele - STB 101 - Handheld TurboBrush\", \"Dyson V8 Animal Extra Stick Vacuum - 298903-01\", \"Miele - KM 2357 G - Gas Cooktop\", \"Miele - KS 37422 iD - 348L Integrated Refrigerator\", \"Miele - KS 37472 iD - 344L Integrated Fridge\", \"Miele EVS 7010 Handleless Graphite Grey Built-in Vacuum Sealing Drawer\", \"Bissell PowerClean\\u00ae Upright Carpet Washer - 2771B \", \"Miele - DA 6890 Levantar - 90cm Wide - Downdraught Extractor \", \"Miele - DA 424 V-6 Puristic Varia - 120cm Island Decor Rangehood\", \"Miele - DA 3466 - 60cm Slimline Rangehood \", \"Miele - DA 3366 - 60cm Slimline Rangehood\", \"Miele - KM 2334 G - 77cm Gas Cooktop\", \"Black & Decker - PD1820L-XE - Flexi Dustbuster Cordless Vacuum Cleaner\", \"Miele - CS 1013 G - Gas Cooktop Combiset\", \"Miele - CS 1212-1 I - Induction CombiSet\", \"Miele - H 7440 BM PureLine CleanSteel - 60cm Speed Oven\", \"Miele - CS 1018 G - Dual Gas Wok Burner Combiset\", \"Miele - DA 2390 - 90cm Integrated Extractor Rangehood \", \"Miele KM 7564 FL Induction Cooktop \", \"Miele - DA 6700 D AURA Ed. 6000 Obsidian black Island d\\u00e9cor rangehood\", \"Miele - DA 6700 D AURA Ed.6000 Island d\\u00e9cor rangehood - CleanSteel\", \"Numatic International - HVR160 - Henry Compact Vacuum Cleaner\", \"Miele - DA 2660 - 60cm Wide Built-in Rangehood\", \"Miele KM 7464 FL Induction Cooktop \", \"Miele - K 12820 SD edt CS Freestanding Fridge - CleanSteel\", \"Miele - K 14820 SD ed CS Freestanding Fridge - CleanSteel\", \"Vax - VX71B - Advance Max Vacuum Cleaner\", \"Miele - DA 2698 - 88cm Fixed Rangehood\", \"Miele - GN HyClean 3D XXL Pack\", \"Miele KM 7678 FL Induction Cooktop \", \"Miele KM 7575 FL Induction Cooktop\", \"Remington - D7777AU - Air3D Hair Dryer\", \"Miele - 90cm Slimline Rangehood - DA 3496 EXT \", \"Bosch Zoo'o 25.2V Rechargeable Vacuum Cleaner - Red \", \"Miele - K 28202 D edt/CS - 393L Freestanding Refrigerator - CleanSteel\", \"Miele DGC 7860 XXL VitroLine Graphite Grey Steam Combination Oven\", \"Miele - Blizzard CX1 Excellence - Bagless Vacuum Cleaner - 10502200 \", \"Miele - SF-AAC 50 - Active Air Clean Filter\", \"Miele - KMDA 7633 FL - 80cm Induction Cooktop with Extractor  \", \"Miele KM 7574 FL Induction Cooktop\", \"Miele KM 7200 FR Induction Cooktop \", \"Miele - KM 2354 G - Gas Cooktop\", \"Miele CVA 7440 VitroLine Graphite Grey Built-in Coffee Machine\", \"Miele Classic C1 Powerline Vacuum Cleaner - Grey - 10797640 \", \"Samsung Jet\\u2122 90 Complete Cordless Stick Vacuum Cleaner - VS20R9046T3 \", \"Miele - Blizzard CX1 Cat & Dog - Bagless Vacuum Cleaner - 10502220  \", \"Bissell SpotClean\\u2122 Turbo Carpet Washer\", \"Miele Blizzard CX1 - 10502270 - Graphite \", \"DeLonghi - DDS30COMBI - Dehumidifier   \", \"Miele - SBB 400-3 - Parquet Twister XL floorbrush\", \"Miele Complete C3 Cat & Dog Vacuum - Autumn Red \", \"DeLonghi - DDS25 - AriaDry 25L Dehumidifier\", \"Miele - DGC 7440 XL VitroLine Graphite Grey - Steam Combination Oven   \", \"Miele - KM 3054 - Gas Cooktop\", \"Dyson - 323025-01 - Corrale\\u2122 Straightener - Black Nickel/Fuchsia\", \"LG CordZero A9NEOMASTER Cordless Handheld Stick Vacuum\", \"Miele HEPA AirClean Filter - SF HA 50\", \"Dyson Ball Animal Upright Vacuum - 206273-01 \", \"Miele CVA 7840 PureLine CleanSteel Built-in Coffee Machine \", \"Miele - 10797760 - Complete C3 Family All-Rounder Vacuum Cleaner - Graphite Grey\", \"Miele SBB 300-3 PQ Twister - Parquet Twister Floorbrush\", \"Miele - KM 6629 - Induction Cooktop\", \"Miele - STB 205-3 - TurboBrush\", \"Miele ESW 7020 Obsidian Black Gourmet Warming Drawer\", \"Miele ESW 7010 Graphite Grey Gourmet Warming Drawer \", \"Dyson - 967763-02 - Quick Release Mattress Tool\", \"Miele - KM 6839 - Flush-Mount Induction Cooktop\", \"Miele DGM 7640 VitroLine Obsidian Black Steam Oven with Microwave\", \"Miele DGM 7640 VitroLine Graphite Grey Steam Oven with Microwave\", \"Dyson Cinetic Big Ball Origin - 300272-01  \", \"Miele - TWB 140 WP - 7kg Heat Pump Dyer\", \"Miele - TCR 870 WP - 9kg Heat Pump Tumble Dryer \", \"Miele - TCJ 690 WP - 9kg Heat Pump Tumble Dryer \", \"Miele - H 7440 BMX ArtLine Graphite Grey - 60cm Speed Oven\", \"Miele - KM 3034 - Gas Cooktop \", \"Miele - KM 3014 - Gas Cooktop\", \"Miele - SB GN HyClean 3D - GN HyClean 3D Dustbags\", \"Miele - KM 6349-1 - Induction Cooktop - Flush Mount\", \"Miele - G 4263 Vi Active - Fully Integrated Dishwasher \", \"Miele - DA 2578 EXTERNAL 70cm Extractor Unit with External Fan\", \"Miele - DA 2578 - 70cm Fully Integrated Rangehood\", \"LG CordZero A9NEOMAX Cordless Handheld Stick Vacuum   \", \"Miele ESW 7110 ContourLine CleanSteel Gourmet Warming Drawer\", \"Miele - DA 1260 - Built-under rangehood\", \"Miele ESW 7010 Obsidian Black Gourmet Warming Drawer\", \"Dyson Supersonic\\u2122 Hair Dryer Black/Nickel - 323227-01\", \"Dyson Soft Dusting Brush\", \"Miele - FJM Hyclean 3D - FJM Hyclean 3D Dustbags\", \"Miele DGM 7440 VitroLine Obsidian Black Steam Oven with Microwave\", \"Miele DGM 7440 VitroLine Graphite Grey Steam Oven with Microwave\", \"Samsung Jet\\u2122 90 Pet Cordless Stick Vacuum Cleaner - VS20R9042T2\", \"Miele - KFN 14827 SDE ed CS Freestanding Fridge / Freezer Combinations\", \"Miele - TWD 440 WP - EcoSpeed 8kg Heat Pump Tumble Dryer \"], \"type\": \"scatter\", \"x\": [-0.30566054582595825, -0.1589573323726654, -0.10073666274547577, -0.07277452945709229, 0.006174191832542419, -0.23382431268692017, -0.18816006183624268, -0.3212316632270813, 0.0045214369893074036, -0.35290518403053284, -0.22564709186553955, -0.1670486330986023, -0.24123290181159973, -0.2145441770553589, -0.27817755937576294, -0.019922927021980286, -0.16957442462444305, -0.17211896181106567, -0.1493874192237854, -0.2120782434940338, -0.036951012909412384, -0.011354096233844757, -0.3518529236316681, -0.27662989497184753, -0.16153517365455627, -0.2296842336654663, -0.09561627358198166, -0.08667521178722382, -0.27231213450431824, -0.02782866358757019, -0.276994526386261, -0.1527387797832489, -0.12928062677383423, -0.2351449429988861, 0.024539262056350708, -0.048410698771476746, -0.15668633580207825, -0.12341443449258804, -0.18909767270088196, -0.18346357345581055, -0.1624598205089569, -0.19315385818481445, -0.36740612983703613, -0.32399851083755493, -0.1696944534778595, -0.20963257551193237, -0.21235617995262146, -0.09501022845506668, 0.04562452435493469, -0.024060003459453583, -0.04143071174621582, -0.3039894998073578, -0.06879188865423203, -0.34425339102745056, -0.23169854283332825, -0.24972984194755554, -0.20574477314949036, -0.2861059308052063, -0.17402037978172302, 0.06754447519779205, -0.10495541989803314, 0.15428823232650757, -0.10542545467615128, -0.31988683342933655, -0.3333740532398224, -0.22667419910430908, -0.33904847502708435, -0.05025481432676315, -0.14462152123451233, -0.2314009666442871, -0.19437241554260254, -0.3136119842529297, -0.1982763111591339, -0.06786344200372696, -0.1892106533050537, -0.042493924498558044, -0.1834438443183899, -0.016080811619758606, -0.2950904667377472, -0.25978657603263855, -0.29415714740753174, -0.21362555027008057, -0.14607959985733032, -0.15881425142288208, -0.06803572922945023, -0.0834914892911911, -0.2100244164466858, -0.1798020601272583, -0.09714484959840775, -0.18363481760025024, -0.16431376338005066, -0.07138697803020477, -0.17628008127212524, -0.10080023854970932, -0.27947452664375305, -0.09760492295026779, -0.11041704565286636, -0.08477398008108139, -0.2908455729484558, -0.23863476514816284, -0.25148630142211914, -0.15272784233093262, -0.11973395198583603, -0.2552073895931244, -0.19457173347473145, -0.22809910774230957, -0.22179585695266724, -0.3616917133331299, -0.05169610679149628, -0.2859917879104614, -0.12168293446302414, -0.30394721031188965, -0.258212685585022, -0.200289785861969, -0.3450019061565399, -0.041045963764190674, -0.08835025131702423, -0.06418713927268982, -0.24696022272109985, -0.2626398503780365, -0.21650958061218262, -0.21321836113929749, -0.07203686982393265, -0.23266062140464783, -0.09807176142930984, -0.26888149976730347, -0.2719367742538452, -0.02717491239309311, -0.2430955469608307, -0.1165487989783287, -0.25430774688720703, -0.2957865595817566, -0.09292375296354294, -0.08594586700201035, -0.3370380699634552, -0.27074918150901794, -0.26841363310813904, -0.28838518261909485, -0.12541213631629944, -0.10278347879648209, 0.03585921972990036, -0.12623974680900574, -0.04539966583251953, -0.132330983877182, -0.11353381723165512, -0.150417298078537, -0.0485675111413002, -0.1104813888669014, -0.29287731647491455, -0.32265254855155945, -0.04677977412939072, 0.15199753642082214, -0.0989496186375618, -0.11931019276380539, -0.166742205619812, -0.07916052639484406, -0.13546523451805115, -0.2861829400062561, -0.1625075340270996, -0.28185227513313293, -0.24636995792388916, -0.04557880014181137, -0.32550618052482605, -0.3016437590122223, -0.24169501662254333, -0.06353124231100082, -0.20908737182617188, -0.1712857484817505, -0.1775650978088379, -0.18884208798408508, -0.2922062575817108, -0.2685185372829437, -0.05829069763422012, -0.31352153420448303, -0.22728407382965088, -0.21294569969177246, -0.21786543726921082, 0.16960829496383667, -0.3123503029346466, -0.15282192826271057, -0.2705751359462738, 0.03567191958427429, 0.0035874173045158386, -0.05138377845287323, -0.28893792629241943, -0.22820430994033813, 0.02492821216583252, -0.20093482732772827, -0.16051191091537476], \"y\": [0.05072450637817383, -0.04559049382805824, -0.05831419304013252, -0.04448214918375015, -0.007220318540930748, 0.042612750083208084, -0.048458442091941833, 0.15723279118537903, -0.007567385211586952, 0.1371104121208191, 0.02152758464217186, -0.01702115125954151, -0.0011760946363210678, -0.006543632596731186, 0.04501766711473465, -0.08834295719861984, -0.1506369411945343, -0.04298092797398567, -0.026327792555093765, 0.016915271058678627, -0.022396007552742958, -0.13478048145771027, 0.1026117280125618, 0.013927980326116085, 0.03645303100347519, 0.09310373663902283, -0.05824694782495499, -0.08455851674079895, 0.1814747452735901, 0.03892013430595398, 0.09657549113035202, 0.060734789818525314, -0.09615601599216461, -0.03589051961898804, 0.10326527804136276, -0.13576820492744446, 0.05037728324532509, -0.040304034948349, 0.02295728772878647, -0.0033365795388817787, -0.07424565404653549, -0.04079461097717285, 0.12475567311048508, 0.007601534947752953, -0.010366199538111687, -0.03914344310760498, -0.0009887469932436943, -0.014642434194684029, 0.22394882142543793, -0.013870462775230408, -0.028147391974925995, 0.05826439708471298, -0.031230680644512177, 0.16770021617412567, 0.025883501395583153, -0.012190290726721287, 0.009444286115467548, 0.056259095668792725, -0.05492005869746208, 0.07176917046308517, -0.05920780450105667, 0.15555325150489807, -0.05842342600226402, -0.00020682625472545624, 0.05391369014978409, -0.0037857573479413986, 0.13878121972084045, -0.008932223543524742, -0.03270269185304642, -0.04222860187292099, 0.04168300703167915, 0.11477966606616974, 0.022525830194354057, -0.033027246594429016, -0.09680379927158356, -0.13751962780952454, 0.057683177292346954, 0.0238522719591856, 0.19552144408226013, 0.08699975907802582, -0.01594417169690132, 0.09771636128425598, 0.08288943767547607, -0.0275674220174551, -0.09444734454154968, -0.06422656774520874, 0.09461290389299393, -0.010546624660491943, -0.012509969994425774, 0.02707604691386223, 0.10130956023931503, 0.06438036262989044, -0.10929665714502335, -0.050804052501916885, 0.06779471039772034, -0.03679245337843895, -0.06355516612529755, 0.06263899803161621, 0.010784100741147995, 0.021629977971315384, 0.027296297252178192, 0.0764014720916748, -0.11674723029136658, 0.038802556693553925, -0.02229790762066841, -0.02396017126739025, -0.027996396645903587, 0.10403759777545929, -0.06972998380661011, 0.09402996301651001, -0.005195047706365585, 0.16836188733577728, 0.08174018561840057, -0.023273563012480736, 0.08983443677425385, -0.018366316333413124, -0.005028447136282921, -0.0618111789226532, 0.02471327595412731, 0.05404310300946236, 0.07377684116363525, 0.07071135193109512, -0.03835383057594299, -0.07655069231987, 0.017615366727113724, 0.06640540063381195, 0.08327627927064896, -0.07600847631692886, -0.006690402515232563, -0.10432762652635574, 0.045685529708862305, 0.20163874328136444, -0.06436614692211151, -0.09539185464382172, 0.06504292786121368, 0.059570908546447754, 0.04494725912809372, 0.03304394334554672, 0.10535423457622528, 0.0006832331418991089, 0.19132550060749054, -0.049976855516433716, -0.10747812688350677, 0.0028524119406938553, -0.14993563294410706, -0.10235625505447388, -0.07179263234138489, -0.0904611349105835, 0.148440420627594, 0.03779108077287674, -0.11784978210926056, 0.13043075799942017, -0.053257398307323456, -0.0795922577381134, 0.108693927526474, 0.02932727336883545, -0.07699862867593765, 0.01668279990553856, -0.05778248608112335, 0.07274594157934189, 0.10480064153671265, -0.08333133161067963, 0.029371945187449455, 0.1807446926832199, 0.17970852553844452, -0.05721037834882736, 0.016304783523082733, 0.013980422168970108, 0.023435357958078384, 0.10358120501041412, 0.033296726644039154, 0.031029876321554184, -0.03543826565146446, -0.03798489272594452, 0.09419465065002441, 0.04624636471271515, -0.017936473712325096, 0.13565737009048462, 0.12736330926418304, -0.09216846525669098, 0.07842861115932465, -0.16002291440963745, -0.033961836248636246, -0.094846710562706, 0.17229227721691132, 0.17049267888069153, 0.17660821974277496, 0.032978907227516174, 0.0933564156293869]}, {\"marker\": {\"color\": 6, \"size\": 5}, \"mode\": \"markers\", \"name\": \"1\", \"text\": [\"Targus - TSS954AU - 15.6\\\" Bex II Slipcase\", \"Targus - CityGear -17\\\" Slim Topload Laptop Case - Black - TSS868AU\", \"Blanco - SUBLINE400UK5 - SILGRANIT\\u2122 PuraDur\\u2122 Undermount Sink - Anthracite\", \"Targus - TBC002AU - Intellect Clamshell Laptop Case\", \"STM Dux Plus iPad 5th/6th Gen Case with Apple Pencil Storage - Black\", \"STM Dux Plus iPad 5th/6th Gen Case with Apple Pencil Storage - Blue\", \"Blanco - LINUSSA - Silgranit\\u2122 Tap - Anthracite\", \"Targus - CNFS415AU - 15\\\" - 15.6\\\" Classic+ Clamshell Case\", \"Blanco - NAYA6 - Elegant SILGRANIT\\u2122 PuraDur\\u2122 Sink - Anthracite\", \"Targus - TBS604AU - 13.3\\\" Dual-purpose Hardsided Slipcase\", \"Targus - 13.3\\\" Pewter Slipcase - TSS660AU\", \"Blanco - SUBLINE700UWK5 - SILGRANIT\\u2122 PuraDur\\u2122 Sink - White\", \"Targus - TSS95301AU - 13-14\\\" Bex II Sleeve\", \"Targus - 12.1\\u201d Bex II Laptop Sleeve - Black - TSS88110AU\", \"STM - STM-222-166JW-03 - Atlas iPad/Pro/Air Case - Dark Red\", \"Targus - TSS953AU - 13-14\\\" Bex II Sleeve\", \"Targus - THZ635GL - Smart Case For iPad - Black\", \"STM Studio iPad  Flip Cover - Black Smoke\", \"Targus - TSS87810AU - 13-14\\\" Bex II Laptop Sleeve - Black\", \"Targus - TSS961AU - 11-12\\u201d Bex II Laptop Sleeve\", \"Targus - VersaVu\\u00ae Classic Case For 12.9\\\" iPad Pro - THZ651GL\", \"Tauris - TITAN 1500 WHITE - Titan 1500 Entertainment Unit\", \"STM Dux Plus iPad 5th/6th Gen Case with Apple Pencil Storage - Red\", \"Targus - TSS88610AU - 15.6\\\" Bex II Laptop Sleeve - Black\", \"Targus - THZ636GL - VersaVu\\u00ae Signature Case for iPad - Black\", \"Targus - TBB565AU - 15.6\\\" Intellect Laptop Backpack\", \"Blanco - LINUSSW - Silgranit\\u2122 Tap - White\", \"Blanco - SUBLINE700UK5 - SILGRANIT\\u2122 PuraDur\\u2122 Sink - Anthracite\", \"Targus - TSB80304AU - 15.6\\\" T-1211 Backpack\", \"Targus - TBB565GL - 15.6\\\" Intellect Laptop Backpack\", \"STM - STM-114-168M-16 - 13\\\" Summary Laptop Sleeve\", \"Targus - CNFS418AU - 17\\\" - 18.2\\\" Classic+ Clamshell Case\", \"Blanco - SUBLINE400UWK5 - SILGRANIT\\u2122 PuraDur\\u2122 Undermount Sink - White\", \"Blanco - NAYA6W - Elegant SILGRANIT\\u2122 PuraDur\\u2122 Sink - White\", \"Blanco - LINUSSG - Silgranit\\u2122 Tap - Rock Grey\", \"Targus - THZ665AU - Pro-Tek 9-10\\u201d Rotating Tablet Case\", \"Targus - THZ664AU - Pro-Tek 7-8\\u201d Rotating Tablet Case Black\", \"Targus - THZ594GL - Versavu\\u2122 Slim Case for iPad mini - Black\", \"STM - STM-117-169M-01 - 13\\\" Chapter laptop brief\"], \"type\": \"scatter\", \"x\": [0.01671294867992401, 0.20416691899299622, -0.035381168127059937, 0.18511968851089478, 0.28522759675979614, 0.2780297100543976, 0.029551219195127487, 0.018506325781345367, 0.03830350562930107, 0.004096105694770813, 0.01456587016582489, 0.012405842542648315, 0.06935146450996399, 0.18276037275791168, 0.28616073727607727, 0.05865921452641487, 0.16253924369812012, 0.17781390249729156, 0.21408788859844208, 0.15348629653453827, 0.17326858639717102, 0.11463243514299393, 0.2629616856575012, 0.19534116983413696, 0.15421472489833832, 0.16604024171829224, 0.009158559143543243, 0.01456441730260849, -0.018295638263225555, 0.1558852344751358, 0.21873414516448975, 0.014852475374937057, -0.036870766431093216, 0.014845523983240128, 0.035702869296073914, 0.1639515608549118, 0.15777097642421722, 0.13254326581954956, 0.2398962676525116], \"y\": [-0.049669161438941956, 0.07239408791065216, -0.10011409968137741, -0.09481457620859146, 0.044581178575754166, 0.008149892091751099, -0.20807769894599915, -0.016322817653417587, -0.11285954713821411, -0.0940425917506218, -0.06463856995105743, -0.10577479004859924, -0.026957528665661812, 0.02776721492409706, -0.025024186819791794, -0.05503593757748604, 0.08606312423944473, -0.07743154466152191, 0.00972505658864975, -0.025717325508594513, 0.07572102546691895, -0.12120779603719711, 0.04147980362176895, -0.006495622918009758, 0.04099588096141815, 0.00739482045173645, -0.21457648277282715, -0.0911666601896286, -0.07184707373380661, 0.0386614128947258, 0.02135673724114895, 0.006216403096914291, -0.11896035075187683, -0.1195567324757576, -0.17698432505130768, 0.018051564693450928, 0.010406751185655594, 0.013358468189835548, 0.04529307782649994]}, {\"marker\": {\"color\": 7, \"size\": 5}, \"mode\": \"markers\", \"name\": \"2\", \"text\": [\"Samsung - EF-RN975CBEGWW - Galaxy Note10+ Protective Standing Cover - Black\", \"Samsung - ET-FG975CTEGWW - Screen Protector for Galaxy S10+\", \"Samsung - VG-SCFT55BE/RU - 55\\\" (2020) Beige Wood Customisable Frame Bezel \", \"Speck - Presidio Clear Samsung Galaxy S8 Case\", \"Samsung - HAFIN2/EXP - Water Filter\", \"Samsung - VCA-ADB90 - Auto Dust Disposal Bag (5pcs)\", \"Cygnett - CY2419CPAEG - Slim Protective Case For Galaxy S9\", \"Samsung - EF-CG930PFEGWW - S View Cover (Galaxy S7)\", \"Samsung Smart Wi-Fi Door Lock - SHP-DP609 \", \"Samsung - LC24F390FHEXXY - 24\\\" Curved FHD Monitor\", \"Samsung - Galaxy S8+ Alcantara Back Cover - Grey - EF-XG955ASEGWW\", \"Samsung - EF-GG960FREGWW - Galaxy S9 HyperKnit Cover - Red\", \"Samsung - Galaxy S8 Alcantara Cover - Dark Gray - EF-XG950ASEGWW  \", \"Samsung - EP-YO805BBEGWW - Galaxy Watch Wireless Charger\", \"Samsung - EF-FG960CTEGWW - Galaxy S9 Clean Screen Protector \", \"Samsung - EF-NG973PBEGWW - Galaxy S10 LED View Cover\", \"Cygnett - CY2425CPSKI - Slimline Case for Samsung Galaxy S9+ - Black\", \"Samsung - EF-ZG973CBEGWW - Galaxy S10 Clear View Cover\", \"Samsung - Galaxy Tab S3 9.7\\\" Book Cover - EF-BT820PBEGWW \", \"Samsung - EF-NG965PBEGWW - Galaxy S9+ LED View Cover - Black\", \"Samsung - EE-GN930BWEGWW - Micro USB Connector (USB Type-C to Micro USB)\", \"Samsung - HAFEX/EXP - Water Filter \", \"Samsung Smart Wi-Fi Biometric Mortise Door Lock - SHP-DR708\", \"Samsung - EF-NG965PLEGWW - Galaxy S9+ LED View Cover - Blue\", \"Samsung - EF-NG960PLEGWW - Galaxy S9 LED View Cover - Blue\", \"Samsung - EF-KN975CWEGWW - Galaxy Note10+ LED Back Cover\", \"Cygnett - CY2828CXCUR - Galaxy S10e Tempered Glass Screen Protector\", \"Samsung - VG-SCFT65BE/RU - 65\\\" (2020) Beige Wood Customisable Frame Bezel\", \"Samsung - ME73M - 20L Microwave \", \"Cygnett - CY2424CPAEG - Slim Protective Case For Galaxy S9+\", \"Samsung - EF-PN970TSEGWW - Galaxy Note 10 Silicone Cover - Silver\", \"Samsung - LC27T550FDEXXY - 27\\\" CT550 Curved FHD Monitor\", \"Samsung - EF-NN960PBEGWW - Galaxy Note9 LED View Cover\", \"Samsung - EF-ZG930CSEGWW - Clear View Cover (Galaxy S7) - Silver\", \"Samsung - EE-I3100FBEGWW - 1.380m Dex Cable\", \"Samsung - LED View Cover Galaxy S7 - EF-NG930PFEGWW\", \"Samsung - EF-BT550BLEGWW - Tab A 9.7\\\" Book Cover\", \"Samsung - EF-PJ250CBEGME - Galaxy J2 Pro Dual Layer Cover\", \"Speck - Presidio Clear Samsung Galaxy S8+ Case\", \"Speck - 124607-1050 - Presidio Grip Galaxy S10+ Case - Black/Black\", \"Samsung - EF-GG965FJEGWW - Galaxy S9+ HyperKnit Cover - Grey\", \"Samsung - EF-RG973CBEGWW - Galaxy S10 Protective Standing Cover\", \"Samsung - EF-ZN960CBEGWW - Galaxy Note9 Clear View Standing Cover\", \"Samsung - EF-KN970CBEGWW - Galaxy Note10 LED Cover - Black\", \"Samsung - EF-PN970TBEGWW - Galaxy Note 10 Silicone Cover - Black \", \"Samsung - GP-FBP615TGABW - Targus Slim Keyboard Cover\", \"Samsung - LC27F390FHEXXY - 27\\\" Curved FHD Monitor \", \"Samsung - EJ-PN970BBEGWW - Note10 S Pen Black\", \"Samsung VCA-SAE90A Jet Clean Station\", \"Samsung - EF-ZG975CBEGWW - Galaxy S10+ Clear View Cover\", \"Samsung - EF-NN960PLEGWW - Note9 LED View Cover\", \"Samsung - EF-WA908PWEGWW - Galaxy A90 5G Wallet Cover  \", \"Samsung - EF-PG973TBEGWW - Galaxy S10 Silicone Cover (Black)\", \"Samsung - EF-AA505CVEGWW - A50 Gradation Cover - Violet\", \"Samsung - EF-AA505CBEGWW - A50 Gradation Cover - Black\", \"Samsung - EF-NG960PBEGWW - Galaxy S9 LED View Cover - Black\", \"Samsung - EF-PG975TBEGWW - Galaxy S10+ Silicone Cover - Black\", \"Samsung - EF-RG975CSEGWW - Galaxy S10+ Protective Standing Cover\", \"Samsung - EF-WJ530CBEGME - Galaxy J5 Pro Wallet Cover\", \"Samsung - EF-NN970PBEGWW - Galaxy Note10 LED View Cover - Black\", \"Samsung - EF-AA705CVEGWW - A70 Gradation Cover - Violet\", \"Samsung - VG-SCFT65WT/RU - 65\\\" (2020) White Customisable Frame Bezel \", \"Samsung - EF-XN950ABEGWW - Galaxy Note 8 Alcantara Cover - Black\", \"Samsung - EF-ZG935CSEGWW - Clear View Cover (Galaxy S7 Edge)\", \"Samsung - CLT-K404S - Black Toner\", \"Speck - 124589-1050 - Presidio Grip Galaxy S10 Case - Black/Black\", \"Uniden - SS E07 - Sight & Sound Enhanced Cordless Phone - Additional Handset\", \"Samsung - Galaxy S8 Alcantara Cover - Blue - EF-XG950ALEGWW\", \"Samsung - ET-FG965CTEGWW - Screen Protector\", \"Samsung - HW-Q950T - 9.1.4Ch Soundbar - 546W  \", \"Samsung - EF-DT860UJEGWW - Galaxy Tab S6 Book Cover Keyboard\", \"Cygnett - CY2127CPAEG - AeroShield Case for Samsung Galaxy S8 - Crystal\", \"Samsung - 1091100864 - S View Cover (Galaxy S7)\", \"Samsung - VG-SCFT55WT/RU - 55\\\" (2020) White Customisable Frame Bezel \", \"Samsung Smart Bluetooth Mortise Lock - SHP-DH525\", \"Cygnett OpticShield Tempered Glass Screen Protector for Samsung A70\", \"Samsung - EF-BT715 Black - Tab S2 Book Cover (8.0\\\")\", \"Cygnett - CY2420CPSKI - Slimline Case for Samsung Galaxy S9 - Black\", \"Samsung - EF-NG965PVEGWW - Galaxy S9+ LED View Cover - Violet\", \"Samsung - EF-AA305CVEGWW - A30 Gradation Cover - Violet\", \"Samsung - EF-RN950CBEGWW - Galaxy Note 8 Protective Standing Cover - Black\", \"Samsung - EF-NN950PFEGWW - Galaxy Note 8 LED View Cover - Gold\", \"Samsung - EF-GG965FREGWW - Galaxy S9+ HyperKnit Cover - Red\", \"Samsung - CLT-Y404S - Yellow Toner\", \"Cygnett - Samsung Galaxy Note 8 Case - CY2132CPAEG\", \"Samsung - DF60R8200WG/SA - AirDresser Clothing Care System  \", \"Samsung - EF-GG960FJEGWW - Galaxy S9 HyperKnit Cover - Grey\", \"Samsung - EF-ZN960CAEGWW - Galaxy Note9 S-View Flip Cover\", \"Samsung - VG-SCFT65BW/RU - 65\\\" (2020) Walnut Customisable Frame Bezel\", \"Samsung - EF-PN975TSEGWW - Galaxy Note10+ Silicone Cover - Silver\", \"Samsung - LS27R750QEEXXY - 27\\\"  Clamp-type Monitor\", \"Samsung - EJ-FT830UBEGWW - Tab S4 Keyboard Cover - Black\", \"Samsung - EF-AA305CBEGWW - A30 Gradation Cover - Black\", \"Samsung - ME6144ST - Microwave\", \"Samsung - 1091100733 - Note 5 S View Cover Blue/Black\", \"Samsung - Wireless Charger Convertible 2017 - EP-PG950BBEGWW \", \"Samsung - LC32T550FDEXXY - 32\\\" CT550 Curved FHD Monitor \", \"Samsung - VG-SCFT43WT/RU - 43\\\" (2020) White Customisable Frame Bezel \", \"Speck - 124606-5085 - Presidio Stay Clear Galaxy S10+ Case\", \"Speck - 124588-5085 - Presidio Stay Clear Galaxy S10 Case\", \"Samsung - Galaxy S8+ Alcantara Back Cover - Blue - EF-XG955ALEGWW\", \"Cygnett - CY3006CXCUR - Galaxy Note 10+ 3D PET Screen Protector\", \"Samsung - EF-KN975CBEGWW - Galaxy Note10+ LED Cover - Black\", \"Samsung - EF-RG973CSEGWW - Galaxy S10 Protective Standing Cover\", \"Speck - Presidio Grip Samsung Galaxy Note 8 Case\", \"Samsung - EF-BT810 Black - Tab S2 Book Cover (9.7\\\")\", \"Samsung - EF-BT550BSEGWW - Tab A 9.7\\\" Book Cover\", \"Samsung - EJ-FT720UBEGWW - Galaxy Tab S5e Book Cover Keyboard\", \"Samsung - EJ-PN960BLEGWW - Note 9 S Pen \\u2013 Blue\", \"Samsung - VCA-SBT90E - Jet VS70 Battery (White)\", \"Samsung - EF-AA505CPEGWW - A50 Gradation Cover - Pink\", \"Samsung - VCA-WB650/GL - Jet Spinning Sweeper Tool (Silver)  \", \"Samsung - EF-AA705CBEGWW - A70 Gradation Cover - Black\", \"Samsung - EF-BT350BSEGWW - Tab A 8.0\\\" Book Cover\", \"Samsung - EF-AA305CPEGWW - A30 Gradation Cover - Pink\", \"Samsung - EP-TA20HWECGAU - Fast Charging Travel Adapter (Type C)(9V) \", \"Samsung - EP-P5200TBEGAU - Wireless Charger Duo Pad\", \"Samsung Smart Bluetooth Rim Lock - SHP-DS705\", \"Samsung - EF-NN950PBEGWW - Galaxy Note8 LED View Cover - Black\", \"Samsung - EJ-PN970BSEGWW - Note10 S Pen Silver\", \"Samsung - VG-SCFT43BE/RU - 43\\\" (2020) Beige Wood Customisable Frame Bezel \", \"Samsung - VG-SCFT43BW/RU - 43\\\" (2020) Walnut Customisable Frame Bezel \", \"Samsung CF397 - LC32F397FWEXXY - 32\\\" FHD Curved Monitor\", \"Samsung - EF-CG930PSEGWW - S View Cover (Galaxy S7) \", \"Speck - Presidio Grip Samsung Galaxy S8+ Case\", \"Samsung - VG-SCFT55BW/RU - 55\\\" (2020) Walnut Customisable Frame Bezel  \", \"Samsung - EF-PN975TBEGWW - Galaxy Note10+ Silicone Cover - Black\", \"Samsung - EP-TA20HWEUGAU - Fast Charging Travel Adaptor\", \"Samsung - EF-VN975LAEGWW - Galaxy Note10+ Leather Cover \", \"Samsung - VCA-SBT90 - Jet VS90 Battery\", \"Samsung - ET-FG973CTEGWW - Screen Protector for Galaxy S10\", \"Samsung - EF-NN975PBEGWW - Galaxy Note10+ LED View Cover - Black\", \"Samsung - EF-NN960PAEGWW - Galaxy Note9 LED View Cover\", \"Samsung - EP-LN915CBEGWW - Fast Charge Car Charger\", \"Cygnett - CY3005CXCUR - Galaxy Note 10 3D PET Screen Protector\", \"Samsung - Galaxy S8+ LED View Cover - Black - EF-NG955PBEGWW\", \"Samsung - Galaxy S8 Screen Protector - ET-FG950CTEGWW\"], \"type\": \"scatter\", \"x\": [0.1723070591688156, 0.16985706984996796, 0.07762640714645386, 0.12168088555335999, 0.1081230640411377, 0.08907272666692734, 0.14103901386260986, 0.18387912213802338, 0.19192391633987427, 0.14150670170783997, 0.1977776736021042, 0.19181394577026367, 0.2343090921640396, 0.2245846390724182, 0.14259545505046844, 0.15072274208068848, 0.20586761832237244, 0.1397118866443634, 0.24625052511692047, 0.1868390589952469, 0.23559726774692535, 0.09831614792346954, 0.15690487623214722, 0.1836250126361847, 0.17643879354000092, 0.1817861944437027, 0.10614174604415894, 0.059469059109687805, -0.03624036908149719, 0.1625579297542572, 0.1714715212583542, 0.16600574553012848, 0.14937226474285126, 0.1720028519630432, 0.14219984412193298, 0.18647336959838867, 0.1906396597623825, 0.19030368328094482, 0.12893468141555786, 0.10545292496681213, 0.20773960649967194, 0.10601702332496643, 0.12805937230587006, 0.20552727580070496, 0.19565719366073608, 0.1613929718732834, 0.15831300616264343, 0.24929141998291016, 0.1262044459581375, 0.1531136929988861, 0.13567671179771423, 0.11957027018070221, 0.19182588160037994, 0.0800609365105629, 0.10050494223833084, 0.17965710163116455, 0.1947380006313324, 0.13674396276474, 0.2096525877714157, 0.183444082736969, 0.0838875025510788, 0.1001800000667572, 0.23394300043582916, 0.17963218688964844, 0.2088496834039688, 0.09047024697065353, 0.1895628273487091, 0.2271336317062378, 0.08358334749937057, 0.2304895520210266, 0.17452576756477356, 0.19382981956005096, 0.18901626765727997, 0.1183229610323906, 0.23601508140563965, 0.15723367035388947, 0.28203654289245605, 0.20744949579238892, 0.1849793940782547, 0.061274513602256775, 0.16435562074184418, 0.17143553495407104, 0.19882676005363464, 0.21068421006202698, 0.2009008228778839, 0.018572956323623657, 0.20256084203720093, 0.17153571546077728, 0.055865705013275146, 0.17876335978507996, 0.17687565088272095, 0.20401600003242493, 0.08490226417779922, -0.03795783221721649, 0.20347367227077484, 0.25510042905807495, 0.15949006378650665, 0.13262803852558136, 0.041201427578926086, 0.019769731909036636, 0.19946785271167755, 0.156586691737175, 0.21239584684371948, 0.11458420008420944, 0.13440558314323425, 0.2708885073661804, 0.18420284986495972, 0.21913567185401917, 0.2386084496974945, 0.2055310308933258, 0.08353899419307709, 0.024638943374156952, 0.10553131252527237, 0.1984233260154724, 0.05839347094297409, 0.24268700182437897, 0.21169282495975494, 0.2558482587337494, 0.18426983058452606, 0.21443238854408264, 0.09073750674724579, 0.09464389085769653, 0.15752598643302917, 0.1891614943742752, 0.13544747233390808, 0.08000002801418304, 0.20464859902858734, 0.21894991397857666, 0.1599465161561966, 0.19614051282405853, 0.1507376730442047, 0.19739492237567902, 0.15229319036006927, 0.11615785211324692, 0.15435448288917542, 0.20687814056873322, 0.18406306207180023], \"y\": [0.21997201442718506, 0.31992506980895996, 0.2781675457954407, 0.19938328862190247, 0.05671500414609909, 0.15193550288677216, 0.18393871188163757, 0.333224892616272, 0.1937316358089447, 0.4061327576637268, 0.2810904383659363, 0.2741971015930176, 0.2842022180557251, 0.12966372072696686, 0.3213474154472351, 0.28739383816719055, 0.21037906408309937, 0.2894122004508972, 0.27787911891937256, 0.3181957006454468, 0.18000943958759308, 0.05775660276412964, 0.17460152506828308, 0.26605841517448425, 0.260765016078949, 0.2830048203468323, 0.190397709608078, 0.29286953806877136, 0.2655114531517029, 0.20265302062034607, 0.23655714094638824, 0.4293350875377655, 0.3149368166923523, 0.31021058559417725, 0.23414397239685059, 0.360989511013031, 0.26217955350875854, 0.14739787578582764, 0.20898519456386566, 0.17734313011169434, 0.29549747705459595, 0.22659718990325928, 0.3260924816131592, 0.2685585021972656, 0.23389141261577606, 0.2053234726190567, 0.4176047444343567, 0.29447105526924133, 0.22685909271240234, 0.3016074001789093, 0.2950877249240875, 0.3091464638710022, 0.23110273480415344, 0.173336461186409, 0.1543818712234497, 0.3040938675403595, 0.2644975781440735, 0.26886793971061707, 0.19407537579536438, 0.2699207067489624, 0.21340878307819366, 0.3445162773132324, 0.29056423902511597, 0.3396289348602295, 0.12105852365493774, 0.17036283016204834, -0.0761740431189537, 0.22994109988212585, 0.2796058654785156, 0.21980224549770355, 0.2992948889732361, 0.1804679036140442, 0.33460360765457153, 0.3305234909057617, 0.11465715616941452, 0.2845195531845093, 0.1767714023590088, 0.20081627368927002, 0.32567813992500305, 0.17530754208564758, 0.25536832213401794, 0.3402497172355652, 0.27950844168663025, 0.15987776219844818, 0.23214282095432281, 0.19088828563690186, 0.29051071405410767, 0.3239287734031677, 0.3171757459640503, 0.25016382336616516, 0.35524076223373413, 0.2422827035188675, 0.16336692869663239, 0.2524699568748474, 0.24368755519390106, 0.19643987715244293, 0.4233962893486023, 0.31722575426101685, 0.20107676088809967, 0.18286418914794922, 0.24570752680301666, 0.20600247383117676, 0.2763672471046448, 0.2547946870326996, 0.18519355356693268, 0.1986696720123291, 0.25739121437072754, 0.2980467975139618, 0.24785920977592468, 0.17779123783111572, 0.1554143875837326, 0.1309221088886261, 0.19351136684417725, 0.23916447162628174, 0.15684783458709717, 0.20212450623512268, 0.10846183449029922, 0.09411324560642242, 0.2955111861228943, 0.2835657596588135, 0.2615409791469574, 0.2872482240200043, 0.4049798548221588, 0.33166491985321045, 0.20107948780059814, 0.30778321623802185, 0.24314847588539124, 0.14279015362262726, 0.27351224422454834, 0.18433409929275513, 0.3119209408760071, 0.27517855167388916, 0.325072705745697, 0.20565807819366455, 0.19690245389938354, 0.315002977848053, 0.3410123586654663]}, {\"marker\": {\"color\": 8, \"size\": 5}, \"mode\": \"markers\", \"name\": \"3\", \"text\": [\"DeLonghi - CTOC 2003.Y - Icona Capitals 2 Slice Toaster - New York Yellow\", \"Omega Altise - OAPE2000W - 2000W Panel Convection Heater - White\", \"Omega Altise - AALTURASB - 2400W Ceramic Tower Heater - Black\", \"Noirot - 7358-5T - 1500W Spot Plus Heater with Timer\", \"Noirot - 7358-7T - 2000W Spot Plus Heater with Timer\", \"Noirot - 7358-3 - 1000W Spot Plus Heater\", \"ESW 7020 Graphite Grey Gourmet Warming drawer\", \"Tiger - PDUA40A - 4L Electric Water Heater\", \"Noirot - 7382-7 - 2000W Evolution Low Heater \", \"DeLonghi - TRRS 0715T - Radia S Radiant Heater - 1500W\", \"DeLonghi - TRD42400MT - Dragon4 Oil Column Heater - 2400W\", \"DeLonghi - DCH7992ER - Digital Ceramic Tower Heater\", \"Morphy Richards - 100005 - Scandi White Aspect Kettle\", \"Noirot - 7358-3T - 1000W Spot Plus Heater with Timer \", \"Noirot - 7358-8T - 2400W Spot Plus Heater with Timer\", \"Noirot - 7358-7 - 2000W Spot Plus Heater \", \"DeLonghi - TCH8993ER - Tower Ceramic Heater\", \"DeLonghi - KBOC 2001.W - Icona Capitals Kettle - Sydney White\", \"DeLonghi - KBO2001W - Icona Kettle (White)\", \"DeLonghi - TRD41500MT - Dragon4 Oil Column Heater - 1500W\", \"Morphy Richards - Equip Black Jug 1.7L Kettle \", \"Rinnai - 252SN - Granada 252 Radiant Convector - NG\", \"DeLonghi - CTOC 4003.O - Icona Capitals 4 Slice Toaster - Rome Orange\", \"Olimpia Splendid - 2000W Caldorad 9 Column Heater\", \"DeLonghi - CTOC 4003.BL - Icona Capitals 4 Slice Toaster - London Blue\", \"Morphy Richards - 102107 - Black Accents Traditional Pyramid Kettle\", \"DeLonghi - KBOC 2001.O - Icona Capitals Kettle - Rome Orange\", \"Nobo - NTL4T15-FS40 - 1.5kW Panel Heater\", \"Smeg - CPRA315MB - 60cm Classic Warming Drawer - Matte Black\", \"Noirot - 7384-3 - 1000W Evolution Tall Heater \", \"Noirot - 7383-7 - 2000W Evolution Medium Heater \", \"Tauris - NOVA1500GREY - NOVA 1500 Entertainment Unit\", \"WiZ - WZ0026011 - 10W Dimmable Warm White Light - E27 \", \"Noirot - 7382-5 - 1500W Evolution Low Heater \", \"Rinnai - DY15N - Dynamo 15 Convector - NG\", \"Tiger - PDU-A50A - 5L Electric Water Heater\", \"DeLonghi - DCH7092ER - 2200W Digital Ceramic Heater\", \"Kambrook - 1500W - 7 Fin Oil Column Heater - KOH107\", \"Rinnai - 252N - Granada 252 Radiant Convector - NG\", \"Nobo - NTL4S24-FS40 - 2.4kW Nobo Panel Heater\", \"Nobo - NTL4S20-FS40 - 2kW Nobo Panel Heater\", \"Noirot - 7384-7 - 2000W Evolution Tall Heater \", \"Noirot - 7383-3 - 1000W Evolution Medium Heater\", \"Asko - ODW8127S - 14cm Warming Drawer - Stainless steel \", \"DeLonghi - CTOC 4003.R - Icona Capitals 4 Slice Toaster - Tokyo Red \", \"Sharp - 1000W Convection Microwave - R995DW\", \"DeLonghi - TRRS0715E.G - 1500W Radia S Digital Oil Column Heater\", \"Morphy Richards - 101005 - Accents 1L Kettle\", \"DeLonghi - KBOC 2001.R - Icona Capitals Kettle - Tokyo Red\", \"DeLonghi - PACWE120HP - Portable Air Conditioner\", \"Noirot - 7382-3 - 1000W Evolution Low Heater \", \"Nobo - NTL4T24-FS40 - 2.4kW Panel Heater\", \"Asko - ODW8127B - 14cm Warming Drawer - Black Steel \", \"Olimpia Splendid - 1500W Caldorad 7 Column Heater\", \"DeLonghi - Pinguino Portable Air Conditioner - PACN120\", \"DeLonghi - Radia S Radiant Heater - 1000W - TRRS 0510T \", \"DeLonghi - 2400W Radia S Digital Oil Column Heater - TRRS1224EG\", \"Rinnai - DY15L - Dynamo 15 Convector - LPG\", \"Olimpia Splendid - 2000W Caldostile D Ceramic Fan Heater\", \"Morphy Richards - 102108 - White Accents Rose Gold Traditional Pyramid Kettle\", \"DeLonghi - PACWE112ECO - Water-To-Air 3.1kW Portable Air Conditioner\", \"DeLonghi - 5513214611 - Latte Macchiato Thermo Glasses\", \"DeLonghi - KBOC 2001.Y - Icona Capitals Kettle - New York Yellow\", \"Smeg - CPRA115N - Linea Warming Drawer\", \"DeLonghi - KBOC 2001.BL - Icona Capitals Kettle - London Blue\", \"Goldair - GIR400 - Radiant Heater\", \"Asko - ODW8127A - 14cm Warming Drawer - Anthracite \", \"Inalto - IHPD7 - 7kg Heat Pump Dyer\", \"DeLonghi - DL2401TF - Oil Filled Radiator - 2400W\", \"DeLonghi - TRD41500ET - Oil Column Heater\", \"Westinghouse - WHIHWD01SS - Instant Hot Water Dispenser\", \"DeLonghi - CTOC 4003.AZ - Icona Capitals 4 Slice Toaster - Lisbon Azure\", \"DeLonghi - TRD42400ET - Dragon4 Oil Column Heater\", \"DeLonghi - KBOC 2001.AZ - Icona Capitals Kettle - Lisbon Azure\", \"Olimpia Splendid - 2400W Caldorad 11 Column Heater\", \"Noirot - 7358-5 - 1500W Spot Plus Heater\", \"Noirot - 7358-8 - 2400W Spot Plus Heater \", \"DeLonghi - CTOC 4003.Y - Icona Capitals 4 Slice Toaster - New York Yellow  \", \"DeLonghi - CTOC 2003.R - Icona Capitals 2 Slice Toaster - Tokyo Red\", \"Rinnai - DY15SN - Dynamo 15 Convector - NG\", \"Rinnai - DY15SL - Dynamo 15 Convector - LPG\", \"Ninja Foodi Cold & Hot Blender - HB150  \", \"Tauris - NOVA1500OAK - NOVA 1500 Entertainment Unit\", \"DeLonghi - CTOC 4003.W - Icona Capitals 4 Slice Toaster - Sydney White\", \"DeLonghi - CTOC 2003.W - Icona Capitals 2 Slice Toaster - Sydney White\", \"Nobo - NTL4T20-FS40 - 2kW Panel Heater\", \"Rinnai - 252SL - Granada 252 Radiant Convector - LPG\", \"Morphy Richards - 100007 - Scandi Black Aspect Kettle\", \"WiZ - WZ0726011 - 10W Dimmable Warm White Light - B22  \", \"DeLonghi - CTOC 2003.BL - Icona Capitals 2 Slice Toaster - London Blue\", \"Noirot - 7384-5 - 1500W Evolution Tall Heater \", \"Noirot - 7383-5 - 1500W Evolution Medium Heater \"], \"type\": \"scatter\", \"x\": [-0.020554713904857635, -0.09654715657234192, -0.07200300693511963, -0.04198700934648514, -0.06560180336236954, -0.10070792585611343, -0.24205055832862854, -0.07700800895690918, -0.08912195265293121, -0.09271418303251266, -0.10064110904932022, -0.136453777551651, -0.017242856323719025, -0.03581497073173523, -0.08111678063869476, -0.13166961073875427, -0.16849084198474884, -0.037252072244882584, -0.07660304754972458, -0.09155197441577911, -0.022576414048671722, -0.06836695969104767, -0.03407125174999237, -0.09706330299377441, -0.09023531526327133, -0.07735931128263474, 0.02111053466796875, -0.1442016065120697, -0.17970678210258484, -0.11121302098035812, -0.11166179925203323, 0.02983981743454933, -0.12233958393335342, -0.08625581115484238, 0.014488408342003822, -0.06971359997987747, -0.16040658950805664, -0.12519744038581848, -0.07596682012081146, -0.14836101233959198, -0.14124414324760437, -0.14370298385620117, -0.09432593733072281, -0.18276014924049377, -0.06401067227125168, -0.12742280960083008, -0.09956938773393631, -0.11382303386926651, -0.022654540836811066, -0.06964684277772903, -0.07285156100988388, -0.14226502180099487, -0.1597677767276764, -0.1007918044924736, -0.0019225403666496277, -0.09150642901659012, -0.10619883984327316, -0.08324851095676422, -0.1587677001953125, -0.07504751533269882, -0.04502817243337631, -0.0678139477968216, -0.020589180290699005, -0.1924460530281067, -0.01820259541273117, -0.06158086657524109, -0.16244810819625854, -0.050826720893383026, -0.17578935623168945, -0.12192919105291367, -0.240290105342865, -0.04339108616113663, -0.10947427898645401, 0.022079948335886, -0.14076006412506104, -0.11439403146505356, -0.13634467124938965, -0.07811673730611801, -0.016866758465766907, 0.013981346040964127, -0.06923813372850418, -0.12632983922958374, 0.031826913356781006, -0.10272615402936935, -0.040853023529052734, -0.1356978416442871, -0.10505590587854385, 0.0018259137868881226, -0.14121970534324646, -0.025383569300174713, -0.13041508197784424, -0.1100422814488411], \"y\": [-0.13960859179496765, 0.0058586858212947845, -0.017589733004570007, -0.014526404440402985, -0.03144770860671997, -0.06101367250084877, 0.06149331480264664, 0.006394716911017895, -0.07073371857404709, -0.04813660681247711, 0.020626777783036232, -0.08621620386838913, -0.14339777827262878, -0.04532651603221893, 1.3498589396476746e-05, -0.049715131521224976, -0.10763168334960938, -0.1280815303325653, -0.18720665574073792, 0.01252153143286705, -0.1687605232000351, -0.014327269047498703, -0.08978129923343658, 0.009725984185934067, -0.10868032276630402, -0.12884235382080078, -0.14648497104644775, 0.011512810364365578, -0.02525453455746174, -0.049209922552108765, -0.07838631421327591, -0.09867148101329803, 0.02281605266034603, -0.06897687911987305, -0.020228154957294464, 0.018641266971826553, -0.020883291959762573, -0.05150863900780678, -0.017251670360565186, 0.04800977557897568, 0.032075051218271255, -0.04531276971101761, -0.08059327304363251, 0.03668069839477539, -0.11425169557332993, -0.06949932873249054, 0.0024852678179740906, -0.184926837682724, -0.17181622982025146, -0.15059292316436768, -0.09229152649641037, 0.036548204720020294, 0.001051347702741623, 0.027803001925349236, -0.14941605925559998, -0.0657019391655922, 0.00582079216837883, 0.01987515762448311, -0.003498980775475502, -0.08345860987901688, -0.10836757719516754, -0.06111927703022957, -0.14009040594100952, -0.10416457802057266, -0.17150528728961945, -0.07856862992048264, -0.005654573440551758, 0.03291458636522293, -0.05675031989812851, -0.06126691401004791, 0.01540868729352951, -0.08242405951023102, -0.030985387042164803, -0.13884615898132324, 0.021398380398750305, -0.0396525077521801, -0.01971258595585823, -0.08441122621297836, -0.17093642055988312, -0.01777195930480957, 0.010212607681751251, -0.15520086884498596, -0.11487597227096558, -0.0555892139673233, -0.11700475215911865, 0.023357773199677467, 0.007662151008844376, -0.13943079113960266, -0.03234422579407692, -0.18002085387706757, -0.02930467389523983, -0.057179175317287445]}, {\"marker\": {\"color\": 9, \"size\": 5}, \"mode\": \"markers\", \"name\": \"4\", \"text\": [\"Universal Pictures - Sing - UHD/BD/UV\", \"Laser  - NAVC-503FHDI - FHD In Car Cigital Video Recorder\", \"Sony Pictures - Spider-Man: Homecoming - DVD/UV\", \"Bush - AURORA BLK - Digital Alarm Clock Radio with Bluetooth - DAB+/FM\", \"Sony Pictures - Life - UHD/BD/UV\", \"Laser  - SPK-FQC19-GY - 4-in-1 Digital Alarm Clock Radio\", \"Moki - ACC-FSR01 - DVD/CD/Game Disc Scratch Repair Kit\", \"Laser - DVD-PORT7-DUAL - DVD Player Dual In Car 7\\\" with Bonus Pack\", \"Sangean - DPR45 - AM/DAB+/FM-RDS Digital Radio\", \"CHiQ - L24K3 - 24\\\" HD TV/DVD Combo  \", \"Sangean - U4 DBTB - Ultra Rugged Digital Tuning Receiver\", \"Universal Pictures - Despicable Me 3 - DVD\", \"Sony Pictures - Baby Driver - UHD/BD/UV\", \"LG - BP250 - Blu-ray Player\", \"Universal Pictures - Extreme Nature Collection - UHD/BD\", \"View Quest - MONTY WALNUT - DAB / DAB+ Digital & FM/AM Radio\", \"Universal Pictures - Atomic Blonde - DVD\", \"Pure - Elan E3 - Portable DAB/DAB+ & FM Radio - Black\", \"Uniden - DECT 1735 - DECT Digital Phone System\", \"Uniden - BW 3001 - 2.3\\\" Digital Wireless Baby Video Monitor\", \"Lightning Digital AV Adapter\", \"Uniden - DECT 1735 + 1 - DECT Digital Phone System\", \"Laser  - DVD-PT-10C - 10\\\" Portable DVD Player\", \"CHiQ - L24H3 - H3 24\\\" HD TV/DVD Combo\", \"UrbanWorx Digital Scale - UXLIBRA3  \", \"Uniden - DECT 1735 + 2 - DECT Digital Phone System\", \"STUDIOCANAL - Paddington - DVD\", \"Trend Micro - Maximum Security - 5 Devices / 1 Year - Digital Delivery  \", \"Universal Pictures - Minions -  DVD/UV\", \"Sangean - PR-D6 - Portable Radio\", \"Sangean - DPR-16CW - DAB+ / FM-RDS Portable Digital Radio\", \"Sangean - DAB+ / FM-RDS Pocket Radio - DPR-35-B\", \"View Quest - MONTY OAK - DAB / DAB+ Digital & FM/AM Radio\", \"Changhong - LED32D3700DV - 32\\\"/80cm LED TV/DVD COMBO\", \"Laser  - DVD-HD011 - DVD Player\", \"Universal Pictures - Despicable Me 3 - UHD/BD/UV\", \"Trend Micro - Maximum Security -  3 Devices / 2 Years - Digital Delivery \", \"Trend Micro - Maximum Security - 1 Device / 2 Years - Digital Delivery \", \"Trend Micro - Maximum Security - 1 Device / 1 Year - Digital Delivery \", \"Universal Pictures - King Kong (2005) - UHD/BD/UV\", \"Sangean - DPR-67 Red - DAB+ / FM-RDS Digital Radio Receiver \", \"Pure - Move R3 - Personal Stereo DAB+/FM Radio - Black\", \"Uniden - BW 3101 - 4.3\\\" Digital Wireless Baby Video Monitor\", \"STUDIOCANAL - John Wick: Chapter 2 - DVD\", \"Uniden - BW 3102 - 4.3\\\" Digital Wireless Baby Video Monitor\", \"Uniden - XDECT Cordless Phone System - XDECT 8355 + 2\", \"Universal Pictures - Fast & Furious 8 - DVD/UV\", \"Pure - Move T4 - Pocket-sized personal DAB+/FM radio with Bluetooth\", \"Trend Micro - Maximum Security - 5 Devices / 2 Years - Digital Delivery  \", \"Sony Pictures - Baby Driver - DVD\", \"Laser  - DVD-HD009 - DVD Player\", \"Sangean - PR-D18 Blue - Portable FM/AM Digital Tuning Receiver\", \"View Quest - CHRISTIE NOIR - DAB / DAB+ Digital & FM Radio\", \"Laser  - MP4-P20-BLK - Digital Music and Video Player 32GB\", \"Laser  - SPK-FQC19-RD - 4-in-1 Digital Alarm Clock Radio\", \"Sangean - DPR-76 - DAB+/FM-RDS Digital Receiver\", \"TrendMicro - IT Helpdesk All Devices 1 Year - Digital Delivery\", \"Laser  - DVD-PT-7B - 7\\\" Portable DVD Player\", \"Laser  - DVD-HD008 - DVD Player\", \"CHiQ - L32K3 - 32\\\" HD TV/DVD Combo\", \"Sangean - DPR-16WH - DAB+/FM-RDS Portable Digital Radio\", \"Pure - Siesta S2 Graphite - Digital and FM Alarm Clock Radio\", \"Sangean - Portable Digital Radio - DPR34W\", \"Alogic - UCD3D34K-H - Universal Hybrid Docking Station \", \"LG - BP556 - 3D Blu-ray Disc Player with Wi-Fi\", \"Universal Pictures - Atomic Blonde - UHD/BD/UV\", \"LG - GP60NB50 - External Slim USB DVD Writer\", \"Laser  - DVD-PT-7C - 7\\\" Portable DVD Player\", \"Trend Micro - Maximum Security - 3 Devices / 1 Year - Digital Download\", \"Uniden - XDECT8305WP - XDECT\\u00ae Digital Cordless Additional Handset\", \"Sony Pictures - BDUHDG3066 - The Dark Tower - UHD/BD/UV\", \"Universal Pictures - Fast & Furious 8 - UHD/BD/UV\", \"Universal Pictures - Sing - DVD/UV\", \"Sony Pictures - The Dark Tower - DVD\", \"Laser  - DVD-HD010 - DVD Player\", \"Uniden - DECT 1730 + 1 - DECT Digital Phone System\", \"View Quest - CHRISTIE PURPLE - DAB / DAB+ Digital & FM Radio\", \"View Quest - CHRISTIE BROWN - DAB / DAB+ Digital & FM Radio\", \"CHiQ - L32G3 - 32\\\" HD TV/DVD Combo\", \"Uniden - DECT 1735 + 3 - DECT Digital Phone System\", \"STUDIOCANAL - John Wick: Chapter 2 - UHD/BD/UV\", \"Sony - DVPSR370 - DVD Player \", \"Sangean - DCR-89+ - Digital Clock Radio\", \"Laser - Multi-Region Blu-Ray Player  - BLU-BD3000\", \"Sony Pictures - Spider-Man: Homecoming  UHD/BD/UV\", \"Laser  - MID-P-LCD120BLK - Precision 12\\\" LCD Writing Tablet\", \"Laser  - MID-P-LCD85BLK - Precision 8.5\\\" LCD Writing Tablet\", \"Sony - BDPS3500 - Blu-ray Disc\\u2122 Player\"], \"type\": \"scatter\", \"x\": [0.22857345640659332, 0.09986498951911926, 0.2165088653564453, 0.20872779190540314, 0.3009069263935089, 0.13967442512512207, 0.06602829694747925, 0.20206867158412933, 0.18666385114192963, 0.11575385928153992, 0.13364727795124054, 0.13656622171401978, 0.34007981419563293, 0.19011428952217102, 0.19263651967048645, 0.18405389785766602, 0.13406342267990112, 0.26119813323020935, 0.16126281023025513, 0.1618497222661972, 0.19416463375091553, 0.1873941570520401, 0.21185725927352905, 0.08648132532835007, 0.05578145384788513, 0.19369842112064362, 0.12916606664657593, 0.20709848403930664, 0.15284273028373718, 0.20554335415363312, 0.24864643812179565, 0.21223662793636322, 0.21110346913337708, 0.10700930655002594, 0.1596280336380005, 0.21017181873321533, 0.22127433121204376, 0.21358507871627808, 0.2023773193359375, 0.20409266650676727, 0.18761220574378967, 0.24645063281059265, 0.15945139527320862, 0.18401482701301575, 0.14809682965278625, 0.20715801417827606, 0.18050479888916016, 0.2435833215713501, 0.21806515753269196, 0.26595234870910645, 0.1679377257823944, 0.19504693150520325, 0.1948225498199463, 0.23370391130447388, 0.14085784554481506, 0.16088904440402985, 0.226471409201622, 0.2303185611963272, 0.14709612727165222, 0.1320646107196808, 0.21566396951675415, 0.20708127319812775, 0.1916317194700241, 0.1555635631084442, 0.21514591574668884, 0.2117624431848526, 0.13818812370300293, 0.23446203768253326, 0.21301642060279846, 0.18800988793373108, 0.22036123275756836, 0.24272701144218445, 0.16138845682144165, 0.2163408249616623, 0.15525642037391663, 0.17141693830490112, 0.1988382190465927, 0.1746830940246582, 0.12291420996189117, 0.18798920512199402, 0.2426603138446808, 0.22385273873806, 0.13650883734226227, 0.23863589763641357, 0.27199041843414307, 0.15350797772407532, 0.15974126756191254, 0.3017686903476715], \"y\": [0.08842456340789795, 0.01572762057185173, 0.023449594154953957, -0.2682655453681946, 0.10094766318798065, -0.04331754893064499, -0.08513997495174408, -0.03136371076107025, -0.14002324640750885, 0.1722850352525711, -0.07831278443336487, -0.07525251805782318, 0.09648848325014114, 0.022520262748003006, 0.08268320560455322, -0.18598251044750214, -0.09354186803102493, -0.2215432971715927, -0.006695577874779701, -0.07686787843704224, -0.0903264582157135, -1.813843846321106e-05, -0.046908386051654816, 0.16178128123283386, -0.1517224907875061, 0.00015684962272644043, -0.10697980225086212, -0.05374441295862198, -0.03885235637426376, -0.11897172778844833, -0.13288572430610657, -0.20276808738708496, -0.20864051580429077, 0.18046146631240845, -0.02505827695131302, 0.07823171466588974, -0.08613148331642151, -0.08465169370174408, -0.07344238460063934, 0.1183863952755928, -0.11705268919467926, -0.23403434455394745, -0.02697359025478363, -0.05983016639947891, -0.017496924847364426, -0.02613864839076996, 0.03366710990667343, -0.21270431578159332, -0.059874605387449265, -0.029845260083675385, -0.05367070063948631, -0.13141947984695435, -0.21415042877197266, -0.06564002484083176, -0.06682751327753067, -0.10862816125154495, -0.05007586628198624, -0.04046211764216423, -0.034061260521411896, 0.17572708427906036, -0.13689734041690826, -0.057894762605428696, -0.13482427597045898, -0.04644325003027916, 0.08895649015903473, 0.04803577437996864, 0.13809186220169067, -0.008229441940784454, -0.06879296898841858, -0.015555204823613167, 0.16651707887649536, 0.16566549241542816, -0.040019482374191284, -0.010375861078500748, -0.041665706783533096, -0.009663976728916168, -0.21877194941043854, -0.22525346279144287, 0.20342890918254852, 0.00013664737343788147, 0.08367942273616791, 0.03820164501667023, -0.09267398715019226, -0.12372929602861404, 0.1520136296749115, 0.0048885829746723175, 0.06475918740034103, -0.03011593222618103]}, {\"marker\": {\"color\": 10, \"size\": 5}, \"mode\": \"markers\", \"name\": \"5\", \"text\": [\"WiZ LED Colour LED Extension Strip 1m\", \"Moki - ACC-MTAUS - USA Travel Adaptor\", \"Moki - ACC-MTAUK - UK Travel Adaptor\", \"Theragun PRO Percussive Therapy Device\", \"DuPont Carbon Layer Replacement for TruSens Z1000 Air Purifier, 3 Pack - AFCZ100001AU \", \"Tauris - Titan 1500 Entertainment Unit  \", \"Blueant - CMT-2 - COMMUTE2 Voice Activated Handsfree\", \"DJI - Spark Fly More Combo - Lava Red\", \"DJI - Osmo Mobile - Mobile Handheld Stabiliser - Bluetooth   \", \"DuPont Replacement Filter 2-In-1 HEPA Drum for TruSens Z1000 Air Purifier  \", \"TruSens 3-In-1 HEPA Drum Replacement Filter\", \"Euromaid - DKW - Ducting Kit Wall\", \"Moki - BPDAA - Double Adaptor - Angled\", \"Ergovida - EMA10-C24 - Double Arm Gas Spring Monitor Desk Mount \", \"Theragun Elite Percussive Therapy Device - White  \", \"Energea - Travel Word 3.4 - Wall Charger Kit with Organizer \", \"DJI - 4088300 - Mavic Air Intelligent Flight Battery \", \"TruSens Replacement Filter HEPA 3-in-1 HEPA Drum for Z3000 Air Purifier\", \"Tauris - Ace 1200 Entertainment Unit\", \"Legrand Arteor\\u2122 with Netatmo Wireless Switch \", \"Tauris - Titan 2100 Entertainment Unit - Black \", \"Upright Go 2 - Posture Trainer -  Everyday Posture Coaching \", \"Nanoleaf - Light Panels Expansion Kit (3 Pieces) \", \"WiZ LED Strip 2m Starter Kit - 1600lm\", \"Jura - CLARIS Smart Filter Cartridge\", \"Merge Holographic Cube\", \"Uniden - XDECT Waterproof Cordless Additional* Handset\", \"Parrot - PF721920 - AR.Drone 2.0 Elite Edition - Sand\", \"3Doodler Create+ (Black)\", \"DJI - Mavic Pro - Remote Controller Monitor Hood - 3520809\", \"Tauris - Titan 2100 Entertainment Unit - White\", \"Jura E6 Atutomatic Coffee Machine\", \"DJI - 4301407 - Mavic 2 Pro - 1\\\" CMOS Drone\", \"iRobot Braava Jet 240 Robot Mop\", \"DJI - 4301409 - Mavic 2 Fly More Kit\", \"DJI - Care Refresh (Spark) - 1 Year Service Plan\", \"Thor - E1/45S - SMART PROTECT 4\", \"Nanoleaf - Expansion Pack - 4 Light Squares \", \"Dyson Swivel Hard Floor Tool\", \"DJI - 4088375 - Mavic Air - Onyx Black    \", \"Parrot - MAMBO Minidrone\", \"Sebo X7 BOOST Automatic Multi Floor Upright Vacuum\", \"Sensibo WiFi Air Conditioner Controller \", \"Euromaid - DKE - Ducting Kit Eave\", \"Thor - B8G - Smart Filter 8\", \"Smeg Universal Griddle\", \"UBTECH - Jimu Robot - AstroBot Kit \", \"Legrand Arteor\\u2122 with Netatmo Lighting Extension Kit \", \"DJI - Phantom 4 Advanced\", \"TruSens Air Purifier - Z-1000 - Personal/Small Room  \", \"DJI - 4088378 - Mavic Air Fly More Combo - Arctic White\", \"Ring Chime Pro - Wireless Security System Extender\", \"Osmo Genius Starter Kit  \", \"Tauris - TITAN 1200 AVR - Titan 1200 Entertainment Unit\", \"iRobot Roomba e5 Wi-Fi Connected Robot Vacuum \", \"3Doodler Start Essential Pen Set\", \"Tauris - NOVA2000GREY - NOVA 2000 Entertainment Unit\", \"Tauris - NOVA1800GREY - NOVA 1800 Entertainment Unit\", \"Everdure - ESIZPLATE - Sizzling Plate\", \"DJI - Osmo Mobile 3 Combo ( Case & Tripod )\", \"DJI - Osmo Pocket - 3-axis Stabilized Handheld Camera \", \"DJI - 4301408 - Mavic 2 Zoom \", \"GameSir - Bluetooth Controller for Tello Drone\", \"Monster - 4 Outlet Powerboard - 123064\", \"Moki - ACC-MTAEU - Europe Travel Adaptor\", \"Ring Chime Pro - Wi-Fi Extender and Indoor Chime\", \"Tauris - NOVA2000OAK - NOVA 2000 Entertainment Unit\", \"iRobot - 3 Pack Vacuum Bags for Roomba i7+\", \"Tauris - NOVA 1800 Entertainment Unit  \", \"Tauris - OSPREY 1200 Entertainment Unit \", \"Upright Go 2 - Adhesives - 10Pk\", \"iRobot Braava Jet m6 - Mopping Robot  - Wi-Fi Connected\", \"Smartivity Pump It Move It Hydraulic Crane\", \"DJI - Care Refresh (Phantom 4 Pro) - 1 Year Service Plan\", \"DJI - Spark Fly More Combo - White \", \"Legrand Arteor\\u2122 with Netatmo Lighting Starter Kit \", \"Theragun Elite Percussive Therapy Device - Black \", \"Theragun Mini Percussive Therapy Device  \", \"iRobot - Roomba 670 Robot Vacuum\", \"Urbanista -  Rome Bluetooth Neckband - Rose Gold\", \"Legrand Arteor\\u2122 with Netatmo Micro Module \", \"Snap Circuits BRIC Structures -  For ages 8 and Up\", \"DJI Osmo Mobile 3 - Foldable Mobile Gimbal\", \"DJI - Osmo Action Waterproof Case\", \"DeLonghi - DD30PUMP - Dehumidifier\", \"iRobot - Roomba i7 Robot Vacuum \", \"Smartivity Mechanical Hand\", \"Jura - Descaling Tablets - Descaling Tablets\", \"Aarke Sparkling Water Maker - Matte Black \", \"AppliancePro - AIRREMOTE-II - Universal Air Conditioner Remote\", \"DJI - 4301410 - Mavic 2 Intelligent Flight Battery\", \"DJI - HB01-522365 - Osmo Intelligent Battery\", \"DJI - 3588920 - Mavic Propeller Guard\", \"DJI - Osmo Action Battery\", \"InSinkErator - EVOLUTION 100 - Food Waste Disposer\", \"DJI - Care Refresh (Phantom 4 Advanced) - 1 Year Service Plan \", \"DJI - Mavic Pro Drone - 4K - 12MP \", \"Thor - DUOT2 - Smart Filter Duo\", \"Snap Circuits Arcade - For ages 8 and Up\", \"Laurastar - Lift Steam Generator - White\", \"Dyson Mattress Tool\", \"TruSens Activated Carbon Filter - 3Pk\", \"DJI - 4334536 - Tello Boost Combo\", \"DJI Mavic Mini Drone   \", \"Tauris - Titan 1800 Entertainment Unit - White \", \"Snap Circuits Snapino - For ages 12 and Up\", \"Weight Watchers - WW910A - Body Balance Bluetooth Diagnostic Scale\", \"TruSens Replacement UV Bulb for TruSens Z1000 Air Purifier  \", \"DJI - 4087408 - Tello Flight Battery\", \"DJI - 4087411 - Tello Snap-on Top Cover (Yellow)\", \"DJI  - Osmo Pocket\", \"DJI - Phantom 4 Pro+ Drone - Obsidian Black\", \"DJI - Spark Propeller Guard - 3661645  \", \"Konka - U7 Space Grey\", \"DJI Mavic 2 Pro + DJI Smart Controller \", \"Upright Go 2 Necklace \", \"iRobot - Roomba i7+ Robot Vacuum - Automatic Dirt Disposal   \", \"DJI - 4088387 - Tello Drone \", \"DJI - Osmo Mobile 2 - Smartphone Stabilizer   \", \"TruSens Z-3000 Air Purifier with SensorPod - Large Room  \", \"Jura E8 Automatic Coffee Machine\", \"Ergovida - EMA14-C12 - Monitor Single Arm Mechanical Spring\", \"Conair - CBEMLRGA - Illuminations LED Lighted Mirror\", \"TruSens Carbon Layer Replacement for Z2000 Air Purifier - 3 Pack\", \"Laurastar - Lift Plus Steam Generator - Ultimate Black \", \"Monster Platinum Surge Board - 8 Outlet\", \"Uniden - SS E34 - Sight & Sound Enhanced Corded Phone System\", \"Everdure - UNISTANDC - Universal Trolly Stand\", \"DJI Mavic Mini Fly More Combo  \", \"AppliancePro - DBLSTOPHOSE - Dual Anti-Flood Appliance Hose\", \"Aarke PET Bottle\", \"Jura - Milk System Cleaner - Milk System Cleaner\", \"DJI - Care Refresh (Mavic Pro) - 1 Year Service Plan\", \"Nonda - ZUS\\u00ae Smart Tire Safety Monitor\", \"Osmo Little Genius Starter Kit\", \"Jura - 2-Phase cleaning Tablets - 2-Phase Cleaning Tablets\", \"Osmo Genius Kit - Digital Learning in the Real World\", \"TruSens Z-2000 Air Purifier - Medium Room\", \"Ergovida - EMA14-C24 - Monitor Double Arms Mechanical Spring \", \"Weight Watchers - Body Fit Smart Scale - WW800A\", \"Eufy RoboVac L70 Hybrid \", \"3Doodler 3D Build & Play\", \"Jura - S8 - Automatic Coffee Machine\", \"Navman - MiTYRE Tyre Pressure Monitoring System\", \"DJI - 4087412 - Tello Snap-on Top Cover (Blue)\", \"Konka - U6 Phone - Mocca\", \"Moki - ACC-MTAJA - Japan Travel Adaptor\", \"Tauris - Titan 1800 Entertainment Unit\", \"Anki OVERDRIVE Fast & Furious Edition - Intelligent Racing Robot System\", \"Osmo Creative Starter Kit with Mirror + Base\", \"DJI - 3786038 - Mavic Low-Noise Quick-Release Propellers\", \"Tauris - VOODOO 1200 AVR - Voodoo 1200 Entertainment Unit\", \"Ergovida - EMA10-C12 - Gas Spring Monitor Arm Monitor Desk Mount \", \"Dyson Flexi Crevice Tool\", \"Jura - Filter cartridge CLARIS Blue - Filter Cartridge CLARIS Blue\", \"DJI - Osmo Base\", \"DeLonghi - DES16EW - Dehumidifier\", \"InSinkErator - EVOLUTION 200 - Food Waste Disposer\", \"Everdure - E2GOSTANDC-10 - E2Go Stand\", \"Thor - E1/45U - SMART PROTECT 6\", \"Smartivity Mechanical Xylofun Music Fun\", \"Sirius - EASYWALL-150 - Ducting Wall Kit\", \"Theragun Prime\\u2122 Percussive Therapy Device \", \"Everdure - ASADOR - ECHUSADOR - Asador Rotisserie Set\", \"Snap Circuits Snaptricity - For ages 8 and Up\", \"Snap Circuits Jr. Select - For ages 8 and Up\", \"EzyMount - EDS-V1 - Dyson Floor Stand   \"], \"type\": \"scatter\", \"x\": [0.09393729269504547, 0.14357873797416687, 0.13263177871704102, 0.06081604212522507, 0.0266704261302948, 0.1253158003091812, 0.2071833610534668, -0.025919049978256226, 0.2597481608390808, 0.10876871645450592, 0.10107211023569107, -0.040452003479003906, 0.0841330885887146, -0.023000217974185944, 0.04548928141593933, 0.12757159769535065, 0.18616218864917755, 0.1232476532459259, 0.11166699230670929, 0.15458258986473083, 0.15323317050933838, 0.09190922230482101, -0.0017305463552474976, 0.037164486944675446, 0.16314318776130676, -0.005275435745716095, 0.14155857264995575, 0.11686750501394272, 0.1564423143863678, 0.24210225045681, 0.11621871590614319, -0.011368706822395325, 0.23442885279655457, 0.08206638693809509, 0.12228178977966309, 0.067577064037323, 0.091981902718544, 0.00869462639093399, -0.005295172333717346, 0.1369260549545288, 0.12455100566148758, -0.025543347001075745, 0.09225938469171524, -0.04995787888765335, 0.13827158510684967, -0.07197437435388565, 0.11079959571361542, 0.050830379128456116, 0.14408205449581146, 0.04356323927640915, 0.06823214888572693, 0.1804364174604416, 0.09915318340063095, 0.16369828581809998, 0.12788431346416473, 0.11548477411270142, 0.06589469313621521, -0.0010494105517864227, -0.09187577664852142, 0.20080094039440155, 0.16644525527954102, 0.15186358988285065, 0.28884726762771606, 0.01911354437470436, 0.1502019613981247, 0.1379067450761795, 0.06757719814777374, 0.10228349268436432, 0.00986459106206894, 0.12458954751491547, 0.06112394109368324, 0.1422906517982483, 0.06785900145769119, 0.12332278490066528, 0.043310146778821945, 0.023253388702869415, 0.07755407691001892, 0.04890212416648865, -0.030254371464252472, 0.24171091616153717, 0.11745131015777588, 0.0205865278840065, 0.09976369142532349, 0.08433536440134048, -0.10318853706121445, 0.12735848128795624, 0.10943952202796936, 0.14142267405986786, -0.047182343900203705, 0.0785074308514595, 0.21824294328689575, 0.14434215426445007, 0.07989552617073059, 0.15269987285137177, -0.12373179197311401, 0.10401664674282074, 0.29575449228286743, 0.20599961280822754, 0.1051120012998581, -0.06845954805612564, 0.016231536865234375, 0.10153040289878845, 0.09025154262781143, 0.23391307890415192, 0.07438632845878601, 0.10021119564771652, 0.1037435531616211, 0.08974578231573105, 0.11064203828573227, 0.05071800947189331, 0.13685090839862823, 0.24125100672245026, -0.11282631009817123, 0.12620647251605988, 0.30201268196105957, 0.1708517074584961, 0.12494383752346039, 0.11409381031990051, 0.24105659127235413, 0.06894949078559875, 0.027674607932567596, 0.06044086813926697, 0.003955703228712082, 0.040210261940956116, 0.0030645132064819336, 0.058921195566654205, 0.181081622838974, 0.01664329320192337, 0.16514070332050323, -0.007745020091533661, 0.08035200834274292, 0.05847032740712166, 0.11457491666078568, 0.1297904998064041, 0.0848187804222107, 0.07623214274644852, 0.20401933789253235, 0.004355922341346741, 0.030607864260673523, 0.011175408959388733, -0.010215379297733307, 0.10593710839748383, 0.08654557168483734, 0.08247090876102448, 0.06921323388814926, 0.11536736786365509, 0.15272335708141327, 0.07670924067497253, 0.22091719508171082, 0.109526127576828, 0.12153911590576172, 0.1401774287223816, 0.021758094429969788, 0.008847706019878387, 0.14114563167095184, 0.11149942129850388, -0.09126551449298859, -0.10418342053890228, 0.07167825847864151, 0.08056896924972534, 0.17711690068244934, 0.06607528030872345, 0.05324694514274597, -0.07813407480716705, 0.05759333446621895, 0.08533435314893723, -0.016307443380355835], \"y\": [0.009993202984333038, -0.1805477738380432, -0.15810954570770264, -0.12937110662460327, -0.09491215646266937, -0.12999434769153595, -0.2363286316394806, -0.27175837755203247, -0.20326855778694153, -0.16705362498760223, -0.18460753560066223, -0.07470334321260452, -0.2750700116157532, -0.019379407167434692, -0.18189644813537598, -0.04420606046915054, -0.11336131393909454, -0.12174494564533234, -0.14038166403770447, -0.12791401147842407, -0.1559765338897705, -0.1714564710855484, -0.14396092295646667, 0.027080636471509933, -0.14513716101646423, -0.04310700669884682, -0.09550545364618301, -0.042051397264003754, -0.05419722944498062, -0.18567392230033875, -0.15705348551273346, -0.07547880709171295, -0.11367186158895493, -0.06663999706506729, -0.19584038853645325, -0.13805276155471802, 0.04930160939693451, -0.15006862580776215, -0.030182039365172386, -0.17634186148643494, -0.20078057050704956, -0.03840591013431549, -0.08462110161781311, -0.13139358162879944, 0.011268138885498047, 0.014573022723197937, -0.17592671513557434, -0.08602438867092133, -0.1610105335712433, -0.13667415082454681, -0.2036585509777069, -0.19127361476421356, -0.019814621657133102, -0.0991128459572792, -0.03129059821367264, -0.005068615078926086, -0.14232878386974335, -0.08211272954940796, -0.1303640902042389, -0.19343863427639008, -0.15885481238365173, -0.14732250571250916, -0.18679071962833405, -0.02298138663172722, -0.10715989768505096, -0.12634913623332977, -0.1549028605222702, -0.03632625192403793, -0.11348661780357361, -0.18602892756462097, -0.11401544511318207, -0.12095300853252411, -0.01147777121514082, -0.15406407415866852, -0.2603157162666321, -0.06256091594696045, -0.19494280219078064, -0.1293739229440689, -0.10376838594675064, -0.23526179790496826, -0.07580475509166718, -0.20890797674655914, -0.15325981378555298, -0.17136690020561218, -0.16617101430892944, 0.0034751370549201965, 0.033520087599754333, -0.14017200469970703, -0.17955558001995087, -0.1400628536939621, -0.12476670742034912, -0.0890839621424675, -0.22406260669231415, -0.16695158183574677, -0.1001703143119812, -0.13229024410247803, -0.040732547640800476, -0.07795590162277222, -0.14384132623672485, -0.11290716379880905, -0.049708422273397446, -0.15690559148788452, -0.1320316195487976, -0.16822288930416107, -0.1306140273809433, -0.1626758873462677, -0.09317432343959808, -0.1094537079334259, -0.12615951895713806, -0.1270296275615692, -0.2559325098991394, -0.1467452496290207, -0.15645365417003632, -0.028750747442245483, -0.09608399122953415, -0.02466845139861107, 0.04867997393012047, -0.12895938754081726, -0.06700003892183304, -0.09110502898693085, -0.02658713608980179, -0.053669530898332596, -0.1515294313430786, -0.11037465929985046, -0.10410881042480469, -0.0698481872677803, -0.032517701387405396, -0.15264374017715454, -0.22353214025497437, -0.26274019479751587, -0.0708925798535347, -0.1514386683702469, -0.1869942992925644, -0.01156684011220932, -0.05790106579661369, -0.1386370211839676, -0.021929504349827766, -0.12612269818782806, -0.06295515596866608, 0.013282544910907745, -0.051904357969760895, -0.003852641209959984, 0.052084945142269135, -0.14505676925182343, -0.22266730666160583, -0.06982450932264328, -0.1994064599275589, -0.1107805073261261, 0.0331893265247345, -0.05533597618341446, -0.24744023382663727, -0.16280019283294678, -0.006404951214790344, -0.05990719795227051, -0.2506484389305115, -0.20894816517829895, -0.13090136647224426, -0.12184485793113708, -0.07004174590110779, 0.04546147212386131, -0.08108319342136383, -0.1465066373348236, -0.138991579413414, -0.13102705776691437, -0.10559001564979553, -0.13776527345180511, -0.055663030594587326]}, {\"marker\": {\"color\": 11, \"size\": 5}, \"mode\": \"markers\", \"name\": \"6\", \"text\": [\"Simpson - 8kg Top Load Washer - SWT8043\", \"Fisher & Paykel - DH9060C1 - 9kg Heat Pump Condensing Dryer\", \"Electrolux - EWF14013 - 10kg Front Load Washer\", \"Haier - HWT90MW2 - 9kg Top Load Washer\", \"Fisher & Paykel - DE6060G1 - 6kg Vented Dryer\", \"Electrolux - EDH903BEWA - 9kg Heat Pump Condenser Dryer\", \"Bosch - Series 6 - WAP28482AU - 9kg  Front Load Washer\", \"Beko - BFL7510W - 7.5kg Front Loading Washing Machine \", \"Inalto - ITLW80W - 8kg Top Load Washer\", \"Samsung - WW75K54E0UW - 7.5Kg AddWash\\u2122 Washer with Steam \", \"Asko - T410HD.W.AU - 10kg Heat Pump Logic Dryer\", \"Simpson - SWT6055TMWA - 6.0kg EZI Set Top Load Washer\", \"Samsung - DV90N8289AW - 9kg Heat Pump Dryer\", \"Samsung - DV80M5010QW - 8Kg Heat Pump Dryer\", \"Beko - DCY 8502 XB1 - 8kg Condenser Dryer\", \"Asko - W4086C.W.AU - 8kg Front Load Washer - Logic  \", \"Fisher & Paykel - DE5060M1 - 5kg Vented Dryer\", \"Fisher & Paykel - DE4060M1 - 4kg Front Load Vented Dryer\", \"Fisher & Paykel - DE4560M2 - 4.5kg Vented Dryer\", \"Haier - HWF75AW2 - 7.5kg Front Load Washer \", \"Simpson - SWF8025DQWA - Ezi Set 8kg Front Load Washer\", \"Asko - DC7774V.W - 3.5kg Drying Cabinet \", \"Electrolux - EDH3586GDW - 8kg Front Load Dryer\", \"Simpson - SDV556HQWA - 5.5kg Vented Clothes Dryer\", \"Beko - BFL853ADW - 8.5kg Front Load Washer\", \"Euromaid - WMFL55 - 5.5kg Front Load Washer \", \"Samsung - WV16M9945KV - 16Kg + 2.5Kg FlexWash\\u2122 Washer\", \"Hisense - HWFL1014V - 10kg Front Load Washer\", \"Beko - BDP83HW - 8kg Sensor Hybrid Heat Pump Dryer\", \"Simpson - 10kg Top Load Washer - SWT1043\", \"Miele - TMR 840 WP - 9kg Front Load Dryer\", \"Simpson - 6kg Top Load Washer - SWT6041\", \"Beko - BWD7541IG - 7.5kg Wash / 4kg Dry Washer Dryer Combo\", \"Samsung - 11kg Activ DualWash\\u2122 Top Load Washer - WA11M8700GV \", \"LG - WXL-1014W - 14kg Front Load Washer\", \"Miele WWI 860 - 9kg PWash & TDos Front Load Washer \", \"Miele - WW V980 WPS Passion - 9kg Front Load Washing Machine\", \"Inalto - ITLW55W - 5.5kg Top Load Washer\", \"Simpson - SWT7055LMWA - 7.0kg EZI Set Top Load Washer\", \"Beko - BDV60W - 6kg Sensor Vented Dryer \", \"Haier - 6kg Front Load Vented Dryer - HDV60A1    \", \"Inalto - IVDE45W - 4.5kg Vented Dryer\", \"LG - WD1207ND - 7kg Front Load Washing Machine\", \"Beko - BFL8510W - 8.5kg Front Loading Washing Machine\", \"LG - DVH5-08W Series 5 - 8kg Heat Pump Dryer\", \"Asko - W2084C.W.AU - 8kg Front Load Washer - Classic    \", \"Hitachi - SF-P160ZCV - 16kg Top Loading Washer\", \"Hitachi - SF-P200XWV - 20kg Top Load Washer\", \"Electrolux 8kg Heat Pump Dryer - WiFi Enabled - EDH803BEWA\", \"LG - WDC1215HSVE - 15kg/8kg Front Load Washer/Dryer Combo\", \"LG - WV5-1409W - 9kg Front Load Washer\", \"LG - WV9-1412W - 12kg Front Load Washer \", \"Hitachi - SF-P100XAV - 10kg Top Load Washer\", \"Inalto - IVDE70 - 7kg Vented Dryer\", \"LG - WVC9-1410W - 10kg/6kg Washer/Dryer Combo\", \"LG - WV5-1275W - 7.5kg Front Load Washer  \", \"Simpson - 9kg Top Load Washer - SWT9043\", \"LG - WTG1034WF - 10kg Top Load Washer\", \"Fisher & Paykel - 8kg Condensing Dryer - DH8060P1 \", \"Miele - WTZH 730 WPM - WT1 Washer/Dryer - 8kg/4kg - WiFi\", \"Samsung - WW85K54E0UW - 8.5Kg AddWash\\u2122 Washer with Steam\", \"LG - WTG6520 - 6.5kg Top Load Washer  \", \"Electrolux - EWF12853 - 8.5kg Front Load Washer  \", \"Bosch - Series 6 - WAU28490AU - 10kg Front Load Washing Machine\", \"Miele WWG 660 - 9kg TDos Front Load Washer \", \"Miele WWD 120 - 8kg W1 Front Load Washer\", \"Electrolux - 5.5kg Front Load Dryer - EDV5552     \", \"Fisher & Paykel - WH1260P1 - 12kg WashSmart\\u2122 Front Load Washer  \", \"Samsung - WW85M74FNOR - 8.5kg Front Load Washer  \", \"LG - WTG8521 - 8.5kg Top Load Washer \", \"Asko - T208H.W.AU - 8kg Heat Pump Classic Dryer   \", \"Electrolux - EDV705HQWA - 7kg Vented Tumble Dryer\", \"Fisher & Paykel - DH9060P1 - 9kg Heat Pump Condensing Dryer \", \"LG - WV9-1409B - 9kg Front Load Washing Machine\", \"Samsung - WA85N6750BV - 8.5Kg Activ DualWash Top Loader Washer \", \"Fisher & Paykel WH8060J3 - 8kg Front Load Washer\", \"Electrolux 10kg UltimateCare\\u2122 Front Load Washer - EWF1041ZDWA\", \"Fisher & Paykel - WL1068P1 - 10Kg CleanSmart\\u2122 Top Load Washer\", \"Beko - BDP700W - 7kg Front Load Dryer\", \"Haier - HWT80MW1 - 8kg Top Load Washer\", \"Fisher & Paykel - WA1068P1 - 10kg FabricSmart\\u2122 Top Load Washer\", \"Haier - HWT60AW1 - 6kg Top Load Washer\", \"LG - WTG1434VHF - 14kg Top Load Washer \", \"Samsung - WW75J54E0IW - 7.5kg BubbleWash\\u2122 Steam Front Load Washer\", \"Beko - WMY9046LB2 - 9kg Front Load Washer \", \"Electrolux - EWF12753 - 7.5kg Front Load Washer \", \"Bosch - Series 8 - WAW28460AU - 8kg Front Load Washing Machine  \", \"Fisher & Paykel - DE7060G2 - 7kg Front Load Vented Dryer\", \"LG - WTS6520 - 6.5kg Top Load Washer\", \"Fisher & Paykel - DE8060P2 - 8kg Condensing Dryer\", \"Samsung - DV80M5010IW - 8kg Heat Pump Front Load Dryer\", \"Haier - HWF85BW1 - 8.5KG Front Load Washer\", \"LG - TWIN171216T - 18.5kg Total TWINWash\\u2122 System\", \"Rinnai - Dry-Soft 6 - 6.0kg Dry-Soft - NG Gas Dryer \", \"Beko - BDV70WG - 7kg Tumble Dryer\", \"Asko - W4086P.W.AU - 8kg Front Load Washer  \", \"Electrolux - 6.5kg Front Load Dryer - EDV6552\", \"Asko 8kg Front Load Condenser Dryer - T208C.W.AU \", \"Beko - WMY7046LB2 - 7kg Front Load Washer \", \"Beko - DV7220 X - 7kg Sensor Control Vented Dryer\", \"Fisher & Paykel - WH1260F1 - 12kg Front Load Washer \", \"Fisher & Paykel 7kg WashSmart\\u2122 Top Load Washer - WA7060G2 \", \"Fisher & Paykel - WH1060P1 - 10kg Front Loader Washer\", \"LG - WD1208TC4W - 8kg Front Load Washer\", \"LG - WV5-1408W - 8kg Front Load Washing Machine\", \"Inalto - IFLW60 - 6kg Front Load Washer\", \"Hisense - HWFM8012 - 8kg Front Load Washer\", \"Haier - HWT80AW1 - 8kg Top Load Washer\", \"Haier - HWT70AW1 - 7kg Top Load Washer  \", \"LG - WD1408NCW - 8kg Front Load Washer\", \"Asko - W4104C.W.AU - 10kg Front Load Washer - Logic\", \"Haier - HWF10DW1 - 10kg Front Load Washer\", \"Haier - HWF12D1W1 - 12kg Front Load Washer \", \"Haier - 4KG+8KG TwinTasker Washer - HWX8040DW1\", \"Beko - BFL1010W - 10kg Front Loading Washer\", \"Samsung - 13Kg Activ DualWash\\u2122 Top Load Washer - WA13M8700GW \", \"Haier - HDHP80E1 - 8kg Heat Pump Dryer\", \"Inalto - ITLW70W - 7.0kg Top Load Washer\", \"Electrolux 8kg Ultimatecare\\u2122 Front Load Dryer - EDC804BEWA\", \"Electrolux 8kg UltimateCare\\u2122 Front Load Washer - EWF8024CDWA \", \"Beko - BFL103ADW - 10kg Front Load Washer\", \"Fisher & Paykel - WH8560P2 - WashSmart\\u2122 8.5kg Front Load Washer\", \"Weight Watchers - WW58A - Body Weight Electronic Scale \", \"Miele WWG 360 - 9kg PWash Front Load Washer\", \"Hitachi - SF-P130TCV - 13kg Top Load Washer\", \"Miele - WCR 890 WPS - 9kg Front Load Washing Machine - SteamCare\", \"Haier - XPB60-287S - 6kg Twin Tub Top Loading Washer\", \"Bosch - Series 6 - WAT24261AU - 8kg Front Load Washing Machine\", \"Bosch - Series 6 - WVG28420AU - 8kg Washer/4.5kg Dryer\", \"Fisher & Paykel - WL8060P1 - CleanSmart\\u2122 - 8kg Top Load Washer\", \"Samsung - AddWash\\u2122 8.5KG Front Loader with AddDoor - WW85K6410QX  \", \"Fisher & Paykel 6kg Vented Dryer - DE6060M2\", \"Fisher & Paykel - WH9060J3 - 9kg Front Loader Washing Machine\", \"Haier - HWT10MW2 - 10kg Top Load Washer\", \"Haier - HWF80BW2 - 8.0kg Front Load Washer\", \"LG - WD1275TC5W - 7.5kg Front Load Washer    \", \"LG - WVC5-1409W - 9kg/5kg Washer/Dryer Combo\", \"LG - WTG6530W - 6.5kg Top Load Washer \", \"Miele - WTH 130 WPM - WT1 Washer/Dryer - 7kg/4kg  \", \"Electrolux 7.5kg UltimateCare\\u2122 Front Load Washer - EWF7525DQWA  \", \"Electrolux  9kg UltimateCare\\u2122 Front Load Washer - EWF9043BDWA\", \"LG - WTG1030SF - 10kg Top Load Washer\", \"Electrolux Wi-Fi Enabled 10kg UltimateCare\\u2122Front Load Washer  - EWF1042BDWA\", \"Asko - T408HD.W.AU - 8kg Heat Pump Logic Dryer  \", \"LG - WTG6534W - 6.5kg Top Load Washing Machine\", \"Simpson - SDV457HQWA - 4.5kg Vented Tumble Dryer\", \"Haier - HDV70E1 - 7kg Sensor Vented Dryer\", \"LG - DVH9-09B - 9kg Heat Pump Dryer\", \"Miele - TDB 130 WP - 7kg Front Load Dryer\", \"Samsung - WD13J7825KP - 13kg  Front Load Washer /  7kg Dryer with AddDoor\", \"Haier - HDC80E1 - 8kg Front Load Condenser Dryer\", \"Fisher & Paykel - WA8560G1 - WashSmart\\u2122 8.5kg Top Load Washer \", \"Fisher & Paykel - MW513 - QuickSmart - 5.5 Kg Top Load Washer\", \"Samsung - WW95N54F5CW - 9.5kg Steam BubbleWash\\u2122 Front Load Washer\", \"Samsung - WW95N64FRPW - 9.5kg AddWash\\u2122 Steam Front Load Washer\", \"LG - WTR1234WF - 12Kg Top Load Washer\", \"Electrolux - EDV605HQWA - 6kg Vented Tumble Dryer\", \"LG - WTG9020V - 9kg Top Load Washer\", \"Haier - 4kg Front Load Vented Dryer - HDV40A1\", \"Miele WDB 030  7kg Front Load Washer  \", \"Samsung - WW85J54E0IW/SA - 8.5kg BubbleWash\\u2122 Steam Front Load Washer\", \"Inalto - IFLW5 - 5kg Front Load Washer\"], \"type\": \"scatter\", \"x\": [-0.10401711612939835, -0.1763271689414978, -0.12896603345870972, -0.08741839975118637, -0.20923364162445068, -0.15863415598869324, -0.14497534930706024, -0.15795409679412842, -0.110496886074543, -0.10178578644990921, -0.0055063217878341675, -0.12131159007549286, -0.07945169508457184, -0.08935704827308655, -0.1621590405702591, -0.02384566143155098, -0.183517724275589, -0.14876991510391235, -0.18750816583633423, -0.11703959852457047, -0.09215261787176132, -0.11614091694355011, -0.08666704595088959, -0.10036753863096237, -0.18297874927520752, -0.1492549479007721, -0.07660388946533203, -0.11294285207986832, -0.10851012915372849, -0.11155319958925247, -0.11939245462417603, -0.13014540076255798, -0.1369764506816864, -0.022473156452178955, -0.0783153623342514, -0.1846315860748291, -0.15111175179481506, -0.11398624628782272, -0.09464456140995026, -0.13085591793060303, -0.0790552943944931, -0.1432371735572815, -0.056709229946136475, -0.1562838852405548, -0.09214774519205093, -0.09629533439874649, -0.0926734060049057, -0.09374327212572098, -0.06028025597333908, -0.09122868627309799, -0.07257116585969925, -0.07928977161645889, -0.09055587649345398, -0.13091081380844116, -0.10887179523706436, -0.10145048052072525, -0.08727557957172394, -0.08548972755670547, -0.16157126426696777, -0.09063804149627686, -0.10699304938316345, -0.10922793298959732, -0.1495746374130249, -0.16758033633232117, -0.17919906973838806, -0.1788991391658783, -0.08944899588823318, -0.08677688241004944, -0.04696337878704071, -0.10069870948791504, -0.11804866045713425, -0.14123263955116272, -0.16467896103858948, -0.06054477393627167, -0.06340409815311432, -0.14043602347373962, -0.11007271707057953, -0.08388441056013107, -0.06338425725698471, -0.09862195700407028, -0.05916055291891098, -0.11803650110960007, -0.08887240290641785, -0.0816839262843132, -0.155840665102005, -0.15580689907073975, -0.14104709029197693, -0.1484093964099884, -0.1006649062037468, -0.17591363191604614, -0.0737309381365776, -0.13459473848342896, -0.07740987837314606, -0.12968283891677856, -0.1464608609676361, -0.063199982047081, -0.13554003834724426, -0.09890464693307877, -0.1496122032403946, -0.039044007658958435, -0.14944374561309814, -0.10996246337890625, -0.1362408995628357, -0.09277349710464478, -0.05820576101541519, -0.1690327227115631, -0.11172223836183548, -0.09331467747688293, -0.0830460712313652, -0.06726016849279404, -0.028806619346141815, -0.10080122202634811, -0.1073976531624794, -0.13987219333648682, -0.139713317155838, -0.02604086697101593, -0.0923689678311348, -0.10598015040159225, -0.08228553086519241, -0.1104855015873909, -0.1753140687942505, -0.10559571534395218, -0.05151914060115814, -0.1715003252029419, -0.08551464229822159, -0.17717194557189941, -0.11357545107603073, -0.1538134068250656, -0.17589980363845825, -0.08217067271471024, -0.00216548889875412, -0.20423361659049988, -0.126360684633255, -0.07834795117378235, -0.12341554462909698, -0.09869864583015442, -0.1185530498623848, -0.11065109819173813, -0.15154042840003967, -0.12864083051681519, -0.09113841503858566, -0.08478738367557526, -0.0009947717189788818, -0.06258546561002731, -0.09152168035507202, -0.17069312930107117, -0.035123661160469055, -0.10273373872041702, -0.1482391655445099, -0.013279102742671967, -0.0890628919005394, -0.11514707654714584, -0.08314529806375504, -0.09632694721221924, -0.09083207696676254, -0.1204332560300827, -0.18330267071723938, -0.07828211039304733, -0.05013339966535568, -0.17523667216300964, -0.07802678644657135, -0.111397884786129], \"y\": [0.056765198707580566, 0.009280217811465263, 0.02518935315310955, 0.0478195920586586, 0.012552578002214432, -0.011474871076643467, 0.03166754171252251, -0.01368241012096405, 0.053064748644828796, 0.32247015833854675, 0.061476316303014755, 0.07449498027563095, 0.2835659086704254, 0.33959120512008667, -0.03747773543000221, 0.019483013078570366, -0.041485510766506195, -0.025975819677114487, 0.0023672152310609818, 0.06488406658172607, 0.05558967590332031, 0.006022576242685318, 0.011644162237644196, 0.055596157908439636, -0.034424662590026855, 0.07884711772203445, 0.3890725374221802, 0.04742661118507385, -0.08109887689352036, 0.04637647792696953, 0.0546596385538578, 0.049553073942661285, -0.0018892353400588036, 0.27994024753570557, 0.16337814927101135, 0.09194673597812653, 0.1171010434627533, 0.05498037487268448, 0.05693252012133598, -0.07182681560516357, 0.07718465477228165, 0.0397910475730896, 0.2207372784614563, -0.0076677072793245316, 0.1908242106437683, 0.022908691316843033, 0.12243089079856873, 0.11480312049388885, -0.029184473678469658, 0.17647992074489594, 0.2048642486333847, 0.17932304739952087, 0.11041142791509628, 0.03203967213630676, 0.18625059723854065, 0.18147429823875427, 0.05783984810113907, 0.1994989812374115, -0.023315399885177612, 0.111674003303051, 0.3216274082660675, 0.20318469405174255, 0.042827945202589035, 0.06040184199810028, 0.12173105031251907, 0.12772023677825928, -0.01169518567621708, 0.03275395557284355, 0.33522605895996094, 0.1879352629184723, 0.009248783811926842, 0.03484300151467323, 0.0031627248972654343, 0.17908430099487305, 0.3469754457473755, 0.027215320616960526, -0.0025057075545191765, 0.03760881721973419, -0.11646879464387894, 0.04957273602485657, 0.05210568383336067, 0.0648331418633461, 0.15247416496276855, 0.2825200855731964, -0.03189197927713394, 0.031748078763484955, 0.056598465889692307, 0.011866194196045399, 0.19627906382083893, -0.04865415394306183, 0.2571444809436798, 0.06842043250799179, 0.20302164554595947, -0.0001378711313009262, -0.08370175957679749, 0.03340158611536026, -0.018431074917316437, -0.0008336212486028671, -0.02175859920680523, 0.02166907861828804, -0.0074793510138988495, 0.10486629605293274, -0.01479341834783554, 0.2362469881772995, 0.18452739715576172, 0.06965669989585876, 0.05469644069671631, 0.06292321532964706, 0.0747256726026535, 0.1895143985748291, 0.008642466738820076, 0.02512342296540737, 0.038201332092285156, 0.07705099135637283, -0.07567505538463593, 0.3051772713661194, 0.0668129026889801, 0.06194250285625458, -0.05803347006440163, 0.03216557949781418, -0.07822403311729431, 0.06036480516195297, 0.021799389272928238, 0.13154517114162445, 0.09977240860462189, 0.09224268794059753, 0.028408899903297424, 0.03974446281790733, 0.10426075011491776, 0.061996541917324066, 0.308016300201416, 0.005832626949995756, 0.03742021322250366, 0.01566828414797783, 0.04822900891304016, 0.2277480661869049, 0.2147998809814453, 0.2164972722530365, 0.12400314956903458, 0.027963493019342422, 0.014342023059725761, 0.19426487386226654, -0.010362951084971428, 0.03489488363265991, 0.18964669108390808, 0.05430879443883896, 0.09857965260744095, 0.13415437936782837, -0.02269548550248146, 0.30320292711257935, 0.04696294665336609, 0.09886552393436432, 0.04086672142148018, 0.29854321479797363, 0.30171889066696167, 0.12823644280433655, 0.025278087705373764, 0.20869392156600952, 0.07471337914466858, 0.04451742023229599, 0.30105060338974, 0.03156803548336029]}, {\"marker\": {\"color\": 12, \"size\": 5}, \"mode\": \"markers\", \"name\": \"7\", \"text\": [\"Audio-Technica - In-Ear Headphones - ATH-CK330iBK\", \"Audio-Technica - ATLP60XBK - Fully Automatic Belt-Drive Stereo Turntable\", \"Audio-Technica - ATLP60XRD - Fully Automatic Belt-Drive Stereo Turntable\", \"Audio-Technica - Solid Bass Over Ear Headphones - ATH-WS550isBRD\", \"Audio-Technica - ATR4750-USB - Omnidirectional Condenser Gooseneck Microphone\", \"Audio-Technica - PRO24CM - Stereo X/Y Cardioid Electret\", \"Harman Kardon - AURA STUDIO 2 - Aura Studio 2 Wireless Speaker\", \"Audio-Technica - ATH-ANC50IS - QuietPoint\\u00ae Noise-Cancelling Headphones\", \"Audio-Technica - ATH-CKL220 - DIP In-Ear Headphones - Purple\", \"Audio-Technica - QuietPoint\\u00ae Noise-cancelling On-Ear Headphones - ATH-ANC20\", \"Alogic - ACM2RBK - 3.5mm (Male) to 3.5mm (Male) Audio Cable\", \"Audio-Technica - ATR1100x - Unidirectional Dynamic Vocal/Instrument Microphone\", \"Audio-Technica - ATLP60XBTBK - Fully Automatic Wireless Belt-Drive Turntable\", \"Alogic - 3m 3.5mm Stereo Audio Extension Cable - AD-EXT-03\", \"Alogic - AD-SPL-02 - 3.5mm Stereo Audio to 2 X RCA Stereo Cable\", \"Audio-Technica - ATLP120XUSBBK - Direct-Drive Turntable (Analog & USB) - Black\", \"Audio-Technica - ATH-ANC40BT - In-Ear Noise Cancelling Headphones\", \"Audio-Technica - ATH-CKL220 - DIP In-Ear Headphones - Green\", \"Audio-Technica - LP120-USB - Stereo Turntable\", \"Audio-Technica - ATLP60XBTWH - Fully Automatic Wireless Belt-Drive Turntable\", \"Audio-Technica - ATLP120XUSBSV - Direct-Drive Turntable (Analog & USB) - Silver\", \"Audio-Technica - ATH-CKL220 - DIP In-Ear Headphones - Red\", \"Audio-Technica - In-Ear Headphones - ATH-CK330iSRD\", \"Alogic - MM-AD-03 - 3.5mm Stereo Audio Cable - Male to Male\", \"Alogic - 3.5mm Stereo Audio Cable - Male to Male - MM-AD-01\", \"Audio-Technica - ATGM1-USB - USB Gaming Desktop Microphone\", \"Audio-Technica - Creator Pack\", \"Arlo - AC1001 - Audio Doorbell\"], \"type\": \"scatter\", \"x\": [0.30943208932876587, 0.17184779047966003, 0.1855781078338623, 0.278968870639801, 0.25634026527404785, 0.22468174993991852, 0.30218106508255005, 0.2622845470905304, 0.30501246452331543, 0.30507373809814453, 0.2960892617702484, 0.2430230677127838, 0.19550377130508423, 0.28319668769836426, 0.32642191648483276, 0.3036164939403534, 0.2778412997722626, 0.2964891195297241, 0.2018207460641861, 0.201038658618927, 0.2625649571418762, 0.3063678443431854, 0.30798566341400146, 0.2799549102783203, 0.28828829526901245, 0.3530021905899048, 0.21935425698757172, 0.14438706636428833], \"y\": [-0.24227231740951538, -0.06421929597854614, -0.037383079528808594, -0.23399485647678375, -0.18852491676807404, -0.196567565202713, -0.21349668502807617, -0.23716948926448822, -0.2261413037776947, -0.23802976310253143, -0.20895344018936157, -0.19556181132793427, -0.14494875073432922, -0.1487419307231903, -0.12302972376346588, -0.09852121025323868, -0.24062274396419525, -0.19616910815238953, -0.1574232280254364, -0.11938011646270752, -0.06255145370960236, -0.23802362382411957, -0.22646990418434143, -0.1781618446111679, -0.18394127488136292, -0.12257649749517441, -0.26222795248031616, -0.2624676525592804]}, {\"marker\": {\"color\": 13, \"size\": 5}, \"mode\": \"markers\", \"name\": \"8\", \"text\": [\"Vogels - WALL3450 - Full-Motion TV Wall Mount\", \"Vogels - SOUND 3450 - Sound Bar Mount\", \"LG - AN-CR500 - TV Remote Control\", \"Vogels - AV 10 - AV Multi Support\", \"Vogels - THIN 515 - ExtraThin Tilting TV Wall Mount\", \"Crest - SGA05317 - Indoor Digital TV Antenna\", \"Sanus - ELM701 - TV Anti-Tip Strap For TV Safety\", \"Crest - INDU-V - Indoor Antenna\", \"Vogels - THIN 545 - ExtraThin Full-Motion TV Wall Mount - 40\\\" to 65\\\" \", \"Uniden - UH820S-2 - UHF Handheld Radio\", \"One For All - SV 9510 - Signal Amplifier\", \"BLE - Tilt and Turn TV Wall Mount - BWM70TT\", \"One For All - URC 7140 - Essence 4 Remote Control\", \"Crest - SGA05329 - Indoor Digital TV Antenna\", \"One For All - URC1035 - Universal A/C Remote\", \"One For All - SV4210 - 40\\\" Flat & Tilt LCD/Plasma Wall Mount\", \"Uniden UH610-2 - 1W UHF Adventure 2-Way Radio\", \"One For All - SV 9495 - Amplified Indoor Antenna\", \"One For All - WM7472 - Universal TV Stand\", \"Sanus - VLF728-S2 - Advanced Full-Motion Premium TV Mount - 42\\u201d to 90\\u201d - Silver\", \"One For All - URC 1669 - Foxtel &  Digital Box Replacement Remote\", \"One For All - URC 1910 - Samsung TV Replacement Remote\", \"BLE - Slimline Wall Mount - 40\\\"- 75\\\" - BWM75FT\", \"One For All - URC 1911 - LG Replacement Remote\", \"Sanus - Swivel TV Base for 32-60\\\" TV's - VTVS1 \", \"Vogels - THIN 505 - ExtraThin Fixed TV Wall Mount - 40\\\" to 65\\\"\", \"One For All - URC 6810 - TV Zapper\", \"One For All - URC 7110 - Essence TV\", \"Vogels - THIN 546 - ExtraThin Full-Motion TV Wall Mount for OLED TVs\", \"Vogels - WALL 3345 Black - Full-Motion TV Wall Mount\", \"Uniden - UH45-3 - 80 Channel UHF CB Handheld Radio - Triple Colour Pack\", \"Sanus - Fixed TV Wall Mount for 47\\\" - 80\\\" - VLL61\", \"One For All - SV 9395 - Full HD Indoor Antenna\", \"One For All - WM7471 - Universal TV Stand\", \"One For All - SV 9143 - Amplified Indoor Antenna\", \"Vogels - WALL 3345 White - Full-Motion TV Wall Mount \", \"Sanus - Advanced Tilt Wall Mount for 46\\\" \\u2013 90\\\" TVs - VLT6\", \"One For All - URC 1912 - Sony Replacement Remote\", \"One For All - SV 1630 - Automatic HDMI Switcher \", \"Vogels - WALL 2245 Black - Swivel TV Wall Mount\", \"Crest - PWA06040 - TV/Home Theatre Power Board\", \"Vogel's - EFW 8305 - Fixed TV Wall Mount  - 40\\\" to 80\\\" \", \"Vogels - THIN 315 - UltraThin LED/LCD/Plasma Wall Mount\", \"One For All - SV 1730 - Wireless 5.8Ghz TV Sender\", \"Sanus - VMF720-S2 - Premium Full Motion Mount - 32\\\" to 55\\\"\", \"One For All - SV 9033 - Unamplified Indoor Antenna\", \"Vogels - THIN 405 - ExtraThin Fixed TV Wall Mount - 26\\\" to 55\\\"\", \"Crest - PWU02905C - 2 Socket Protector with Antenna Protection\", \"Vogels - NEXT 7345 - DesignMount Full-Motion TV Wall Mount - 40-65\\\" \", \"BLE - BWM800 - 32\\\"-65\\\" Full Function TV Wall Mount\", \"Vogels - NEXT 7346 - DesignMount Full- Motion LG OLED TV Wall Mount  \", \"One For All - SV 9420 - Amplified Indoor Antenna\", \"Vogels - NEXT 7825 - AV Support   \", \"One For All - Remote Control Extender - URC 1000\", \"One For All - Evolve TV Remote Control - URC 7115\", \"Vogels - THIN 595 - Stud Adapter for TV Mounts\", \"BLE - BWM90TT - Tilt and Turn TV Wall Mount - 37-90\\u201d\", \"Cygnett VentView Universal Air Vent Car Mount - CY1217ACVVU \", \"Vogels - WALL 3315 - Tilting TV Wall Mount\", \"Uniden UH620-2DLX - 2W UHF Adventure 2-Way Radio\", \"Crest - PWU04905C - 4 Socket Protector with TV & Data Protection\", \"One For All - SV 9460 - Amplified Indoor TV Antenna\", \"Vogels - WALL 3305 - Fixed TV Wall Mount  - 40\\\" to 100\\\" \", \"Vogels - WALL 2345 Black - Swivel TV Wall Mount\", \"Sanus -Super Slim Full-Motion Mount For 40\\\" - 80\\\" TVs - VLF613\", \"Vogels - OP1 - NEXT TV Floor Stand   \", \"Sanus - Swivel TV Base for 32\\\"-60\\\" TVs - WSTV1 BLACK \", \"One For All - Hisense TV Replacement Remote - URC 1916\", \"LG - OLW480B - Slim Adjustable  Wall Bracket\", \"BLE - Tilt and Turn TV Wall Mount - BWM42TT\", \"Vogels - WALL 2245 White - Swivel TV Wall Mount \", \"BLE - BWM55TT - Tilt & Turn TV Wall Mount\", \"Sanus - VLL5 - Fixed-Position Mount - For 42\\\"- 90\\\" TVs \", \"Crest - SGA05331 - Indoor Antenna Passive\", \"Crest - PWU06905C - 6 Socket Protector with TV & Data Protection\", \"Uniden - SS E45 + 1 - Sight & Sound Enhanced Cordless Phone \", \"EzyMount - VSQ-LED1 - Micro-Gap TV Wall Mount\", \"Sanus - VLF728-B2 - Advanced Full-Motion Premium TV Mount - 42\\u201d to 90\\u201d - Black\", \"Vogels - BASE 45 L - Full-Motion TV Wall Mount\", \"One For All - SV 9425 - Amplified Indoor Antenna\", \"Vogels - WALL 3245 Black - Full Motion TV Wall Mount - 32\\\" to 55\\\"\", \"BLE - BL-RRE-UN001 - Universal TV Remote\", \"Sanus - VXT7-B2 - Tilt Mount For 40\\\" - 110\\\" TVs\", \"Vogels - WALL 1105 - LED/LCD/Plasma Wall Mount\", \"One For All - SV 9450 - Full HD Outdoor Antenna\", \"Vogels - THIN 550 - ExtraThin Full-Motion TV Wall Mount - 40\\\" to 100\\\"\", \"Sanus - FTVS1 - Swivel TV Base Mount Stand\", \"One For All - URC 7120 - Essence 2 Remote Control\", \"BLE - BWM1011 - TV Wall Mount\", \"Vogels - WALL 3245 White - Full Motion TV Wall Mount\", \"One For All - SV 9360 - Performance Line Indoor Antenna\", \"One For All - SV9540 - 4 Way Antenna Distribution\", \"Vogels - EFW 8206 - Flat TV Wall Mount - 32\\\" to 55\\\"\", \"Uniden - SS E45W - Sight & Sound Enhanced Cordless Phone\", \"Vogels - NEXT 7840 - Cable Column\", \"Vogels - NEXT 7355 - MotionMount Full-Motion Motorised TV Wall Mount \"], \"type\": \"scatter\", \"x\": [0.007617935538291931, 0.05222925543785095, 0.1793968230485916, 0.15519486367702484, 0.018711864948272705, 0.08833258599042892, 0.11005520075559616, 0.04960232600569725, -0.020674340426921844, 0.16430823504924774, 0.0668317973613739, -0.01500207930803299, 0.043113380670547485, 0.08656423538923264, 0.0887315422296524, -0.005009487271308899, 0.07998150587081909, 0.036428242921829224, 0.03383536636829376, 0.06001598387956619, 0.09457580745220184, 0.13499510288238525, -0.09775979816913605, 0.07754559814929962, 0.05982023850083351, -0.015901431441307068, -0.025263413786888123, 0.03593480587005615, 0.09028641879558563, 0.041319310665130615, 0.08919091522693634, -0.016113705933094025, 0.0686374306678772, 0.03264392912387848, 0.05535656958818436, 0.012198254466056824, -0.005045443773269653, 0.15271544456481934, 0.06795516610145569, 0.006359294056892395, 0.02457888424396515, -0.063796266913414, 0.05981472134590149, 0.12829090654850006, 0.10199631750583649, -0.03672736883163452, -0.005904018878936768, 0.06643272936344147, 0.011192664504051208, 0.0300818532705307, 0.11447589844465256, 0.0452907532453537, 0.016803815960884094, 0.11763361841440201, 0.11408497393131256, 0.08668956905603409, -0.006456032395362854, 0.02302003651857376, 0.001546323299407959, 0.07708211243152618, 0.09847181290388107, 0.06628715246915817, -0.052174441516399384, 0.010307654738426208, -0.0028117820620536804, 0.11227855086326599, 0.07707629352807999, 0.07844109833240509, 0.010472752153873444, 0.009992942214012146, -0.019061103463172913, -0.004584319889545441, 0.026944346725940704, 0.004643365740776062, 0.07877619564533234, 0.20421774685382843, 0.10743016004562378, 0.08524657785892487, -0.00624006986618042, 0.042895570397377014, 0.025053374469280243, 0.09947728365659714, 0.15926110744476318, 0.06117607653141022, 0.07061368227005005, -0.02210637927055359, 0.044009774923324585, 0.06367197632789612, 0.02944369614124298, -0.005961671471595764, 0.02781485766172409, 0.02303329110145569, -0.038164570927619934, 0.15835581719875336, 0.047682538628578186, 0.07131145894527435], \"y\": [0.043058641254901886, -0.2334858775138855, 0.14333780109882355, -0.06880193948745728, -0.029406286776065826, 0.05515352636575699, 0.021325770765542984, -0.016702041029930115, 0.14365488290786743, -0.04754483699798584, -0.06710286438465118, -0.027194645255804062, -0.023290015757083893, 0.05324678122997284, -0.07999420166015625, 0.1321260631084442, -0.07155276834964752, -0.017259666696190834, 0.06098156422376633, 0.22593477368354797, -0.06213797628879547, 0.15278004109859467, -0.026913056150078773, -0.0497298389673233, 0.21481864154338837, 0.057660702615976334, 0.03464965522289276, 0.07751236855983734, 0.13812768459320068, 0.013719473034143448, -0.057428620755672455, 0.1919592320919037, 0.10947488993406296, 0.06610213965177536, -0.03389184921979904, 0.009629592299461365, 0.20302900671958923, -0.10225726664066315, 0.08767429739236832, -0.012130942195653915, 0.0025912001729011536, 0.07831372320652008, 0.019417500123381615, 0.10894495248794556, 0.1931370496749878, -0.030184384435415268, 0.08203506469726562, -0.03195682913064957, 0.10678111016750336, 0.05104375630617142, 0.17938239872455597, -0.02629757672548294, -0.054970741271972656, -0.1555478274822235, 0.05234469473361969, -0.07302643358707428, 0.029727334156632423, -0.0007012933492660522, 0.006119132041931152, -0.05865681543946266, 0.10270760208368301, 0.04699581488966942, 0.05014422535896301, -0.028911277651786804, 0.20312047004699707, -0.07414839416742325, 0.20583873987197876, 0.009167410433292389, 0.1079980880022049, -0.02733016014099121, -0.0096893310546875, -0.045134853571653366, 0.1874632090330124, -0.05820246785879135, 0.09466532617807388, -0.03190229833126068, 0.10880011320114136, 0.2057778239250183, 0.010725762695074081, -0.03127758949995041, 0.121303491294384, -0.10788734257221222, 0.18344661593437195, 0.05161049962043762, 0.11847411841154099, 0.07996204495429993, 0.08325190097093582, -0.046323955059051514, -0.04728829488158226, 0.004893388599157333, 0.0016076695173978806, 0.009479042142629623, 0.10044033080339432, -0.032399021089076996, -0.05898580327630043, 0.08522217720746994]}, {\"marker\": {\"color\": 14, \"size\": 5}, \"mode\": \"markers\", \"name\": \"9\", \"text\": [\"BeefEater - BD94835 - Rotisserie Spit Basket\", \"BeefEater - BB92965 - Roast Holder\", \"BeefEater - BS12340 - Signature 3000S Built-in BBQ\", \"BeefEater - BS12850S - Signature 3000SS Built-in BBQ\", \"BeefEater - BB94996 - BUGG\\u00ae  Teflon Liner Pack\", \"BeefEater - BD93524 - Rotisserie Kit for 4 Burner BBQ\", \"BeefEater - BD16440 - Clubman 4 Burner \", \"BeefEater - BB18226 - BUGG Graphite BBQ\", \"BeefEater - BSH158SA - Signature ProLine\\u2122 Built-in BBQ\", \"BeefEater - BD95166N - Gas Conversion Kit\", \"BeefEater - BB722AA - BIGG BUGG Amber Mobile BBQ\", \"BeefEater - BS30060 - BS30060 Signature SL4000 Mobile BBQ\", \"BeefEater - BB722BA - BIGG BUGG Black Mobile BBQ\", \"BeefEater - BD16252 - Discovery 1100E Built-in BBQ\", \"BeefEater - BB18224 - BUGG Amber BBQ\", \"BeefEater - BB94550 - BUGG\\u00ae Cover (BBQ Only)\", \"BeefEater - BB92975 - BUGG Baking Dish\", \"BeefEater - BACB200A - BIGG BUGG Trolley Cover\", \"BeefEater - BD16232 - Discovery 1100E Built-in Burner\", \"BeefEater - BD93525 - Rotisserie Kit for 5 Burner BBQ\", \"Everdure - ECHUHOODB - eChurrasco Roasting Hood (Black)\", \"BeefEater - BACS200A - Cover Signature ProLine\\u2122 6 Burner\", \"BeefEater - BS12850 - Signature 3000S Built-in BBQ\", \"BeefEater - BS12350 - Signature 3000S Built-in BBQ\", \"BeefEater - BD94945 - Poultry Roaster\", \"BeefEater - BSW318SA - Signature ProLine\\u2122 Built-in BBQ\", \"BeefEater - BS19242 - Signature 3000E Mobile Barbecue  \", \"Smeg - BQI1205HAU - Alfresco Built-in BBQ\", \"BeefEater - BB94992 - BUGG\\u00ae  Accessory Hooks\", \"BeefEater - BACS201A - Cover for Signature ProLine\\u2122 6 Burner\", \"Everdure - EFISHGRILL - Fish Grill\", \"BeefEater - BD95166 - Gas Conversion Kit\", \"BeefEater - BB94923 - BUGG 3 Piece Tool Set\", \"BeefEater - BACB300A - BIGG BUGG Plancha Plate\", \"Smeg - SBQ48X - 120cm Barbecue Rangehood\", \"BeefEater - BS12840 - Signature 3000S Built-in BBQ\", \"BeefEater - BS31560 - Signature SL4000 Built-in BBQ\", \"BeefEater - BS19952 - Signature 3000E 5 Burner BBQ\", \"BeefEater - BS19942 - Signature 3000E Built-in BBQ\", \"BeefEater - BBB070015 - BUGG Plancha Plate\", \"BeefEater - BD94969 - Multifunctional Barbecue Spatula\", \"BeefEater - BB23326 - BUGG\\u00ae Stand\", \"Everdure by Heston Blumenthal - HBCE1BS - Fusion Charcoal Barbecue with Stand \", \"BeefEater - BSL158SA - Signature ProLine\\u2122 Built-in BBQ\", \"BeefEater - BS12840S - Signature 3000SS Built-in BBQ\", \"BeefEater - BD16640 - Clubman 4 Burner\", \"BeefEater - BB94560 - BUGG\\u00ae Cover (BBQ & Trolley)\", \"BeefEater - BB95140 - BUGG Natural Gas Conversion Kit\", \"BeefEater - BB94982 - BUGG\\u00ae Digital Thermometer\", \"BeefEater - BD16242 - Discovery 1100E Built-in BBQ\", \"BeefEater - BD94968 - Professional Barbecue Tongs\", \"BeefEater - BD16350 - Discovery 1100S Built-in BBQ\", \"BeefEater - BB94935 - Pizza Stone Set\", \"BeefEater - BD16340 - Discovery 1100S Built-in BBQ\", \"Everdure - NBUDLPC-12G - Neo Buddy Grill\"], \"type\": \"scatter\", \"x\": [-0.19186565279960632, -0.20140379667282104, -0.1846027672290802, -0.16373354196548462, -0.17085114121437073, -0.22882521152496338, -0.13366690278053284, -0.15738727152347565, -0.13848987221717834, -0.18652945756912231, -0.08457682281732559, -0.08344502002000809, -0.05167606472969055, -0.15645864605903625, -0.11243268102407455, -0.06699325144290924, -0.24004244804382324, -0.0703207328915596, -0.17667070031166077, -0.21942979097366333, -0.07481976598501205, -0.12173939496278763, -0.16452881693840027, -0.16615161299705505, -0.17461106181144714, -0.15998420119285583, -0.11585410684347153, -0.24275019764900208, -0.09556780755519867, -0.11740215867757797, -0.13803517818450928, -0.18834713101387024, -0.14299970865249634, -0.16592147946357727, -0.272552490234375, -0.165187805891037, -0.17438971996307373, -0.17813226580619812, -0.18883198499679565, -0.17664897441864014, -0.2088012993335724, -0.12590725719928741, -0.14652425050735474, -0.14546605944633484, -0.14971795678138733, -0.14341995120048523, -0.07101850211620331, -0.17513170838356018, -0.16472911834716797, -0.1679653823375702, -0.16088831424713135, -0.1422598958015442, -0.11791395395994186, -0.14603480696678162, -0.14129182696342468], \"y\": [-0.12029213458299637, -0.13740934431552887, -0.08386484533548355, -0.021025951951742172, -0.16643181443214417, -0.009233491495251656, -0.10105841606855392, -0.08834929764270782, -0.08071274310350418, -0.026879042387008667, -0.10672147572040558, 0.025029147043824196, -0.12278077006340027, -0.09269838035106659, -0.14736199378967285, -0.13086964190006256, -0.07252153754234314, -0.20861667394638062, -0.08875443041324615, -0.01887361891567707, -0.1563832312822342, -0.06975297629833221, -0.0673472210764885, -0.07987062633037567, -0.11108522862195969, -0.07572542876005173, -0.04858248680830002, -0.03393076732754707, -0.19659295678138733, -0.05957089364528656, -0.10202141106128693, -0.04412505030632019, -0.17093566060066223, -0.18765157461166382, 0.01916307583451271, -0.06158461794257164, -0.047952987253665924, -0.039225973188877106, -0.06548621505498886, -0.16601774096488953, -0.09783613681793213, -0.23820839822292328, -0.13686935603618622, -0.094680055975914, -0.0005960604175925255, -0.09315735101699829, -0.13800106942653656, -0.0567689910531044, -0.1191721260547638, -0.0774000957608223, -0.146811842918396, -0.07399386167526245, -0.13261227309703827, -0.07595953345298767, -0.11915571987628937]}, {\"marker\": {\"color\": 15, \"size\": 5}, \"mode\": \"markers\", \"name\": \"10\", \"text\": [\"TP-Link Kasa Cam Outdoor - KC200\", \"Nikon - COOLPIX A100 Black - Digital Camera\", \"Eufy Security Entry Sensor - T89001D1\", \"Ring Door View Cam - 8SP1S9-0AU0 \", \"Canon - SLRBAGII - DSLR Deluxe Bag\", \"Lightning To USB Camera Adapter  \", \"Ring - 8SH1P7-BAU0 - Spotlight Cam Wired - Black\", \"Inca - 501136 - Camera & Lens Cleaning Kit\", \"Swann 4K UHD DVR Security Security System - 4 Camera 8 Channel  \", \"Eufy Smart Floodlight With 1080p Camera - T8420C12\", \"Uniden - SOLOPTKIT - Guardian App Cam Solo PT Kit\", \"Eufy Cam Wire Free FHD Security Add-on Camera - T81111D2\", \"Nikon - AF-S DX NIKKOR 55-200mm f/4-5.6G ED VR II - DX Format Zoom Lens\", \"Sony - DSC-HX90V - 18.2 Mega Pixel Cyber-shot H Series\", \"Canon - Silver - PowerShot G9X Mark II Digital Camera\", \"Sony - DSCWX500B - 18.2MP Cyber-shot W Series\", \"Arlo Ultra - VMS5240 - 4K UHD Wire-Free Security 2-Camera System \", \"Uniden - iGO CAM 30 - Smart Dash Cam Black Box\", \"Swann 4 Camera 4 Channel 1080p Full HD DVR Security System\", \"Ring Stick Up Cam Battery HD Security Camera (3rd Gen)  - Black\", \"Arlo Ultra - VMS5340 - 4K UHD Wire-Free Security 3-Camera System \", \"Canon - IXUS 190 Silver - Digital Still Camera\", \"Canon EOS M50 Mirroless Camera with 4K Video - Single Kit - M50KIS\", \"Nikon - AF-P DX NIKKOR 70-300mm f/4.5-6.3G ED VR - DX Format Normal Zoom Lens\", \"DeLonghi - ECAM 250.33.TB - Magnifica S Smart ECAM\", \"Swann - SWDVK-845804B2DV - 8Ch 1080p Security Monitoring System\", \"Nikon - WU-1a - Wireless Mobile Adapter\", \"Swann - SWDVK-845808V - 8 Channel Security System\", \"Sony - ILCE6000KIT - 24.3MP E-Mount Camera with SELP1650 (16-50mm F3.5-5.6 OSS ) \", \"TP-Link - KC100 - Kasa Spot Indoor Security Camera \", \"DLink - DCS-8000LH - Mini HD Wi-Fi Surveillance Camera \", \"D-Link - DCS-8100LH - HD 180-Degree Wi-Fi Camera\", \"Eufy Cam Wire Free FHD Security 4-Camera Set - T8807CD3 \", \"Nikon - D5600 with AF-S 18-105mm VR Kit \", \"Ring Video Doorbell 1080p HD (2nd Generation) - 8VR1SZ-SEN0 \", \"Canon - EOS 200D KIS - EOS 200D Single Lens Kit \", \"Ring Stick Up Cam Battery HD Security Camera (3rd Gen) - White \", \"Eufy Video Doorbell 2K Wireless Add On Only - T8210CW1\", \"Ring Video Doorbell 3 Plus with Pre-Roll Technology\", \"Ring - 8SB1S7WAU03PK - 3-Pack Spotlight Cam Battery - White \", \"Swann - SWNVK-1685808 - 4K - 16CH Security Monitoring System\", \"Ring - 8SF1P7WAU0 - Floodlight Cam\", \"Eufy Cam Wire Free FHD Security 2-Camera Set - T8801CD2  \", \"Nikon - Coolpix B500 - 16MP - 40x Digital Compact Camera - Red\", \"Ring - 8VR1S70AU0 - 1080HD Video Doorbell 2\", \"Canon - EOS700DKIS - EOS 700D Single IS STM Kit - 18-55mm\", \"Maxxum - 888530 - Full HD Webcam\", \"Nikon - D5600 with AF-P 18-55m VR Kit - VBK500XA  \", \"Ring Indoor Security Camera - 8SN1S9-WAU0 \", \"Nikon - D3400 with 18-55mm Lens Kit \", \"Ring - 8SB1S7WAU02PK - 2-Pack Spotlight Cam Battery - White \", \"Swann 8 Camera 8 Channel 1080p Full HD DVR Security System\", \"Ring - 8SF1P7BAU0 - Floodlight Cam - Black \", \"Uniden - BW 3102R - 4.3\\u201d Digital Wireless Baby Video Monitor - 2 Cameras\", \"Swann 4K Ultra HD DVR Security System - 6 Camera 8 Channel\", \"Swann - SWNVK-886804FB - 8 Channel 4K Ultra HD NVR Security System\", \"Canon - EOS 1500DKB - EOS 1500D Single Lens Kit   \", \"Uniden - iGO CAM 70R - Smart Dash Cam Black Box\", \"Nikon - KEYMISSION 170 - Action Camera\", \"Canon - EOS 1300D Single Lens Kit - 18-55mm\", \"Sony - DSCW810S - 20.1MP W Series Cybershot (Silver)\", \"Ring Stick Up Cam HD Security Camera Battery - 3 Pack - White\", \"Ring - 8SS1S8-WAU0 - Stick Up Cam Battery - 1080p Security Camera - White  \", \"Nikon - D5600 Twin Lens Kit - 18-55mm & 70-300mm Lens   \", \"Laser  - NAVC-307 - Car Crash Camera FHD1080P\", \"DJI - Osmo Action Camera - 12MP - 4K/60fps\", \"Ring - 8VR4P6-0AU0 - 1080 HD Video Doorbell Pro Kit with Chime Pro\", \"Uniden - iGO CAM 60 - Smart Dash Cam Black Box  \", \"Swann - SWNVK-885808 - 4K - 8CH Security Monitoring System  \", \"Ring - 8SH1P7-WAU0 - Spotlight Cam Wired - White\", \"Ring - 8SB1S7WAU04PK - 4-Pack Spotlight Cam Battery - White  \", \"Canon - EOS 700D Super Kit - 18-135mm - IS STM Lens  \", \"Uniden - Guardian App Cam Solo+ Camera - Quad Pack \", \"Eufy Smart Floodlight With 1080p Camera - T8420CW2\", \"Ring - 8SS1E8-WAU0 - Stick Up Cam Elite - 1080p Security Camera - White  \", \"Nikon - CoolPix W100 Camera - 13.2MP - Waterproof\", \"Nikon - COOLPIX A300 Digital Camera - 20.1MP - 8x - Silver\", \"Eufy Cam Wire Free FHD Security 3-Camera Set - T8804CD2  \", \"Swann - SWIFI-CAMWPK2 - Wire-Free 1080p Security Camera 2 Pack\", \"GoPro - CHDHX-801 - HERO8 Black - 12MP Action Camera - 4K60 Video  \", \"Uniden - Guardian App Cam Solo+ Camera - Twin Pack\", \"Arlo - VMS4230P - Arlo Pro 2 Smart Security System - 1080p HD   \", \"Ring Video Doorbell 3 \", \"Eufy Video Doorbell 2K (Wired) - T8200CJ1\", \"Eufy Cam 2C Wire Free Full-HD Security Add-on Camera - T81131D2\", \"Ring - 8SS1S8-BAU0 - Stick Up Cam Battery -1080p Security Camera - Black \", \"Ring Indoor Security Camera - 8SN1S9-BAU0\", \"Eufy Cam 2C Wire Free Full-HD Security 2-Camera Set - T8831CD3 \", \"Nikon - WU-1B - Wireless Mobile Adapter\", \"Microsoft - Q2F-00017 - LifeCam Studio Webcam\", \"Swann - SWIFI-CAMW - Wire-Free 1080p Security Camera\", \"Laser  - NAVSPORT1080X - Sports Cam 1080X\", \"Eufy Cam 2C Wire Free FHD Security 4-Camera Set - T8833CD2    \", \"Canon - STREET PHOTOGRAPHY PACK - Street Photography Pack\", \"Eufy Cam 2C Wire Free Full-HD Security 3-Camera Set - T8832CD3 \", \"Canon - EOS750DMTK - EOS 750D Twin Lens Kit\", \"Canon - ZOOMKIT - DSLR Zoom Lens Kit\", \"Ring - 8SB1S7WAU0 - Spotlight Cam Battery - White  \", \"Ring - 8SB1S7BAU0 - Spotlight Cam Battery - Black \", \"Swann 1080p Full HD DVR Security System - 6 Camera 8 Channel \", \"Uniden - BW 140R - Full HD Smart (WiFi) Baby Camera\", \"Swann - SWIFI-SPOTCAM - 1080p Spotlight Outdoor Security Camera\", \"Ring Stick Up Cam HD Security Camera Battery - 2 Pack - White\", \"Nikon - AF-S DX NIKKOR 18-140 f/3.5-5.6 G ED VR - DX Format Zoom Lens \"], \"type\": \"scatter\", \"x\": [0.12913845479488373, 0.17656400799751282, 0.045009173452854156, -0.011581502854824066, 0.1641443520784378, 0.2591451108455658, 0.08415497839450836, 0.03449784219264984, 0.20262885093688965, 0.14167660474777222, 0.15321259200572968, 0.10361264646053314, 0.1405666172504425, 0.20524099469184875, 0.18339470028877258, 0.24544724822044373, 0.2079916149377823, 0.13820239901542664, 0.16241022944450378, 0.20232731103897095, 0.21730902791023254, 0.13980315625667572, 0.1660228967666626, 0.1605238914489746, 0.07808095216751099, 0.054548680782318115, 0.2587170898914337, 0.04189492017030716, 0.20876450836658478, 0.12876109778881073, 0.21557044982910156, 0.16401375830173492, 0.11924239993095398, 0.13449902832508087, 0.13783863186836243, 0.15742796659469604, 0.17859947681427002, 0.14436165988445282, 0.12287159264087677, 0.06083621084690094, 0.019236333668231964, 0.006861105561256409, 0.12904092669487, 0.18468274176120758, 0.0874749943614006, 0.19641174376010895, 0.17363232374191284, 0.12762150168418884, 0.04466366022825241, 0.14717958867549896, 0.06219876557588577, 0.17530831694602966, 0.04942578077316284, 0.1738734245300293, 0.17763210833072662, 0.11422650516033173, 0.1794886738061905, 0.1234801635146141, 0.15097878873348236, 0.14834170043468475, 0.292894184589386, 0.1455199420452118, 0.11353101581335068, 0.1058051735162735, 0.15740184485912323, 0.23050934076309204, 0.09993719309568405, 0.1135035902261734, 0.04591436684131622, 0.03862680494785309, 0.05081120878458023, 0.19741883873939514, 0.18990014493465424, 0.1486167460680008, 0.10306807607412338, 0.12349089235067368, 0.16504938900470734, 0.1266060471534729, 0.16796505451202393, 0.22731086611747742, 0.18294280767440796, 0.20659810304641724, 0.12664037942886353, 0.11865083128213882, 0.13955235481262207, 0.13601386547088623, 0.050104252994060516, 0.13841620087623596, 0.24813908338546753, 0.16992777585983276, 0.1563705950975418, 0.1553925722837448, 0.11045877635478973, 0.14196933805942535, 0.13886308670043945, 0.16228991746902466, 0.1290922462940216, 0.07285802811384201, 0.10665720701217651, 0.14409111440181732, 0.17649522423744202, 0.14123131334781647, 0.1561051309108734, 0.1462457776069641], \"y\": [-0.10497687757015228, -0.011718466877937317, -0.018928270787000656, -0.0560745969414711, -0.1470477133989334, -0.03942546620965004, -0.0959143340587616, -0.06388575583696365, 0.2996748089790344, 0.2122301608324051, -0.06533889472484589, 0.0486447736620903, 0.11551565676927567, 0.217250257730484, 0.05532481521368027, 0.06330534815788269, 0.1586565226316452, -0.010356523096561432, 0.26085764169692993, 0.00757698155939579, 0.15546798706054688, -0.037754565477371216, 0.10862483084201813, 0.11308521777391434, -0.05499471724033356, 0.14186516404151917, -0.1006060391664505, 0.04955091327428818, 0.1159711480140686, -0.06499278545379639, 0.08220133930444717, 0.10212373733520508, 0.05831290781497955, 0.11731889843940735, 0.11607789248228073, -0.05411713570356369, 0.007943048141896725, -0.017869960516691208, -0.04106254130601883, -0.01879693754017353, 0.11324015259742737, -0.033451877534389496, 0.027595924213528633, -0.008404186926782131, 0.12337064743041992, 0.032294098287820816, -0.0035161152482032776, 0.09700022637844086, 0.018205245956778526, 0.02108810655772686, -0.022044040262699127, 0.2717493176460266, -0.06132272258400917, -0.01731732487678528, 0.28397414088249207, 0.23274165391921997, -0.05944536253809929, 0.03735775128006935, -0.03550613671541214, -0.017365511506795883, 0.0027921535074710846, 0.011395908892154694, 0.14339470863342285, 0.046328939497470856, -0.00395951047539711, 0.08172116428613663, 0.09290812909603119, 0.05588547885417938, 0.1045481413602829, -0.042457833886146545, 0.00011932849884033203, 0.07552756369113922, 0.007388155907392502, 0.1980503797531128, 0.13119855523109436, -0.004246980883181095, 0.0291905514895916, 0.033833663910627365, -4.016607999801636e-05, 0.18269950151443481, -0.021294279024004936, 0.15527217090129852, -0.04406207799911499, -0.02593664824962616, 0.0876825600862503, 0.07732922583818436, -0.03309082239866257, 0.03902991861104965, -0.1380370855331421, -0.03631933033466339, 0.01565050147473812, 0.01298436801880598, 0.031209129840135574, -0.17256054282188416, 0.03288114815950394, -0.004500945098698139, -0.10541017353534698, -0.027434732764959335, -0.050824493169784546, 0.2364930957555771, 0.04911637306213379, 0.0513237901031971, 0.008010433986783028, 0.15975898504257202]}, {\"marker\": {\"color\": 16, \"size\": 5}, \"mode\": \"markers\", \"name\": \"11\", \"text\": [\"Panasonic - 2.1Ch Sound Bar System - 200W - SC-HTB488 \", \"LG - WK7 - ThinQ\\u2122 Speaker with Google Assistant Built-In  \", \"LG - 900W Mini Hi-Fi System - CJ65\", \"Samsung - HW-N650 - 5.1Ch Soundbar \", \"Yamaha - NS-IC600 - In-ceiling Speakers Set \", \"VQ - VQ-RETMKII-EBP - Retro Mk II - DAB+ Radio with Apple Lightning Dock & Bluetooth - Polka Dot \", \"VQ - VQ-RETMKII-EBB - Retro Mk II - DAB+ Radio with Apple Lightning Dock & Bluetooth - Blue Daisy\", \"Panasonic - SC-HTB900 - Soundbar & Wireless Subwoofer\", \"Samsung - Series 4 HW-R450/XY Soundbar - 2.1 Ch Soundbar - 200W\", \"Sony - MHC-V90DW - High Power Home Audio System - MUTEKI\", \"Sony - Portable DAB/DAB+ Radio - XDRS41DW\", \"VQ - Retro Mini DAB+ Radio - VQ-MINI-BK - Black \", \"Blaupunkt - BR-80DABC - Digital Radio\", \"Bowers & Wilkins Formation Flex Wireless Music Speaker - FP41528 \", \"Sony - Shower Radio with Speaker - ICFS80\", \"Blaupunkt - BR-50DAB - Digital Radio\", \"Onkyo - TX-SR494 - 7.2 Channel AV Receiver  \", \"VQ - Hepburn Mk II - DAB+ Radio & Bluetooth Speaker - Black - VQ HPMKII-BK\", \"Yamaha - All Weather Speakers - NS-AW392B\", \"Yamaha - Wireless Subwoofer Kit - SWK-W16\", \"Samsung HW-T450/XY - 2.1Ch Soundbar - 200W \", \"Samsung HW-Q60T/XY - 5.1ch Acoustic Beam Soundbar - 360W\", \"One For All - SV 1820 - Bluetooth Music Receiver HD\", \"Yamaha - All Weather Speakers - NS-AW294B\", \"Yamaha - All Weather Speakers - NS-AW592B\", \"Onkyo - Black - 7.2Ch Network A/V Receiver - TX-NR676E\", \"Yamaha - SPS-90 - Optional Floorstanding Speaker Stands\", \"Sony - CMTSBT40D - Bluetooth CD/DVD/Tuner Micro Hi-Fi System\", \"Blaupunkt Android TV Box - BATV7  \", \"Sony - Portable DAB/DAB+ Radio - XDRS41DB\", \"Yamaha - CD Player - CD-S300B\", \"Blaupunkt - BAC23BTC - FM Alarm Clock Radio\", \"Yamaha - MCR-B020 White - Micro Component System\", \"Yamaha - 7.1Ch Soundbar System - YSP-2700 Black   \", \"Sengled - C01-BR30AUB22SW - Pulse LED + Wireless Speaker - Satellite Bulb\", \"Yamaha - Audio Component - WXA-50\", \"Yamaha - YAS-209B - 2.1Ch Sound Bar System\", \"Onkyo - HT-S7705 - 5.1.2-Ch ATMOS Home Theatre System\", \"Blaupunkt - 32\\\" HD Android TV - BP320HSG9200\", \"Yamaha - Wall Mounting Bracket - SPM-K20\", \"LG - SN8YG - 440W 3.1.2ch Dolby Atmos Wi-Fi Sound Bar\", \"Sony - SHAKE-X10D - Mini System\", \"Yamaha - Audio Component - WXC-50\", \"Yamaha - All Weather Speakers - NS-AW194B\", \"Yamaha - RX-V385 - 5.1Ch AV Receiver  \", \"VQ - VQ-RETMKII-EBR - Retro Mk II - DAB+ Radio with Apple Lightning Dock & Bluetooth - Rosebee\", \"LG - FH2 - X-Boom Go Portable Sound System\", \"Yamaha - All Weather Speakers - NS-AW194W\", \"Blaupunkt - 42\\\" FHD Android TV - BP420FSG9200\", \"Yamaha - MCR-B043D White - Micro HiFi System\", \"Onkyo - TX-NR656 - 7.2-Channel Network AV Receiver\", \"Sony - ICDPX470 - 4GB Digital Voice Recorder\", \"Yamaha - Black - Micro Hi Fi System - MCR-N670\", \"Sony - ICFC1W - Single Alarm AM/FM Clock Radio - White\", \"Samsung - HW-Q70T/XY - 3.1.2CH Acoustic Beam Soundbar - 330W   \", \"Yamaha - MCR-B043D Black - Micro HiFi System\", \"Sony - MHC-V41D - High Power Audio System\", \"Sangean - SR-35 - Pocket Radio\", \"Sony - MHC-V77DW - High Power Home Audio System \", \"Yamaha - MCR-B270D - Micro Hi-Fi System - Silver \", \"Yamaha - All Weather Speakers - NS-AW294W\", \"Sony - 4GB B Series MP3 Walkman - Black - NWZB183FB\", \"Sony - CMTSBT20B - Hi-Fi System with Bluetooth and DAB radio\", \"Yamaha - All Weather Speakers - NS-AW392W\", \"Sony - ZSPS55B - Radio Player\", \"TCL - TS3010 - 2.1 Channel Sound Bar - 160W\", \"Yamaha - MCR-B020 Black - Micro Component System\", \"Yamaha - NS-IC800 - In-ceiling Speakers Set\", \"Sanus - Advanced Sound Bar Mount - SA405\", \"Blaupunkt - BAC11AFC - FM/AM Alarm Clock Radio\", \"Sony - HT-S350 - 2.1Ch Soundbar\", \"Sony - XDRC1DBP - DAB/DAB+ Clock Radio\", \"Yamaha - Silver - Micro Hi Fi System - MCR-N670\", \"Blaupunkt - BCR-9DABi - DAB + Internet Radio\", \"Sengled - C01-A66EAE27W - Pulse Solo LED + Wireless Speaker\", \"LG - 2.1Ch Sound Bar System - 300W - SJ4\", \"Sony - ICF306 - Portable Radio\", \"Sony - ICF-P26 - Portable Radio with Speaker\", \"Yamaha - All Weather Speakers - NS-AW592W\", \"VQ - VQ-RETMKII-CR - Retro Mk II - DAB+ Radio with Apple Lightning Dock & Bluetooth - Cream  \", \"Yamaha - All Weather Speakers - NS-AW992W\", \"Yamaha - ATS-1080 Black - 2.1Ch Soundbar System\", \"Sony - MHC-M80D - Hi-Fi System\", \"Yamaha - 7Ch Home Theatre System - LiveSTAGE7400\", \"Yamaha - CD Player - CD-C600B\", \"Sony - HT-X8500 - 2.1ch Sound Bar System\", \"Sony - HT-G700 - 3.1ch Dolby Atmos\\u00ae/ DTS:X\\u2122 400W Soundbar\", \"Yamaha - Subwoofer - NSSW100B\", \"View Quest - Hepburn MK II - DAB+ Radio & Bluetooth Speaker - Cream\", \"LG - SN5Y - 400W 2.1ch High Resolution Sound Bar \", \"Yamaha - 5.1Ch AV Receiver - RX-S601B\", \"Blaupunkt - BR-90DABi - DAB+/FM Internet Radio\", \"Blaupunkt - BR-60DABC - Portable Digital Radio\", \"Yamaha - 7.1.2Ch Sound Bar System - YSP-5600BMK2\", \"Sony - ICFC1B - Single Alarm AM/FM Clock Radio - Black\", \"Samsung  HW-S61T/XY 4.0ch Soundbar - 180W  \", \"Yamaha - Silver - Micro Hi-Fi System - MCR-N470\", \"Sony - MHC-V71D - High Power Audio System\", \"Yamaha YHT1840B - 5.1Ch Home Theatre Package \", \"Yamaha - MCR-B270D - Micro Hi-Fi System - Black\", \"TCL - TS7010 - 2.1 Channel Sound Bar - 320W\", \"Sony - HT-S100F - 2Ch Single Sound Bar \", \"Sony - ZSPS50 - CD Boombox \", \"Samsung HW-Q800T/XY - 3.1.2Ch Soundbar - 330W\", \"Samsung HW-T650/XY 3.1ch Soundbar with Dolby Audio - 340W\", \"Samsung - SWA-8000S - Wireless Rear Speaker Kit\", \"One For All - SV 1810 - Bluetooth Music Receiver\", \"Yamaha - Wall Mount Bracket - SPM-K30\", \"Hisense - HS512 - 5.1.2 Ch Atmos Sound Bar System - 380W  \", \"Sony - Portable FM/AM Radio - ICF506\", \"Soundbar Sound+ Series 7 - 5ch Sound Bar - HW-MS750 \", \"Sony - PS-LX310BT - Turntable\", \"Yamaha - YHT-8930AX - 7.2Ch Home Theatre System\", \"Blaupunkt - BR-70DABB - Portable DAB+/FM Radio\", \"Yamaha - LiveSTAGE 5400 - LiveSTAGE5400 Home Theatre Package\", \"LG - SN11RG - 7.1.4Ch Dolby Atmos Wi-Fi Soundbar - 770W\", \"LG - SPK8-S - 2.0ch - 140W Sound Bar Wireless Rear Speaker Kit\", \"LG - SN7Y - 3.1.2Ch High Resolution Sound Bar \", \"Bowers & Wilkins Formation Bass Wireless Subwoofer - FP40215\", \"Crosley - CR6018A-NA - Turntable with Detachable Speakers\", \"Yamaha - Black - Micro Hi-Fi System - MCR-N470\", \"VQ - Hepburn Mk II - DAB+ Radio & Bluetooth Speaker - Red - VQ-HEPMKII-RD \", \"Yamaha - 2Ch Soundbar System - YAS-107\"], \"type\": \"scatter\", \"x\": [0.1488892138004303, 0.21672873198986053, 0.14021766185760498, 0.22876405715942383, 0.18214793503284454, 0.30274850130081177, 0.29704082012176514, 0.20785276591777802, 0.1965244561433792, 0.19872455298900604, 0.3342304825782776, 0.2049010545015335, 0.177978977560997, 0.12623466551303864, 0.13178057968616486, 0.19897155463695526, 0.24175891280174255, 0.27259206771850586, 0.18650397658348083, 0.2011255919933319, 0.21685107052326202, 0.20974639058113098, 0.23400461673736572, 0.18738475441932678, 0.18054309487342834, 0.2625122368335724, 0.17991042137145996, 0.3269649147987366, 0.3067634105682373, 0.3440936207771301, 0.22258399426937103, 0.1909182369709015, 0.2224206030368805, 0.2991366982460022, 0.1345435082912445, 0.2103385478258133, 0.23409070074558258, 0.24615418910980225, 0.34524354338645935, 0.12764301896095276, 0.2405138611793518, 0.2496071308851242, 0.19938185811042786, 0.18938688933849335, 0.24209725856781006, 0.29080629348754883, 0.236074760556221, 0.18997609615325928, 0.3173137307167053, 0.268618106842041, 0.2456689327955246, 0.2941359877586365, 0.2622734010219574, 0.17532429099082947, 0.19294780492782593, 0.28292882442474365, 0.26771125197410583, 0.14750373363494873, 0.21326205134391785, 0.24827145040035248, 0.1929173767566681, 0.2399255633354187, 0.33550626039505005, 0.18532432615756989, 0.25219887495040894, 0.1585272252559662, 0.2381732314825058, 0.20853976905345917, 0.06878609210252762, 0.21371933817863464, 0.2925562858581543, 0.3217340409755707, 0.23784980177879333, 0.28666383028030396, 0.15913133323192596, 0.2016148567199707, 0.23148059844970703, 0.26288703083992004, 0.17486430704593658, 0.30583012104034424, 0.1911267191171646, 0.3088003098964691, 0.21773116290569305, 0.16612976789474487, 0.1990252435207367, 0.3047179877758026, 0.32305148243904114, 0.15125921368598938, 0.26492393016815186, 0.1874333620071411, 0.2579458951950073, 0.24357399344444275, 0.21884869039058685, 0.24108560383319855, 0.19519232213497162, 0.188228577375412, 0.2594730854034424, 0.248447448015213, 0.15436521172523499, 0.2673588693141937, 0.1524784415960312, 0.17003612220287323, 0.2045765221118927, 0.2476518750190735, 0.2739693522453308, 0.21777789294719696, 0.20134247839450836, 0.09534266591072083, 0.13779830932617188, 0.22588197886943817, 0.16933636367321014, 0.22764019668102264, 0.15506066381931305, 0.25992870330810547, 0.12445667386054993, 0.2632145881652832, 0.2229539453983307, 0.2073603868484497, 0.11186982691287994, 0.07365088164806366, 0.28048133850097656, 0.2757111191749573, 0.22388210892677307], \"y\": [-0.09753575921058655, 0.11073912680149078, 0.05523155629634857, 0.09335430711507797, -0.22405661642551422, -0.17511725425720215, -0.14922890067100525, -0.11810512840747833, 0.1260630488395691, -0.02834608405828476, -0.14550408720970154, -0.16272348165512085, -0.26550793647766113, -0.19995495676994324, -0.12768501043319702, -0.2669075131416321, -0.003203723579645157, -0.1941608190536499, -0.2631703019142151, -0.18344098329544067, 0.13507382571697235, 0.16253304481506348, -0.05089506506919861, -0.2665526568889618, -0.26689887046813965, -0.059601057320833206, -0.13766416907310486, -0.12777778506278992, 0.0062178997322916985, -0.15575259923934937, -0.1638055443763733, -0.30524197220802307, -0.2536398768424988, -0.14143939316272736, -0.19169872999191284, -0.14167910814285278, -0.21538685262203217, -0.038441117852926254, 0.12638218700885773, -0.16617244482040405, 0.07337001711130142, -0.022768793627619743, -0.13956061005592346, -0.2704107165336609, -0.049977175891399384, -0.13423848152160645, -0.029593490064144135, -0.23846086859703064, 0.13823968172073364, -0.23561275005340576, -0.0072732530534267426, 0.050827763974666595, -0.19542010128498077, -0.10831446945667267, 0.16103039681911469, -0.2358345091342926, -0.03624608367681503, -0.20652255415916443, -0.005381900817155838, -0.231523796916008, -0.23627537488937378, -0.030957339331507683, -0.21448206901550293, -0.2335311770439148, -0.07291656732559204, -0.12468484044075012, -0.2552274167537689, -0.2416137456893921, -0.1388610601425171, -0.254774272441864, -0.11010391265153885, -0.1344265341758728, -0.1967536211013794, -0.2362978607416153, -0.14172370731830597, -0.05930811166763306, -0.13867951929569244, -0.1179911196231842, -0.2423606663942337, -0.1475149691104889, -0.24816960096359253, -0.16497182846069336, -0.08474216610193253, -0.082011878490448, -0.17178906500339508, -0.0675353854894638, -0.007948978804051876, -0.1510583460330963, -0.2922595739364624, 0.06520505249500275, -0.07954409718513489, -0.24591360986232758, -0.24544380605220795, -0.12121088057756424, -0.13845092058181763, 0.23177587985992432, -0.2147243171930313, -0.02542796917259693, -0.11843478679656982, -0.22112280130386353, -0.10544858872890472, -0.07764123380184174, -0.04981625825166702, 0.17814074456691742, 0.10536839067935944, 0.024786826223134995, -0.18667331337928772, -0.1726554036140442, -0.03457265347242355, -0.13610845804214478, -0.09081967175006866, -0.04048484191298485, -0.09421007335186005, -0.24733689427375793, -0.1121140867471695, 0.06598449498414993, -0.01493082195520401, 0.08966147154569626, -0.19214701652526855, -0.09373842179775238, -0.2080841362476349, -0.20300526916980743, -0.1851358562707901]}, {\"marker\": {\"color\": 17, \"size\": 5}, \"mode\": \"markers\", \"name\": \"12\", \"text\": [\"Falcon Elise 110cm Dual Fuel Range Cooker - ELS110DFGB/N - Black/Nickel\", \"Falcon Nexus SE 110cm Dual Fuel Range Cooker - NEXSE110DFBL/CH - Black/Chrome\", \"Beko - 60cm Dual Fuel Upright Cooker - BFC60GMX\", \"Neff N 90 Induction Cooktop 60 cm Black - T66TS61N0\", \"Neff N 70 Built-in oven with added steam function 60 cm Stainless steel - B57VR22N0B\", \"Neff N 90 Induction hob 60 cm Black - T56TS31N0\", \"Neff N 70 Built-In Microwave Oven Stainless steel - C17WR00N0A \", \"Smeg - 90cm Duel Fuel Freestanding Cooker - TRA90P9\", \"Neff  N 90 Wall-mounted Cooker Hood 90 cm Stainless Steel - D96BMU5N0A\", \"Falcon Kitchener 90cm Dual Fuel Upright Cooker - KCH90DFFSS/CH - Stainless Steel/Chrome\", \"Bromic - DC100S - Deluxe LPG Wok Cooker\", \"Bromic - DC200S - Deluxe LPG Wok Cooker\", \"Asko - HG1986SD - 90cm Gas Cooktop - Stainless Steel\", \"Falcon Professional+ 90cm Dual Fuel Range Cooker - PROP90DFFSS/CH - Stainless Steel/Chrome\", \"Falcon Professional+ 110cm Dual Fuel Range Cooker - PROP110DFFGB/CH - Black/Chrome\", \"Smeg - FSP9610X - 90cm Dual Fuel Freestanding Cooker\", \"Neff Built-in oven 60 cm Stainless steel - B57CR22N0B\", \"Neff N 90 Gas hob 90 cm Stainless steel - T29DA79N0A\", \"Falcon Kitchener 90cm Dual Fuel Upright Cooker - KCH90DFFBL/CH - Black/Chrome\", \"Falcon Nexus 110cm Dual Fuel Upright Cooker - NEX110DFSS/CH - Stainless Steel/Chrome\", \"Smeg - TRA93BL - 90cm Thermoseal Freestanding Cooker - Black\", \"Neff N 90 Built-in oven with steam function 60 cm Stainless steel - B47FS36N0B\", \"Neff N 90 Built-in oven with added steam function 60 cm Stainless steel - B57VS26N0B\", \"Miele - HR 1936 G - 90cm Dual Fuel Upright Cooker\", \"Neff N 70 Built-in oven 60 cm Stainless steel - B47CR32N0B\", \"Euromaid - GG90S - 90cm Gas Upright Cooker\", \"Neff N 90 Built-in oven with added steam function 60 cm Stainless steel - B58VT68H0B\", \"Neff N 50 Built-in Oven 60 cm Stainless Steel - B6ACH7AN0A\", \"Neff N 70 Gas hob 60 cm Stainless steel - T26DS59N0A\", \"Neff N 30 Telescopic Cooker Hood 60 cm Silver Metallic - D46BR22X0\", \"Neff N 90 Compact oven with microwave Stainless steel - C28QT27N0 \", \"Neff N 70 Built-in compact oven with microwave function Stainless steel - C17MR02N0B\", \"Falcon Classic 110cm Dual Fuel Upright Cooker - CLA110DFFCR/CH - Cream/Chrome\", \"Westinghouse - WFE914SC - 90cm Dual Fuel Freestanding Cooker\", \"Glem - UN765GGEI - 70cm Stainless Steel Cooker\", \"Neff N 90 Induction Hob 90 cm Black - T59TS61N0\", \"Smeg - 90cm Duel Fuel Freestanding Cooker - TRA90WH9\", \"Inalto - IO90XL10T - 90cm 10 Function Oven\", \"Glem - IT965MVN2 - 90cm Freestanding Gas Cooker\", \"Neff N 90 Built-in Oven with steam function 60 cm Stainless steel - B48FT78H0B\", \"Inalto - ICGW90S - 90cm Gas Cooktop\", \"Neff N 50 canopy cooker hood 52 cm Stainless steel - D55MH56N0B\", \"Falcon Nexus SE 110cm Induction Range Cooker - NEXSE110EISS/CH - Stainless Steel/Chrome\", \"Neff Built-in Double Oven Stainless Steel - U2ACH7CN0A\", \"Inalto - ICGG905W - 90cm Gas on Glass Cooktop\", \"DeLonghi - DEF905GW1X1 - 90cm Dual Fuel Freestanding Cooker\", \"Neff N 90 Gas hob 90 cm Black - T29TA79N0A\", \"Smeg - CSP9GMXA - 90cm Dual Fuel Freestanding Oven\", \"Falcon Professional+ FXP 90cm Pyrolitic Dual Fuel Upright Cooker - PROP90FXPDFGBCH - Black/Chrome\", \"Neff Compact Built-in Steam Cooker - C17DR02N0\", \"Ninja Foodi OP300 Multi Cooker, Pressure Cooker, Steamer & Air Fryer  \", \"Neff N 70 Induction hob 80 cm Black - T58UD10X0\", \"Neff N 90 Induction Hob 80 cm Black - T68TS61N0\", \"Falcon Elise 90cm Dual Fuel Range Cooker - ELS90DFSL/N - Slate/Nickel\", \"Falcon Classic 110cm Induction Range Cooker - CLA110EI5BL/CH - Black/Chrome\", \"Falcon Classic Deluxe 110cm Dual Fuel Upright Cooker - CDL110DFBL/CH - Black/Chrome\", \"Smeg - CS95GMXNA - 90cm Duel Fuel Freestanding Cooker\", \"Neff N 90 Built-in compact oven with microwave function Stainless steel - C27MS22H0B\", \"Neff Built-in Warming Drawer 29 cm Stainless Steel - N17HH10N0A\", \"Smeg - 90cm Duel Fuel Freestanding Cooker - TRA90BL9 \", \"Neff N 90 Compact Oven with Steam Function Stainless Steel - C17FS32H0B\", \"Neff N 70 Canopy Cooker Hood 86 cm Stainless Steel - D58ML66N1\", \"Glem - IT965PROEN2 - 90cm Dual Fuel Freestanding Cooker\", \"Neff N 70 Gas hob 75 cm Stainless steel - T27DA69N0A\", \"Beko - BCT90GG - 90cm Black Glass Gas Cooktop\", \"Neff N 90 Canopy Cooker Hood 70 cm Clear Glass Black Printed - D57ML67N1B\", \"Falcon Professional+ FX 90cm Dual Fuel Upright Cooker - PROP90FXDFSSCH - Stainless Steel/Chrome\", \"Falcon Professional+ FX 90cm Dual Fuel Upright Cooker - PROP90FXDFGBCH -Black/Chrome\", \"Neff N 70 Built-in Warming Drawer 14 cm Stainless Steel - N17HH10N0A\", \"Neff  N 90 Built-In Fully Automatic Coffee Machine - C17KS61H0\", \"Falcon Professional+ FXP 90cm Pyrolitic Dual Fuel Upright Cooker - PROP90FXPDFSSCH - Stainless Steel/Chrome\", \"Falcon Classic 90cm Induction Range Cooker - CLA90EI5CR/CH - CREAM/CHROME\", \"Falcon Classic 90cm Dual Fuel Upright Cooker - CLA90DFFCY/CH - Cranberry/Chrome\"], \"type\": \"scatter\", \"x\": [-0.22502171993255615, -0.13797825574874878, -0.35022300481796265, -0.2791345417499542, -0.3930109739303589, -0.11592607200145721, -0.31850555539131165, -0.3320426046848297, -0.3076707124710083, -0.2889673411846161, -0.2622937262058258, -0.2503209114074707, -0.3234025239944458, -0.19590213894844055, -0.1642760932445526, -0.3725569248199463, -0.4000184237957001, -0.2640650272369385, -0.268586128950119, -0.1748088002204895, -0.31400808691978455, -0.4013558328151703, -0.40754643082618713, -0.34531283378601074, -0.3660218417644501, -0.3736923336982727, -0.40578970313072205, -0.38273486495018005, -0.27982765436172485, -0.24767181277275085, -0.28734010457992554, -0.28852224349975586, -0.20676246285438538, -0.3844556510448456, -0.3550475537776947, -0.10729009658098221, -0.36746758222579956, -0.3322151005268097, -0.35792234539985657, -0.4278973937034607, -0.36546316742897034, -0.30516090989112854, -0.1392684280872345, -0.2917202413082123, -0.32661041617393494, -0.319202184677124, -0.20726937055587769, -0.3025650084018707, -0.16358891129493713, -0.3400622606277466, -0.1821574866771698, -0.12317635118961334, -0.11431648582220078, -0.26365572214126587, -0.19075211882591248, -0.1933545470237732, -0.3609379827976227, -0.28653448820114136, -0.22744792699813843, -0.3609778583049774, -0.3448197841644287, -0.3367576599121094, -0.3435865342617035, -0.2757052183151245, -0.28952160477638245, -0.2636525332927704, -0.19820332527160645, -0.1695782095193863, -0.23960673809051514, -0.13308918476104736, -0.19576555490493774, -0.21725192666053772, -0.21383878588676453], \"y\": [0.00707545131444931, 0.030767876654863358, -0.04371161386370659, 0.09649576246738434, 0.13008762896060944, 0.05152226984500885, 0.0368538461625576, 0.04480591043829918, 0.03448004275560379, 0.07612096518278122, 0.008177939802408218, 0.0016309544444084167, 0.08821329474449158, 0.040814176201820374, 0.0210544615983963, 0.06933727115392685, 0.03227318823337555, 0.08640602976083755, 0.042696110904216766, 0.06322576850652695, -0.0036593154072761536, 0.13823401927947998, 0.13891583681106567, 0.08912889659404755, 0.07565012574195862, 0.15118823945522308, 0.14608140289783478, 0.05840569734573364, 0.1350933164358139, 0.02696981281042099, 0.07923418283462524, 0.04979735612869263, 0.010186024010181427, 0.09125183522701263, 0.07745625078678131, 0.018704021349549294, 0.04975610226392746, 0.09866411983966827, 0.1298232227563858, 0.15026207268238068, 0.1286434829235077, 0.014544110745191574, 0.06744499504566193, -0.03392215818166733, 0.1408231407403946, 0.05882496014237404, 0.057964060455560684, 0.09057140350341797, 0.023097297176718712, -0.04457062482833862, -0.003987032920122147, -0.0076515525579452515, 0.009076224640011787, 0.001818738877773285, 0.01821961998939514, 0.011813141405582428, 0.10913971066474915, 0.06651800870895386, 0.03651756793260574, 0.008959267288446426, 0.10770992934703827, 0.05488556623458862, 0.05578271299600601, 0.09147143363952637, 0.006488017737865448, 0.07454688847064972, 0.04075799137353897, 0.033467892557382584, 0.08422577381134033, 0.01482691615819931, 0.04229497164487839, 0.040558457374572754, 0.026335768401622772]}, {\"marker\": {\"color\": 18, \"size\": 5}, \"mode\": \"markers\", \"name\": \"13\", \"text\": [\"Falmec 90cm Lumen Wall Canopy Rangehood - F5LM90S1\", \"Electrolux - ERR927SA - 90cm Slide Out Rangehood\", \"Euromaid - 60cm Fixed Rangehood - R60FW\", \"Omega - ORC97G - 90cm Wallmount Rangehood\", \"Portofino By Smeg - KPFA9WH - 90cm Wallmount Rangehood\", \"Sirius - SL80 BBQ 1200M - 120cm Alfresco BBQ Marine Grade Hood\", \"Euromaid - 90cm Canopy Rangehood - RPT9\", \"DeLonghi - DE60UM - 60cm Undermount  Rangehood\", \"Euromaid - UC52 - 52cm Integrated Rangehood\", \"Beko - BRH90CX - 90cm Slim Pyramid Rangehood\", \"Vax - VX92 - Cordless Reach \", \"Beko - CWB 9503 X - 90cm Canopy Rangehood\", \"Electrolux - ERCE9025BA - 90cm Canopy Rangehood\", \"Sirius - SL906-L 850 - 85cm Undermount Rangehood\", \"Beko - HCB91845BX - 90cm T-Shape Rangehood\", \"DeLonghi - DEBETA90 - Canopy Range Hood\", \"Smeg - KT90BLA - 90cm Wallmount Rangehood\", \"Smeg - KT90PA - 90cm Wallmount Rangehood\", \"Falmec 60cm Siena+ 60 Under Cupboard Rangehood - FP3SN60S2\", \"Sirius - SLTC 97 900 - 90cm Black Canopy Rangehood\", \"Falmec 80cm Gruppo Incasso Under Cupboard Rangehood - F3GI80S1\", \"Omega - ORW9XA - 90cm Wallmount Rangehood\", \"Westinghouse - WRCG940SB - 90cm Stainless Steel/Glass Rangehood\", \"Falcon 80cm Undermount Rangehood - FALUC801\", \"Omega - ORF60X - 60cm Fixed Rangehood \", \"Smeg - STH600X1 - 60cm Telescopic Rangehood\", \"Omega - ORT60X - 60cm Slide-out Rangehood\", \"Westinghouse - ULX150 - Universal Rangehood Ducting\", \"Falmec 90cm Siena+ 90 Under Cupboard Rangehood - FP3SN90S2\", \"Westinghouse - WRF913SA - 90cm Fixed Rangehood\", \"Portofino By Smeg - KPFA9AN - 90cm Wallmount Rangehood \", \"DeLonghi - DEGAMA90 - Glass Canopy Range Hood\", \"Westinghouse - WRF610WA - 60cm Fixed Rangehood\", \"Asko - CW4934S - 90cm Wall Mounted Rangehood  \", \"Omega - ORC94XBA - 90cm Canopy Rangehood\", \"Euromaid - RGT9 - 90cm Canopy Rangehood\", \"Beko - CWB 6403 X - 60cm Canopy Rangehood\", \"Smeg - MTK60X34 - 60cm Trim Kit\", \"Westinghouse WRR904SB - 90cm Slide Out Rangehood\", \"Westinghouse - WRJ903UW - White Fixed Rangehood\", \"Westinghouse WRC614SC - 60cm Canopy Rangehood\", \"Glem - CK90CGLB - 90cm Curved Gas Canopy Rangehood\", \"Smeg - STH900X1 - 90cm Telescopic Rangehood\", \"Neff Pan 21 cm - Z9453X0\", \"Smeg - SHW181X90 - 90cm Wallmount T Shape Rangehood\", \"Smeg - CK2000LED - 76cm Concealed Rangehood\", \"Westinghouse - WRF613SA - 60cm Fixed Rangehood\", \"Sirius - SL80 FRESCO 900 - 90cm Ducted Rangehood\", \"Sirius - EASYROOF-150M - 125-150mm Metal Roof Ducting Kit\", \"Blanco - ESSENTIAL U2 - 80cm Undermount Sink\", \"Sirius - SL22 900 - 90cm Canopy Rangehood\", \"Falcon 90cm Canopy Rangehood - FALHDCP90SC - Stainless Steel\", \"Euromaid - RFT9 - 90cm Flat Canopy Rangehood  \", \"Falcon 100cm Undermount Rangehood - FALUC1002\", \"Asko - CO4927S - 90cm Slide Out Rangehood\", \"Westinghouse WRCG914BC - 90cm Canopy Rangehood\", \"Westinghouse WRI700SB - 71cm Integrated Rangehood\", \"Westinghouse WRR626SB - 60cm Slide Out Rangehood\", \"Glem - CK90SCF - 90cm Canopy Rangehood\", \"Smeg - KS90AEA - 90cm Wall Mount Rangehood\", \"Portofino By Smeg - KPFA9YW - 90cm Wallmount Rangehood\", \"Westinghouse WRR926SB - 90cm Slideout Rangehood\", \"Westinghouse WRR604SB - 60cm Slide Out Rangehood\", \"Tefal Jamie Oliver Mediterranean Wokpan - 30cm  \", \"Westinghouse WRR914SB - 90cm Slideout Rangehood\", \"Smeg - SHU770X - 70cm Classis Undermount Rangehood\", \"Westinghouse - WRH908IW - White Slideout Rangehood\", \"Glem - CK60SCF - 60cm Canopy Rangehood\", \"Glem - CK52UCF - 52cm Under Cupboard Rangehood\", \"DeLonghi - DEBETA70 - Canopy Range Hood\", \"Falmec 60cm Gruppo Incasso NRS Rangehood - F3GN60S1\", \"Inalto - ASL60DR2S - 60cm Slide-out Rangehood\", \"Fisher & Paykel - HS60LXW4 - 60cm Built-in Telescopic Slideout Rangehood\", \"Portofino By Smeg - KPFA9YX - 90cm Wallmount Rangehood\", \"Sirius - SL22 900B - 90cm Canopy Rangehood\", \"DeLonghi 90cm Slideout Stainless Steel Rangehood - TA90SS  \", \"Sirius - SL906- L520 - 52cm Undermount Rangehood\", \"Omega - ORT9WXA - 90cm Slide Out Rangehood\", \"Beko - BRH60TW - 60cm Stainless Steel Telescopic Rangehood\", \"Unilux - Extension Drain Hose - ULX106\", \"DeLonghi - DEBETA60 - Canopy Range Hood \", \"Euromaid - RS6S - 60cm Slideout Rangehood\", \"Omega ORT91X - 90cm Slide-Out Rangehood\", \"Westinghouse WRC924SC - 90cm Canopy Rangehood\", \"Sirius - EASYEAVE-150 - 125-150mm Under Eave Ducting Kit\", \"Westinghouse WRC914SC - 90cm Canopy Rangehood\", \"Euromaid - RGT6 - 60cm Canopy Rangehood\", \"Smeg - CPRA115B - 60cm Linea Warming Drawer - White\", \"Beko - BRH52UX - 52cm Undermount Rangehood\", \"Beko - CTB 6250 XA - 60 cm Retractable Rangehood\", \"DeLonghi - DE90UM - 90cm Undermount Rangehood \", \"Sirius - SL83 FRESCO 1500 - 150cm Alfresco BBQ Rangehood\", \"Fisher & Paykel - HS90X4 - 90cm Built-in Telescopic Slideout Rangehood\", \"Westinghouse - WRJ900UW - White Fixed Rangehood\", \"DeLonghi - DETHALASA90B - Glass Canopy RangeHood\", \"Asko - CC4927S - 86cm Concealed Rangehood\", \"Falmec 90cm Siena+ 90 Deep Under Cupboard Rangehood - FP3SND90S2 \", \"Smeg - SHU670X - 60cm Undermount Rangehood\", \"Smeg - SA940CXA - 90cm Wallmount Rangehood\", \"Westinghouse WRI814BB - 80cm Integrated Rangehood\", \"Asko - CC4727S - 77cm Concealed Rangehood\", \"Falcon 90cm Canopy Rangehood - FALHDCP90BC - Black\", \"Westinghouse WRR614SB - 60cm Slideout Rangehood\", \"Beko - CCB 5140 XA - 52cm Undermount Rangehood\", \"Euromaid - IRI9WE3 - 90cm Integrated Rangehood\", \"DeLonghi - TAFR60S - 60cm Front Slide Out Rangehood\", \"Blanco - ESSENTIAL U1/5 - 80cm Undermount Sink\", \"Falmec 60cm Gruppo Incasso Under Cupboard Rangehood - F3GI60S1\", \"Smeg - SHW181X60 - 60cm Wallmount T Shape Rangehood\", \"Smeg - SHW910X1 - 90cm Wallmount Rangehood\", \"Omega - ORT6WXA - 60cm Slide-out Rangehood\", \"Sirius - SM924-780 White - 78cm Undermount Rangehood\", \"DeLonghi - DESIGMA901 - 90cm Canopy Rangehood\", \"Smeg - SA5502X90 - 90cm Retractable Rangehood\", \"Westinghouse - WRF610SA - 60cm Fixed Rangehood\", \"Westinghouse WRI824BB - 86cm Integrated Rangehood\", \"Euromaid - RFT6 - 60cm Flat Canopy Rangehood\", \"Sirius - SL107 S 1200 - 1200mm Canopy Rangehood\", \"Westinghouse - WRJ900US - Stainless Steel Fixed Rangehood\", \"Asko - CO4627S - 60cm Slide Out Rangehood\", \"Sirius - SM924-520 White - 52cm Undermount Rangehood\", \"Glem - CK85UCF - 85cm Under Cupboard Rangehood\", \"Falmec 90cm Luce Wall Mount Rangehood - F5LC90B1\", \"Falmec 90cm Lumina NRS\\u00ae Wall Canopy Rangehood - F5LA90B1\", \"Smeg - CPS115N - 60cm Linea Sommelier Drawer - Black\", \"Beko - BRH60CX - 60cm Slim Pyramid Rangehood\", \"DeLonghi - TA60SS - 60cm Slideout Rangehood\", \"Portofino By Smeg - KPFA9BL - 90cm Wallmount Rangehood\", \"Asko - CC4525S - 52cm Concealed Rangehood \", \"Beko - CWB 9403 X - 90cm Canopy Rangehood\", \"Sirius - SM923-850 - 85cm Undermount Rangehood\", \"Euromaid - 60cm Fixed Rangehood - R60FS\", \"Portofino By Smeg - KPFA9RD - 90cm Wallmount Rangehood\", \"Portofino By Smeg - KPFA9OR - 90cm Wallmount Rangehood\", \"Portofino By Smeg - KPFA9OG - 90cm Wallmount Rangehood\", \"Westinghouse - WRJ603UW - White Fixed Rangehood\", \"Sirius - EASYROOF-150T - 125-150mm Tiled Roof Ducting Kit\", \"Smeg - CPS115S - 60cm Linea Sommelier Drawer - Silver\", \"Westinghouse - WRF910WA - 90cm Fixed Rangehood\", \"Smeg - SHW181X70 - 70cm Wallmount T Shape Rangehood\", \"Glem - CK90LBF - 90cm Canopy Rangehood\", \"Inca- I1004M - 4-Section Monopod \", \"Westinghouse - WRJ611US - Stainless Steel Fixed Rangehood\", \"Omega - ORU50X - 52cm Undermount Rangehood\", \"Smeg - STK60X34D - 60cm Trim Kit\", \"Omega ORU70XL - 70cm Undermount Rangehood\", \"Omega ORT61X - 60cm Slide-Out Rangehood\", \"Inalto - ARBC90TPS - 90cm Box Canopy Rangehood\", \"Electrolux - ERC930SA - 90cm Canopy Rangehood\", \"Electrolux - ERC926BA - 90cm Canopy Rangehood\", \"Westinghouse - WRJ911US - Stainless Steel Fixed Rangehood\", \"Sirius - SLTC 107 G900 - 90cm Black Glass Canopy Rangehood\", \"Smeg - SHU970X - 90cm Undermount Rangehood\", \"Sirius - SM923-520 - 52cm Undermount Rangehood\", \"Westinghouse - WRCG933SB - 90cm Stainless Steel and Glass Canopy \", \"Westinghouse WRC904SC - 90cm Canopy Rangehood\", \"Westinghouse - WRH608IW - White Retractable Rangehood\", \"Westinghouse - WRR614SA - 60cm Slideout Recirculating Rangehood\", \"Omega - ORC93XA - 90cm Canopy Rangehood\", \"Omega - ORW6XA - 60cm Canopy Rangehood\", \"Electrolux - ERC925DSD - 90cm Canopy Rangehood\", \"Falmec 60cm Lumen Wall Canopy Rangehood - F5LM60S1\", \"Falmec 80cm Gruppo Incasso NRS Under Cupboard Rangehood - F3GN80S1\", \"Westinghouse - WRF910SA - 90cm Fixed Rangehood\"], \"type\": \"scatter\", \"x\": [-0.10911305248737335, -0.06717752665281296, -0.1749965250492096, -0.08246346563100815, -0.10828057676553726, -0.07786041498184204, -0.09801965951919556, -0.14320555329322815, -0.09185496717691422, -0.09912014752626419, 0.062138427048921585, -0.10958977043628693, -0.14383360743522644, 0.02267298847436905, -0.1093684509396553, -0.02551879733800888, -0.11951839178800583, -0.10842233896255493, -0.11861986666917801, 0.05103546380996704, -0.18223130702972412, -0.05698031932115555, -0.2086394727230072, -0.12506166100502014, -0.09745105355978012, -0.010307013988494873, -0.060554735362529755, -0.06880949437618256, -0.11007329821586609, -0.19281437993049622, -0.09530920535326004, -0.07630489021539688, -0.23218703269958496, -0.10323666036128998, -0.07340588420629501, -0.10305429995059967, -0.12441965192556381, -0.12463817000389099, -0.19317489862442017, -0.13227578997612, -0.22090238332748413, -0.20171323418617249, 0.010723114013671875, -0.06605575233697891, -0.11438028514385223, -0.10810451209545135, -0.23000654578208923, -0.006843723356723785, 0.0765833631157875, -0.07487382739782333, 0.001769915223121643, -0.1433890014886856, -0.11009494215250015, -0.10726732015609741, -0.0837310403585434, -0.19789308309555054, -0.17099039256572723, -0.24883365631103516, -0.11901507526636124, -0.10259503871202469, -0.10356929153203964, -0.2001430094242096, -0.21074900031089783, -0.06520535051822662, -0.19870440661907196, -0.08939474076032639, -0.12120907008647919, -0.1408722698688507, -0.17824390530586243, -0.03276889771223068, -0.13532587885856628, -0.05736786872148514, -0.06180310249328613, -0.08851370960474014, 0.0035629719495773315, -0.11690648645162582, 0.03603660315275192, -0.039064921438694, -0.10853595286607742, -0.09539000689983368, -0.03514193743467331, -0.08998148888349533, -0.042330704629421234, -0.16314956545829773, 0.06825438886880875, -0.15108421444892883, -0.13472041487693787, -0.2227514386177063, -0.1165258064866066, -0.12793730199337006, -0.12860819697380066, -0.1135546937584877, -0.040658436715602875, -0.10872499644756317, -0.08385337889194489, -0.11582227796316147, -0.12345095723867416, -0.11000556498765945, -0.12081824988126755, -0.21511903405189514, -0.09137921035289764, -0.06738239526748657, -0.1946815848350525, -0.08303720504045486, -0.11810874938964844, -0.10577236860990524, -0.10919227451086044, -0.1817607879638672, -0.1215384304523468, -0.10214140266180038, -0.07347872108221054, 0.02547229453921318, -0.10015787929296494, -0.13504067063331604, -0.2063315361738205, -0.212251216173172, -0.14063817262649536, 0.07295747101306915, -0.12737634778022766, -0.11426439136266708, 0.048141200095415115, -0.1895589828491211, -0.122296042740345, -0.09124461561441422, -0.1306406855583191, -0.11059374362230301, -0.08933433145284653, -0.10282181948423386, -0.09223897755146027, -0.10636429488658905, 0.03904517740011215, -0.17892584204673767, -0.09602335840463638, -0.10203579813241959, -0.08578408509492874, -0.15260887145996094, 0.0723818987607956, -0.16301289200782776, -0.16890624165534973, -0.12034352868795395, -0.132132887840271, 0.07743747532367706, -0.17328591644763947, -0.05668462812900543, -0.15007257461547852, -0.06927656382322311, -0.051933713257312775, -0.06214561313390732, -0.09250117093324661, -0.10151826590299606, -0.1372835636138916, 0.049108993262052536, -0.03497307002544403, 0.03873743116855621, -0.21541330218315125, -0.17127832770347595, -0.17770743370056152, -0.1622113287448883, -0.061631910502910614, -0.09101960062980652, -0.08701395243406296, -0.11577611416578293, -0.15054863691329956, -0.1563808023929596], \"y\": [-0.030932579189538956, -0.029784811660647392, 0.027816124260425568, 0.052649639546871185, -0.08360043913125992, -0.045878976583480835, -0.03196711838245392, -0.05299531668424606, 0.04459553584456444, -0.09865463525056839, -0.1411275714635849, -0.10385097563266754, -0.08891429007053375, 0.00433732196688652, -0.08769159018993378, -0.22036568820476532, -0.05234626680612564, -0.024557996541261673, 0.02373792603611946, -0.046569906175136566, -0.06808333098888397, 0.022671028971672058, 0.09104150533676147, -0.06828781217336655, 0.06325268745422363, 0.03882686793804169, 0.048787131905555725, 0.028633899986743927, -0.009923048317432404, 0.019307877868413925, -0.10233355313539505, -0.13443908095359802, 0.05487079545855522, 0.043707482516765594, -0.022086724638938904, 0.025693487375974655, -0.09498623013496399, 0.043080154806375504, 0.035734135657548904, -0.06229591742157936, 0.07291960716247559, 0.03627737611532211, 0.021922629326581955, 0.006797716021537781, 0.06338831037282944, 0.024806322529911995, 0.055399008095264435, -0.06310493499040604, -0.1157476007938385, -0.11366599798202515, -0.03957836329936981, 0.007869943976402283, -0.026980169117450714, -0.08894909918308258, 0.026954572647809982, 0.0025216713547706604, 0.02852417342364788, 0.06952587515115738, -0.014946404844522476, 0.004249103367328644, -0.08897091448307037, -0.007747948169708252, 0.07206973433494568, -0.06833209097385406, -0.005375593900680542, -0.025177577510476112, -0.02030133455991745, 0.008161235600709915, -0.005185812711715698, -0.22843575477600098, -0.04049982875585556, -0.01085873693227768, 0.09723171591758728, -0.08334717154502869, -0.06124574691057205, -0.01900343783199787, -0.0316755548119545, 0.03378782793879509, -0.011228280141949654, -0.08610940724611282, -0.2207583785057068, 0.08828114718198776, 0.03131147474050522, 0.03162886202335358, -0.12278661876916885, 0.025520838797092438, 0.05916222184896469, -0.01952957548201084, -0.1358606219291687, -0.06886325776576996, -0.08429090678691864, -0.0870092362165451, 0.05227697640657425, -0.061825841665267944, -0.11976080387830734, 0.021537862718105316, -0.010642167180776596, 0.06008228659629822, 0.07752605527639389, -0.003437139093875885, -0.03673719987273216, -0.05585756525397301, 0.06049010902643204, -0.09764016419649124, 0.01655445247888565, -0.025441385805606842, -0.08538412302732468, -0.024435043334960938, 0.10824069380760193, 0.07491930574178696, 0.052890531718730927, -0.042432017624378204, -0.10595052689313889, 0.04763197898864746, 0.06224878504872322, 0.021001309156417847, 0.01104302704334259, -0.06061704456806183, -0.03353698551654816, 0.03277970850467682, -0.043792497366666794, 0.03334983065724373, -0.03969322144985199, -0.07511790096759796, 0.0033264290541410446, -0.09414307773113251, -0.04297507554292679, -0.12033894658088684, -0.027241751551628113, -0.11421047896146774, -0.025494810193777084, 0.04259846732020378, -0.09722989797592163, -0.10211142897605896, -0.07960008084774017, -0.06136306747794151, -0.10589036345481873, 0.006799470633268356, 0.028582099825143814, 0.08364031463861465, -0.02977461740374565, -0.06955909729003906, -0.03352486342191696, -0.007101304829120636, 0.07409968972206116, 0.02770836651325226, 0.0853012278676033, -0.10400911420583725, -0.013580575585365295, -0.10929593443870544, -0.0595117062330246, 0.02221084199845791, 0.040435802191495895, -0.04737538844347, 0.049494195729494095, 0.04857046529650688, -0.037539057433605194, 0.06731440126895905, 0.026254378259181976, 0.02527686208486557, -0.08335858583450317, -0.0037651285529136658, -0.059715431183576584, 0.04302704706788063]}, {\"marker\": {\"color\": 19, \"size\": 5}, \"mode\": \"markers\", \"name\": \"14\", \"text\": [\"Norton 360 Standard - 3 Devices, 1 Year\", \"Microsoft 365 Business Standard - 12-Month Subscription, 1 Person \", \"Speck - Presidio Clear MacBook Pro 2016 13\\\" Case \", \"21.5\\\" iMac 2.3GHz 1TB \", \"Adobe - Acrobat Pro 17 Windows - Commercial Edition - Digital Delivery\", \"Adobe - Acrobat Pro 17 Mac - Commercial Edition - Digital Delivery\", \"Adobe - Creative Cloud Photography Plan - Commercial - Digital Delivery \", \"Adobe - Photoshop Elements 2020 & Premiere Elements 2020 - Mac - Digital Delivery\", \"Apple AirPods  \", \"Apple 85W MagSafe 2 Power Adapter\", \"Adobe - Photoshop Elements 2020 - Windows - Digital Delivery\", \"Apple AirPods with Charging Case (2nd Gen) - MV7N2ZA/A\", \"Microsoft Office Home & Student 2019 - One-time purchase - 1 PC/Mac\", \"Microsoft Office Home & Business 2019 - One-time purchase - 1 PC/Mac\", \"Microsoft 365 Family | 12-Month Subscription, Up to 6 people\", \"Apple AirPods with Wireless Charging Case - MRXJ2ZA/A \", \"Apple 45W MagSafe 2 Power Adapter\", \"Apple 12W USB Power Adapter\", \"Norton 360 Standard - 2 Devices, 1 Year\", \"Speck - MacBook Air 13\\\" SeeThru Case - Clear\", \"Norton 360 Standard - 1 Device, 1 Year\", \"Adobe - Creative Cloud Photography Plan - Digital Delivery\", \"Adobe - Acrobat Pro DC 12 Months  - Digital Delivery\", \"Adobe - Photoshop Elements 2020 - Mac - Digital Delivery \", \"Adobe - Premiere Elements 2020 - Mac - Digital Delivery\", \"Adobe - Premiere Elements 2020 - Windows - Digital Delivery\", \"Apple Pencil for iPad Pro\", \"Apple Wireless Charging Case for AirPods - MR8U2ZA/A \", \"Apple - iPad Camera Connection Kit \", \"Apple Magic Trackpad 2\", \"Apple AirPods Pro\", \"Microsoft 365 Personal | 12-Month Subscription, for 1 Person\", \"Adobe - Photoshop Elements 2020 & Premiere Elements 2020 - Windows - Digital Delivery\", \" Apple Pencil (2nd Generation) - MU8F2ZA/A  \", \"Apple - 60W MagSafe 2 Power Adapter\", \"Norton 360 Standard - 5 Devices, 1 Year\", \"Apple - MD837AM/A - World Travel Adapter Kit\"], \"type\": \"scatter\", \"x\": [0.14959046244621277, 0.19227510690689087, 0.14804452657699585, 0.24004694819450378, 0.22306093573570251, 0.22346970438957214, 0.21648971736431122, 0.2435539811849594, 0.4050995111465454, 0.20518198609352112, 0.22517886757850647, 0.3080950677394867, 0.27497103810310364, 0.2571772634983063, 0.15571559965610504, 0.3342170715332031, 0.22609031200408936, 0.2947750687599182, 0.1582452356815338, 0.13636748492717743, 0.14220616221427917, 0.22569513320922852, 0.21839210391044617, 0.22205954790115356, 0.23934951424598694, 0.24293400347232819, 0.31962496042251587, 0.2991816997528076, 0.3125963807106018, 0.3152003288269043, 0.4112440347671509, 0.20507782697677612, 0.24707967042922974, 0.18394239246845245, 0.20206919312477112, 0.15269455313682556, 0.24108994007110596], \"y\": [-0.014502391219139099, -0.009254410862922668, 0.0176391564309597, 0.22133998572826385, -0.026754247024655342, -0.03712272271513939, -0.06130877882242203, 0.0025138575583696365, -0.15578699111938477, 0.0027077775448560715, -0.037514179944992065, -0.06971888989210129, 0.024512682110071182, 0.023919913917779922, 0.04387306049466133, -0.1895909309387207, -0.007154889404773712, -0.0024882201105356216, -0.01569821685552597, -0.0046670325100421906, 0.0002747001126408577, -0.056229118257761, -0.09861086308956146, -0.03839488327503204, -0.03953191265463829, -0.04432488977909088, 0.04521481320261955, -0.12488788366317749, 0.01510564424097538, -0.024929724633693695, -0.14026379585266113, -0.006173852831125259, 0.00012675859034061432, -0.004676885902881622, 0.02315441519021988, 0.017306290566921234, -0.08102281391620636]}, {\"marker\": {\"color\": 20, \"size\": 5}, \"mode\": \"markers\", \"name\": \"15\", \"text\": [\"Breville - LAP300WHT - the Smart Air Purifier\", \"Breville - BES500BSS - the Bambino\\u2122 Plus - Brushed Stainless Steel\", \"Breville - BTA735BSS - the Toast Select\\u2122 Luxe - Silver Pearl\", \"Breville BodyZone Connect King Quilted Fitted Heated Blanket \", \"Breville - the Oracle\\u00ae Touch - BES990BSS\", \"Breville - LAP150WHT - the Easy Air Purifier\", \"Breville - MS400D - the Shake Creation\\u2122\", \"Breville - BKE840CLR - the Smart Kettle - Clear \", \"Breville - BOV860BSS - the Smart Oven\\u2122 Air Fryer\", \"Breville - BGR840BSS - the Smart Grill\\u2122 Pro\", \"Breville - BCG200 - the Coffee & Spice\\u2122\", \"Breville - BES003 - the Temp Control\\u2122 Milk Jug\", \"Breville - BES009CLR - Eco Liquid Descaler\", \"Breville - BES015CLR - Espresso Detox Pack\", \"Breville - BDF500 - the Smart Fryer\\u2122\", \"Breville - BSC560 - the Flavour Maker\\u2122 \", \"Breville - BES878BTR - the Barista Pro\\u2122\", \"Breville - BMF600 - The Milk Caf\\u00e9\\u2122\", \"Breville - BFP100 - Mini Wizz\", \"Breville - BJE200 - Juice Fountain\\u2122\", \"Breville - BSG540 - ikon\\u2122 4 Slice Sandwich Press \", \"Breville the Barista Express\\u2122 Coffee Machine - BES870\", \"Breville - BES010CLR - 1L Eco Liquid Descaler\", \"Breville - BKE735DBL - the Soft Top\\u00ae Luxe - Damson Blue\", \"Breville - BBL620SIL/V - the Fresh & Furious\\u00ae Blender\", \"Breville - BES878BSS - the Barista Pro\\u2122\", \"Breville - BFP680BAL - the Kinetix Wizz\\u2122 11 Plus\", \"Breville - BTM800 - Tea Maker & Kettle\", \"Breville BodyZone Connect Queen Quilted Fitted Heated Blanket \", \"Breville - BES011CLR - Eco Milk Frother Cleaner\", \"Breville - the Smoking Gun\\u2122 Woodchips - BSM600AWC\", \"Breville - LMC600GRY - Multi Chef Multicooker 9 in 1\", \"Breville - BCI600 - the Smart Scoop\\u2122 Ice Cream Maker \", \"Breville - BWM520BSS - the No-Mess Waffle\\u2122\", \"Breville - BKE735BTR - the Soft Top \\u00ae Luxe - Black Truffle \", \"Breville - BGR710BSS - the Sear & Press Grill\", \"Breville - BTA435BSS - the 'Bit More' Plus\", \"Breville - BRC600 - the Multi Chef\\u2122\", \"Breville - BKE395 - the Compact Kettle\\u2122 Pure\", \"Breville - BEC660CRO - Citiz & Milk - Chrome\", \"Breville - LEG250GRY - the Light and Fluffy\", \"Breville - LBM200BSS - The Bread Baker \", \"Breville - LAP030WHT - 3-Layer Filter\", \"Breville - BES012CLR - Eco Coffee Residue Cleaning Tablets\", \"Breville - BWF100 - 6 Water Filters \", \"Breville - BOV650CB - Bamboo Cutting Board\", \"Breville - BES001BTR - the Knock Box Mini - Black\", \"Breville - BJE410 - Juice Fountain\\u2122 Max\", \"Breville - BOV850BSS - the Smart Oven\\u2122 Pro - Stainless  \", \"Breville - LAP015WHT - 3-Layer Filter\", \"Breville - BNE900BSS - Creatista Pro\", \"Breville - LAH400WHT - the Smart Mist\\u2122 Air Humidifier\", \"Breville - LTS425GRY - the Power Toastie\", \"Breville - BFP800 - Kitchen Wizz\\u2122 Pro\", \"Breville - BKE735BSS - the Soft Top\\u00ae Luxe - Silver Pearl  \", \"Breville - BMO734BB - the Chopping Board\\u2122\", \"Breville - LSP200BSS - the Salt & Pepper Mills\\u2122 \", \"Breville Bench Saver Tamp Mat - BES035BLK\", \"Breville - BMO700BSS - the Quick Touch\\u2122 Crisp\", \"Breville - BTA845 - the Smart Toast\\u2122\", \"Breville - BTA735DBL - the Toast Select\\u2122 Luxe - Damson Blue\", \"Breville - LAP500WHT - the Smart Air Plus Purifier\", \"Breville - BKE750CLR - the Crystal Clear\", \"Breville - the Perfect Press\\u2122 - BSG600BSS \", \"Breville - BES048BTR - the Milk Jug\", \"Breville - BMO735CRN - the Quick Touch\\u2122 - Cranberry\", \"Breville - BES880BSS - the Barista Touch\\u2122\", \"Breville - LAP050WHT - 3-Layer Filter\", \"Breville - BJE830SIL - the Juice Fountain\\u00ae Cold XL  - Silver \", \"Breville - BES920 - the Dual Boiler\\u2122  \", \"Breville the Dynamic Duo\\u2122 Manual Coffee Machine & Grinder - BEP920BSS  \", \"Breville - LSC650BSS - the Searing Slow Cooker\", \"Breville - BEP920BKS - the Dynamic Duo\\u2122 - Black Sesame\", \"Breville - 800CP - 800 Class\\u2122 Citrus Press\", \"Breville - BCG600SIL - the Dose Control\\u2122 Pro\", \"Breville - BES880BTR - the Barista Touch\\u2122\", \"Breville - BSC500 - The Flavour Maker\", \"Breville - BTS100 - The Big One\", \"Breville - URN6 - 6 Litre Urn\", \"Breville - BSG220 - Toast & Melt\\u2122\", \"Breville - BES001BSS - the Knock Box\\u2122 Mini\", \"Breville - BTA830 - the Smart Toast\", \"Breville - BMO735BSS - the Quick Touch\\u2122 - Stainless\", \"Breville - BTA825 - the Smart Toast\\u2122\", \"Breville - BWM250 - the Crisp Control\\u2122\", \"Breville - BES013CLR - Eco Coffee Residue Cleaner 40Pk\", \"Breville - BTA320 - Toaster\", \"Breville - BEC250 - Espresso Machine Cleaning Tablets\", \"Breville - BRC460 - The Rice Box\\u2122 Cooker\", \"Breville - BBL820 - The Q\\u2122\", \"Breville - BFP005 - the Dicing Kit\", \"Breville - BCB100 - Bar Vista Coffee Grinds Bin\", \"Breville - BPB001 - the Boss To Go Chill Cup \", \"Breville - BFP560SIL - the Kitchen Wizz 8\", \"Breville - the Thermal Pro Stainless\\u2122 - BEF560BSS\", \"Breville - BHM800SHY - the Handy Mix Scraper\\u2122\", \"Breville - BES008WHT - Claris Swiss Filter\", \"Breville - BSM600SIL - the Smoking Gun\", \"Breville - BTA440BSS - the 'Bit More' Plus\", \"Breville the Smart Grinder Pro\\u2122 - BCG820BSS\", \"Breville - the Boss\\u2122 - BBL915BAL\", \"Breville - BKE735SST - the Soft Top\\u00ae Luxe - Sea Salt\", \"Breville - BNE800BTR - Creatista Plus \", \"Breville - BTA735BTR - the Toast Select \\u2122 Luxe - Black Truffle\", \"Breville - BSG1974 - the Original '74\\u2122\", \"Breville - BJE530BSS - the Juice Fountain\\u00ae Cold Plus - Brushed Stainless Steel\", \"Breville the 3X Bluicer Pro - Blend, Juice Or Bluice - BJB815BSS \", \"Breville - BJE830BTR - the Juice Fountain\\u00ae Cold XL\", \"Breville - BJE830BSS - the Juice Fountain\\u00ae Cold XL - Brushed Stainless Steel\", \"Breville - BES030BSS - the Bean Keeper Coffee Canister\", \"Breville - BMO625 - Quick Touch Compact - Silver \", \"Breville Aroma Style Electronic Coffee Machine - BCM600\", \"Breville - BFP820BAL - the Kitchen Wizz\\u00ae Peel & Dice\", \"Breville - BEC220BLK - Essenza Mini Solo - Pure Black\", \"Breville - BEW300 - HealthSmart\\u00ae Wok\", \"Breville - BKE825 - the Smart Kettle\\u2122\", \"Breville - LHM150SIL - the Handy Mix & Store\\u2122\", \"Breville - BGR250 - Healthsmart\\u2122 Grill & Press\", \"Breville Creatista Plus - BNE800SST - Sea Salt\", \"Breville - BOV860BTR - The Smart Oven\\u2122 Air Fryer\", \"Breville - BPR700BSS - the Fast Slow Pro\", \"Breville - BJE530DBL - the Juice Fountain\\u00ae Cold Plus - Damson Blue\", \"Breville the Oracle\\u2122 Manual Espresso Coffee Machine BES980BSS \", \"Breville - LAH300WHT - The Easy Mist\\u2122 Humidifier\", \"Breville - BTA845MIN - the Smart Toast\\u2122 - Mint\", \"Breville Nespresso Creatista Plus - BNE800BSS\", \"Breville - BBL925BSS - the Super Q and Vac Q Bundle\", \"Breville - BJS700SIL - the Big Squeeze \", \"Breville - BTA735SST - the Toast Select\\u00ad\\u2122 Luxe - Sea Salt\", \"Breville - LKT640BSS - the Breakfast Pack\\u2122\", \"Breville the Barista Express\\u2122 Black Sesame - BES870BKS \"], \"type\": \"scatter\", \"x\": [-0.04760119318962097, -0.05238969624042511, -0.04091093689203262, -0.08344200253486633, 0.1507294625043869, -0.11247644573450089, -0.01650311052799225, -0.13950639963150024, -0.24569737911224365, -0.08598098903894424, -0.08587929606437683, -0.06821482628583908, -0.09010966122150421, -0.05256321281194687, -0.08650009334087372, -0.12691721320152283, -0.012386202812194824, -0.05138295143842697, -0.07527507841587067, -0.02603428065776825, -0.09044507145881653, -0.06885413825511932, -0.1335776150226593, 0.007354713976383209, -0.10829419642686844, -0.014351122081279755, -0.04872560501098633, -0.11690576374530792, -0.07404978573322296, -0.12900757789611816, -0.10775056481361389, -0.2552056610584259, -0.1109347864985466, -0.11764051765203476, -0.006323650479316711, -0.19913151860237122, -0.05038149654865265, -0.21372589468955994, -0.1320418119430542, -0.033236704766750336, -0.08144202083349228, -0.16628862917423248, -0.025227636098861694, -0.07094644755125046, -0.09046988189220428, -0.07906129211187363, 0.02993670105934143, -0.00274764746427536, -0.21393540501594543, -0.006985768675804138, 0.015267394483089447, -0.06511573493480682, -0.09307901561260223, -0.23182660341262817, -0.022388100624084473, -0.09315048903226852, -0.0960455909371376, -0.11904904991388321, 0.024739928543567657, -0.021749399602413177, -0.03201548755168915, -0.008192561566829681, -0.03469301760196686, -0.04517973214387894, -0.08927195519208908, 0.006631150841712952, 0.031992584466934204, -0.005112200975418091, -0.0990600436925888, -0.14457528293132782, -0.07837674021720886, -0.2944539785385132, 0.051948606967926025, -0.015973709523677826, 0.014153249561786652, 0.035990357398986816, -0.11598853021860123, -0.047114297747612, -0.10347829014062881, -0.0937262624502182, 0.02001534402370453, -0.06077997386455536, -0.02638740837574005, -0.043958812952041626, 0.011731661856174469, -0.13066452741622925, -0.16724255681037903, -0.10404171794652939, -0.24092835187911987, -0.024970486760139465, -0.0706566721200943, -0.12240300327539444, -0.08509612083435059, -0.24963393807411194, -0.13346940279006958, -0.04226110875606537, -0.01680576056241989, -0.09947892278432846, -0.05143394321203232, -0.05558733269572258, -0.02581271529197693, -0.044894345104694366, -0.027663931250572205, -0.024630427360534668, -0.0595383420586586, -0.11289294809103012, 0.01484081894159317, -0.10425455123186111, -0.13897612690925598, -0.13235656917095184, -0.023787416517734528, -0.11738806962966919, -0.28076043725013733, -0.00832880288362503, -0.07007384300231934, -0.1090141162276268, -0.006916500627994537, -0.15305715799331665, -0.028073884546756744, -0.2341509461402893, 0.03701521456241608, -0.04139803349971771, -0.04619409143924713, -0.13019618391990662, -0.026743464171886444, -0.045830562710762024, -0.03368986397981644, -0.07237045466899872, -0.06162139028310776, -0.07420502603054047, -0.036812521517276764], \"y\": [-0.13733133673667908, -0.21487298607826233, -0.2036685049533844, -0.12777499854564667, -0.20195111632347107, -0.19621595740318298, -0.23712952435016632, -0.14878299832344055, -0.05752990022301674, -0.04870007187128067, -0.2666502892971039, -0.27162110805511475, -0.2574765384197235, -0.28072425723075867, -0.18467672169208527, -0.2511664628982544, -0.3082219958305359, -0.2727120518684387, -0.23878957331180573, -0.28328225016593933, -0.045792266726493835, -0.23886746168136597, -0.21562239527702332, -0.25019100308418274, -0.257805198431015, -0.28950977325439453, -0.21503344178199768, -0.24947890639305115, -0.11936366558074951, -0.23374560475349426, -0.2171819806098938, -0.06181151419878006, -0.1923348605632782, -0.2587529718875885, -0.2237500697374344, -0.13026991486549377, -0.24501608312129974, -0.22799503803253174, -0.21991336345672607, -0.1833907514810562, -0.2623423635959625, -0.24918049573898315, -0.2105262279510498, -0.2046821266412735, -0.15909254550933838, -0.20022127032279968, -0.2971803843975067, -0.2327115386724472, -0.047494374215602875, -0.20808222889900208, -0.22732649743556976, -0.11852619051933289, -0.20182952284812927, -0.17381829023361206, -0.20117995142936707, -0.26801222562789917, -0.2351359724998474, -0.2590664029121399, -0.24122634530067444, -0.17517098784446716, -0.23968055844306946, -0.13272932171821594, -0.19998428225517273, -0.1615530550479889, -0.2737763524055481, -0.25514575839042664, -0.27431684732437134, -0.21392467617988586, -0.19817084074020386, -0.15424731373786926, -0.17584896087646484, -0.1322307288646698, -0.24699386954307556, -0.22082799673080444, -0.23368269205093384, -0.29594722390174866, -0.25592073798179626, -0.1800626814365387, -0.13481615483760834, -0.15722624957561493, -0.2822487950325012, -0.18961510062217712, -0.20403359830379486, -0.1820264309644699, -0.2274157702922821, -0.1900978535413742, -0.2560461163520813, -0.18617460131645203, -0.20076021552085876, -0.20623351633548737, -0.2844651937484741, -0.23400437831878662, -0.3129381537437439, -0.09765929728746414, -0.19540175795555115, -0.24092839658260345, -0.28655099868774414, -0.24138620495796204, -0.25289809703826904, -0.12531286478042603, -0.32314348220825195, -0.18371587991714478, -0.2845528721809387, -0.2170531302690506, -0.08284702152013779, -0.1574820876121521, -0.23827305436134338, -0.21508488059043884, -0.15025141835212708, -0.2619158923625946, -0.22449839115142822, -0.2055976390838623, -0.18664336204528809, -0.20181596279144287, -0.19253884255886078, -0.16607390344142914, -0.19504354894161224, -0.14651915431022644, -0.2373044639825821, -0.096550852060318, -0.24181881546974182, -0.2386837601661682, -0.13786771893501282, -0.20821541547775269, -0.21242301166057587, -0.23939800262451172, -0.11732862144708633, -0.21960723400115967, -0.18422046303749084, -0.20495906472206116, -0.26513248682022095]}, {\"marker\": {\"color\": 21, \"size\": 5}, \"mode\": \"markers\", \"name\": \"16\", \"text\": [\"Fisher & Paykel - OR90SCG6B1 - 90cm Freestanding Dual Fuel Cooker - Black\", \"Portofino By Smeg - CPF9GPWHA - 90cm Freestanding Cooker\", \"Fisher & Paykel - OS60NDB1 - 60cm Built-in Combination Steam Oven\", \"Westinghouse - WHI944BA - 90cm Induction Cooktop\", \"Smeg - SAI90MB - 90cm Induction Cooktop\", \"Fisher & Paykel - OB60SD9PX1 - 60cm Built-in Oven\", \"Euromaid - EG90S - 90cm Freestanding Cooker\", \"Smeg - SI364B - 60cm Induction Cooktop\", \"Fisher & Paykel - OB60SD11PX1 - 60cm Built-in Oven\", \"Fisher & Paykel - CI904CTB1 - 90cm Induction Cooktop\", \"Fisher & Paykel - OR90SCI4W1 - 90cm Freestanding Induction Cooker\", \"Fisher & Paykel 90cm Pyramid Chimney Wall Rangehood - HC90PCB1 - Black\", \"Fisher & Paykel - OB60B77CEW3 - 60cm Double Built-in Oven - White\", \"Fisher & Paykel - OR90SCG4X1 - 90cm Freestanding Dual Fuel Cooker\", \"Beko - 90cm Vitroceramic Freestanding Cooker - BFC918VMX\", \"Fisher & Paykel - CG905DNGGB1 - 90cm Gas Cooktop\", \"Beko - BCT903IG - 90cm Induction Cooktop\", \"Fisher & Paykel - CG604CNGX2 - 60cm Gas Cooktop\", \"Beko - 90cm Freestanding Multifunction Cooker - BFC916GMX\", \"Fisher & Paykel - OB60SL11DEPB2 - 60cm Built-in Oven\", \"Smeg - FS9606XSN - 90cm Freestanding Cooker \", \"Smeg - C9GMNA1 - 90cm Freestanding Cooker\", \"Fisher & Paykel OB76SDPTDB1 - 76cm Built-in Single Oven - Black\", \"Fisher & Paykel - OR90SCI6W1 - 90cm Freestanding Induction Cooker - White\", \"Portofino By Smeg - CPF9IPX - 90cm Freestanding Cooker \", \"Fisher & Paykel OB76SDPTDX1 - 76cm Built-in Single Oven - Stainless Steel\", \"Fisher & Paykel - OB90S9MEX3 - 90cm Built-in Oven\", \"Fisher & Paykel - OB60SC7CEX2 - 60cm Built-In Oven\", \"Fisher & Paykel - OR90SCI6R1 - 90cm Freestanding Induction Cooker - Red\", \"Fisher & Paykel - OM60NDB1 - 60cm Built-in Combination Microwave Oven\", \"Chef - CHS942WA - 90cm Solid Element Cooktop\", \"Fisher & Paykel EB60DSXBB1 - 60cm Built-in Coffee Maker - Black\", \"Fisher & Paykel - CG302DNGGB1 - 30cm Gas on Glass Cooktop\", \"Smeg - 90cm Portofino Pyrolytic Freestanding Cooker - Sunshine Yellow \", \"DeLonghi - DEF905EX1 - 90cm Freestanding Oven \", \"Fisher & Paykel - OR90SCG6R1 - 90cm Freestanding Dual Fuel Cooker - Red\", \"Fisher & Paykel - OR90SCG4B1 - 90cm Freestanding Dual Fuel Cooker\", \"Fisher & Paykel - OB60SC8DEPX2 - 60cm Built-in Oven\", \"Fisher & Paykel - OB60SC5CEX2 - 60cm Built-In Oven\", \"DeLonghi - DEGHBG90 - 90cm Gas Cooktop\", \"Omega - OBO960X - 90cm Multifunction Oven\", \"Portofino By Smeg - CPF9GPBLA - 90cm Freestanding Cooker\", \"Fisher & Paykel - CG603DNGGB1 - 60cm Gas Cooktop\", \"Fisher & Paykel - OB60SD9PB1 - 60cm Built-in Oven\", \"Fisher & Paykel - WB60SDEX1 - 60cm Warming Drawer\", \"Fisher & Paykel - CG604DNGGB1 - 60cm Gas Cooktop\", \"Smeg - TR90IP9 - 90cm Victoria Induction Freestanding Cooker\", \"Smeg - FS9010CER - 90cm Freestanding Electric Cooker\", \"Fisher & Paykel - CI604DTB3 - 60cm Induction Cooktop\", \"Smeg - PSA906-5 - 90cm Gas Cooktop\", \"Fisher & Paykel - OB60B77CEX3 - 60cm Double Built-in Oven - Brushed Stainless Steel\", \"Fisher & Paykel - WB60SDEB1 - 60cm Warming Drawer\", \"Smeg - PV395LCNAU - 90cm Gas Cooktop\", \"DeLonghi - DEGMATIK90 - 90cm Gas Cooktop\", \"Smeg - SAI3963B - 90cm Induction Cooktop\", \"Westinghouse WHI945BC - 90cm Induction Cooktop\", \"Fisher & Paykel - OB60SC7CEW2 - 60cm Built-In Oven\", \"Westinghouse - WFE946SC - 90cm Electric Freestanding Cooker\", \"Smeg - FS9608AS - 90cm Freestanding Cooker\", \"Smeg - SAI915B - 82cm Induction Cooktop\", \"Smeg - TRA93P - 90cm Thermoseal Freestanding Cooker - Panna\", \"Smeg - TR90IX9 - 90cm Victoria Induction Freestanding Cooker\", \"Portofino By Smeg - CPF9IPYW - 90cm Freestanding Cooker \", \"Smeg - C91GVXA-2 - 90cm Freestanding Cooker\", \"Fisher & Paykel - OR90SCI6X1 - 90cm Freestanding Induction Cooker - Stainless Steel\", \"Fisher & Paykel - CG604DX1 - 60cm Gas on Steel Cooktop\", \"Westinghouse WHI943BC - 90cm 4 Zone Induction Cooktop\", \"Fisher & Paykel OB60SDPTDX1 - 60cm Pyrolytic Built-in Oven - Stainless Steel \", \"Beko - BCT601IG - 60cm Induction Cooktop\", \"Portofino By Smeg - CPF9GPOGA - 90cm Freestanding Cooker\", \"Fisher & Paykel - OR90SCG2X1 - 90cm Freestanding Dual Fuel Cooker\", \"Smeg - SAI3643B - 60cm Induction Cooktop\", \"Fisher & Paykel - CG905DX1 - 90cm Gas on Steel Cooktop\", \"DeLonghi - DE904PSC - 90cm Built-in Project Oven\", \"Fisher & Paykel - DD60DDFX7 - Double DishDrawer\\u2122\", \"Fisher & Paykel - CE905CBX2 - 90cm Electric Cooktop\", \"Omega - OCG95FFX - 90cm Gas Cooktop\", \"Fisher & Paykel - HC90DCXB3 - 90cm Wall Chimney Box Rangehood\", \"Fisher & Paykel - CI704CTB1 - 70cm Induction Cooktop\", \"Fisher & Paykel - OR90SCI4B1 - 90cm Freestanding Induction Cooker\", \"Fisher & Paykel 90cm Pyramid Chimney Wall Rangehood - HC90PCR1 - Red\", \"Smeg - A1PYID-9 - 90cm Classic Opera Pyrolitic Induction Cooker\", \"Fisher & Paykel - HP90IDCHX3 - 90cm Integrated Rangehood\", \"Portofino By Smeg - CPF9IPOG - 90cm Freestanding Cooker \", \"Fisher & Paykel - CG903DNGGB1 - 90cm Gas on Glass Cooktop\", \"Fisher & Paykel - CE604CBX2 - 60cm Electric Cooktop\", \"Fisher & Paykel - CI754DTB2 - 75cm Induction Cooktop\", \"Portofino By Smeg - CPF9GPRA - 90cm Freestanding Cooker\", \"DeLonghi - DEGHSL90 - 90cm Gas Cooktop\", \"Fisher & Paykel 90cm Pyramid Chimney Wall Rangehood - HC90PCX1 - Stainless Steel\", \"Fisher & Paykel - OR90SCG6W1 - 90cm Freestanding Dual Fuel Cooker - White\", \"Fisher & Paykel - OB90S9MEPX3 - 90cm Pyrolytic Built in Oven\", \"Fisher & Paykel OB76DDPTDX1 - 76cm Built-in Double Oven - Stainless Steel\", \"Fisher & Paykel OM60NDBB1 - 60cm Built-in Combination Microwave Oven - Black\", \"DeLonghi - DE302IB - 30cm Induction Cooktop\", \"Portofino By Smeg - CPF9IPWH - 90cm Freestanding Cooker \", \"Portofino By Smeg - CPF9IPAN - 90cm Freestanding Cooker \", \"Fisher & Paykel - OR90SCI6B1 - 90cm Freestanding Induction Cooker - Black\", \"Fisher & Paykel - HP60IDCHX3 - 60cm Integrated Rangehood\", \"DeLonghi - DEP909M - 90cm Built In Premium Oven\", \"Fisher & Paykel - CI604CTB1 - 60cm Induction Cooktop\", \"Fisher & Paykel - OR90SCG4W1 - 90cm Freestanding Dual Fuel Cooker\", \"Fisher & Paykel 90cm Pyramid Chimney Wall Rangehood - HC90PCW1 - White\", \"Smeg - SAI90MW - 90cm Induction Cooktop\", \"Asko - HI1995G - 90cm Bridge Induction Cooktop  \", \"Fisher & Paykel - OR90SCI4X1 - 90cm Freestanding Induction Cooker\", \"Asko - HI1975G - 90cm Bridge Induction Cooktop\", \"Fisher & Paykel - HC60DCXB3 - 60cm Wall Chimney Box Rangehood\", \"Fisher & Paykel - OB76SDEPX3 - Pyrolytic Built-in Oven\", \"Smeg - CS95GMNNA1 - 90cm Freestanding Cooker  \", \"Smeg - TR90IBL9 - 90cm Victoria Induction Freestanding Cooker\", \"DeLonghi - DEIND604 - 60cm Induction Cooktop\", \"DeLonghi - DEFV908BK - 90cm Vintage Cooker\", \"Fisher & Paykel - OB76DDEPX3 - 76cm Double Built-in Oven\", \"Fisher & Paykel OB60SDPTDB1 - 60cm Built-in Oven - Black\", \"Beko - 60cm Induction Upright Cooker - BFC63IPB\", \"Beko - BCT603IG - 60cm Induction Cooktop\", \"Fisher & Paykel - OR90SCG1X1 - 90cm Freestanding Dual Fuel Cooker\", \"Portofino By Smeg - CPF9IPR - 90cm Freestanding Cooker \", \"Portofino By Smeg - CPF9IPOR - 90cm Freestanding Cooker \", \"Portofino By Smeg - CPF9IPBL - 90cm Freestanding Cooker \", \"Portofino By Smeg - CPF9GPXA - 90cm Freestanding Cooker\", \"Fisher & Paykel - OR90SCG6X1 - 90cm Freestanding Dual Fuel Cooker - Stainless Steel\", \"Portofino By Smeg - CPF9GPORA - 90cm Freestanding Cooker\", \"Portofino By Smeg - CPF9GPANA - 90cm Freestanding Cooker \", \"Euromaid - CS9TS - 90cm Freestanding Cooker\", \"Asko - HG1986AD - 90cm Gas Cooktop - Anthracite\", \"DeLonghi - DEFP907S - 90cm Freestanding Oven\", \"Smeg - C9IMXA1 - 90cm Freestanding Cooker\", \"Fisher & Paykel - CI603DTB2 - 60cm Induction Cooktop\"], \"type\": \"scatter\", \"x\": [-0.26452314853668213, -0.3347524106502533, -0.3824807405471802, -0.3720919191837311, -0.3210078775882721, -0.36159613728523254, -0.36620810627937317, -0.36382415890693665, -0.3541257381439209, -0.29683730006217957, -0.3045884370803833, -0.19290423393249512, -0.3463394343852997, -0.2977343797683716, -0.373096764087677, -0.35559237003326416, -0.28795260190963745, -0.36339518427848816, -0.3350012004375458, -0.3769371211528778, -0.4042901396751404, -0.33368533849716187, -0.3070598542690277, -0.2945433259010315, -0.3082638382911682, -0.3428346812725067, -0.33785101771354675, -0.3616273105144501, -0.275471031665802, -0.30802109837532043, -0.3960329294204712, -0.17091414332389832, -0.32443755865097046, -0.2942951023578644, -0.3408184051513672, -0.2806839942932129, -0.30849578976631165, -0.36393842101097107, -0.3627810478210449, -0.3390202224254608, -0.3046863377094269, -0.321158766746521, -0.3638520836830139, -0.37418249249458313, -0.2665543854236603, -0.36826568841934204, -0.31300199031829834, -0.38057413697242737, -0.2898060083389282, -0.4260282814502716, -0.34318432211875916, -0.28254273533821106, -0.4163077175617218, -0.35395950078964233, -0.3411349058151245, -0.3714629113674164, -0.379960834980011, -0.388718843460083, -0.4051523208618164, -0.3408072292804718, -0.36035600304603577, -0.3152194619178772, -0.32805517315864563, -0.3412555754184723, -0.30343931913375854, -0.37316465377807617, -0.33884039521217346, -0.37052127718925476, -0.29127949476242065, -0.2986859679222107, -0.2952335476875305, -0.33885788917541504, -0.3535507023334503, -0.33060428500175476, -0.08327236026525497, -0.28787609934806824, -0.3005455434322357, -0.21278390288352966, -0.280692994594574, -0.3009621202945709, -0.19855409860610962, -0.27866190671920776, -0.11219464987516403, -0.2901560366153717, -0.33901023864746094, -0.3132193684577942, -0.292456716299057, -0.31106752157211304, -0.34906598925590515, -0.23180702328681946, -0.2939469516277313, -0.34435173869132996, -0.33836811780929565, -0.29495662450790405, -0.3080390989780426, -0.33964890241622925, -0.31348976492881775, -0.2629348039627075, -0.1161617860198021, -0.2978142201900482, -0.29643693566322327, -0.31101739406585693, -0.21343818306922913, -0.31358784437179565, -0.2857820391654968, -0.2896275818347931, -0.2778133451938629, -0.21455630660057068, -0.3135616183280945, -0.37839508056640625, -0.33053916692733765, -0.32709801197052, -0.34446704387664795, -0.348876029253006, -0.30681702494621277, -0.3506711721420288, -0.3015611469745636, -0.29465022683143616, -0.31365934014320374, -0.2977882921695709, -0.3272421658039093, -0.30765122175216675, -0.3112080693244934, -0.3125116229057312, -0.31001120805740356, -0.31921204924583435, -0.2874755561351776, -0.3805813789367676, -0.325757771730423, -0.2902517318725586], \"y\": [0.018481962382793427, -0.007084549404680729, 0.06649018824100494, 0.013228040188550949, 0.06408584862947464, 0.006807716563344002, 0.15010783076286316, -0.002284582704305649, -0.005415515974164009, -0.036439135670661926, 0.0045918673276901245, 0.01147715374827385, -0.024360977113246918, 0.05225924029946327, -0.004503060132265091, 0.0676937997341156, -0.06770949810743332, 0.06664609909057617, -0.04914261773228645, -0.03137627989053726, 0.15604105591773987, 0.13007156550884247, -0.03624603897333145, -0.0038854777812957764, -0.015474473126232624, 0.008555037900805473, -0.008606215938925743, 0.0020991452038288116, -0.021976806223392487, 0.009187057614326477, 0.030321035534143448, -0.047161903232336044, 0.054357364773750305, 0.00808718428015709, 0.04055764526128769, 0.0245802104473114, 0.0279761403799057, -0.004716169089078903, -0.0005621686577796936, 0.02300892025232315, 0.069027379155159, -0.03479602932929993, 0.0736161321401596, -0.004812944680452347, -0.007044073194265366, 0.07111233472824097, 0.033966127783060074, 0.09983067214488983, -0.03329528868198395, 0.10948453843593597, -0.013847632333636284, -0.016742197796702385, 0.09013226628303528, 0.011532347649335861, 0.022269954904913902, 0.05113808438181877, 0.008896976709365845, 0.08494582772254944, 0.14438416063785553, 0.06329134851694107, 0.03663370758295059, 0.04104485735297203, -0.027299517765641212, 0.10290739685297012, 0.01871255785226822, 0.08362913131713867, 0.07649123668670654, 0.015727657824754715, -0.05731017515063286, -0.0030185915529727936, 0.03508815914392471, 0.015504688955843449, 0.08289415389299393, 0.040280405431985855, -0.028389545157551765, 0.005539312958717346, 0.09893028438091278, 0.031980615109205246, -0.045987121760845184, -0.02763938158750534, 0.015954401344060898, 0.03999389708042145, -0.03250998258590698, -0.007573979906737804, 0.08989178389310837, -0.008647382259368896, -0.0464995913207531, -0.013693618588149548, 0.027029164135456085, 0.05814732611179352, 0.04061359167098999, -0.0008893124759197235, -0.006701970472931862, -0.0009976103901863098, -0.10448985546827316, -0.016552042216062546, -0.021068178117275238, -0.029143210500478745, -0.007635226473212242, 5.336478352546692e-05, -0.024474211037158966, 0.0551377609372139, 0.03246276080608368, 0.08237029612064362, -0.014238439500331879, 0.001840054988861084, -0.02798195742070675, 0.04677608981728554, -0.06846380233764648, 0.10335583239793777, 0.025420408695936203, -0.02177240699529648, -0.0032806098461151123, -0.02751884236931801, -0.03639553487300873, -0.05481715500354767, -0.05551004037261009, 0.03295029699802399, -0.032985467463731766, -0.00501857977360487, -0.04915609583258629, -0.001268024556338787, 0.05958941578865051, -0.023120373487472534, -0.018477661535143852, 0.1264442354440689, 0.04775655269622803, 0.03080056980252266, 0.09974321722984314, -0.025076882913708687]}, {\"marker\": {\"color\": 22, \"size\": 5}, \"mode\": \"markers\", \"name\": \"17\", \"text\": [\"Zip - HT2783Z7 - HydroTap Arc - Boiling | Chilled | Sparkling - Brushed Gold\", \"Tefal - QT1020 - IXEO All-in-One Garment Care Solution Steamer\", \"Uniden - UH850S-2TP - UHF Waterproof CB Handheld\", \"Zip - HT4785 - HydroTap Elite - Boiling | Ambient\", \"Zip - HT4783Z3 - HydroTap Elite - Boiling | Chilled | Sparkling - Matte Black\", \"Kambrook - KSS120GRN - SwiftSteam Garment Steamer\", \"Braun - TS755A - TexStyle 7 Steam Iron\", \"Zip - HT2785 - HydroTap Arc - Boiling | Ambient\", \"Aarke Sparkling Water Maker - Polished Steel  \", \"Zip - HT1790 - HydroTap\\u00ae G4 All-in-One - Boiling | Chilled | Sparking | Hot | Cold\", \"Tefal - GV9533 - Pro Express Ultimate Steam Generator\", \"Tefal - DT9120 - Access Steam Plus Garment Steamer\", \"Everdure by Heston Blumenthal - FORCE - 2 Burner Gas Barbeque - HBG2M\", \"Everdure by Heston Blumenthal - FURNACE - 3 Burner Gas Barbeque - Orange - HBG3O\", \"Zip HydroTap Celsius All-In-One ARC - Brushed Gold - MT2790Z7 \", \"Everdure by Heston Blumenthal - Furnace 3 Burner Gas Barbecue - Mint - HBG3M \", \"Zip - MT2790Z2 - HydroTap Celsius All-In-One - Gloss Black\", \"Aquaport - AQP-24SS - Desktop Filtered Water Cooler - Stainless Steel\", \"Tefal - IT2110 - Instant Steam Upright Garment Steamer\", \"Tefal - FV5648 - Turbo Pro Anti-Calc Iron\", \"Zip - HT2784 - HydroTap Arc - Boiling | Chilled | Filtered\", \"Everdure by Heston Blumenthal - HBG3COVER - FURNACE\\u2122 Cover\", \"Everdure by Heston Blumenthal - HBCUBEBAG - CUBE\\u2122 Travel Bag \", \"Neff Induction Hob With Integrated Ventilation System 80 cm - T58TS6BN0\", \"Unilux - Hot or Cold Water Inlet Hose - ULX107\", \"Tefal - DT8100 - Access Steam Plus Handheld Garment Steamer\", \"Zip - HT2783 - HydroTap Arc - Boiling | Chilled | Sparkling   \", \"Tefal - GV6840 - Effectis Anti-Calc Steam Generator Iron\", \"Tefal - FV9951 - Freemove Cordless Steam Iron\", \"Everdure by Heston Blumenthal- HBC2COVER - HUB\\u2122 Cover\", \"Euroflex - M2R - Vapour - M2R Floor Steam Cleaner\", \"Everdure by Heston Blumenthal- HBC1COVERS - FUSION\\u2122 Cover\", \"Zip - HT1783 - HydroTap\\u00ae G4 - Boiling | Chilled | Sparkling \", \"Tefal - SV8013 - Express Anti-Calc Steam Generator\", \"Tefal - IT2461 - ProStyle One Garment Steamer\", \"Rinnai - AV25SL3 - Avenger 25 Convector - 3m Hose - LPG\", \"Tefal - L9259904 - Ingenio Grill Insert\", \"Zip - HT3785 - HydroTap Cube (Chrome) - Boiling | Ambient\", \"Tefal - IH720860 - Express Induction Hob\", \"Everdure by Heston Blumenthal - HBC1COVERL - FUSION\\u2122 Long Cover\", \"Everdure by Heston Blumenthal -  Furnace 3 Burner Gas Barbecue - Stone - HBG3S\", \"Tefal - FV4042 - Ultraglide Steam Iron \", \"Zip - HT1006 - HydroTap Miniboil - Boiling | Ambient\", \"Zip - MT2790Z5 - HydroTap Celsius All-In-One - Brushed Rose Gold\", \"Zip - HT4783 - HydroTap Elite - Boiling | Chilled | Sparking   \", \"Zip - 94574 - HydroTap 3 Way Filtered Mixer Tap\", \"Zip - MT2790Z11 - HydroTap Celsius All-In-One - Brushed Nickel\", \"Zip - MT2790Z8 - HydroTap Celsius All-In-One - Platinum\", \"Zip - MT2790Z10 - HydroTap Celsius All-In-One - Nickel\", \"Zip - HT1785 - HydroTap Classic - Boiling | Ambient\", \"Rinnai - AV25SN3 - Avenger 25 Convector - 3m Hose - NG\", \"Zip - HT1786 - HydroTap Classic - Boiling\", \"Zip - MT2790 - HydroTap Celsius All-In-One - Bright Chrome\", \"Zip - MT2790Z6 - HydroTap Celsius All-In-One - Gold\", \"Tefal - SV7020 - Liberty Steam Generator Iron\", \"Zip - MT2790Z1 - HydroTap Celsius All-In-One - Brushed Chrome\", \"Zip - MT2790Z3 - HydroTap Celsius All-In-One - Matte Black\", \"Everdure by Heston Blumenthal - FURNACE - 3 Burner Gas Barbeque - Graphite - HBG3G\", \"Everdure by Heston Blumenthal - FORCE - 2 Burner Gas Barbeque - HBG2R \", \"Tefal - GV9553 - Pro Express Ultimate Steam Generator\", \"Everdure by Heston Blumenthal - HBG2COVER - FORCE\\u2122 Cover\", \"Zip - HT1784 - HydroTap\\u00ae G4 - Boiling | Chilled | Filtered\", \"Zip - MT2790Z9 - HydroTap Celsius All-In-One - Gunmetal\", \"Tefal - FV9715 - Ultimate Steam Iron\", \"Rinnai - AV25N3 - Avenger 25 Convector - 3m Hose - NG\", \"Unilux - Anti-flood Inlet Hose - ULX105\", \"Everdure by Heston Blumenthal - FORCE - 2 Burner Gas Barbeque - HBG2G\", \"Euroflex - SC1M1 - Vapour M4S Hybrid Steam Cleaner\", \"Everdure by Heston Blumenthal - HUB Electric Ignition Charcoal Barbeque - HBCE2B\", \"Bissell - BS23V8F - Steam Mop Select\\u2122\", \"Tefal - VC1451 - Convenient Series Steam Cooker\", \"Zip - MT2790Z4 - HydroTap Celsius All-In-One - Rose Gold\", \"Everdure by Heston Blumenthal - FORCE - 2 Burner Gas Barbeque - HBG2S\", \"Tefal - IT3440 - Pro Style Upright Garment Steamer\", \"Zip - HT1783Z3 - HydroTap BCS Classic - Boiling | Chilled | Sparkling\"], \"type\": \"scatter\", \"x\": [-0.14722669124603271, -0.08085887879133224, 0.07006658613681793, -0.10447513312101364, -0.1508534848690033, -0.1758575141429901, -0.05733810365200043, -0.09346217662096024, -0.11115257441997528, -0.1994820237159729, -0.008378971368074417, -0.12039834260940552, -0.1834006905555725, -0.14260214567184448, -0.044620953500270844, -0.2324080467224121, -0.007433973252773285, -0.01679667830467224, -0.1817501187324524, -0.07519259303808212, -0.14454010128974915, -0.01172955334186554, -0.07571666687726974, -0.14487412571907043, -0.1519007682800293, -0.09056942909955978, -0.1606675684452057, -0.17603188753128052, -0.08591427654027939, 0.02649892121553421, -0.08505479246377945, -0.0029561221599578857, -0.17911353707313538, -0.1243588849902153, -0.09003669023513794, -0.0900452584028244, -0.1320176124572754, -0.11550035327672958, -0.05345781147480011, -0.014447808265686035, -0.22477635741233826, -0.1401253640651703, -0.13839519023895264, -0.04542029649019241, -0.17125609517097473, -0.10743112117052078, -0.07774204760789871, -0.05981861799955368, -0.06342069804668427, -0.12645095586776733, -0.040190741419792175, -0.19111675024032593, -0.05006883293390274, -0.07207385450601578, -0.17889025807380676, -0.05340085178613663, -0.03571465611457825, -0.16222545504570007, -0.18753018975257874, -0.011080846190452576, 0.0007447600364685059, -0.1361101269721985, -0.05646521598100662, -0.07822773605585098, -0.038486599922180176, -0.08518332988023758, -0.190370112657547, -0.0798996314406395, -0.13374021649360657, -0.050968192517757416, -0.27147382497787476, -0.054018743336200714, -0.17895573377609253, -0.08381481468677521, -0.20572081208229065], \"y\": [-0.026731543242931366, -0.009004674851894379, -0.04095043987035751, -0.05139359086751938, -0.0837983563542366, -0.0747395008802414, -0.0126864705234766, -0.09085328876972198, -0.13636650145053864, 0.0261671282351017, -0.01189526915550232, -0.005198206752538681, -0.08824751526117325, -0.11005440354347229, -0.04634645953774452, -0.046671658754348755, -0.06665167212486267, -0.01863931678235531, -0.06373344361782074, -0.011132679879665375, -0.12596091628074646, -0.17770224809646606, -0.18571877479553223, -0.01710175722837448, -0.06533736735582352, 0.019710585474967957, -0.07184364646673203, 0.046208593994379044, -0.06872059404850006, -0.17245134711265564, -0.04027416557073593, -0.2002885937690735, -0.023887157440185547, -0.001714862883090973, -0.18235960602760315, 0.005735605955123901, -0.06475675106048584, -0.06285972893238068, -0.02256670966744423, -0.18570458889007568, -0.016789209097623825, 0.00488639622926712, -0.09001336246728897, -0.025680679827928543, -0.1034698560833931, -0.15912294387817383, -0.09284180402755737, -0.024472493678331375, -0.07340939342975616, -0.09241743385791779, -0.04056350886821747, -0.06564125418663025, -0.07316809892654419, -0.025888826698064804, -0.008759230375289917, -0.04081295430660248, -0.07066583633422852, -0.043679170310497284, -0.09427472949028015, 0.011950241401791573, -0.17215101420879364, -0.031473688781261444, -0.03755535930395126, 0.016632311046123505, -0.045341089367866516, -0.06296585500240326, -0.06842968612909317, 0.053830720484256744, -0.11347773671150208, -0.08673451840877533, 0.035449691116809845, -0.027976080775260925, -0.07492987811565399, -0.12983500957489014, -0.10461780428886414]}, {\"marker\": {\"color\": 23, \"size\": 5}, \"mode\": \"markers\", \"name\": \"18\", \"text\": [\"Morphy Richards - 401014 - PREPSTAR Compact Food Processor\", \"Sunbeam - GR6250 - Big Fill Toastie\\u2122 for 2\", \"Nutri Ninja\\u00ae with Auto-IQ\\u2122 - BL480NZ\", \"FoodSaver\\u00ae Zipper Bags Pk35 - VS0500\", \"Sunbeam Torino Espresso Coffee Machine & Grinder - PU8000\", \"Belkin - BSV103AU - SurgeCube 1-Outlet Surge Protector\", \"Everki - EKP119 - Flight Laptop Backpack\", \"BH Fitness - G2337B - i.Athlon Program Elliptical\", \"Moki - BPEL3M - 3 Metre Extension Lead\", \"Numatic - HVM-1CH - Numatic Hepa-Flo Filter Bags - 10 Pack\", \"Sharp - FZA60MFE - Humidifying Filter\", \"DeLonghi - ICM17210 - Clessidra Drip Coffee Machine\", \"BH Fitness - BHM01 - Equipment Mat \", \"Beurer - BM57 - Bluetooth Upper Arm Blood Pressure Monitor\", \"Sunbeam - PC8100 - Specialty Brew Drip Filter Coffee Machine\", \"Westinghouse - ULX250 - Rangehood Filter - Active Carbon\", \"Remington - CB7400AU - Keratin & Argan Oil Nourish Straightening Brush\", \"L'OR Espresso - ESPRIS10 - Espresso Ristretto 10pk\", \"Everki - EKB419 - Flight Laptop Bag \\u2013 Briefcase\", \"FoodSaver\\u00ae Urban Series: Cut & Seal - VS6100 \", \"Sunbeam - SM9000 - StickMaster\\u00ae Platinum\", \"Homedics - SAN-B100-GY - UV-CLEAN Portable Sanitiser Bag\", \"VS Sassoon - VSD6610DA - Italian Style AC Dryer\", \"Laser  - STB-6000 - HD Set Top Box\", \"Volta - E201B - LONG PERFORMANCE SYNTHETIC\", \"Morphy Richards - 240005 - Scandi Aspect 4 Slice Toaster - White\", \"Sunbeam - JM7000 - MixMaster\\u00ae HeatSoft Hand Mixer\", \"Crest - BPB4 - 4 Outlet Power Board\", \"Ninja - BL450NZ - Nutri Ninja Pro Blender \", \"Tiger - PRTS190 - 1.88L Handy Jug\", \"Oral B - PRO700 - Professional Care 700 Toothbrush\", \"DeLonghi - Dedica Grinder - KG 521.M\", \"Sunbeam - PB9800 - Cafe Series Blender\", \"WiZ - WZ0026041 - 10W Dimmable White Daylight - E27  \", \"Beurer - FT65 - Multifunction Digital Thermometer\", \"Oral B - SMART4000 - Smart4 4000 Rechargeable Toothbrush\", \"Ninja - BL682ANZ - Ninja\\u00ae Blender System With Auto-iQ\\u2122\", \"Beurer - MG151 - 3D Shiatsu Massager\", \"WiZ - WZ0826081 - 11.5W Tunable Colour & White Light - B22\", \"VS Sassoon - VSP500A - Digital Sensor Hot Air Styler\", \"DeLonghi - Eletta Cappuccino Coffee Machine - ECAM 45.760.B\", \"Bissell - 2066F - Revolution\\u2122 Pet Carpet Cleaner\", \"Braun - SE5880 - Silk-\\u00e9pil SensoSmart\\u2122 Epilator\", \"DeLonghi - ECAM 550.55.SB - Automatic Coffee Machine \", \"DJI - Spark/Mavic Shoulder Bag - 3661650\", \"VS Sassoon - VSP6500A - Digital Sensor Dryer\", \"Fitbit Inspire HR - FB413BKBK - Black \", \"Kenwood - FGP204WG - Spiralizer\", \"Hills - 300057 - Slim Retracting 4-line Clothesline\", \"L'OR Espresso - BARSUP10 - Barista Double Supremo 10pk\", \"L'OR Espresso - BARRIS10 - Barista Double Ristretto 10pk\", \"DeLonghi - DLSC500 - EcoDecalk Coffee Descaler\", \"Sunbeam - FP6910 - DimpleTech\\u2122 Frypan\", \"Beurer - BF 180 - Diagnostic Bathroom Scale\", \"Sunbeam - KE9750 - Maestro Dual Wall Glass Kettle\", \"Bissell - 2531 - Multi-Surface Pet Cleaning Formula\", \"Beurer - BC28 - Wrist Blood Pressure Monitor\", \"Volta - 1900P - CONTOUR BAG U4210\", \"Kenwood Appliances - MG450 - Power Mincer\", \"Remington - S8605AU - Infinite Protect  Straightener\", \"DeLonghi - DLSK150 - MultiGrill Accessory Set\", \"Shaws - SCIN595WH - Inset 600 Sink\", \"Sunbeam - KE6451DS - Maestro Dark Quiet Shield\\u2122 Kettle\", \"Crest - CCBSC - Screen Cleaning Kit\", \"Bissell - 2519 - Multi-Surface Tangle Free Brush Roll\", \"Crest - PWA04007 - 4 Socket 4 Switch Power Board\", \"Tefal - L9933015 - Ingenio Handle\", \"Morphy Richards - 240108 - Evoke Core Red 4 Slice Toaster\", \"Monster - 4-Outlet Essentials Surge Protected Powerboard - 123092\", \"Swann - SWHOM-DC820P - Wireless Door Chime\", \"VS Sassoon - The Bearded-PRO Grooming Gift Set - VSM7843A\", \"Crest - TA104DA - Telephone Double Adaptor\", \"Kenwood - CAP70AOWH - Can Opener\", \"Sunbeam - EK6000 - Carveasy\\u2122 Twin Blade\", \"Belkin - BSV604au2M - Surge Protector\", \"Braun - Series 5 Men's Electric Foil Shaver - 5190cc\", \"Magikleen - MAGSMFC3040 - Microfibre Cloth\", \"VS Sassoon - VSM1000A - The Diamond Precision\", \"Homedics - MCS-845H-AU - Shiatsu Elite II Massager\", \"Kenwood - FDM785BA - Multipro Classic Food Processor\", \"Sunbeam - GR6450 - Big Fill\\u2122 Toastie\", \"Morphy Richards - 240013 - Scandi Deep Blue Aspect 4 Slice Toaster\", \"Sunbeam - BL5471 - Sleep Perfect Quilted - King\", \"Beurer - MG70 - 2 in 1 Infrared Handheld Body Massager\", \"Bissell - BS3961 - Replacement Mop Pads - 2 Pack \", \"Magikleen - MAGRFC250 - 250ml Premium Range Hood Filter Cleaner\", \"Bowers & Wilkins Formation Bar - FP40177\", \"Uniden - FP 1355 - Corded Phone\", \"Braun - 51S - Combi Foil and Cutter Replacement Pack\", \"Crest - PWA05041B - 24 Hour Timer\", \"BH Fitness - G6350B - iV1 i.Concept Treadmill\", \"Crest - PWU01905 - 1 Socket Device Protector\", \"Sunbeam - EM0180 - Cafe Creamy\\u2122 Automatic Milk Frother\", \"Kenwood Appliances - MG700 - Pro 2000 Excel Mincer\", \"Fetch - Mighty PVR - M616T\", \"Beurer - MG295 - 3D Shiatsu Seat Cover - Black\", \"Sunbeam - BL5131 - Sleep Perfect Fitted - King Single\", \"Morphy Richards - 48710 - 3.5L Polished Stainless Steel Slow Cooker\", \"Sunbeam - KE2700K - Alinea Collection Kettle - Dark Canyon\", \"Braun - BT5060 - Beard Trimmer\", \"Nutribullet - NutriBullet PRO 1000 \", \"Sunbeam - TA4420GR - New York Collection 2 Slice Toaster - Gunmetal Grey\", \"Smeg - CVIA118RS2 - 45cm Linea Wine Cellar - Right-hand Hinge - Silver\", \"Smeg - CMS4101B - 45cm Linea Built-in Coffee Machine\", \"Smeg - CVIA118RN2 - 45cm Linea Wine Cellar - Right-hand Hinge - Black\", \"Anker - A1215H11 - PowerCore 13000 - Black\", \"Sunbeam - SR6250 - Verve\\u00ae 62 Platinum\", \"Crest - PWA04980 - 4 Socket Power Board\", \"Laser  - CL-1847D - 250mL Screen Cleaner\", \"Google Nest Hub - GA00516 - Chalk\", \"Fisher & Paykel - 503858 - Flexible Venting Hose\", \"Hairstyla - HSS100 - Mini Brush Black & Rosegold\", \"Sunbeam - FC7500 - MultiChopper\\u2122 Food Chopper\", \"Tefal - FV4921 - Ultragliss Iron\", \"DeLonghi - KBI2001.S - Distinta Flair Kettle - Finesse Silver\", \"Braun - MGK3245 - 7-in-1 Multi-grooming Kit\", \"Sunbeam - SB4400 - Mode\\u00ae Ironing Board\", \"Kambrook - KHP2B - Portable Double Hotplate\", \"Eufy Lumi Stick-On Night Light - T1301H21 \", \"Crest - PWA04555 - 10m Power Extension Lead\", \"Smeg - MFF01BLAU - Milk Frother - Black\", \"InSinkErator - MODEL 66 - Food Waste Disposer\", \"VS Sassoon - VSM899A - X3 Pro Beard & Stubble Trimmer\", \"Braun - CCR2 - Clean & Renew Refills 2 Pack\", \"InSinkErator - MODEL 56 - Food Waste Disposer\", \"Homedics - FMS-255H-AU - Shiatsu Elite Foot Massager\", \"Sunbeam - BL4851 - Sleep Express\\u2122 Boost Queen Bed Fitted Heated Blanket\", \"Sunbeam - BL5671 - Sleep Perfect Wool Fleece - King\", \"Moki - BPPB4 - 4-Socket Powerboard\", \"Sunbeam - KE6400 - Aquella\\u00ae Stainless\", \"Sunbeam - KE2700W - Alinea Collection Kettle - Ocean Mist\", \"Bissell - 1016F - PowerFresh\\u2122 Steam Mop Replacement Pads & Fragrance Discs\", \"Dimplex - C1000 - Optimyst Professional Cassette 1000 Fire\", \"Dimplex - CAS400NH - Optimyst Professional Cassette 400 Fire\", \"DeLonghi - EN560B - Lattissima Touch Nespresso System\", \"Bissell SpotClean - Portable and Upholstery Carpet Washer - 36984 \", \"Homedics - MCS-1210HBK-AU - Easy Lounge Shiatsu Massage Chair\", \"Smeg - CGF01BLAU - Coffee Grinder - Black\", \"Brooklyn - RTR9 - Retro Turntable - Red \", \"VS Sassoon - VSLE2540A - Keratin Protect Straightener\", \"Laurastar - 805 - Smart M Ironing System\", \"VS Sassoon - VSS2514A - Salon Ceramic Straightener\", \"Sharp - FZA60DFE - Deodorising Filter\", \"Remington Silk Ceramic Hair Dryer - AC9096AU   \", \"Belkin - RockStar for iPod & MP3 - F8Z274btBLK\", \"Sunbeam - FP6000 - DuraCeramic\\u2122 Frypan\", \"Sunbeam - SK6000 - DuraCeramic\\u2122 Skillet\", \"Crest - TA106 - Modular Double Adaptor\", \"Weight Watchers - WW11A - Compact Precision Electronic Scale\", \"Magikleen - MAGEHC250 - 250ml Solid Hotplate Element Cleaner\", \"Morphy Richards - 242107 - Black Accents 4 Slice Toaster\", \"Moki - ACC-FM50 - 50 Screen Wipes\", \"Crest - PWA04990 - Universal Travel Adaptor - AU/NZ\", \"Inca - 470958 - 58mm Digital Circular Polarising Filter\", \"Remington - AC9140AU - Proluxe Salon Hair Dryer\", \"Westinghouse - ACC096 - Door Reverse Kit\", \"Neff Teppan Yaki (Large) - Z9417X2\", \"Crest - PWA05160 - Travel Adaptor Set\", \"Black & Decker - DVJ325BFS-XE - 27Wh Li-Ion Dustbuster\", \"Euroflex - AC3209711 - Microfibre Floor Pads with Scrubbing Insert  - 3 Pack\", \"Homedics - FS220HAU - Deluxe Shiatsu Foot Massager\", \"Fitbit Inspire - FB412BKBK  -  Black  \", \"Moki - ACC-FCSM02 - Screen Clean 120mL Spray with Cloth\", \"Remington - AC8605AU - Infinite Protect  Hair Dryer\", \"BH Fitness - G2378B - i.Brazil Program Elliptical \", \"Smeg - ECF01BLAU - Espresso Coffee Machine - Black\", \"Smeg - DCF02WHAU - Drip Filter Coffee Machine - White\", \"Smeg - DCF02BLAU - Drip Filter Coffee Machine - Black\", \"Moki - BPDASP - Double Adaptor - Vertical + Surge Protection\", \"BH Fitness - BHL01 - Treadmill Lube Oil \", \"Bissell - 2225F - CrossWave\\u00ae Pet Multi-Surface Cleaner\", \"Homedics - SBM-385H-AU - Shiatsu Plus Cushion Massager\", \"Targus - AWE55US - Lap Chill Mat\", \"Sunbeam - Sleep Perfect Fitted - Queen - BL5151 \", \"Unilux - Universal Stacking System - Bracket Kit - ULX101\", \"Smeg - CVIA118LS2 - 45cm Linea Wine Cellar - Left-hand Hinge - Silver\", \"Beurer - MC 3800 - Shiatsu Massage Chair \", \"FITBIT - FB203BK - Aria Air Smart Scale - Black\", \"Homedics - MP10AU - Shiatsu Comfort Massage Pillow with Heat\", \"Magikleen - MAGSMFC3040S - Microfibre Cloth  with Scraper\", \"Fisher & Paykel - EB60DSXB2 - Built-in Coffee Maker\", \"Monster - 120087 - Essentials Surge Protected Powerboard\", \"Kenwood Appliances - FPM810 - Multipro Sense Food Processor\", \"Neff Standard Recirculation Kit - Z54TS01X0\", \"Morphy Richards - 240006 - Scandi Titanium Aspect 4 Slice Toaster\", \"Bissell - 2233F - PowerFresh\\u00ae Slim Steam Mop\", \"Sunbeam - KE2360 - Quantum\\u00ae Plus Kettle\", \"Kambrook - KCP110WHT - Pulp Select Citrus Press\", \"Fetch - Mini Set Top Box - H626T\", \"Sebo - 6629ER - K Series - Vacuum Bags\", \"Sebo - 3286ER40 - Floor Pads\", \"Neff Standard Recirculation Kit - Z5135X3\", \"Bush - BRT103EUSB - Mini Portable Retro Turntable\", \"Beurer - LB45 - Air Humidifier\", \"SEBO K Service Kit - 6695ER \", \"Magikleen - MAGWGC250 - 250ml White Goods Cleaner & Polish\", \"WiZ - WZ0195081 - 6.5W Tunable Colour & White Light - GU10 \", \"Sunbeam - KE4430WG - New York Collection Jug Kettle - White Gold\", \"Crest - PWA04556 - 5m Power Extension Lead\", \"Magikleen - MAGCMD250 - 250mL Coffee Machine Descaler\", \"Sebo - 9682AU - Airbelt K3 Premium Vacuum Cleaner \", \"Sunbeam - KE4430GR - New York Collection Jug Kettle - Dark Stainless\", \"L'OR Espresso - ESPPRO10 - Espresso Lungo Profondo 10pk\", \"Sunbeam - EP5000 - Feel Perfect Therapeutic Heat Pad\", \"FoodSaver\\u00ae Expandable Roll x1 - VS0530\", \"Shaws - SCSQ460WH - Square Sink\", \"Tefal - FV4971 - Smart Protect Iron\", \"Kambrook - KT260 - Profile 2 Slice Toaster\", \"Unilux - Universal Stacking System - ULX102\", \"Magikleen - MAG02125 - 125mL Screen Cleaner - Twin Pack\", \"Sunbeam - TA4440KB - New York Collection 4 Slice Toaster - Black Bronze\", \"Sunbeam - TA4440WG - New York Collection 4 Slice Toaster - White Gold\", \"Shaws - LB0400010 - Lab Type 3 Sink\", \"Magikleen - MAGSSC250 - 250ML Stainless Steel Cleaner\", \"Magikleen - MAGSSP250 - 250ml Stainless Steel Polish\", \"Beurer - BM28 - Upper Arm Blood Pressure Monitor\", \"Weight Watchers - WW710A - Digital Glass Scale\", \"VS Sassoon - VSLE5395A - Smooth & Shine\", \"Oral B - EB50-4 - CrossAction Brush Heads - 4pk\", \"Vax - Cordless Blade Pet Pro Slimvac- VX63 \", \"Braun Series 8 Wet & Dry Electric Shaver - 8370CC\", \"Microsoft - L5V-00027 - Sculpt Ergonomic Desktop\", \"Sunbeam - BL4841 - Sleep Express\\u2122 Boost Double Bed Fitted Heated Blanket\", \"Oral B - PRO2000B - PRO 2 - 2000 Rechargeable Toothbrush\", \"Targus - ACH114AU - 4-Port Hub\", \"VS Sassoon - VSP9500A - Goddess Ultimate\", \"Smeg - ECF01PGAU - Espresso Coffee Machine - Pastel Green\", \"Crest - MSP2 - Double Outlet Surge Protector\", \"Sharp - Air Purifier - FPF30JH\", \"DeLonghi Dinamica ECAM 350.55.SB - Fully Automatic Coffee Machine\", \"Remington - F2000AU - Power Series F2 Foil Shaver\", \"Sunbeam - TA2740W - Alinea Collection 4 Slice Toaster - Ocean Mist\", \"Ninja - BL642ANZ - Nutri Ninja Blender Duo\", \"Oral B - White - GENIUS 9000 Electric Toothbrush - PC9000 \", \"Sunbeam - HG3300 - ReversaGrill\\u2122\", \"Smeg - Espresso Coffee Machine - Pastel Blue - ECF01PBAU \", \"Smeg - ECF01WHAU - Espresso Coffee Machine - White \", \"Everki - EKP116NBK - Light Laptop Backpack\", \"AppliancePro - VIBEFEET4 - Quiet Anti Vibration Appliance Feet\", \"Remington - DS4490AU - Hair Dryer & Straightener\", \"Tefal - E820S544 - Reserve 5 Piece Anodised Set\", \"Sunbeam - KE0100 - Liquid Descaler\", \"Everki - EKB407NCH14 - Laptop Bag\", \"Sunbeam - KE9750DS - Maestro Dual Shield Glass Kettle\", \"VS Sassoon - VSR63A - Secret Curl\", \"FoodSaver\\u00ae Fresh Vacuum Sealer - VS1300\", \"VS Sassoon - VSP420A - Salon Professional AC Dryer\", \"Ring - 8ASPS7-WAU0 - Solar Panel - White  \", \"Euromaid - CF110 - Carbon Filter\", \"DeLonghi - EN500.B - Lattissima One Nespresso System\", \"Laser  - CL-1838E - Screen & Computer Cleaning Wipes\", \"Smeg - Espresso Coffee Machine - Cream - ECF01CRAU \", \"Remington - HC7000AU - Ultimate Series Rx5 Head Shaver\", \"Homedics - FCC-3000BK-AU - Ultimate Foot & Calf Massager\", \"Moki - BPPB6 - 6-Socket Powerboard\", \"Google Nest Hub Max - GA00639 - Charcoal\", \"DeLonghi - CTIN4003W - Distinta Moments 4 Slice Toaster - Sunset White\", \"Sunbeam - EM5300K - Barista Max Espresso Machine - Black\", \"Sunbeam - Diamond Collection 2 Slice Toaster - TA1900K\", \"WiZ - WZ0126081 - 11.5W Tunable Colour & White Light - E27 \", \"Sunbeam - ES9600 - Deli-Slicer\", \"Swann - SWHOM-DC820P2 - Wireless Door Chime - Twin Pack\", \"Kambrook - KUR10 - URN\", \"Everki - EKB407NCH - Advance Laptop Bag - Briefcase\", \"Sunbeam - EM0480 - Cafe Series\\u2122 Conical Burr Coffee Grinder\", \"FITBIT - FB203WT - Aria Air Smart Scale - White\", \"Braun - MGK5260 - 8-in-1 All-in-One Styling Kit\", \"DeLonghi - ENV120WAE - Nespresso Vertuo Next Coffee Machine \", \"Smeg - MFF01CRAU - Milk Frother - Cream\", \"WiZ ST64 E27 Filament Tunable Smart Bulb\", \"DeLonghi La Specialista EC9335.BM -  Manual Coffee Machine - Matte Black\", \"InSinkErator - MODEL 46 - Food Waste Disposer\", \"Sunbeam - FP8950 - Ellise\\u00ae Banquet Frypan\", \"BH Fitness - BT6441 - T100 Treadmill \", \"Speck - 155833 - Balance Folio Clear Case\", \"Crest - Child Safety Strap - CS1F\", \"Glem - GLEMTEP1 - Teppenyaki Plate\", \"Sunbeam - MX8500 - Mixmaster\\u00ae Classic - Stainless Steel\", \"Sanus - SASP1B1 - Streaming Device Panel Mounting Bracket\", \"Sunbeam - KE6451 - Maestro Kettle\", \"Belkin - F8M935bt06-BLK - Road Rockstar\", \"Smeg Classic Built-in Coffee Machine - CMS4303X\", \"Hairstyla - HSCS100 - Move Cordless Straightener\", \"Braun - MultiQuick 9 Hand Blender - MQ9087X\", \"L'OR Espresso - BARSEL10 - Barista Double Barista Selection 10pk\", \"Homedics - HHP-425 - Cordless Pro Performance Percussion Massager\", \"Sunbeam - JM6600 - Mixmaster\\u00ae Hand Mixer\", \"FoodSaver\\u00ae Fresh Containers 2 Piece Set - VS0640\", \"Euroflex - Microfibre Pads - 3 Pack - AC3209483\", \"Sunbeam - GC7850B - Cafe Contact Grill & Sandwich Press\", \"Bissell - 1147E - Stain Pretreat for Carpet & Upholstery\", \"Braun - BT3020 - Beard Trimmer\", \"Laser  - AO-UC90PW - 90W Power Supply\", \"Sharp - FZA60HFE - HEPA Filter\", \"Tefal - FR8040 - Oleoclean Pro Deep Fryer\", \"Belkin - BSV401au2M - Surge Protector\", \"Bissell - Oxy Boost Carpet Cleaning Formula Enhancer - 14051\", \"VS Sassoon - VS289A - Cord Keeper 2000\", \"NutriBullet Blender Combo 1200 - Full Size Blender\", \"Kenwood - HDP406WH - Triblade Hand Blender - MasherPro + Soup XL \", \"Tiger - CRL-A30A - Electric Skillet\", \"NutriBullet RX 1700 - N171007M\", \"Cygnett - CY3010URBWT - UrbanWallet Flip\", \"Smeg - DCF02PBAU - Drip Filter Coffee Machine - Pastel Blue \", \"Scosche - MAGRKI Black - MagicPlate Kit - Black\", \"Laser  - PK-SMARTNS10BB - SMART Laptop Sleeve\", \"Smeg - MJUG600 - Milk Frothing Jug\", \"Inca - 535291 - Mini Tripod\", \"L'OR Espresso - BARPRO10 - Barista Double Lungo Profondo 10pk \", \"Braun - BT3240 - Beard Trimmer\", \"realme Band - RMA183BLK - Black \", \"VS Sassoon - VSD6344A - The Travel Pro\", \"Westinghouse - ARCFD - Carbon Filter\", \"Westinghouse - ACC124 - 7-Piece - Party Pack\", \"Bissell - 62E5E -Stain & Odour 2x Concentrated Formula (750ml) \", \"Bissell - 74R7E - 2X Pet Stain for Compacts Formula\", \"Sunbeam - EC1300 - Poach & Boil Egg Cooker \", \"Beurer - BC57 - Bluetooth Wrist Blood Pressure Monitor\", \"BH Fitness - S1RW - Rower\", \"Kenwood - MultiPro Home - Silver - FDP646SI\", \"Sunbeam - TA6440DS - Maestro Dark 4 Slice Toaster\", \"Laser  - CL-1858C - Screen and Computer Wipes\", \"Hairstyla - HSS200 - Ceramic Straightening Brush\", \"DeLonghi - PrimaDonna Elite - Fully Automatic Coffee Machine - ECAM65075MS\", \"LG - FH6 - LOUDR Freestyle BT Boom Box - 600W\", \"Sunbeam - HP8555 - SecretChef Sear & Slow Cooker \", \"FoodSaver\\u00ae - VS7850 - Controlled Seal\", \"Crest - PWA05292 - UK Travel Adaptor\", \"Sunbeam - TR2000 - Quick & Cosy Electric Throw\", \"Sunbeam - EM4300S - Mini Barista Espresso Machine Silver\", \"Vax - VX40B - Wet And Dry Vacuum Cleaner Dust Bags (x5)\", \"VS Sassoon - VSD769A - Super Power 2400 Hair Dryer\", \"Crest - PWA04554 - 3m Power Extension Lead\", \"Sunbeam - Rice Perfect\\u00ae Deluxe 7 and Steamer - RC5600 \", \"Moov - MNBK1000 - Now\\u2122 Personal Fitness Coach - Stealth Black\", \"Sunbeam - PB8080 - Two-Way Blender\", \"Beurer - LB55 - Air Humidifier\", \"Kenwood - AT340 - Pro Slicer Grater - Attachment\", \"Dimplex - C500 - Opti-myst 3D Fires\", \"L'OR Espresso - ESPSUP10 - Espresso Supremo 10pk\", \"Beurer - MG153 - 4D Multi Head Neck Massager\", \"Speck - 121573-1050 - Tab S4 Balance Folio Cover - Black \", \"Remington - HC1091AU - High Precision Haircut Kit\", \"Neff Griddle Plate - Z9416X2\", \"realme Watch - RMA161BLK - Black\", \"BH Fitness - H916 - SB2 Spin Bike \", \"Sunbeam - TA7720 - Turbo Toaster\", \"Homedics - FB251 - Foot Spa with True Heat\", \"Braun - 5030S - Series 5 Men\\u2019s Electric Foil Shaver\", \"Laurastar - S6A Ironing System  \", \"realme Buds Air - White - RMA201WHITE\", \"AppliancePro - SNGLSTOPHOSE - Single Anti-Flood Appliance Hose\", \"Sunbeam - BL5651 - Sleep Perfect Wool Fleece - Queen\", \"Sebo - 5093ER - X Series Vacuum Bags\", \"Sunbeam - KE4430KB - New York Collection Jug Kettle - Black Bronze\", \"Oral B - EB20-6 - Precision Clean Replacement Brush Heads - 6pk\", \"Tiger - PRT-S130 - 1.34L Handy Jug\", \"Euroflex - AC6904194 - Antibak\", \"Euroflex - AC3206260 - Microfibre Pad - 2 Pack\", \"AppliancePro - MAT60 - Stacking & Noise Reducing Appliance Mat\", \"Oral B - EB20-8 - Precision Clean Replacement Brush Heads - 8pk\", \"Braun - LS5-560 - Silk-\\u00e9pil Electric Lady Shaver\", \"LaCie - STFD4000402 - 4TB Porsche Design Mobile Drive\", \"Braun - BT5260 - Beard Trimmer\", \"Bissell - 2240F - SpinWave Cordless\", \"Smeg - CVIA118LN2 - 45cm Linea Wine Cellar - Left-Hand Hinge - Black\", \"Sunbeam - BL4821 - Sleep Express\\u2122 Boost Single Bed Fitted Heated Blanket\", \"Braun - Series 7 Smart Shaver - 7865CC - Grey\", \"Remington - S7505AU - Keratin & Argan Oil Nourish  Straightener\", \"Sunbeam - EM0100 - Bang Bang\", \"Braun - SE9980 - Silk-\\u00e9pil 9 SkinSpa SensoSmart\\u2122 Epilator\", \"Sunbeam - BL5171 - Sleep Perfect King Bed Fitted Heated Blanket\", \"Fisher & Paykel - 814990 - Integration Kit\", \"Weight Watchers - WW310A - Body ANALYSIS Diagnostic Scale\", \"Dyson - 970343-04 - V11 Click-in Battery\", \"Braun - 52S - Series 5 Foil & Cutter Replacement Pack\", \"Sunbeam - EM5300 - Barista Max Espresso Machine\", \"Crest - PWA05294 - EU Travel Adaptor\", \"Kenwood - HDM808SI - Triblade SystemPro Hand Blender Silver\", \"Smeg - CGF01PBAU - Coffee Grinder - Pastel Blue\", \"Crest - PWU02905 - 2 Socket Device Protector\", \"Jura Z6 - Automatic Coffee Machine - Diamond Black \", \"DeLonghi - EN650W - Gran Lattissima Espresso Coffee Machine - White  \", \"Crest - MSP1 - Single Outlet with Surge Suppression\", \"Remington - HC4300AU - Rapid Cut Turbo Hair Clipper\", \"Crest - PWA05293 - USA Travel Adaptor\", \"WiZ - WZ0726041 - 10W Dimmable White Daylight - B22  \", \"Remington Curl & Straight Confidence - 2-in-1 Hair Straightener - S6606AU \", \"VS Sassoon - VSP3QSA - 3Q Hairdryer\", \"Remington - AC8820AU - Keratin & Argan Oil Nourish Hair Dryer\", \"VS Sassoon - VSP6616A - Venezia 2400 AC Professional Dryer\", \"Homedics - PGM-200-AU - Physio Massage Gun\", \"VS Sassoon - VSLE5126A - Keratin Protect Dryer\", \"WiZ G95 LED E27 Tunable Amber Smart Bulb - WZ31089571-A\", \"Uniden - FP 1200 - Corded Phone\", \"Sunbeam - SR0300 - Iron Cleaner\", \"Kambrook  Shimmy Shake Milkshake Maker - KMS10 \", \"Sunbeam - NutriOven\\u2122 Convection Oven - CO3000\", \"DeLonghi Nespresso Citiz & Milk System - EN267BAE \", \"Oral B - Genius 9000 Rose Gold - Electric Toothbrush\", \"TruSens - UVLZ200001AU - Z2000 Replacement UV Lamp\", \"Sunbeam - DF4500 - MultiCooker Deep Fryer\", \"Tefal - FR5181 - Filtra Pro 4L Deep Fryer\", \"Crest - PWA05036 - Piggy Back Extension Lead - 1.2m\", \"Homedics - SP-100H - Shiatsu Massage Pillow\", \"Laser  - CL-1878A - Computer Cleaning Kit\", \"Remington - S9999AU - Pureluxe3D Straightener\", \"Inca - 470255 - 55mm UV Filter\", \"VS Sassoon - VSM703A - the Beard Buddy\", \"Sunbeam - KE4430WS - New York Collection Jug Kettle - White Silver\", \"Smeg - DCF02PGAU - Drip Filter Coffee Machine - Pastel Green\", \"Monster - 180mL ScreenClean 2.0 - 129883\", \"Nutribullet 900W Mega Pack - NB9-1107AK \", \"NutriBullet Select 1200 - NB07200-1210DG\", \"NutriBullet Select 1000 - NB07200-1007DG\", \"Sunbeam Auto Clean Blender - PBT3000BK \", \"Sunbeam - TA4420WS - New York Collection 2 Slice Toaster - White Silver\", \"Laser  - CL-1867B - Screen Cleaning Kit\", \"Morphy Richards - 222013 - Equip Black 2 Slice Toaster\", \"Morphy Richards - 240007 - Scandi Black Aspect 4 Slice Toaster\", \"Sunbeam - EM5300S - Barista Max Espresso Machine - Silver\", \"TruSens - UVLZ300001AU - Z3000 Replacement UV Lamp\", \"Sunbeam - SG3000 - Butler Turbo Garment Steamer\", \"Sunbeam - TA2320 - Quantum\\u00ae Plus Toaster 2 Slice\", \"Tefal - D5060612 - So Optimal Non-stick Frypan 28cm \", \"Braun - 3010TS - Electric Shaver with Travel Case & Gel\", \"Sunbeam - SB8400 - Couture\\u00ae Ironing Board\", \"Beurer Deluxe Foot Bubble Spa - FB 50\", \"Monster - 120084 - Single Outlet Essentials Surge Cube\", \"Vax - VXDUB005 - Vacuum Bags - 5 Pack\", \"Sunbeam - TR3100G - Feel Perfect\\u00ae Cosy Sherpa Fleece Heated Throw\", \"Unilux - Dryer Venting Kit - ULX104 \", \"Sunbeam - SR2300 - Pro Steam Travel\", \"Crosley - AC1004A-NA - Record Storage Crate\", \"View Quest - VQ-MINI-AM-CR - Mini Retro - Cream \", \"Sharp - FZF30HFE - Replacement Filter\", \"BH Fitness - G2338I - Alva Active Program Elliptical \", \"Sunbeam - TA2740K - Alinea Collection 4 Slice Toaster - Dark Canyon\", \"Braun - 70S - Cassette Replacement Pack\", \"DeLonghi Magnifica S Automatic Coffee Machine - ECAM22110SB \", \"Braun - 310S - Series 3 Wet&Dry Electric Shaver\", \"Oral B - GENIUS 8000 Electric Toothbrush - PC8000\", \"Sunbeam - KE9650 - Caf\\u00e9 Series Kettle\", \"Sunbeam - BL5451 - Sleep Perfect Quilted - Queen\", \"Remington - BD7000AU - PROLUXE Digital Salon\", \"Uniden - SSE P2 - Alert Pendant\", \"VS Sassoon - VSM837A - Metro\\u00ae Groom All-in-One Grooming System\", \"Vax - VX82 - Blade 2 Max Cordless Handstick Vacuum \", \"VS Sassoon - VS2010A - Str8 Up Hair Straightener\", \"Bissell - 2765F - CrossWave\\u00ae Cordless Max\", \"Hairstyla - HSS105 - Mini Brush Grape\", \"Sunbeam - DT6000 - Food Lab\\u2122 Electronic Dehydrator\", \"Tefal - GC450 - SuperGrill \", \"Asus - WI503Q-1LDBR0014 - ZenWatch 3 Gunmetal \", \"Crosley - CR6233A-RE - Bermuda Turntable\", \"Crest - PPBS4C - 4 Way Powerboard with Surge & Coax\", \"Sunbeam - KE2600SC - Gallerie Kettle - Silver Cloud\", \"Remington - D7777XAU - Air3D Styling Gift Pack\", \"Fitbit Inspire HR - FB413LVLV - Lilac \", \"Vax - VCP7PTFLT2 - Power 7 Filter Pack\", \"Laser  - CL-1827F - Air Duster Spray\", \"Vax - VX63F - Cordless Blade Filter Pack\", \"BH Fitness - H496B - i.Pixel Program Exercise Bike \", \"Google Nest Hub Max - GA00426 - Chalk\", \"Theragun - LIV-STND-AU - LIV Charging Stand\", \"VS Sassoon For Men  - VSMK20A - The Man Kit \", \"Sunbeam - SB1300 - HiLo Adjustable Tabletop Ironing Board\", \"LG - CK43 - 300W Mini System\", \"Smeg - CGF01WHAU - Coffee Grinder - White\", \"Morphy Richards - 242108 - White Accents Rose Gold 4 Slice Toaster\", \"Bissell - 99K5E - Pet Stain and Odor Formula\", \"Bissell - 2788F - Multi-Surface Pet Brush Roll\", \"DeLonghi - Essenza Mini & Aeroccino3 - White - EN85WAE\", \"Neff Handle Strip - Z54TH60N0\", \"BH Fitness - BT6443 - T200 Treadmill \", \"Theragun liv Percussive Therapy Massage Gun - LIV-PKG-AU \", \"Google Nest Hub - GA00515 - Charcoal \", \"Remington - S9100AU - Proluxe Salon Straightener\", \"DeLonghi - DLSK151 - MultiGrill Accessory Set\", \"Remington Curl & Straight Confidence Hair Dryer - D5706AU \", \"FoodSaver\\u00ae 2 x 28cm Rolls - VS0520\", \"Sunbeam - COM1000SS - Mini Bake & Grill\\u2122\", \"DeLonghi - Dedica Pump Espresso - Metal - EC 685.M\", \"Remington - R3500AU - Power Series R3 Rotary Shaver\", \"Laser  - AO-TP10 - Table Top Tripod\", \"Tefal - 5 Piece Reserve Collection + Wok - E820S545WOK\", \"Monster - 6 Outlet Powerboard - 123065\", \"VS Sassoon - VSP6614A - Milano 2200 AC Professional Dryer\", \"Sharp - KCF30JW - Air Purifier \", \"Sunbeam - KE4410KB - New York Collection Pot Kettle - Black Bronze\", \"Sunbeam - WW7500D - Professional Wok\", \"DeLonghi La Specialista EC9335.M - Manual Coffee Machine \", \"Dyson - 914606-01 - Flat Out\\u2122 Head Tool\", \"VS Sassoon - VSM1100A - X6 Pro\", \"Sunbeam - EM0020 - Espresso Machine Cleaning Tablet\", \"Vax - VXCB-01 - Commercial Advance Backpack \", \"VS Sassoon - VS3060A - Classic Salon Multi Curls\", \"Belkin - F8Z439au - TuneCast Auto Universal\", \"Sunbeam - EM4300K - Mini Barista Espresso Machine Black\", \"Sunbeam - LC6500 - Multi Processor Plus\", \"Laser  - CL-1818G - 10pk Smart Screen Cleaning Wipes\", \"VS Sassoon For Men - VSM7896A - the i-Stubble PRO\", \"Shaws - SCSH800WH - Shaker Double 800 Sink\", \"Smeg - CMS4101S - 45cm Linea Built-in Coffee Machine\", \"Magikleen - MAGABC250 - 250ml Antibacterial Surface Cleaner\", \"Sunbeam PM4800 - Pie Magic\\u00ae Traditional 4 Up\", \"Sunbeam - PM4210 - Pie Magic\\u00ae 2 Up\", \"Homedics - SAN-PH100-BK - Phone Sanitizer Bag\", \"Sunbeam - TR6100 - Faux Fur Heated Electric Throw\", \"Smeg - MFF01PBAU - Milk Frother - Pastel Blue\", \"Neff Standard Recirculation Kit - Z5102X5\", \"Sebo - 5828ER - X Service Kit\"], \"type\": \"scatter\", \"x\": [-0.03420494869351387, -0.08349017798900604, 0.04905840754508972, -0.03762917220592499, -0.03479230776429176, -0.1248798817396164, 0.1027112826704979, 0.00563909113407135, -0.011780217289924622, -0.007399603724479675, -0.07516112923622131, -0.10363605618476868, -0.019428260624408722, 0.0907781720161438, -0.05288252979516983, -0.0565543994307518, -0.08105853199958801, -0.05838603526353836, 0.11109232902526855, -0.12516817450523376, 0.08755601942539215, 0.032868750393390656, -0.09871750324964523, 0.10036273300647736, 0.03827013820409775, -0.09774076193571091, -0.018969200551509857, 0.016131117939949036, 0.008757073432207108, 0.024542011320590973, 0.06788672506809235, -0.11670463532209396, -0.09817301481962204, -0.05803979933261871, -0.10404592007398605, 0.08326020836830139, 0.06412161886692047, -0.024163737893104553, -0.0020531490445137024, 0.06923972070217133, -0.09414596110582352, -0.11003850400447845, 0.047255054116249084, -0.09649413079023361, -0.03380182385444641, 0.03181729465723038, 0.0818384513258934, -0.07412390410900116, -0.010632067918777466, -0.018108904361724854, -0.05610940605401993, -0.028351418673992157, -0.10094474256038666, -0.07764864712953568, -0.05390084534883499, -0.10055317729711533, 0.0059459879994392395, -0.027924418449401855, -0.07486090809106827, -0.04691832512617111, -0.00910130888223648, -0.07206471264362335, -0.02718895673751831, 0.026682082563638687, -0.07400408387184143, -0.0007915347814559937, -0.06694179028272629, -0.15433385968208313, -0.013360407203435898, 0.02981112152338028, 0.03633018583059311, 0.13904723525047302, -0.041216589510440826, -0.022061768919229507, -0.033174969255924225, -0.10089016705751419, 0.014830760657787323, 0.09050766378641129, 0.043326810002326965, -0.018638037145137787, -0.09234660118818283, -0.0758700966835022, -0.04300306737422943, 0.044102735817432404, -0.061228200793266296, -0.06131482124328613, -0.07691013067960739, 0.09526065737009048, -0.10454117506742477, 0.00907774269580841, -0.03256797045469284, 0.03344529867172241, -0.12308648973703384, 0.01013597846031189, 0.018722668290138245, 0.03868748992681503, -0.03447486460208893, -0.2310669720172882, -0.018190898001194, -0.03871886432170868, 0.02968878298997879, -0.04112917184829712, -0.12744086980819702, -0.17842990159988403, -0.11656560748815536, 0.16072236001491547, -0.07042766362428665, -0.01579108089208603, 0.015412874519824982, -0.03912661224603653, -0.1270359456539154, 0.020483434200286865, -0.05061548948287964, -0.08782336860895157, -0.08146564662456512, -0.058406226336956024, -0.04526564106345177, -0.0477413609623909, 0.00659344345331192, -0.008264482021331787, -0.06210566312074661, -0.15193888545036316, 0.04752054065465927, -0.010490834712982178, -0.1330079734325409, -0.008656889200210571, -0.07011642307043076, -0.05280178040266037, 0.045334961265325546, -0.04180266708135605, -0.07161028683185577, -0.1794772893190384, 0.09634347259998322, 0.06443236768245697, 0.02664962410926819, -0.07781849056482315, 0.033500224351882935, -0.1155930832028389, 0.05823875218629837, -0.04046301543712616, -0.02922569215297699, -0.08007857203483582, -0.04935634881258011, -0.12381463497877121, 0.1336296945810318, -0.12578675150871277, -0.027914680540561676, 0.09225692600011826, -0.0006505250930786133, -0.19032689929008484, -0.08636359870433807, -0.03027142584323883, 0.1336614042520523, 0.03716045618057251, -0.05053524672985077, -0.11683172732591629, -0.17073339223861694, 0.07990525662899017, -0.05842771381139755, -0.003179103136062622, 0.0009474530816078186, 0.09754151850938797, -0.106313556432724, -0.034495845437049866, -0.03741729259490967, -0.09083004295825958, -0.13048914074897766, -0.0902094617486, 0.10314671695232391, -0.029698088765144348, -0.05741646885871887, -0.0037581920623779297, -0.10005668550729752, -0.01743920147418976, 0.0055709704756736755, -0.13413704931735992, 0.014179766178131104, 0.06505708396434784, 0.049155138432979584, -0.01476740837097168, -0.14693179726600647, 0.0005346611142158508, -0.04514724761247635, -0.07002922892570496, -0.08517934381961823, -0.14914663136005402, -0.06498987227678299, -0.031726330518722534, -0.042392291128635406, -0.12358402460813522, -0.08622705191373825, -0.015066854655742645, 0.09875036776065826, -0.09279737621545792, -0.12436652928590775, -0.08819366991519928, -0.03776047006249428, -0.0731806829571724, -0.03248671442270279, -0.13361765444278717, -0.02269388735294342, -0.08974312990903854, -0.040431439876556396, 0.012687727808952332, -0.10756490379571915, -0.11089825630187988, -0.028078943490982056, -0.07003886252641678, -0.031212806701660156, -0.08852315694093704, -0.02607661485671997, -0.07425785809755325, -0.0806613489985466, -0.11638765782117844, -0.09096251428127289, -0.010969750583171844, -0.020528733730316162, 0.012077458202838898, -0.006975896656513214, -0.012056604027748108, -0.08640266209840775, 0.1614634096622467, -0.07577919960021973, 0.08703441172838211, 0.024419501423835754, 0.12187893688678741, -0.14845123887062073, 0.07581290602684021, -0.055679261684417725, -0.09791894257068634, -0.07570050656795502, -0.11743780225515366, -0.021895162761211395, 0.0483892448246479, 0.007824737578630447, -0.14362703263759613, -0.13550379872322083, 0.08121070265769958, 0.02432912588119507, -0.06882091611623764, -0.0329812616109848, -0.0705459788441658, 0.12789030373096466, -0.040695883333683014, 0.02702564373612404, -0.15003585815429688, -0.04924822598695755, 0.002759993076324463, -0.0430338978767395, -0.008765898644924164, 0.05977935343980789, -0.10472746938467026, 0.01000887155532837, 0.013116225600242615, 0.00014059990644454956, -0.050645045936107635, -0.14170578122138977, -0.011655822396278381, -0.03924623131752014, -0.0008201897144317627, -0.03459569066762924, 0.01782120019197464, -0.022999979555606842, 0.10191232711076736, -0.15967345237731934, 0.042414478957653046, -0.046112872660160065, -0.12663832306861877, -0.08992450684309006, -0.0199291929602623, -0.06299277395009995, -0.11463750153779984, -0.16653144359588623, -0.008693292737007141, -0.14865079522132874, 0.06645277142524719, -0.0024981722235679626, 0.029431715607643127, 0.06334209442138672, -0.1039881780743599, -0.03368556499481201, -0.1393667459487915, -0.01590300351381302, -0.07408696413040161, -0.025005295872688293, 0.07911564409732819, -0.010950274765491486, -0.14904218912124634, 0.032544463872909546, -0.1290576010942459, -0.07533044368028641, -0.016185276210308075, 0.06791619211435318, -0.0075558945536613464, -0.1828673779964447, -0.034917041659355164, -0.06382464617490768, 0.022506222128868103, -0.08273681253194809, -0.14123891294002533, -0.002917148172855377, -0.007941130548715591, 0.06369511038064957, -0.12346594035625458, 0.04254402592778206, 0.17252276837825775, -0.06540285050868988, 0.05855006352066994, -0.02516777813434601, -0.023223519325256348, 0.08637970685958862, 0.06950100511312485, -0.019254490733146667, -0.07117516547441483, -0.14332029223442078, -0.12656758725643158, -0.20556789636611938, 0.08390401303768158, 0.033512577414512634, 0.07783764600753784, -0.08872484415769577, 0.07053794711828232, -0.06333518773317337, -0.09037653356790543, 0.03931538760662079, -0.1912272572517395, -0.085616834461689, 0.08966672420501709, -0.01385962963104248, -0.06300068646669388, -0.0349818617105484, -0.009968556463718414, -0.03838212043046951, -0.06702346354722977, 0.08592810481786728, -0.10162443667650223, -0.08946029841899872, 0.026713214814662933, 0.06044444441795349, -0.016570299863815308, -0.00016530603170394897, -0.05356259644031525, -0.05031793564558029, -0.21741801500320435, 0.08479057997465134, 0.04030813276767731, -0.0962788313627243, -0.07810042798519135, -0.08358520269393921, -0.026398614048957825, 0.023441053926944733, -0.042431145906448364, -0.04978761076927185, -0.09893234819173813, -0.024899862706661224, 0.0004995912313461304, 0.06610140204429626, -0.07745370268821716, 0.06669971346855164, -0.04351799935102463, 0.036166202276945114, -0.08395124226808548, 0.1306544840335846, -0.030676253139972687, -0.01709546148777008, -0.10821009427309036, -0.0695771649479866, 0.028820887207984924, -0.05201397091150284, -0.04185126721858978, 0.03178253769874573, -0.09500199556350708, -0.06180937588214874, -2.0153820514678955e-05, 0.09076113998889923, -0.10740368068218231, -0.045501820743083954, 0.10369545221328735, 0.08661720901727676, -0.157607764005661, 0.039665836840867996, 0.04407985880970955, -0.11336169391870499, 0.06004771962761879, -0.034346744418144226, 0.11219397187232971, -0.07336246967315674, -0.048762306571006775, -0.0018412135541439056, -0.08687779307365417, -0.08069460839033127, 0.03927679359912872, -0.06137850880622864, 0.0304756760597229, 0.12423603981733322, -0.0980478897690773, -0.031007658690214157, -0.2070101499557495, -0.037579260766506195, 0.05981221795082092, 0.050149306654930115, -0.27148792147636414, -0.12034375220537186, -0.07794590294361115, 0.03803911805152893, 0.041661277413368225, -0.019706912338733673, 0.01796509325504303, 0.04290642589330673, -0.0666273832321167, -0.13925975561141968, -0.01291188970208168, -0.04099142551422119, -0.04875104874372482, -0.047992490231990814, -0.04972265660762787, -0.06632158160209656, 0.015269860625267029, -0.0044436268508434296, -0.07055804133415222, -0.04458791762590408, 0.05311673879623413, -0.11883910745382309, -0.06746400892734528, -0.17587733268737793, -0.04481123387813568, -0.09394969791173935, -0.05512077361345291, -0.10482161492109299, -0.07514078915119171, -0.06291431933641434, -0.16577842831611633, 0.07055046409368515, 0.017564617097377777, 0.04343550652265549, 0.02249513566493988, -0.017542876303195953, -0.0675906091928482, -0.017725199460983276, -0.09877605736255646, -0.08815333247184753, 0.029887869954109192, -0.17134785652160645, -0.05810852348804474, 0.018001332879066467, 0.10908899456262589, 0.006742514669895172, -0.03593611717224121, 0.013198606669902802, 0.040089190006256104, -0.02356475591659546, -0.05739377439022064, -0.05071667581796646, 0.161288782954216, -0.03511878848075867, 0.04034421592950821, -0.032087959349155426, 0.023962192237377167, 0.03670991212129593, 0.10609060525894165, -0.020968809723854065, -0.004705667495727539, 0.022235900163650513, 0.00263996422290802, -0.02843564748764038, 0.09290952980518341, -0.05821988731622696, 0.029170550405979156, -0.15416789054870605, -0.09994664043188095, -0.11941488832235336, -0.13040614128112793, -0.050948575139045715, -0.0846964567899704, 0.010694138705730438, -0.025873899459838867, -0.06923580914735794, -0.04059609770774841, -0.014887921512126923, -0.06023850291967392, -0.1541644036769867, -0.15767812728881836, -0.12131776660680771, -0.0410749688744545, 0.16090574860572815, -0.02825641632080078, -0.02372577041387558, -0.09067804366350174, -0.0664534941315651, -0.06000727415084839, 0.014333672821521759, -0.08510539680719376, -0.025262564420700073, 0.08983603119850159, -0.039398856461048126, -0.006464384496212006, -0.04230925440788269, 0.06578080356121063, -0.02961072325706482, 0.056341420859098434, 0.06885091960430145, 0.0450083464384079, -0.0763346403837204, -0.1706378161907196, -0.06461487710475922, -0.07943198829889297, -0.04711664468050003, 0.04955710470676422, -0.16534969210624695, -0.12509559094905853, -0.004701003432273865, -0.014460235834121704], \"y\": [-0.125372514128685, -0.038504648953676224, -0.060193419456481934, -0.1561160683631897, -0.11227062344551086, -0.16236862540245056, -0.1329151690006256, -0.06639392673969269, -0.17982301115989685, -0.14302851259708405, -0.06152848154306412, -0.09408221393823624, -0.20071837306022644, -0.14151206612586975, -0.07827619463205338, -0.05227404460310936, -0.08289099484682083, -0.14791381359100342, -0.15984958410263062, -0.04128910228610039, -0.08931967616081238, -0.04259951412677765, -0.02560935728251934, -0.026640847325325012, -0.1593630164861679, -0.12226216495037079, -0.12988097965717316, -0.16965839266777039, -0.13985395431518555, -0.07564173638820648, -0.26530978083610535, -0.10307346284389496, -0.15456587076187134, -0.032203879207372665, -0.08338362723588943, -0.1303975135087967, -0.04878201335668564, -0.12539663910865784, -0.08033489435911179, -0.05425450578331947, -0.15341663360595703, -0.17423707246780396, -0.09132255613803864, -0.1354009062051773, -0.21990954875946045, 0.0019011814147233963, -0.0961112380027771, -0.13557104766368866, -0.09669538587331772, -0.19169363379478455, -0.18702460825443268, -0.1475408673286438, -0.10108013451099396, -0.1744675487279892, -0.07599212229251862, -0.17965629696846008, -0.15728971362113953, -0.09717810153961182, -0.11034364253282547, -0.0037969201803207397, -0.09879530966281891, -0.09320484101772308, -0.1507529616355896, -0.07932482659816742, -0.18017707765102386, -0.05327433720231056, -0.12988020479679108, -0.11521033197641373, -0.09584091603755951, -0.1044238731265068, -0.1003386527299881, -0.12984031438827515, -0.15798377990722656, -0.1523255705833435, -0.18452335894107819, -0.06615480035543442, -0.13869714736938477, -0.07747066020965576, -0.10643410682678223, -0.15565679967403412, -0.009635692462325096, -0.1445191502571106, -0.207145556807518, -0.11247531324625015, -0.24899643659591675, -0.1780155450105667, -0.07734358310699463, -0.053762033581733704, -0.10554911196231842, -0.11303368955850601, -0.010609127581119537, -0.1335415244102478, -0.1682451069355011, -0.10930338501930237, -0.11192326247692108, -0.13733240962028503, -0.14380252361297607, -0.037058182060718536, -0.094138965010643, -0.19304801523685455, -0.2463897168636322, -0.12127650529146194, -0.02983953058719635, -0.038275957107543945, -0.029100339859724045, -0.0631566122174263, -0.04554186388850212, -0.056074708700180054, -0.051053352653980255, -0.032746322453022, -0.09952491521835327, -0.09344077110290527, -0.17210116982460022, -0.06513147801160812, -0.20263174176216125, -0.1319151520729065, -0.08641502261161804, -0.16765767335891724, -0.04255792126059532, -0.10719216614961624, -0.23297058045864105, -0.04855369031429291, -0.023766634985804558, -0.17762479186058044, -0.04189235344529152, -0.13678060472011566, -0.14552026987075806, -0.1788470447063446, -0.17959260940551758, -0.08816932141780853, -0.11824725568294525, -0.1431877613067627, -0.15839669108390808, -0.1394023895263672, -0.10287682712078094, -0.08834855258464813, -0.0744592547416687, -0.15683609247207642, -0.20711186528205872, -0.03888379782438278, -0.03369508683681488, 0.022806189954280853, -0.08276863396167755, -0.08254251629114151, -0.19582599401474, -0.13350379467010498, -0.1002793163061142, -0.14962372183799744, -0.006207067519426346, -0.10694892704486847, -0.1426587551832199, -0.09150245040655136, -0.08112990111112595, -0.04760727658867836, -0.0959322601556778, -0.040719371289014816, -0.06909541040658951, -0.13967347145080566, -0.04013659805059433, -0.06681064516305923, -0.12611240148544312, -0.10350240767002106, -0.05635428801178932, -0.09021508693695068, -0.11401711404323578, -0.1846964806318283, -0.12670448422431946, -0.19953083992004395, -0.18405741453170776, -0.19766955077648163, -0.15604597330093384, -0.10707586258649826, -0.12768587470054626, -0.1926015019416809, -0.06445609033107758, -0.0321529284119606, -0.18100866675376892, -0.10449659824371338, -0.12077593058347702, -0.09182508289813995, -0.10806351900100708, -0.13326779007911682, -0.10674649477005005, -0.09672911465167999, -0.1115705594420433, -0.1090632975101471, -0.10171807557344437, -0.14497244358062744, -0.11459603160619736, -0.12263061106204987, -0.12432194501161575, -0.030234849080443382, -0.21593333780765533, -0.19126790761947632, -0.04035206139087677, -0.1297394335269928, 0.007514651864767075, -0.10537709295749664, -0.10513399541378021, -0.12942391633987427, -0.04756046086549759, -0.10599751025438309, -0.14982756972312927, -0.11823534965515137, -0.05434032902121544, -0.028335891664028168, 0.018874667584896088, -0.14362651109695435, -0.031363099813461304, -0.092607781291008, -0.1387302428483963, -0.08882953971624374, -0.1690046191215515, -0.08108898997306824, -0.12237676233053207, -0.11621333658695221, 0.02601470611989498, -0.026857813820242882, -0.24823755025863647, -0.09587626159191132, -0.05767214670777321, 0.002623729407787323, -0.16805656254291534, -0.3081318140029907, -0.10294780135154724, -0.010158158838748932, -0.07030832022428513, -0.18683040142059326, -0.10692068934440613, -0.1057467982172966, -0.10901838541030884, -0.06757085025310516, -0.16950692236423492, -0.1728772222995758, -0.0506439246237278, -0.20458818972110748, -0.1167103573679924, -0.11530411243438721, -0.19757255911827087, -0.06693612784147263, -0.031019605696201324, -0.18604938685894012, -0.12207646667957306, -0.0455351248383522, -0.07847118377685547, -0.1359260380268097, -0.04390513896942139, 0.012698420323431492, -0.08824902027845383, -0.15435203909873962, 0.004448652267456055, -0.17166516184806824, -0.06155024468898773, -0.1626347303390503, -0.1670682430267334, -0.06800263375043869, -0.12368718534708023, -0.09259654581546783, -0.1322699934244156, -0.0011857002973556519, -0.03495936468243599, -0.11301948130130768, -0.19847628474235535, -0.12082234025001526, -0.16316600143909454, -0.08463077992200851, -0.10606496036052704, -0.08695028722286224, -0.20961251854896545, 0.10352889448404312, -0.10480265319347382, -0.06193249672651291, -0.15382196009159088, -0.14186643064022064, -0.1104356050491333, -0.15778642892837524, -0.043035462498664856, -0.12676438689231873, -0.01206737570464611, -0.14757001399993896, -0.15308675169944763, -0.0639369785785675, -0.10751073062419891, -0.04787008464336395, -0.1421564817428589, -0.125919371843338, -0.14573529362678528, -0.07423113286495209, -0.10961133241653442, 0.030079957097768784, -0.15886974334716797, -0.22000879049301147, -0.04146919399499893, -0.06837193667888641, -0.09520313143730164, -0.17462347447872162, -0.1375715434551239, -0.10052450001239777, -0.09950688481330872, -0.05925440043210983, -0.08012707531452179, -0.04972412809729576, -0.16538456082344055, -0.20923204720020294, -0.16377851366996765, -0.08837452530860901, -0.1493760645389557, -0.132135272026062, -0.18697555363178253, -0.23225350677967072, -0.17937125265598297, -0.053240127861499786, -0.11548079550266266, -0.02024170756340027, -0.0917702466249466, -0.08743981271982193, -0.11201120913028717, -0.15337003767490387, -0.16803738474845886, -0.17527195811271667, -0.07263752073049545, 0.031952425837516785, -0.08314162492752075, -0.0566147118806839, -0.008875109255313873, -0.04049479216337204, 0.03214866295456886, -0.1118403971195221, -0.18282076716423035, -0.08559936285018921, -0.08658832311630249, -0.052912138402462006, -0.12149366736412048, -0.029457606375217438, -0.21303141117095947, -0.15837545692920685, -0.19610196352005005, -0.17216971516609192, -0.0674012079834938, -0.12297491729259491, -0.1305745393037796, 0.023252354934811592, -0.08201292902231216, -0.043374963104724884, -0.12625393271446228, -0.13942302763462067, -0.08570078015327454, -0.13736993074417114, -0.03213674575090408, 0.04985162615776062, -0.22231200337409973, -0.1350707709789276, -0.17848196625709534, -0.13282732665538788, -0.14438891410827637, -0.19565677642822266, -0.05855735018849373, -0.0603150799870491, -0.11641789972782135, -0.12163890153169632, -0.20292255282402039, -0.075161412358284, 0.014643015339970589, -0.2141985148191452, -0.21256312727928162, -0.021910175681114197, -0.14394372701644897, -0.027023203670978546, 0.0026781708002090454, -0.17036445438861847, -0.055334534496068954, -0.13482141494750977, -0.1235116645693779, -0.009730525314807892, -0.01909083127975464, -0.07197514176368713, -0.09038703143596649, -0.07377324998378754, -0.09855929017066956, -0.1766672134399414, -0.08045344799757004, -0.10156592726707458, -0.07028661668300629, -0.1568201184272766, -0.0840320736169815, -0.12008160352706909, -0.09533179551362991, -0.055965546518564224, -0.03960367292165756, -0.09741539508104324, -0.014788860455155373, -0.09215760231018066, -0.05047772824764252, 0.19535227119922638, -0.10719586908817291, -0.1248096376657486, -0.17467084527015686, -0.09328209608793259, -0.18149897456169128, -0.1728036105632782, -0.08166873455047607, -0.0975499302148819, -0.09367968887090683, -0.15107722580432892, -0.14077863097190857, -0.0947461798787117, 0.022106535732746124, -0.03307092562317848, -0.10685671865940094, -0.13196901977062225, -0.07948030531406403, -0.02125096321105957, -0.09881677478551865, -0.08248201012611389, -0.10599613934755325, -0.15266820788383484, -0.14200451970100403, -0.09424024820327759, -0.16742612421512604, -0.10580942034721375, -0.08755896240472794, -0.05761425942182541, -0.09269258379936218, -0.096748486161232, -0.031213901937007904, -0.10891023278236389, -0.10489863902330399, -0.16518820822238922, -0.1384064108133316, -0.14241594076156616, -0.14522020518779755, -0.046501923352479935, -0.07422125339508057, -0.04849240928888321, -0.07383476197719574, -0.05528226122260094, -0.07232772558927536, -0.06310506165027618, -0.14413176476955414, -0.06580695509910583, -0.12430218607187271, -0.16260257363319397, -0.10675647109746933, -0.16742780804634094, -0.1592162698507309, -0.062458306550979614, -0.03236731141805649, -0.09163592010736465, -0.07575206458568573, -0.20924681425094604, -0.10186339169740677, -0.09504677355289459, 0.022332552820444107, 0.14153599739074707, -0.14298921823501587, -0.08573400229215622, -0.12782052159309387, -0.09172067791223526, -0.07807770371437073, -0.09214749932289124, -0.11208851635456085, -0.10918331146240234, -0.11578082293272018, -0.06009945273399353, -0.10112994909286499, -0.09519639611244202, -0.1321028470993042, 0.1326172947883606, -0.08420547842979431, -0.10124164819717407, -0.14365500211715698, -0.12283845245838165, -0.10778354108333588, -0.08370570093393326, -0.15323373675346375, -0.10813482105731964, -0.05708979070186615, 0.0011230222880840302, -0.11155980080366135, -0.04386306554079056, -0.0003538653254508972, -0.11613187193870544, -0.09600075334310532, -0.09731148183345795, -0.15366780757904053, -0.043447330594062805, -0.06702469289302826, -0.004188528284430504, -0.0866236686706543, -0.13690052926540375, -0.028743766248226166, -0.054930850863456726, -0.1607511341571808, 0.004478528164327145, -0.07915939390659332, -0.21481311321258545, -0.05905310809612274, -0.07453156262636185, -0.08114004135131836, 0.011356532573699951, 0.031872425228357315, -0.007755152881145477, -0.06583602726459503, -0.007830597460269928, -0.16549000144004822, -0.07641075551509857, -0.11236844956874847, -0.11899242550134659, -0.09604725241661072, -0.24978592991828918, -0.03477868437767029, -0.0951206386089325]}, {\"marker\": {\"color\": 24, \"size\": 5}, \"mode\": \"markers\", \"name\": \"19\", \"text\": [\"Beko - HIC64502 T - 60cm Ceran Cooktop\", \"Smeg - SA661X-2 - 60cm Ceramic Cooktop\", \"Crock-Pot\\u00ae - CHP600 - Choose-a-Crock One Pot Cooker\", \"Beko - 90 cm Vitroceramic Cooktop - HIC95600T \", \"Crock-Pot\\u00ae - CHP550 - Digital Hinged Lid One Pot Cooker\", \"Omega - OCI64Z - 60cm Induction Cooktop\", \"Omega Altise ACUBOB - Portable Ceramic Heater - Black\", \"Beko - HIC64502 T - 60cm Ceran Cooktop\", \"Asko - HG1825AD - 80cm Pro Series - Ceramic Glass - Gas Cooktop \", \"Smeg - SE364TBAU - 60cm Ceramic Cooktop\", \"Beko - HIC74502T - 70cm Electric Ceran Cooktop\", \"Beko - HIC641051 - 60cm Vitroceramic Cooktop\", \"Westinghouse - WHC742BA - 70cm Ceramic Cooktop\", \"Bosch - 60cm Ceramic Cooktop - PKE611CA1A\", \"Westinghouse - WHC322BA - 30cm Ceramic Cooktop\", \"Omega Altise OACHM15W - Portable Ceramic Heater - White\", \"Euromaid - F54CW - 54cm Freestanding Electric Oven + Ceramic Cooktop\", \"Smeg - SA711XA-1 - 70cm Ceramic Cooktop\", \"Westinghouse WHC633BC - 60cm 3 Zone Ceramic Cooktop\", \"Westinghouse WHC943BC - 90cm 4 Zone Ceramic Cooktop\", \"DeLonghi - DTCH80B - 80cm Ceramic Cooktop\", \"Westinghouse WHC942BC - 90cm 4 Zone Ceramic Cooktop\", \"Westinghouse - WHC934BA - 90cm Ceramic Cooktop\", \"Chef - CHC944BA - 90cm Ceramic Cooktop\", \"Omega - OC64KZ - 60cm Ceramic Cooktop\", \"Inalto - ICC705TB - 70cm Ceramic Cooktop - Touch Control\", \"Crock-Pot - CPE300 - Express Crock XL Multi-Cooker\", \"Westinghouse WHC933BC - 90cm 3 Zone Ceramic Cooktop\", \"Crock-Pot\\u00ae - Traditional One Pot Cooker - CHP200\", \"Inalto - IE92T - 90cm Ceramic Cooktop\", \"Westinghouse WHC642BC - 60cm 4 Zone Ceramic Cooktop\", \"Westinghouse WHC742BC - 70cm 4 Zone Ceramic Cooktop\", \"DeLonghi - DTCH60B - 60cm Ceramic Cooktop\", \"Electrolux - EHC944BA - 90cm Ceramic Cooktop\", \"Everdure by Heston Blumenthal - CUBE - Portable Charcoal Barbeque - HBCUBEK - Khaki \", \"Westinghouse - WHC744BA - 70cm Ceramic Cooktop\", \"Omega - OC95TXA - 90cm Ceramic Cooktop\", \"Asko - HG1145AD - 111cm Pro Series - Ceramic Glass - Gas Cooktop\", \"Bosch - 60cm Ceramic Cooktop - PKE611D17A\", \"Omega - OCC90TZ - 90cm Ceramic Cooktop\", \"Everdure by Heston Blumenthal - CUBE - Portable Charcoal Barbeque - HBCUBES - Stone\", \"Omega - OC70TZ - 70cm Ceramic Cooktop\", \"Crock-Pot - CPE200 - Express Crock Multi Cooker\", \"Omega - OI64Z - 60cm Induction Cooktop\", \"Inalto - IE61K - 60cm Ceramic Cooktop\", \"Inalto - IE62T - 60cm Ceramic Cooktop\", \"Everdure by Heston Blumenthal - CUBE - Portable Charcoal Barbeque - HBCUBEG - Graphite\", \"Omega - OG72XA - 70cm Gas Cooktop\", \"Omega Altise OACHB24W - Portable Ceramic Heater\", \"Beko - HIC74502T - 70cm Electric Ceran Cooktop\", \"Omega - OCI64PP - 60cm Induction Cooktop\", \"Westinghouse - WHC942BA - 90cm Ceramic Cooktop\", \"Chef - CHC644BA - 60cm Ceramic Cooktop\", \"Omega - OCG755FX - 75cm Gas Cooktop\", \"Omega - OCG64FFX - 60cm Gas Cooktop\", \"Westinghouse WHC642SC - 60cm 4 Zone Ceramic Cooktop\", \"Westinghouse WHC643BC - 60cm 4 Zone Ceramic Cooktop\", \"Electrolux - EHC944BB - 90cm Ceramic Cooktop\", \"Magikleen - MAGCTP250 - 250ml Ceramic Cooktop Polish\", \"Electrolux - EHC644BB - 60cm Ceramic Cooktop\", \"Fisher & Paykel - CE754DTB1 - 75cm Ceramic Cooktop\", \"Omega Altise - AHCC1800TB - Ceramic Heater with LED Display\", \"Omega Altise - Ceramic Heater with LED Display - AHCC2400TB\", \"DeLonghi - DECH60SX1 - 60cm Black Glass Ceramic Cooktop\", \"Everdure by Heston Blumenthal - CUBE - Portable Charcoal Barbeque - HBCUBEO - Orange\", \"Fisher & Paykel - CE604DTB1 - 60cm Ceramic Cooktop\", \"Westinghouse WHC322BC - 30cm 2 Zone Ceramic Cooktop\", \"Omega - OCI64B - 60cm Induction Cooktop\", \"Inalto - ICC604K - 60cm Ceramic Cooktop - Knob Control\", \"Kambrook - KHP120 - Double Ceramic Hotplate\", \"Omega - OCC70TZ - 70cm Ceramic Cooktop\", \"Magikleen - MAGCTC250 - 250ml Ceramic Cooktop Cleaner\", \"Omega - OC64TZ - 60cm Ceramic Cooktop\", \"Inalto - ICC905TB - 90cm Ceramic Cooktop - Touch Control\", \"Inalto - IOC6 - 60cm Cooking Pack - Oven & Ceramic Cooktop\", \"Smeg - SE394EMTBAU - 90cm Ceramic Cooktop\", \"Inalto - ICC604TB - 60cm Ceramic Cooktop - Touch Control\", \"VS Sassoon - VS325A - 25mm Ceramic Curler\", \"Asko - HG1935AD - 90cm Pro Series - Ceramic Glass - Gas Cooktop   \", \"Electrolux - EHG955BD - 90cm Ceramic Cooktop\"], \"type\": \"scatter\", \"x\": [-0.3421708941459656, -0.32486799359321594, -0.1954723596572876, -0.30536937713623047, -0.20952171087265015, -0.2700446546077728, -0.017932608723640442, -0.3421708941459656, -0.26295068860054016, -0.3418861925601959, -0.3435926139354706, -0.3428296148777008, -0.33816561102867126, -0.3128316104412079, -0.3347126543521881, -0.07496298849582672, -0.3360942304134369, -0.3123469650745392, -0.3449963331222534, -0.3215583562850952, -0.3030703663825989, -0.3327294588088989, -0.3333717882633209, -0.3582972288131714, -0.25289738178253174, -0.16998717188835144, -0.22461047768592834, -0.3168999254703522, -0.22793778777122498, -0.2780124843120575, -0.34330832958221436, -0.3244789242744446, -0.30751457810401917, -0.2722873389720917, -0.15353283286094666, -0.3507829010486603, -0.2005382478237152, -0.22533667087554932, -0.31579896807670593, -0.2493302822113037, -0.15726825594902039, -0.23330900073051453, -0.231359601020813, -0.269241064786911, -0.29082584381103516, -0.3051708936691284, -0.14649856090545654, -0.30799755454063416, -0.11746426671743393, -0.3435926139354706, -0.26668959856033325, -0.34611400961875916, -0.3705446720123291, -0.2849944531917572, -0.3127192258834839, -0.3430781960487366, -0.34263119101524353, -0.27759793400764465, -0.200557678937912, -0.2859625518321991, -0.30564427375793457, -0.03301882743835449, -0.02814166247844696, -0.24270087480545044, -0.11922027170658112, -0.3058384954929352, -0.30506259202957153, -0.2728796899318695, -0.2459453046321869, -0.13745863735675812, -0.2424374520778656, -0.23754334449768066, -0.25499406456947327, -0.17523211240768433, -0.32229578495025635, -0.34890180826187134, -0.19397392868995667, -0.0424787774682045, -0.24998310208320618, -0.2636754810810089], \"y\": [0.04648805037140846, 0.08969558775424957, -0.026448708027601242, 0.07317579537630081, -0.04406438767910004, 0.12686075270175934, -0.0804184079170227, 0.04648805037140846, 0.10562571883201599, 0.01747073233127594, -0.0009453184902667999, 0.010449763387441635, 0.06389276683330536, 0.00682951882481575, 0.02432045340538025, 0.027887172996997833, 0.12723171710968018, 0.054498061537742615, 0.12448478490114212, 0.11259584128856659, -0.00279342383146286, 0.12202352285385132, 0.06827136874198914, -0.004702221602201462, 0.12921085953712463, 0.03680986911058426, -0.07448877394199371, 0.08891922980546951, -0.06137203425168991, 0.06559837609529495, 0.15007968246936798, 0.12122794985771179, 0.03166421502828598, -0.0021825097501277924, -0.14563210308551788, 0.06449848413467407, 0.11248525977134705, 0.09872749447822571, 0.025729414075613022, 0.09740495681762695, -0.14304739236831665, 0.12217063456773758, -0.09754779189825058, 0.11371275782585144, 0.09465521574020386, 0.09405072778463364, -0.08731740713119507, 0.11753058433532715, 0.02353578433394432, -0.0009453184902667999, 0.10497518628835678, 0.06602935492992401, 0.015726212412118912, 0.08432059735059738, 0.12352586537599564, 0.18195819854736328, 0.14799778163433075, -0.00379147008061409, -0.1018378958106041, 0.008534032851457596, -0.01769086718559265, 0.08800088614225388, 0.08851003646850586, 0.062327492982149124, -0.14265620708465576, 0.0009774714708328247, 0.05454582720994949, 0.09310834854841232, 0.03479907661676407, -0.12105165421962738, 0.095184326171875, -0.062065571546554565, 0.1294936090707779, 0.047959376126527786, 0.07314527034759521, 0.02193373814225197, 0.04405045136809349, -0.009556025266647339, 0.09996277093887329, 0.0809197649359703]}, {\"marker\": {\"color\": 25, \"size\": 5}, \"mode\": \"markers\", \"name\": \"20\", \"text\": [\"Cygnett - CY2913CPTGL - iPhone 11 Screen Protector\", \"Cygnett - CY2914CPTGL - iPhone 11 Pro Screen Protector\", \"Cygnett - Universal Protective Smartphone Case - CY1678UNNAN\", \"Cygnett - CY2228CPSTE - iPhone X Slimline Protective Case\", \"Cygnett - CY2957TEKVI - TekView Protective AirPods Case - Red\", \"Cygnett - CY2638OZONE - iPhone Xs & X Tempered Glass Case - Black\", \"Cygnett - CY2955TEKVI - TekView Protective AirPods Case - Navy\", \"Cygnett Urban Wallet Flip For iPhone SE (2020)  8, 7 & 6\", \"Speck - 155695 - Presidio Pro Case - iPhone XR\", \"Cygnett - CY1674CPAEG - AeroGrip Case for iPhone \", \"Apple Watch Series 5 (GPS) 44mm - Space Grey Aluminium Case with Black Sport Band \", \"Cygnett - CY2595CPTEK - iPhone Xs & X Protective Wallet Case\", \"Cygnett - CY2645CPAEG - 9.7\\\" iPad Slim Protective Case\", \"Cygnett - CY2642OZONE - iPhone Xs Max Tempered Glass Case - Black\", \"Cygnett - CY2607CPSKI - iPhone Xs & X Slimline Case - Black\", \"Cygnett - CY2323CPTGL - iPhone 8 Plus Glass Screen Protector\", \"Cygnett - CY2287CPHAL - iPhone X Front & Back Screen Protector\", \"Cygnett - CY2421CPTGL - Tempered Glass Screen Protector S9\", \"Cygnett - CY2599CPTEK - iPhone Xs Max Protective Wallet Case\", \"Cygnett - CY2628CPTGL - iPhone XR Tempered Glass Screen Protector\", \"Cygnett - CY2322CPTGL - iPhone 8 Glass Screen Protector\", \"Cygnett - CY2176CITGL - 12.9\\\" Glass Screen Protector for iPad\", \"Apple Watch Series 5 (GPS) 44mm - Gold Aluminium Case with Pink Sand Sport Band       \", \"Apple Watch Series 5 (GPS + Cellular) 40mm - Gold Aluminium Case with Pink Sand Sport Band   \", \"Cygnett - CY2290CPTGL - iPhone X Tempered Glass Screen Protector\", \"Cygnett - CY2630CPTGL - 9H Tempered Glass Screen Protector - iPhone XR\", \"Apple 40mm Pink Sand Sport Band - 3D990FE/A \", \"Apple Watch Series 3 (GPS + Cellular) 42mm - Space Grey Aluminium Case with Black Sport Band \", \"Cygnett - CY2033CPTGL - Tempered Glass Screen Protector\", \"Cygnett - CY2239CPURB - iPhone 8 & 7  UrbanShield Case\", \"Cygnett - CY2426CPTGL - Tempered Glass Screen Protector S9+\", \"Speck - 119390-5085 - iPhone XR Presidio Stay Clear Case\", \"Apple Watch Series 3 (GPS) 38mm - Silver Aluminium Case with White Sport Band \", \"Apple Watch Series 4 (GPS) 44mm - Space Grey Aluminium Case with Black Sport Loop  \", \"Apple Watch Series 5 (GPS + Cellular) 40mm - Space Grey Aluminium Case with Black Sport Band \", \"Apple Watch Series 5 (GPS + Cellular) 40mm - Silver Aluminium Case with White Sport Band \", \"Apple Watch Series 5 (GPS + Cellular) 44mm - Space Grey Aluminium Case with Black Sport Band \", \"Apple Watch Series 3 (GPS + Cellular) 38mm - Space Grey Aluminium Case with Black Sport Band\", \"Apple Watch Series 5 (GPS + Cellular) 44mm - Gold Aluminium Case with Pink Sand Sport Band  \", \"Speck - 155706 - Presidio Pro Case - iPhone XS/X\", \"Cygnett - CY3019CPAEG - AeroShield Clear Protective Case\", \"Cygnett - CY3052CPTGL - OpticShield Tempered Glass Screen Protector\", \"Cygnett OpticShield Tempered Glass Screen Protector for iPhone SE (2020)\", \"Cygnett - CY2956TEKVI - TekView Protective AirPods Case - Lilac\", \"Apple Watch Series 5 (GPS) 40mm - Gold Aluminium Case with Pink Sand Sport Band\", \"Cygnett - CY2418WALCI - Black Premium Leather Wallet Case S9\", \"Cygnett - CY3009CPTGL - OpticShield Screen Protector\", \"Cygnett - AeroShield Case for iPhone 6s & 6 - Clear - CY1712CPAEG\", \"Cygnett - CY2248WALCI - iPhone 8 & 7 CitiWallet Case\", \"Cygnett - CY2249WALCI - iPhone 8 Plus & 7 Plus CitiWallet Case \", \"Cygnett - CY2757CPTGL - Apple Watch 4 RealCurveScreen Protector - 40mm\", \"Cygnett - CY1858CITGL - OpticShield Tempered Glass Screen Protector\", \"Cygnett - CY2954TEKVI - TekView Protective AirPods Case - Black\", \"Apple Watch Series 5 (GPS) 40mm - Silver Aluminium Case with White Sport Band\", \"Cygnett - CY2612CPSKI - iPhone XR Slimline Case\", \"Cygnett - CY2631CPTGL - 9H Tempered Glass Screen Protector\", \"Cygnett - CY2617CPSKI - Case for iPhone Xs Max - Black\", \"Cygnett - CY1853CITGL - OpticShield Tempered Glass Screen Protector for iPad mini 4\", \"Speck - 155729 - Presidio Pro Case - iPhone XS Max\", \"Speck - Presidio Clear iPhone 8 Plus Case \", \"Apple Watch Series 5 (GPS) 40mm - Space Grey Aluminium Case with Black Sport Band       \", \"Cygnett - CY2175CITGL - 10.5\\\" Glass Screen Protector\", \"Apple Watch Series 5 (GPS) 44mm - Silver Aluminium Case with White Sport Band\", \"Cygnett - CY2423WALCI - Black Premium Leather Wallet Case S9+\", \"Cygnett Urban Wallet Flip For iPhone SE (2020)  8, 7 & 6\", \"Cygnett - CY2291CITGL - OpticShield Glass Screen Protector\", \"Cygnett - CY2259CPORB - iPhone X Protective Case\", \"Cygnett - CY2606CPORB - iPhone Xs Max Protective Case in Crystal\", \"Cygnett - CY2761BNAPW - Apple Watch 4 360\\u00b0 Bundle - 40mm\", \"Speck - Presidio Grip iPhone 8 Case\", \"Apple Watch Series 3 (GPS) 38mm - Space Grey Aluminium Case with Black Sport Band \", \"Cygnett - CY2915CPTGL - iPhone 11 Pro Max Screen Protector\", \"Cygnett - CY2782BNAPW - Apple Watch 4 360\\u00b0 Bundle - 44mm\", \"Cygnett - Tempered Glass Screen Protector - CY2135CPTGL\", \"Apple Watch Series 3 (GPS + Cellular) 38mm - Silver Aluminium Case with White Sport Band \", \"Cygnett - CY2073CPTGL - OpticShield 9H Glass Screen Protector\", \"Cygnett - CY1873CITGL - OpticShield Tempered Glass Screen Protector for iPad Air/2/Pro 9.7\", \"Cygnett - CY2247WALCI - iPhone X Leather Wallet Case\", \"Cygnett - CY2640OZONE - iPhone XR Tempered Glass Case\", \"Cygnett - CY1838CPURB - UrbanStone Case\"], \"type\": \"scatter\", \"x\": [0.19801564514636993, 0.21459171175956726, 0.16805291175842285, 0.15268565714359283, 0.20376968383789062, 0.16297021508216858, 0.1598530262708664, 0.20692667365074158, 0.07255515456199646, 0.12609131634235382, 0.24891537427902222, 0.1716916412115097, 0.16536164283752441, 0.1633451133966446, 0.20431958138942719, 0.17043322324752808, 0.16177204251289368, 0.09281932562589645, 0.1837034374475479, 0.116047702729702, 0.15949460864067078, 0.1806170642375946, 0.21642273664474487, 0.24420246481895447, 0.12953537702560425, 0.11714694648981094, 0.1773771345615387, 0.27467793226242065, 0.03350984677672386, 0.2023412138223648, 0.12053106725215912, 0.01612066850066185, 0.209039568901062, 0.23152372241020203, 0.27135980129241943, 0.2357736974954605, 0.2718745172023773, 0.269532710313797, 0.2420686036348343, 0.05851956084370613, 0.04038713872432709, 0.049621984362602234, 0.1861814707517624, 0.17441429197788239, 0.21863341331481934, 0.11829730123281479, 0.0925837829709053, 0.14189580082893372, 0.19965876638889313, 0.20702743530273438, 0.15530931949615479, 0.04576491937041283, 0.22345516085624695, 0.2118428498506546, 0.15100809931755066, 0.044511303305625916, 0.2066168487071991, 0.17345568537712097, 0.0821671113371849, 0.13677462935447693, 0.2484871745109558, 0.09521417319774628, 0.21229904890060425, 0.15162929892539978, 0.20692667365074158, 0.0734347328543663, 0.1598912477493286, 0.1583263874053955, 0.11483782529830933, 0.121767058968544, 0.24459488689899445, 0.20937901735305786, 0.12675121426582336, 0.04739319160580635, 0.23388274013996124, 0.10146629065275192, 0.20900055766105652, 0.1425391435623169, 0.12890107929706573, 0.062059395015239716], \"y\": [0.07021543383598328, 0.06797593086957932, -0.029591239988803864, -0.031710654497146606, -0.18857359886169434, -0.0007333531975746155, -0.17234709858894348, 0.03189524635672569, -0.02755206823348999, -0.012114673852920532, 0.1236320436000824, -0.05230581387877464, 0.04072393476963043, -0.003016144037246704, -0.01027253270149231, 0.09722356498241425, -0.030677281320095062, 0.15116164088249207, -0.04595000669360161, 0.0618448480963707, 0.0766313374042511, 0.06583529710769653, 0.13595685362815857, 0.14588916301727295, 0.055434416979551315, 0.110612653195858, -0.0055176373571157455, 0.1184174120426178, 0.007246397435665131, -0.002030208706855774, 0.1986522376537323, 0.02079681307077408, 0.053008366376161575, 0.11312136799097061, 0.13574258983135223, 0.11141546070575714, 0.14728835225105286, 0.10867612063884735, 0.15507814288139343, -0.01950252056121826, -0.10543691366910934, -0.019906196743249893, 0.06740206480026245, -0.18924206495285034, 0.1259787380695343, 0.024898018687963486, -0.028024908155202866, 0.0314280167222023, 0.02743411436676979, 0.04548575356602669, 0.09749503433704376, -0.009351551532745361, -0.13468334078788757, 0.08588746190071106, 0.014933519065380096, 0.06618093699216843, 0.008342459797859192, 0.058951690793037415, -0.0019268319010734558, 0.028817154467105865, 0.11206322908401489, 0.01040676236152649, 0.09593986719846725, 0.04559633135795593, 0.03189524635672569, -0.057229794561862946, -0.07283645123243332, -0.037216126918792725, 0.07526794075965881, -0.002779758535325527, 0.079571932554245, 0.06195877492427826, 0.08900102972984314, -0.029158174991607666, 0.0847068578004837, 0.02110634744167328, 0.033912550657987595, -0.05068524181842804, 0.005929604172706604, -0.10268799960613251]}, {\"marker\": {\"color\": 26, \"size\": 5}, \"mode\": \"markers\", \"name\": \"21\", \"text\": [\"Panasonic - CS/CU-Z12RKR - 3.5kW/3.7kW ECONAVI Inverter AC   \", \"Fujitsu - ASTG09KUCA -  2.5kW(C) / 3.2kW(H) - Inverter Air Conditioner  \", \"Fujitsu - ASTG30KMTC - 8.5kW/9kW Inverter RC Split System \", \"Kelvinator - KSV35HWH - 3.5kW/4kW Reverse Cycle Split System\", \"Fujitsu - ASTG09CMCA - Inverter Wall Mounted - Cooling Only - 2.5kW(C)\", \"Fujitsu - ASTG30KMTA - 8.5kW(C)/ 9.0kW(H) - Inverter Split System \", \"Panasonic - CS/CU-Z71VKR - 7.1kW/8kW Inverter RC Split System\", \"Mitsubishi - MSZ-AP25VGKIT - 2.5kW/3.2kW RC Inverter Split System \", \"Panasonic - CS/CU-Z80VKR - 8kW/9kW Inverter RC Split System\", \"Mitsubishi - MSZ-AP50VGKIT - 5kW/6kW RC Inverter Split System \", \"Mitsubishi - MSZ-AP60VGKIT - 6kW/6.8kW RC Inverter Split System\", \"Excelair - EPA20A - 5.8kW Portable Airconditioner\", \"Kelvinator - KWH53HRE - 5.3kW (C) / 4.8kW (H) - Window Wall Reverse Cycle Air Conditioner \", \"Panasonic - CS/CU-S18PKR - 5.0kW Cooling Only Inverter Air Conditioner \", \"Kelvinator - 8.0kW/9.0kW Inverter Split System - KSV80HRG\", \"Kelvinator - KSV71HWH - 7.1kW/8kW Reverse Cycle Split System\", \"Mitsubishi - MSZ-GL80VGD - 7.8kW/9kW RC Inverter Split System\", \"Midea - MWF-09HB4 - Window Airconditioner - 2.6kW(C)/2.35kW(H)\", \"Kelvinator - KSV25HRH - 2.5kW/3.2kW Reverse Cycle Split System\", \"LG - E32AWN-13 - 9.0kW(C) /10kW(H) - Inverter Air Conditioner\", \"Midea - MPPH10CRN1 - 3kW Portable Airconditioner - Cooling Only\", \"Panasonic - 5kW/6kW RC Inverter Split System - CS/CU-Z50TKR\", \"Kelvinator - 2.5kW/3.2kW Inverter Split System - KSV25HRG\", \"Panasonic - 4.2kW/5.1kW RC Inverter Split System - CS/CU-Z42TKR\", \"Mitsubishi - MSZ-GL71VGD - 7.1kW/8kW RC Inverter Split System \", \"Mitsubishi - MSZ-GL60VGD - 6kW/6.8kW RC Inverter Split System\", \"Honeywell - 3.5 kW Portable Air Conditioner - Cooling Only - MN12CES\", \"Mitsubishi - MSZ-AP71VGKIT - 7.1kW/8kW RC Inverter Split System \", \"Fujitsu - ASTG18KUCA - 5.0kW(C)/6.0kW(H) - Inverter Air Conditioner   \", \"Kelvinator - KSV50HWH - 5kW/6kW Reverse Cycle Split System\", \"Mitsubishi - MSZ-AP80VGKIT - 7.8kW/9kW RC Inverter Split System \", \"Panasonic - CS/CU-Z42VKR - 4.2kW/5.1kW Inverter RC Split System\", \"Fujitsu - ASTG24KMTC - 7.1kW/8kW Inverter RC Split System\", \"Honeywell - MM14CCS Black - 4.1kW Portable Air Conditioner  \", \"Excelair - 4.7kW Portable Airconditioner - EPA16A \", \"Panasonic - CS/CU-Z60VKR - 6kW/7.2kW Inverter RC Split System\", \"Fujitsu - ASTG34KMTA - 9.40kW(C)/ 10.3kW(H) - RC Inverter Split System\", \"Panasonic 2.5kW/3.2kW Reverse Cycle INVERTER Air Conditioner \", \"Mitsubishi - MSZ-AP42VGKIT - 4.2kW/5.4kW RC Inverter Split System \", \"Dimplex - 5.3kW Portable Air Conditioner with Dehumidifier - DC18\", \"Fujitsu - ASTG34KMTC - 9.4kW/10.3kW Inverter RC Split System\", \"Kelvinator - KSV90HWH - 9kW/10kW Reverse Cycle Split System\", \"Excelair - 4.1kW Portable Airconditioner - EPA14A\", \"Panasonic - CS/CU-Z35VKR - 3.5kW/4.3kW Inverter RC Split System\", \"Fujitsu - ASTG12KUCA - 3.5kW(C)/4.3kW(H) - Inverter Air Conditioner\", \"Mitsubishi - 3.5kW Cooling / 4.0kW Heating - Split System Airconditioner\", \"Kelvinator - KWH15CME - 1.6kW (C) - Window Wall Cooling Only Air Conditioner\", \"Panasonic - CS/CU-Z50VKR - 5kW/6kW Inverter RC Split System\", \"Honeywell - 2.9 kW Portable Air Conditioner - Cooling Only - MN10CES \", \"Mitsubishi - MSZ-AP35VGKIT - 3.5kW/3.7kW RC Inverter Split System\", \"Mitsubishi - MSZ-GL50VGD - 4.8kW/5.8kW RC Inverter Split System\", \"Midea - MWF05CB4 - 1.6kW Window Aircon - Cooling Only\", \"Kelvinator - KSV25HWH - 2.5kW/3.2kW Reverse Cycle Split System\"], \"type\": \"scatter\", \"x\": [0.047936614602804184, 0.08681599795818329, 0.10621397197246552, -0.08726615458726883, 0.018894948065280914, 0.10250845551490784, 0.06598250567913055, 0.05177586153149605, 0.049909014254808426, 0.025078559294342995, 0.014004809781908989, 0.008384346961975098, -0.026816412806510925, -0.01781361550092697, -0.05084215849637985, -0.08897886425256729, 0.004483338445425034, -0.07337416708469391, -0.06227414309978485, 0.033967580646276474, 0.008438058197498322, 0.03734622895717621, -0.05179350823163986, 0.07501474022865295, 0.01608506217598915, -0.01848115585744381, -0.0754254087805748, 0.04093417897820473, 0.07089196145534515, -0.11184427887201309, 0.037019938230514526, 0.07862038910388947, 0.10925253480672836, -0.028025656938552856, 0.018004968762397766, 0.043933991342782974, 0.11178265511989594, -0.020317308604717255, 0.04545827955007553, -0.013268359005451202, 0.11972811073064804, -0.0954437181353569, 0.045547258108854294, 0.08905617892742157, 0.08667799830436707, -0.04172612726688385, -0.06920765340328217, 0.047318052500486374, -0.05730447918176651, 0.061706315726041794, -0.0004877746105194092, -0.15460509061813354, -0.07741250097751617], \"y\": [0.12353428453207016, 0.011206988245248795, 0.04919452965259552, 0.024501603096723557, 0.005641205236315727, 0.08465009182691574, 0.1396147906780243, 0.023188840597867966, 0.13393734395503998, 0.030665792524814606, 0.06587564945220947, -0.02090233564376831, 0.03470160439610481, 0.09545627236366272, 0.044335246086120605, 0.046234019100666046, 0.09131458401679993, -0.03932235389947891, 0.01164813619107008, 0.1266392171382904, -0.0879833996295929, 0.11294148862361908, 0.028106598183512688, 0.10990414023399353, 0.09302907437086105, 0.10878463089466095, -0.04147171229124069, 0.051614340394735336, 0.06765592843294144, 0.03521657735109329, 0.051499903202056885, 0.12525518238544464, 0.05890205502510071, -0.0035086795687675476, -0.012338707223534584, 0.15948662161827087, 0.07400859892368317, 0.02660076692700386, 0.043673962354660034, -0.011229606345295906, 0.06010614335536957, 0.039954278618097305, -0.04422185197472572, 0.113597571849823, 0.03748735412955284, 0.00014972686767578125, -0.04376774653792381, 0.11595721542835236, -0.01834077760577202, 0.020351111888885498, 0.08781182765960693, -0.08963514119386673, 0.020181212574243546]}, {\"marker\": {\"color\": 27, \"size\": 5}, \"mode\": \"markers\", \"name\": \"22\", \"text\": [\"Epson - XP-970 - 6 Colour Multifunction Printer\", \"Epson - ET-M2170 - EcoTank Mono Multifunction Printer\", \"Canon - PGI2600XLY - Maxify Yellow XL Ink Cartridge\", \"Canon - PGI2600XLC - Maxify Cyan XL Ink Cartridge\", \"Canon - TS9565 - PIXMA Home A3 Craft Printer \", \"Canon - CLI681XLY - 681 XL Yellow Ink Cartridge\", \"Canon - CLI681XLC - 681 XL Cyan Ink Cartridge\", \"Canon - Ink and Paper Pack - RP-54\", \"Canon - CLI-651XL - High Yield Ink Cartridge Value Pack\", \"Epson - WF-7725 - WorkForce Inkjet Multifunction\", \"Canon - CLI651XLM - Magenta Ink Cartridge\", \"Canon - TR8560 - PIXMA TR8560 Multifunction\", \"Canon - CLI671XLY - Yellow Extra Large Ink Tank\", \"Canon - CLI671XLM - Magenta Extra Large Ink Tank\", \"Canon - CLI671XLC - Cyan Extra Large Ink Tank\", \"Canon - PGI-1600XLBK - High Yield Black Ink Cartridge\", \"Canon - CLI681XLM - 681 XL Magenta Ink Cartridge\", \"Epson - C13T253192 - 252XL - High Capacity DURABrite Ultra - Black\", \"Epson - C13T00M392 - T522 EcoTank - Magenta Ink Bottle\", \"Epson - FF-680W - Fast Foto Scanner\", \"Epson - T356192 - 802XL DURABrite Ultra - Black Ink Cartridge\", \"Epson - WF-3725 - WorkForce Pro Inkjet Multifunction\", \"Epson - WF-4745 - WorkForce Inkjet Multifunction\", \"Canon - CLI671-XLBK - Black Extra Large Ink Tank\", \"Canon - MB5460 - Maxify Inkjet Multifunction\", \"Epson - Expression Home XP-4100\", \"Canon - PG510 - FINE Black Ink Cartridge\", \"Aquaport - AQP-FCR-Q - Replacement Cartridge\", \"Canon - CLI651XLY - Yellow Ink Cartridge\", \"Epson - T306592 - 288XL 3 Colour Value Pack\", \"Canon - PG640 - Standard Black Ink Cartridge\", \"Canon - PG645 - Black Ink Cartridge\", \"Epson 288 - Std Capacity DURABrite Ultra - Ink Cartridge Value Pack\", \"Epson - C13T02X192 - 212XL High Capacity Black Ink Cartridge\", \"Canon - SX620 HS Black - PowerShot SX620 HS\", \"Epson - XP2100 - 4 Colour Multifunction Printer  \", \"Epson - Perfection V39 Scanner\", \"Epson - XP-6100 - Expression Premium Inkjet Multifunction\", \"Epson 288XL High Capacity DURABrite Ultra - Black Ink Cartridge - T306192 \", \"Canon Zink Photo Paper 2\\\"x3\\\" (50 Sheets) - MPPP50\", \"Epson WorkForce WF-100 - Wireless Mobile Printer - 4 Colour Inkjet  \", \"Epson - ET-4700 - WorkForce Inkjet Multifunction Printer\", \"Epson - Expression Home Inkjet Multifunction - XP-240\", \"Inca - 560630 - 3-in-1 Multi-card Reader & Holder\", \"Samsung - CLT-M404S - Magenta Toner\", \"Canon - PGI2600XLBK - Maxify Black XL Ink Cartridge\", \"Epson - C13T00M492 - T522 EcoTank - Yellow Ink Bottle\", \"Epson - C13T00M292 - T522 EcoTank - Cyan Ink Bottle\", \"Epson - C13T345592 - 702XL DURABrite Ultra Ink Cartridge - Tri-Colour Pack\", \"Canon - PGI680XLBK - 680 XL Black Ink Cartridge\", \"Epson - WF-2810 - WorkForce Inkjet Multifunction\", \"Canon - PG-645XL CL-646XL - High Yield Ink Cartridge Combination Pack\", \"Canon - TS6360 - PIXMA Home Multifunction\", \"Canon - CLI681XLBK - 681 XL Black Ink Cartridge\", \"Canon - TS3160 Black - PIXMA Home All-In-One\", \"Epson - C13T00M192 - T522 EcoTank - Black Ink Bottle\", \"Canon - CL646 - Colour Ink Cartridge\", \"Canon - PGI-1600XLC - High Yield Cyan Ink Cartridge\", \"Epson EcoTank Mono Multi-Function Printer - ET-M3180   \", \"Canon - PGI650XLBK - Extra Large Black Ink Cartridge\", \"Epson - T345192 - 702XL DURABrite Ultra - Black Ink Cartridge\", \"Epson - C13T253692 - 252XL Ink Cartridge Value Pack\", \"Epson - T356592 - 802XL DURABrite Ultra - Value Pack\", \"Epson - ET-2710 - EcoTank 4 Colour Multifunction Printer\", \"Canon - PGI2600XLM - Maxify Magenta XL Ink Cartridge\", \"Epson - C13T02R692 - 212 Std Capacity Ink Cartridge - Value Pack\", \"Canon - CLI651XLC - Cyan Ink Cartridge\", \"Canon - PG640CL641CP - 640 & 641 Combination Pack\", \"Epson - C13T01W792 - 302 Standard Capacity Claria Ink - 5Pk\", \"Samsung - MLT-D111S/SEE - Black Laser Toner\"], \"type\": \"scatter\", \"x\": [0.14384154975414276, 0.12056966125965118, 0.11875570565462112, 0.13803580403327942, 0.17165976762771606, 0.12614497542381287, 0.13052602112293243, 0.11040663719177246, 0.1011861115694046, 0.03232584148645401, 0.10583105683326721, 0.08363956212997437, 0.08068180084228516, 0.05386580526828766, 0.08878229558467865, 0.13099193572998047, 0.11384735256433487, 0.16131728887557983, 0.06716818362474442, 0.12352760136127472, 0.15205785632133484, 0.07335730642080307, 0.03231613337993622, 0.06758439540863037, 0.15660294890403748, 0.13561059534549713, 0.10976232588291168, 0.057395823299884796, 0.11622271686792374, 0.09932418167591095, 0.10825101286172867, 0.10752378404140472, 0.0839301347732544, 0.10898992419242859, 0.1396166831254959, 0.13170784711837769, 0.13137274980545044, 0.11734132468700409, 0.11378858238458633, 0.11668069660663605, 0.1096402108669281, 0.12947170436382294, 0.1003507748246193, 0.0675545185804367, 0.1643638163805008, 0.14502756297588348, 0.07346963882446289, 0.08718859404325485, 0.10246916115283966, 0.11787614971399307, 0.04088103026151657, 0.04988785833120346, 0.11519434303045273, 0.13680359721183777, 0.18434765934944153, 0.09616276621818542, 0.10811087489128113, 0.14227022230625153, 0.09727438539266586, 0.09824414551258087, 0.13409921526908875, 0.09558165818452835, 0.13892045617103577, 0.11203034222126007, 0.12013303488492966, 0.08705691248178482, 0.12907962501049042, 0.06593485176563263, 0.1019010841846466, 0.17832615971565247], \"y\": [-0.02008051611483097, -0.08418910950422287, -0.007898656651377678, -0.008654721081256866, 0.041479840874671936, 0.01864529401063919, 0.014568828046321869, -0.10804483294487, -0.02126608043909073, -0.01711641252040863, -0.03438159078359604, 0.021806949749588966, 0.0024664178490638733, -0.02172921597957611, -0.006497718393802643, -0.04497068002820015, -0.004060819745063782, -0.02684830129146576, -0.039544835686683655, -0.0445304811000824, -0.05244818329811096, -0.02072611078619957, -0.011177757754921913, -0.07336916029453278, -0.052026573568582535, -0.028567206114530563, -0.060659900307655334, -0.07568470388650894, -0.013882581144571304, -0.07362284511327744, -0.024240225553512573, -0.04825618490576744, -0.09514003992080688, 0.013691797852516174, 0.04458627104759216, -0.04261764883995056, -0.014850053936243057, -0.04353310167789459, -0.03936154395341873, -0.0069702304899692535, -0.0543602854013443, -0.04606402665376663, -0.07628680765628815, -0.07866798341274261, 0.12262176722288132, -0.03778033331036568, -0.01240481436252594, -0.04338522627949715, -0.0354311540722847, -0.010542377829551697, -0.03180690109729767, 0.00555703230202198, 0.023808684200048447, -0.024935688823461533, -0.029684772714972496, -0.04529488831758499, -0.04621904343366623, 0.0019836947321891785, -0.08149142563343048, -0.03623088449239731, -0.052872881293296814, -0.03241308778524399, -0.08919991552829742, -0.04697025194764137, -0.025533264502882957, -0.013421252369880676, -0.020593203604221344, 0.008467298932373524, 0.049479104578495026, 0.06704068928956985]}, {\"marker\": {\"color\": 28, \"size\": 5}, \"mode\": \"markers\", \"name\": \"23\", \"text\": [\"Kindle - Paperwhite Leather Case - Onyx Black - B008BADT4K\", \"Amazon Echo Show 5 - Compact Smart Display - Charcoal Fabric\", \"Cygnett TekView Slimline Case for iPad 10.2\\\" - Grey/Black\", \"Legrand Arteor\\u2122 with Netatmo Smart Dimmer Switch (Horizontal)\", \"iPad Mini Smart Case - Black\", \"Cygnett - CY1844CITEK - Tekshell Slimline iPad Mini 4 Case - Red\", \"Nanoleaf Canvas Smarter Kit - 9 Light Squares \", \"Cygnett - iPad 9.7\\\" Case - CY2165TEKVI\", \"Nanoleaf Light Panels - Aurora Rhythm Smarter Kit - 9 Light Squares\", \"Fitbit Versa 2 Smart Watch - FB507BKBK - Black/Carbon  \", \"Amazon - Echo Dot (3rd Gen) Smart Speaker - Charcoal Fabric\", \"Everki - EKB407NCH11 - Advance iPad/Tablet/Ultrabook Laptop Bag - Up to 11.6\\\"\", \"Fitbit Versa 2\\u2122 Health & Fitness Smartwatch -  Blossom/Cooper Rose\", \"Cygnett - CY2706TEKVI - 12.9\\\"  iPad Pro Case\", \"Cygnett - CY3064TEKVI - TekView for iPad 10.2\\\" - Lilac/Purple\", \"Amazon - Echo Dot (3rd Gen) Smart Speaker - Charcoal Fabric\", \"Cygnett - CY2966CHCSH - Smart Home Starter Kit\", \"Legrand Arteor\\u2122 with Netatmo Smart Light Switch \\u2013 1 Gang (Vertical) \", \"Cygnett - NanoGrip Universal 10\\\" Tablet Case - CY1707UNNAN\", \"Legrand Arteor\\u2122 with Netatmo Smart Light Switch \\u2013 2 Gang (Horizontal)  \", \"Fitbit Versa 2 Smart Watch - FB507RGPK - Petal/Copper Rose  \", \"Leather Sleeve for 10.5\\\" iPad Pro - Black\", \"Smart Keyboard Folio for 12.9\\\" iPad Pro (3rd Gen) \", \"Smartivity Magico\", \"Kindle - Protective Cover for Kindle (8th Gen - 2016) - B01CUKZBB0 \", \"Kindle - Paperwhite Leather Case - Blue - B008BPQACI\", \"Google Nest Mini (2nd gen) - Charcoal - Smart Speaker - GA00781\", \"Google - Home Smart Speaker - White Slate\", \"Legrand Arteor\\u2122 with Netatmo Smart Light Switch \\u2013 1 Gang (Horizontal)  \", \"Lenovo Smart Clock - ZA4R0001AU  \", \"Google Chromecast 3rd Generation - GA00439 \", \"Birde - Interactive Smart Media Player - Purple - BC800PAU\", \"Fitbit Versa 2 Smart Watch - FB507GYSR - Stone/Mist Grey \", \"iPad Air 2 Smart Case - Black \", \"Google - GA00216 - Home Mini - Charcoal\", \"Cygnett - iPad 9.7-inch Case - CY2167TEKVI\", \"Smart Cover for 10.5\\\" iPad Pro - Charcoal Grey\", \"Lenovo Yoga Smart 10.1\\\" Tab with Google Assistant\", \"Smartivity Fantastic Optics Kaleidoscope\", \"Fitbit Versa Lite Edition\\u2122 SmartWatch - FB415SRLV - Lilac   \", \"Cygnett - CY1848CITEK - TekShell Slimline iPad Pro 12.9\\\" Case\", \"Apple - Smart Cover for 9.7\\\" iPad Pro - Charcoal Grey\", \"Cygnett - CY2587WORKM - iPad 9.7\\\"Case - Black\", \"Lenovo Smart Display 7\\\"\\\" with Google Assistant - Blizzard White \", \"Smart Cover for 12.9\\\" iPad Pro - Charcoal Grey\", \"Cygnett - CY3065TEKVI - TekView for iPad 10.2\\\" - Red/Black\", \"Amazon - Echo 2nd Generation - Smart speaker  - Charcoal Fabric\", \"STM Atlas iPad 5th/6th gen/Pro 9.7/Air 1-2 Case - Charcoal\", \"Cygnett - iPad 9.7\\\" Case - CY2168TEKVI\", \"iPad Mini 4 Smart Cover - Charcoal Grey \", \"iPad Mini Smart Cover - Black\", \"Navman - MiVUE SMARTBOX - SmartBox Power Hard Wiring Kit\", \"Cygnett - CY3076CPWOR - WorkMate for iPad 10.2\\\" (2019)\", \"Google Nest Mini (2nd gen) - Chalk - Smart Speaker - GA00638 \", \"Google Chromecast Ultra - GA3A00414A09 \", \"Pendo - PendoPad 10.1\\\" - Intel Quad Core - Black - PNDP51MS10BLK\", \"Speck - 150979 - 15\\\" Macbook Pro Smartshell Case\"], \"type\": \"scatter\", \"x\": [0.19510245323181152, 0.16085535287857056, 0.23835569620132446, 0.09282467514276505, 0.28603997826576233, 0.14661261439323425, 0.0943542867898941, 0.22299045324325562, 0.09782040119171143, 0.13399049639701843, 0.21580272912979126, 0.18955481052398682, 0.15710286796092987, 0.22717076539993286, 0.20952048897743225, 0.21580272912979126, 0.05642010271549225, 0.10085973143577576, 0.15144117176532745, 0.12460942566394806, 0.06546617299318314, 0.26339396834373474, 0.2733381390571594, 0.17896002531051636, 0.22681674361228943, 0.18532441556453705, 0.1454465389251709, 0.22470639646053314, 0.11163590103387833, 0.1844967007637024, 0.20843897759914398, 0.24793469905853271, 0.14782428741455078, 0.3190031349658966, -0.037842728197574615, 0.19534635543823242, 0.22734776139259338, 0.3100237548351288, 0.20723724365234375, 0.1306658536195755, 0.18545028567314148, 0.2715662121772766, 0.21865171194076538, 0.29373815655708313, 0.22091716527938843, 0.23035691678524017, 0.2090992033481598, 0.2513240873813629, 0.22213628888130188, 0.1978038102388382, 0.2798096537590027, 0.16579841077327728, 0.17021173238754272, 0.17063093185424805, 0.23709124326705933, 0.24164780974388123, 0.12177526950836182], \"y\": [-0.09398084878921509, 0.043605100363492966, 0.008844971656799316, -0.023297179490327835, 0.009568493813276291, -0.009915702044963837, -0.03851110860705376, 0.055048275738954544, -0.05796009674668312, -0.02492334321141243, -0.14016152918338776, 0.0022871047258377075, -0.06952016055583954, -0.024853669106960297, 0.03742389380931854, -0.14016152918338776, 0.050434306263923645, 0.0071601103991270065, 0.018543951213359833, -0.02930799499154091, -0.02924911305308342, -0.010295521467924118, 0.077288419008255, 0.03037303499877453, 0.024952609091997147, -0.13510850071907043, -0.11450850963592529, -0.14030253887176514, -0.023611130192875862, 0.10242432355880737, 0.0722523033618927, -0.12843620777130127, -0.0026608211919665337, 0.0037103239446878433, -0.07885280251502991, 0.05850880965590477, 0.05345987528562546, 0.1495359092950821, -0.0011721998453140259, -0.000773996114730835, 0.0030944719910621643, 0.09824489057064056, -0.006720654666423798, 0.17690083384513855, 0.06416469812393188, 0.05812688544392586, -0.11063311249017715, 0.003804381936788559, 0.051344677805900574, 0.038211554288864136, 0.02243911474943161, -0.04406450316309929, 0.06998704373836517, -0.07804645597934723, 0.13732685148715973, 0.04616749659180641, 0.03378642722964287]}, {\"marker\": {\"color\": 29, \"size\": 5}, \"mode\": \"markers\", \"name\": \"24\", \"text\": [\"Razer - RZ02-01072200 - D.Va Goliathus Mouse Mat\", \"Razer - RZ19-02290100 - Seiren X Gaming Microphone\", \"Logitech - 960-000738 - HD Webcam C615\", \"Logitech - 910-005600 - Pebble Wireless Mouse M350 - White\", \"Razer - RZ01-02120100 - Lancehead Ambidextrous Gaming Mouse\", \"Logitech - 960-000584 - HD Webcam C270\", \"Razer - RZ02-01940100 - Sphex V2 Mouse Mat\", \"Logitech - 910-005127 - Pro Gaming Mouse\", \"Razer Hammerhead True Wireless Earbuds - RZ12-02970100\", \"Logitech - 981-000823 - G332 Gaming Headset\", \"Razer - Ripsaw HD Game Capture Card\", \"Razer - RZ04-02690100 - Nari Essential Wireless Gaming Headset\", \"Razer - RZ03-02620100 - BlackWidow Elite Keyboard\", \"Logitech - 910-003960 - Bluetooth Mouse M557\", \"Logitech - Wireless Combo MK345 \", \"Razer - RZ02-03330500 - Gigantus V2 Mouse Mat\", \"Microsoft - ELG-00005 - Arc Mouse\", \"Logitech - 941-000126 - G920 Driving Force\", \"Razer - RZ07-02270100 - Tartarus V2 Gaming Keypad\", \"Logitech - 980-001318 - 5.1 Surround Sound Speaker System\", \"Logitech - MX Anywhere 2S - Graphite - 910-005156\", \"Logitech - G703 LightSpeed HERO Wireless Gaming Mouse\", \"Razer - RZ02-01910700 - Goliathus Control Gravity Edition - Large\", \"Logitech - 940-000112 - Gamepad F310\", \"Logitech - 943-000046 - G240 Cloth Gaming Mouse Pad\", \"Logitech - G432 7.1 Surround Sound Gaming Headset - 981-000824 \", \"Logitech - 920-009354 - G512 Mechanical Gaming Keyboard\", \"Logitech - 910-004210 - G302 Daedalus Prime\", \"Logitech - 910-005651 - G604 LightSpeed Wireless Gaming Mouse\", \"Logitech - 910-005472 - G502 HERO Gaming House\", \"Logitech - 980-001066 - X50 Mobile Wireless Speaker - Grey\", \"Razer - RZ03-03380100 - Ornata V2 Gaming Keyboard\", \"Razer - RZ04-02830200 - Kraken Gaming Headset - Razer Green\", \"Razer - RZ04-02830100 - Kraken Gaming Headset - Classic Black\", \"Razer - RZ03-02260100 - Cynosa Chroma Keyboard\", \"Logitech - 980-001263 - Z337 Speaker System\", \"Logitech - 980-001067 - X50 Mobile Wireless Speaker - Blue\", \"Logitech - 980-000850 - Multimedia Speakers Z200\", \"Razer - RZ03-02860100 - BlackWidow - Mechanical Gaming Keyboard\", \"Logitech - 910-002503 - Wireless Mouse M185\", \"Razer - RZ04-02670100 - Nari Ultimate Wireless Hypersense THX Gaming Headset\", \"Microsoft - U7Z-00005 - Wireless Mobile Mouse 1850 - Black \", \"Logitech - 920-007165 - Wireless Touch Keyboard K400 Plus  \", \"Logitech MK470 Slim Wireless Combo - Off-White\", \"Razer - RZ04-03240100 - BLACKSHARK V2 X Headset\", \"Logitech - 910-005193 - MX Master 2S Mouse - Light Grey\", \"Logitech - 980-001069 - X50 Mobile Wireless Speaker - Orange\", \"Razer - RZ01-02130200 - Lancehead Tournament Edition - Mercury White\", \"Logitech - 910-005674 - G903 LIGHTSPEED Wireless Gaming Mouse\", \"Logitech - 920-008696 - MK545 Wireless Keyboard/Mouse Combo \", \"Logitech - 980-001303 - G560 LightSync PC Gaming Speaker\", \"Microsoft - KTF-00005 - Modern Mobile Mouse\", \"Logitech  H110 Stereo Headset\", \"Logitech - G213 Prodigy RGB Gaming Keyboard - 920-008096\", \"Logitech - 920-008028 - K780 Multi-Device Wireless Keyboard\", \"Razer - RZ04-01930100 - Hammerhead BT In-Ear Headset\", \"Logitech - 910-005449 - MX Vertical Mouse \", \"Razer Viper Ultimate Wireless Mouse\", \"Logitech - 920-006380 - Bluetooth Multi-Device Keyboard K480\", \"Razer - RZ03-02521800 - Huntsman Keyboard\", \"Logitech - 910-005371 - Wireless Ultra Portable M187\", \"Microsoft - PY9-00018 - Wireless Desktop 850\", \"Razer - RZ02-01070700 - Goliathus Control Fissure Edition - Large\", \"Logitech - 910-005569 - G502 Wireless Gaming Mouse\", \"Logitech - Bluetooth Audio Receiver - Wireless Streaming - 980-000914\", \"Logitech - Wireless Combo MK270r\", \"Razer - RZ04-02830300 - Kraken Gaming Headset - Quartz Pink\", \"Razer - RZ01-03170100 - Basilisk Ultimate Wireless Gaming Mouse\", \"Razer - RZ02-01910200 - Goliathus Speed Cosmic Edition - Medium\", \"Logitech - 910-005388 - R500 Laser Presentation Remote\", \"Microsoft - U7Z-00015 - Wireless Mobile Mouse 1850 - Blue\", \"Logitech - 910-001795 - Mouse M90\", \"Logitech - 960-001090 - C922 Pro Stream Webcam\", \"Logitech - 981-000477 - USB Headset H340\", \"Microsoft RJN-00005 - Bluetooth\\u00ae Mouse - Black\", \"Logitech - 910-004792 - M720 TRIATHLON Multi-device Wireless Mouse\", \"Logitech - 981-000820 - PRO X Gaming Headset\", \"Razer - RZ01-02170100 - Atheris Wireless Mouse\", \"Razer - RZ19-02320100 - Kiyo Webcam\", \"Microsoft - ELG-00022 - Arc Mouse - Sage\", \"Logitech - Z213 - Multimedia Speakers\", \"Razer Kraken X Gaming Headset - RZ04-02890100 \", \"Logitech - 981-000825 - G935 LIGHTSYNC Gaming Headset\", \"Razer - RZ02-02500300 - Goliathus Chroma Mouse Mat\", \"Logitech - 920-008021 - G910 Orion Spectrum RGB Mechanical Keyboard \", \"Razer - RZ04-03230100 - BLACKSHARK V2 Headset\", \"Logitech MK470 Slim Wireless Combo - Graphite \", \"Logitech - 910-002325 - Wireless Mouse M325\", \"Logitech - 941-000115 - G29 Racing Wheel\", \"Razer DeathAdder V2 Mouse\", \"Logitech G203 LIGHTSYNC Gaming Mouse\", \"Razer - RZ04-01480100 - Thresher Ultimate Wireless Surround Gaming Headset - Xbox One/PC \", \"Logitech - 920-008250 - K375s Multi-Device Wireless Keyboard\", \"Microsoft - PT3-00027 - Wireless Desktop 900\", \"Razer - RZ03-03400100 - Cynosa V2 Chroma RGB Keyboard\", \"Logitech - 920-009495 - G915 TKL Keyboard\", \"Logitech - 910-002151 -  Wireless Mouse M325\", \"Logitech - 910-003384 - Wireless Mouse M235\", \"Logitech - 910-005698 - MX Master 3 Mouse\", \"Razer - RZ02-01820200 - Goliathus Mobile Mouse Mat - Small\", \"Logitech - Speaker System Z623  \", \"Logitech - Wireless Mouse M235 - Red\", \"Razer - RZ01-02410100 - Naga Trinity Mouse\", \"Logitech - 910-005601 - Pebble Wireless Mouse M350 - Rose\", \"Logitech - 981-000458 - Wireless Headset H800\", \"Logitech - 910-004521 - Bluetooth Mouse M337\", \"Razer - RZ03-03390100 - Huntsman Mini Gaming Keyboard\", \"Logitech - 910-002225 - Wireless Mouse M185\", \"Razer - RZ01-03150100 - Basilisk X HyperSpeed Mouse\", \"Razer - RZ02-01910400 - Goliathus Speed Cosmic Edition - Extended\", \"Logitech - 980-000514 - Z120 USB Powered Speakers \", \"Logitech - 920-009418 - MX Keys Wireless Keyboard\", \"Logitech - 920-002582 - Keyboard K120\", \"Logitech - 920-008843 - K600 TV Keyboard\", \"Logitech - MK850 Performance Keyboard & Mouse Combo - 920-008233\"], \"type\": \"scatter\", \"x\": [0.15350668132305145, 0.2802320718765259, 0.23440957069396973, 0.24010075628757477, 0.18514128029346466, 0.24473221600055695, 0.2008954882621765, 0.21525976061820984, 0.30170419812202454, 0.27909931540489197, 0.24653881788253784, 0.30300578474998474, 0.19387196004390717, 0.25518953800201416, 0.24581581354141235, 0.20316210389137268, 0.1620129495859146, 0.1912526786327362, 0.18999315798282623, 0.31660470366477966, 0.19102975726127625, 0.25904595851898193, 0.20111870765686035, 0.19913983345031738, 0.1274392157793045, 0.3239358961582184, 0.16393016278743744, 0.1942681074142456, 0.21027126908302307, 0.1784723401069641, 0.32398054003715515, 0.2028728425502777, 0.23999707400798798, 0.23642157018184662, 0.19582928717136383, 0.268162339925766, 0.33680635690689087, 0.27525582909584045, 0.16482505202293396, 0.2402373105287552, 0.3095274567604065, 0.29042983055114746, 0.22600813210010529, 0.25718578696250916, 0.279163122177124, 0.26055800914764404, 0.3210178017616272, 0.18607258796691895, 0.18759164214134216, 0.23405031859874725, 0.3062696158885956, 0.21722719073295593, 0.3419395983219147, 0.211946040391922, 0.2201000154018402, 0.29127660393714905, 0.15813539922237396, 0.30025845766067505, 0.2233719825744629, 0.15979664027690887, 0.27742037177085876, 0.24052394926548004, 0.17609010636806488, 0.2267940193414688, 0.31054845452308655, 0.26096123456954956, 0.22054317593574524, 0.21509456634521484, 0.2231174111366272, 0.2095152884721756, 0.29240840673446655, 0.18261343240737915, 0.24306976795196533, 0.32496440410614014, 0.3276299834251404, 0.24231712520122528, 0.3056345582008362, 0.2620700001716614, 0.22911158204078674, 0.15973466634750366, 0.3128002882003784, 0.26575183868408203, 0.28891521692276, 0.18967726826667786, 0.19253484904766083, 0.28409498929977417, 0.22220490872859955, 0.2425553798675537, 0.16568729281425476, 0.2610936164855957, 0.20944401621818542, 0.2986677289009094, 0.22445204854011536, 0.27554669976234436, 0.2286689132452011, 0.18065404891967773, 0.24558125436306, 0.2310299426317215, 0.2075476050376892, 0.17852383852005005, 0.25913333892822266, 0.2616749107837677, 0.20088863372802734, 0.23190230131149292, 0.324471116065979, 0.24687467515468597, 0.18197885155677795, 0.23412059247493744, 0.18359985947608948, 0.21864521503448486, 0.3036453425884247, 0.20840106904506683, 0.17531448602676392, 0.18863077461719513, 0.2318582385778427], \"y\": [-0.09359598159790039, -0.10033120959997177, 0.0603422075510025, -0.16981913149356842, -0.08978068083524704, 0.05880364775657654, -0.16278904676437378, -0.12729665637016296, -0.24560901522636414, -0.12506422400474548, 0.024981185793876648, -0.19329124689102173, -0.07522815465927124, -0.19263415038585663, -0.24311046302318573, -0.04757985472679138, -0.11474110186100006, -0.016998842358589172, -0.031836219131946564, -0.17705345153808594, -0.05713586509227753, -0.07260492444038391, -0.01778000220656395, -0.02069740928709507, -0.03735555335879326, -0.09130866825580597, -0.024689730256795883, -0.026662446558475494, -0.06955718994140625, -0.024501390755176544, -0.1716003119945526, -0.03766102343797684, -0.14050748944282532, -0.16826558113098145, -0.05928630381822586, -0.17118185758590698, -0.2166023552417755, -0.1762753576040268, -0.040758319199085236, -0.1492202877998352, -0.14937496185302734, -0.06741245090961456, -0.11143101751804352, -0.18865332007408142, -0.15755538642406464, -0.11915303766727448, -0.18374812602996826, -0.10286982357501984, -0.09534606337547302, -0.1539314240217209, -0.09909571707248688, -0.10728295147418976, -0.1601506471633911, -0.022909030318260193, -0.12014228105545044, -0.27441343665122986, -0.09421426057815552, -0.1569088101387024, -0.1405712366104126, -0.10717253386974335, -0.1499551236629486, -0.08005870133638382, -0.04519544914364815, -0.1031474769115448, -0.2842661142349243, -0.2174786925315857, -0.14733724296092987, -0.15557429194450378, -0.029097409918904305, -0.15185509622097015, -0.11795366555452347, -0.12970027327537537, -0.058483704924583435, -0.15916922688484192, -0.2296442836523056, -0.1498759686946869, -0.1830689013004303, -0.1391535848379135, -0.06992988288402557, -0.12691336870193481, -0.19588665664196014, -0.15656964480876923, -0.08427410572767258, -0.07593400031328201, -0.018651116639375687, -0.18193122744560242, -0.14235472679138184, -0.20247137546539307, -0.05485556274652481, -0.09743407368659973, -0.016800908371806145, -0.10176315903663635, -0.1317097246646881, -0.12759429216384888, -0.012064415961503983, 0.0020611658692359924, -0.2018473595380783, -0.1932435929775238, -0.1364448219537735, -0.05863358825445175, -0.20739668607711792, -0.2310870885848999, -0.10233422368764877, -0.17198219895362854, -0.22007234394550323, -0.19764351844787598, -0.04448339715600014, -0.18625137209892273, -0.11986757814884186, -0.026552461087703705, -0.17408446967601776, -0.1498560607433319, -0.0612187385559082, 0.005342304706573486, -0.08830567449331284]}, {\"marker\": {\"color\": 30, \"size\": 5}, \"mode\": \"markers\", \"name\": \"25\", \"text\": [\"Alogic - ULCHD02-SGR - 2m USB-C (Male) to HDMI (Male) Cable\", \"Belkin - AV10176bt1M-BLK - Ultra HD High Speed HDMI\\u00ae Cable\", \"Alogic - VPLUC3AGE - 3 Port USB Hub\", \"Netgear - EX7700 - Nighthawk X6 Tri-Band WiFi Mesh Extender \", \"Apple - MX2E2AM/A - Watch Magnetic Charging Cable (1 m)\", \"Cygnett - CY2881CHCPM - Smart Wi-Fi Plug with Power Monitoring\", \"Crest - CPDO15M - Digital Optical Cable 1.5m\", \"Netgear - A6150 - WiFi USB Adapter\", \"Cygnett - CY2723PCCSL - 1m Lightning to USB Cable - White\", \"Alogic - ULCDP01-SGR - 1m USB-C (Male) To DisplayPort (Male) Cable\", \"Crest - PWA02305 - 3 USB Power Board\", \"Cygnett - CY2672PCCAM - 1m Micro USB To USB-A Cable\", \"Cygnett - CY2677PCTYC - 1m Armoured USB-C to USB-C Cable\", \"Crest - CNA05085 - Digital Optical Cable\", \"Crest - CHCLMW - Micro USB Cable\", \"Cygnett - CY2798PCCCL - 10cm Lightning to USB-C Cable White\", \"Alogic - ELUCHD-02RBLK - 2m USB-C to HDMI Cable\", \"Alogic - 2m Mini HDMI to HDMI Cable - HDC-MM-02-V2\", \"Alogic - MDP-VGA-AIC - 15cm Mini DisplayPort to VGA Adapter\", \"Netgear - RBK23 - Orbi Whole Home AC2200 Tri-band WiFi System\", \"BLE - 0.5m & 3m Lightning Charge & Sync Cables - BL-9PIN2PKP\", \"Crest - CBCAPK3 - Coaxial Adaptor - 3Pk\", \"BLE -  USB 3 in 1 Cable - 1m\", \"Cygnett - CY2675PCTYC - 1m Armoured USBC to USB-C Cable\", \"Alogic - DP-VGA-ADP - 15cm DisplayPort to VGA Adapter\", \"Alogic - 2m Aus 3 Pin Mains Plug to IEC C5 - MF-AUS3PC5-02\", \"Netgear - RAX80 - Nighthawk AX8 8-Stream Wi-Fi 6 Router\", \"Alogic - 3m HDMI Cable with Ethernet Ver 2.0 - Male to Male -  - HDMI-03-MM-V4B\", \"Asus ZenWiFi AX - XT8\", \"Alogic - USB2-02-MAB - USB 2.0 Type A to Type B Mini Cable\", \"Alogic - VPLU3AMCR - USB 3.0 Multi Card Reader\", \"Apple - MXLY2ZA/A - 1m Lightning to USB Cable\", \"Alogic - WCCA17MBK - 2 Port USB Mini Wall Charger\", \"Targus - ACH124US - USB 3.0 4-Port Hub\", \"Cygnett - CY2866PCCPD - Essentials USB-C Audio & Charge Adapter\", \"Cygnett - CY2676PCTYC - 10cm USB-C to USB-C Cable\", \"Netgear - EX6110 - AC1200 WiFi Range Extender\", \"Crest - PWA04976 - USB Power Adaptor\", \"Netgear - D7000 - Nighthawk AC1900 WiFi Modem Router \", \"Cygnett - CY2679PCUSA - USB-C to USB-A Cable\", \"Alogic - 2m VGA/SVGA Video Cable - Male to Male - VGA-MM-02\", \"Cygnett - CY2685PCCAL - 1m Armoured Lightning to USB-A Cable \", \"Apple - MJ1K2AM/A - USB-C Digital AV Multiport Adapter\", \"Alogic - 1m TV Antenna Cable - Male to Male - TV-MM-01\", \"Alogic - 10m HDMI Cable with Ethernet Ver 2.0 - HDMI-10-MM-V4\", \"Alogic - MP-UCHD3A - USB-C Adapter with USB 3.0 Hub\", \"Conair Finesse LED Lighted Mirror - CBETP1A \", \"Crest - PWA04975 - USB Surge Protector Power Adaptor\", \"BLE - Flat HDMI Cable v2.0 with Ethernet - 3m - BL-HDMIF4K30\", \"Alogic - MF-3PC13-02 - 2m Aus 3 Pin Mains Plug to IEC C13\", \"DLink - DSL-G225 - Wireless N300 ADSL2+/VDSL2 Modem Router\", \"Alogic - HDMNR - Mini HDMI (M) to HDMI (F) Adapter\", \"Monster - MCRG6-5.0AU - 5m RG6 Coax Aerial Cable\", \"DLink - DAP-1330 - N300 Wi Fi Range Extender \", \"Alogic - ULDUNI-SLV - USB-C Dock UNI\", \"Swann - SWPRO-30ULCBL - 100ft/30m Security Extension Cable\", \"Alogic - 10M Blue CAT6 Network Cable - C6-10-Blue\", \"Alogic - DP-HD4K-02-MM - DisplayPort to HDMI Cable - 2m\", \"One For All - CC 4010 - 150cm HDMI Cable\", \"Netgear - EAX80 - Nighthawk\\u00ae 8-Stream WiFi 6 Mesh Extender\", \"Alogic - MU28P-02SLV - Lightning to USB Cable - 2m Silver\", \"Monster - MCB05CB00 - All-in-One 5 Cable Kit\", \"Apple - MJ262X/A - 29W USB-C Power Adapter\", \"One For All - CC 4040 - 1M USB to Micro USB Cable\", \"TP-Link AX3000 Whole Home Mesh Wi-Fi System - DECOX60 (3 Pack) \", \"Alogic - C6-05-Blue - 5m CAT6 Network Cable - Blue\", \"TP-Link - HS100 KIT - Smart Wi-Fi Plug - 2pk  \", \"Samsung - Optical Cable - 15m - VG-SOCM15\", \"DLink - DAP-1720 - AC1750 Wi-Fi Range Extender\", \"BLE - BHM-15M - High Speed HDMI Cable with Ethernet - 1.5m\", \"TP-Link - KC110 - Kasa Spot Pan Tilt\", \"Crest - PWA04989 - USB Universal Adaptor\", \"Cygnett - CY2678PCTYC - 2m USB-C to USB-C Cable\", \"Cygnett - CY2144PCTYC - LightSpeed USB-C to USB-C Cable\", \"Asus - RT-AC68U - AC1900 Dual-Band WiFi Gigabit Router \", \"BLE - BL-RFEG10 - 10m Antenna Cable\", \"Cygnett - CY2684PCCAL - 10cm Armoured Lightning to USB-A Cable\", \"Cygnett - CY2686PCCAL - 2m Armoured Lightning to USB-A Cable \", \"TP-Link - RE505X - AX1500 Wi-Fi Range Extender\", \"Asus ZenWiFi AX - XT8WHITE\", \"Cygnett - 2M Micro USB Cable - CY1103PCCSM\", \"Conair - CBE127A - Touch Control LED Lighted Mirror\", \"BLE - HDMI Cable - 1.5m - BL-HDMIE15-V2\", \"Alogic - U28P-01WH - 1m USB to Lightning Cable\", \"Belkin - USB 3.0 Cable A to Micro-B\", \"Apple USB-C to Lightning Cable (1m) - MX0K2FE/A\", \"Netgear - D6220 - AC1200 WiFi High-Speed DSL Modem Router\", \"BLE - High Speed  - 1.5m HDMI Cable - Ethernet\", \"Monster - 1.52m UltraHD Gold HDMI Cable - 140799\", \"Microsoft - PP3-00024 - Wireless Desktop 3050\", \"Cygnett - CY2681PCUSA - 1m Armoured USB-C to USB-A Cable \", \"BLE - HDMI Cable - 3m - BL-HDMIE30-V2\", \"Alogic - 15cm Mini DisplayPort to HDMI Adapter - MDP-HDMI-AIC\", \"Crest - PWA06021 - USB & Socket Surge Protection Power Board\", \"Cygnett - CY2040PCTYC - 10cm LightSpeed USB-C to USB C Cable\", \"Alogic - MF-AUS3PC5-02 - 2m Aus 3 Pin Mains Plug to IEC C5\", \"Cygnett - CY1464PCCSL - 10cm Lightning\\u2122 to USB Cable - Green\", \"Asus - DSL-AC68U - Dual-Band Wireless-AC1900 Gigabit ADSL/VDSL Modem Router\", \"Cygnett Armoured USB-C to USB-A Cable (USB 3.1) Braided Black 1m \", \"Netgear - RAX120 - Nighthawk AX12 12-Stream Wi-Fi 6 Router \", \"Monster - 140756 - Fiber Optic Cable 400 DFO2\", \"Monster - MCRG6-1.5AU - 1.5m MV2A Platinum RG6 Coax Aerial Cable\", \"Cygnett - CY2146PCUSA - 1m USB-C To USB-A Cable\", \"Alogic - UCHD4KCH-ADP - USB-C Adapter\", \"Monster - 2m Video\\u00ae 1 Antenna Cable - AU-MC127259\", \"TP-Link - KL110B - Kasa Smart Light Bulb, Dimmable - B22\", \"Alogic - CRCICA27 - 2 Port USB-C & USB-A Car Charger\", \"BLE - HDMI Premium Certified Cable - 1.5m - BL-HDMIPC15\", \"Alogic - UC3ACR - USB-C to Multi Card Reader\", \"Crest - CN07250 - RJ59 Co-Axial Cable\", \"Alogic - DP-HDMI-ADP - 15cm DisplayPort 1.2 to HDMI 1.4b Adapter\", \"Alogic - USB3-01-MCAB - USB 3.0 Type A to Type B Micro Cable\", \"Crest - CHLLB - Premium Lightning Cable\", \"Alogic - VGA-DVI-MF - VGA to DVI Adapter Male to Female\", \"Belkin - F8J207bt04-BLK - MIXIT\\u2122 DuraTek\\u2122 Lightning to USB Cable\", \"Alogic - HDMI-25-MM - 25m Male-To-Male HDMI Cable\", \"Alogic - MU2CA-03BLK - 3M USB 2.0 USB-A to USB-C\", \"Arlo - ALS1101 - Smart Home Security Light System - 1 Wire-Free Smart Light\", \"DLink - DGS-1005A - 5-Port Gigabit Desktop Switch\", \"BLE - BL-USBC2PK - USB Type C Cable - 2Pk \", \"Alogic - ULDNAG2-SLV - USB-C Dock Nano Gen 2 - Silver\", \"Cygnett - 1m Source Lightning Charge & Sync Braided Cable - CY2005PCCSL\", \"Alogic - 1m CAT6 Network Cable - C6-01-Blue\", \"Netgear - D7800 - Nighthawk\\u00ae X4S AC2600 WiFi Modem Router \", \"TP-Link - KL130B - Kasa Smart Light Bulb, Multi-colour - B22\", \"Laser 3m TV Antenna Cable Male to Male - CB-TV-ANTMM3\", \"Asus - RT-AX58U - AX3000 Dual Band WiFi Router\", \"Alogic - 2m Aus 3 Pin Mains Plug to IEC C13 - MF-3PC13-02\", \"Google Nest Wifi - 2 Pack - One Router and One Point \", \"Alogic - MF-AUS2PC7-02 - 2m Aus 2 Pin Mains Plug to IEC C7\", \"Alogic - 1m HDMI Cable with Ethernet Ver 2.0 - HDMI-01-MM-V4\", \"Belkin - AV10176bt2M-BLK - Ultra HD High Speed HDMI\\u00ae Cable (2018)\", \"Crest - CHCCWH - USB C to USB C Cable\", \"Alogic - UW2-534U8P - 2 Port USB Wall Charger\", \"D-Link - DUB-E130 - USB-C to Gigabit Ethernet Adapter\", \"Cygnett - CY2722PCCSL - 1m Lightning to USB Cable - Black\", \"Crest - TA121-3 - Modem/Telephone Modular Cable 3.0m\", \"Inca - 560700 - Multi-USB Card Reader \", \"Netgear - PL1000 - Powerline 1000 Adapter\", \"Alogic - ULC35A-SGR - 10cm Ultra USB-C to 3.5mm Audio Adapter\", \"Belkin - MIXIT\\u2122 DuraTek\\u2122 Lightning to USB Cable Rose Gold - F8J207BT04-C00\", \"Cygnett - CY2680PCUSA - 10cm Armoured USB-C To USB-A Cable\", \"Inca - 560965 - USB 2.0 Compact Card Reader\", \"Belkin - F8J236bt04-BLK - DuraTek\\u2122 Plus Lightning to USB-A Cable\", \"TP-Link - HS100 - Smart Wi-Fi Plug\", \"Belkin - A3L980AU15M-BLS - 15m CAT6 Snagless Molded Patch Cable\", \"Cygnett - 1m USB to Micro USB Braided Cable - Black - CY2006PCCSL\", \"Cygnett - CY2009PCCSL - 2M Lightning to USB Cable - Braided\", \"Apple - MD811X/A - 5W USB Power Adapter\", \"Alogic - MU2CC-01SLV - 1m USB 2.0 USB-C To USB-C Cable\", \"Alogic - DP-VGDVHD-ADP - 3-in-1 DisplayPort to HDMI DVI VGA Adapter\", \"BLE - BDP300 - 3m Easy Reach Cable\", \"Alogic - USB-C Ultra Portable Dock PLUS - 4K - 100W\", \"Alogic - VPLU33AGE - USB 3.0 To Gigabit Ethernet & 3 Port USB Hub\", \"BLE - HDMI Premium Certified Cable - 3m - BL-HDMIPC30\", \"Alogic - DP-DPDVIHD-ADP - 3-in-1 HDMI DVI Adapter\", \"Google Nest Wifi - 3 Pack - One Router and Two Points \", \"Belkin - F3U151MAU06 - USB-to-Micro USB Cable\", \"Laser  - AO-UC3OTGSD-D - USB C Multi Port Hub\", \"Cygnett - CY2867PCCPD - Essentials USB-C Audio Adapter\", \"Cygnett - CY2725PCCSM - 1m Essentials Micro USB to USB-A Cable\", \"Cygnett - CY2592UNHUB - USB-C Hub\", \"Alogic - C6-10-Blue - 10M Blue CAT6 Network Cable\", \"Asus - RT-AX56U - AX1800 Dual Band WiFi 6 Router\", \"TP-Link - Archer AX11000 - Next-Gen Tri-Band Gaming Router\", \"Cygnett - CY2031PCMIC - 4m Micro-USB Cable\", \"Alogic - C6-01-Blue - 1m CAT6 Network Cable - Blue\", \"Oppo - DL129 - 1m USB-A > USB-C VOOC Cable\", \"BLE - Antenna Cable - 3m - BL-RFE30\", \"Alogic - HD4KSPL04 - 4 Port HDMI 2.0 4K Splitter\", \"Laser  - CB-HDMI2-4K - Premium Certified 4K HDMI Cable 2.0M\", \"Alogic DVI-I to VGA Adapter Male to Female \", \"DLink - DSL-4320L - Taipan - AC3200 Ultra Wi-Fi Modem Router \", \"Crest - CHCAWH3 - USB A to USB C Cable - 3m\", \"Alogic - 5m HDMI Cable with Ethernet Ver 2.0 - Male to Male - HDMI-05-MM-V4B\", \"Crest - CPHD15M - Platinum HYPER Speed HDMI Cable - 1.5m\", \"Targus - ACH65AU - Micro Travel USB 2.0 4-Port Hub\", \"Nonda - ZUS\\u00ae Super Duty Cable - 1.2m Lightning to USB Cable\", \"Crest - CNA05073 - 1.5m Platinum Antenna Cable\", \"Netgear - EX6250 - AC1750 WiFi Mesh Extender\", \"Alogic - WC2A17MWH - 2 Port USB Mini Wall Charger - White\", \"Targus - ACH922AU - 4-Port USB-C Hub\", \"Alogic - U22ABRBK - Ultra USB2.0 USB-A (Male) to USB-B (Male) Cable\", \"Alogic - 3m TV Antenna Cable - Male to Male - TV-MM-03\", \"Cygnett - CY2728PCUSA - 1m Essentials USB-C 2.0 to USB-A Cable\", \"Alogic - U2CMC-01BLK - Sync & Charge USB-C & Micro USB Combo Cable\", \"Alogic - WCC60 - USB-C Wall/Laptop Charger - Black\", \"Alogic - QC10AWRDWH - Rapid Wireless Charging Dock\", \"Sengled - Boost WI-FI Extending Dimmable LED Bulb - E27\", \"Apple - MD818AM/A - 1m Lightning to USB Cable\", \"Netgear - EX3110 - AC750 WiFi Range Extender\", \"Asus - RT-AX92U - AX6100 Tri-band WiFi 6 Router\", \"Cygnett - CY1460PCCSL - Source Lightning to USB Cable (10cm-Black)\", \"Alogic - ULDPLS-SGR - USB-C Dock PLUS\", \"Crest - TA121-10 - Modem/Telephone Modular Cable 10.0m\", \"Nonda - ZUS\\u00ae Super Duty Cable - 1.2m USB-A to Micro-USB Cable \", \"Alogic - DMCHD-VGA-AD-ADP - 15cm Micro HDMI to VGA Adapter\", \"Alogic - USB2-01-MCAB - USB 2.0 Type A to Type B Micro Cable\", \"Alogic - MU23T1-01SLV - 1m 3-in-1 Charge & Sync Cable\", \"Alogic - 2m Micro HDMI to HDMI with Ethernet Cable Ver 2.0 - HDD-MM-02-V2\", \"Apple - MQUE2AM/A - 1m Lightning to USB Cable\", \"Asus - RT-AX88U - AX6000 Dual Band WiFi Router \", \"Netgear - GS105 - Gigabit Unmanaged Switch\", \"Crest 1.5m HDMI with Ethernet Cable\", \"DLink - DUB-1312 - USB 3.0 to Gigabit Ethernet Adapter \", \"Alogic - TV-MM-10 - 10m TV Antenna Cable - Male to Male\", \"Crest - CHRACBK - Retractable Audio Cable\", \"Nonda - ZUS\\u00ae Super Duty Cable - 1.2m USB-C to USB\", \"Laser 1m TV Antenna Cable Male to Male - CB-TV-ANTMM1\", \"FITBIT - FB202BK - Aria 2 Wi-Fi Smart Scale \", \"Alogic - USB-C HDMI MultiPort Adapter - MP-UCHDGECH\", \"Alogic - HDMCR - Micro HDMI (M) To HDMI (F) Adapter\", \"TP-Link - HS110 - Smart Wi-Fi Plug with Energy Monitoring\", \"BLE- Digital Optical Braided Cable - 3m - BL-OPTP30 \", \"Crest - CNA05060 - 1.5m Stereo Cable\", \"Belkin - F8J236BT10-BLK - 3m DuraTek\\u2122 Plus Lightning to USB-A Cable\", \"Crest - CBSAC15M - 1.5m Stereo Audio Cable\", \"Crest - CHCAWH - USB A to USB C Cable - 1m\", \"Belkin - F2CU069BT04BLK - 1.2m DuraTek\\u2122 Plus USB-C\\u2122 to USB-A Cable\", \"Netgear - R6260 - AC1600 Smart WiFi Router\", \"Cygnett - CY2721PCCSL - Essentials Lightning to USB-A Cable 10cm\", \"Moki - ACC-MTMINTA - Inbound Travel Adaptor\", \"Cygnett - CY2730PCUSA - 2m Essentials USB-C 2.0 to USB-A Cable\", \"Alogic - UCHD4K-ADP - USB-C to HDMI Adapter\", \"Cygnett - CY2799PCCCL - 1m Armoured Lightning to USB-C Cable\", \"Alogic - MU23T1-01SGR - 1m 3-in-1 Charge & Sync Cable\", \"Alogic - SmartConnect Mini DisplayPort to HDMI Cable - MDP-HD4K-02-MM\", \"Alogic - ULC35APW-SGR - 10cm USB-C to 3.5mm Audio & USB-C Charging Combo Adapter\", \"USB-C to Lightning Cable (1m)\", \"Alogic - ULC35A1.5-SGR - 1.5m USB-C to 3.5mm Audio Cable\", \"Alogic - UCVGHD-ADP - 2-in-1 USB-C To HDMI VGA Adapter\", \"TP-Link - Archer AX6000 - Next-Gen Wi-Fi Router\", \"Netgear - Nighthawk\\u00ae AX3000 Wi-Fi 6 Router - RAX40 \", \"Monster - 1.22m Ultra HD HDMI Cable - 122921\", \"Cygnett - CY2673PCCAM - 2m Micro USB to USB-A Cable\", \"Crest - CHLWH - USB to Lightning Cable\", \"BLE - Antenna Cable - 1.5m - BL-RFE15\", \"Crest - CBDSC5M - 5m Antenna Cable\", \"Crest - CNA05088 - 1.5m Stereo Cable\", \"Alogic - ELUCVG-02RBLK - 2m USB-C to VGA Cable\", \"Alogic - C6-02-Blue - 2m CAT6 Network Cable - Blue\", \"Netgear - RBK50 - Orbi AC3000 Tri-band WiFi Router System  \", \"Laser SMT-PLGUSB-L - Smart WiFi Plug\", \"TP-Link - KP303 - Kasa Smart Wi-Fi Power Strip\", \"Cygnett - CY2726PCCSM - 2m Essentials Micro USB to USB-A Cable\", \"Crest - CNA05062 - 3m Stereo Audio Cable\", \"Cygnett - CY2724PCCSL - 2m Essentials Lightning to USB-A Cable\", \"Cygnett - CY2682PCUSA - 2m USB-C to USB-A Cable\", \"TP-Link - KL130 - Kasa Smart Light Bulb, Multi-colour - E27\", \"Asus - GT-AX11000 - ROG Rapture tri-band WiFi Gaming Router\", \"Alogic - CO-C18C8PWH - Combo Pack\", \"Alogic - MP-UCHDCH - USB-C Multiport Adapter\"], \"type\": \"scatter\", \"x\": [0.3013318181037903, 0.1911320984363556, 0.29910916090011597, 0.16910134255886078, 0.24381348490715027, 0.19039961695671082, 0.20731112360954285, 0.23276077210903168, 0.1604069620370865, 0.2758758068084717, 0.11423434317111969, 0.250228613615036, 0.20302382111549377, 0.14496901631355286, 0.23166802525520325, 0.1328815519809723, 0.2631545662879944, 0.2825987935066223, 0.28916090726852417, 0.1879127025604248, 0.09136132150888443, 0.2000349760055542, 0.13583312928676605, 0.2025577425956726, 0.29360517859458923, 0.1453915685415268, 0.1698669046163559, 0.28598904609680176, 0.2834087312221527, 0.28304600715637207, 0.3081531524658203, 0.278636634349823, 0.23566672205924988, 0.17169618606567383, 0.3171682059764862, 0.1743907928466797, 0.10953237116336823, 0.1761404275894165, 0.16412851214408875, 0.23126481473445892, 0.2215462476015091, 0.15602776408195496, 0.3271266520023346, 0.19344863295555115, 0.29188627004623413, 0.31329280138015747, 0.05796238034963608, 0.1591000258922577, 0.16331356763839722, 0.15565849840641022, 0.13252781331539154, 0.31155622005462646, 0.0470164455473423, 0.17885658144950867, 0.21500563621520996, 0.0026305392384529114, 0.21198320388793945, 0.3105719983577728, 0.16411253809928894, 0.14821161329746246, 0.19705693423748016, 0.07101333141326904, 0.24848732352256775, 0.21337151527404785, 0.17622922360897064, 0.20195455849170685, 0.1694953888654709, 0.20669841766357422, 0.18480607867240906, 0.15288712084293365, 0.08051074296236038, 0.1788610816001892, 0.20655013620853424, 0.23007221519947052, 0.1974087953567505, 0.04563385993242264, 0.13283537328243256, 0.1736525297164917, 0.1878824383020401, 0.2675372064113617, 0.2181766927242279, 0.044296931475400925, 0.20892618596553802, 0.20243307948112488, 0.22363556921482086, 0.254183828830719, 0.12716318666934967, 0.1817861795425415, 0.20983237028121948, 0.23329855501651764, 0.1994704306125641, 0.18587426841259003, 0.30293262004852295, 0.08931980282068253, 0.18059158325195312, 0.1469174176454544, 0.15975484251976013, 0.1855902075767517, 0.2268773466348648, 0.17068347334861755, 0.06573528051376343, 0.07420872151851654, 0.2256128489971161, 0.303596168756485, 0.17613545060157776, 0.16165538132190704, 0.28450000286102295, 0.22064581513404846, 0.3094865083694458, 0.10669906437397003, 0.33252444863319397, 0.27047502994537354, 0.07104933261871338, 0.23106156289577484, 0.12601971626281738, 0.27145490050315857, 0.2887422442436218, 0.14834880828857422, 0.158293217420578, 0.1826242357492447, 0.29502052068710327, 0.12317885458469391, 0.18289600312709808, 0.17442652583122253, 0.1708175092935562, 0.15440921485424042, 0.274111807346344, 0.15416553616523743, 0.20169362425804138, 0.15475241839885712, 0.2883269190788269, 0.22638514637947083, 0.19811095297336578, 0.23320743441581726, 0.1476200968027115, 0.18834072351455688, 0.2091621607542038, 0.18467764556407928, 0.15336211025714874, 0.2690827548503876, 0.13630113005638123, 0.1893283575773239, 0.19880251586437225, 0.15570563077926636, 0.16958986222743988, 0.04593460261821747, 0.21850845217704773, 0.17193245887756348, 0.2758370637893677, 0.2844136357307434, 0.30276551842689514, 0.05420307815074921, 0.2754468619823456, 0.2621687948703766, 0.18921540677547455, 0.3253653049468994, 0.19243571162223816, 0.15478715300559998, 0.2114562839269638, 0.3071163594722748, 0.22749370336532593, 0.193627268075943, 0.20910094678401947, 0.22319965064525604, 0.22766491770744324, 0.20250628888607025, 0.19545073807239532, 0.28006112575531006, 0.020893067121505737, 0.2663760781288147, 0.2669769823551178, 0.24707067012786865, 0.11442488431930542, 0.18279297649860382, 0.28093868494033813, 0.24493467807769775, 0.21549949049949646, 0.1622290164232254, 0.07932256162166595, 0.09201455116271973, 0.22196505963802338, 0.15285183489322662, 0.31893640756607056, 0.19031088054180145, 0.23993055522441864, 0.2869694232940674, 0.23302382230758667, 0.21173611283302307, 0.09632036089897156, 0.2276841700077057, 0.1371486783027649, 0.20806172490119934, 0.18827751278877258, 0.2186395227909088, 0.1935066282749176, 0.2276507019996643, 0.30704957246780396, 0.3055209815502167, 0.17193999886512756, 0.2930739223957062, 0.28995481133461, 0.25597429275512695, 0.1206343024969101, 0.2513664662837982, 0.18175946176052094, 0.1962055116891861, 0.15666386485099792, 0.186334028840065, 0.15193156898021698, 0.14673009514808655, 0.32149791717529297, 0.3109150528907776, 0.1822403371334076, 0.1266038566827774, 0.1391087919473648, 0.16216234862804413, 0.2172592580318451, 0.17243967950344086, 0.18777571618556976, 0.12366965413093567, 0.1486087143421173, 0.14269410073757172, 0.232012078166008, 0.3412991166114807, 0.17554143071174622, 0.15872575342655182, 0.33003395795822144, 0.28680241107940674, 0.19323500990867615, 0.27082186937332153, 0.33692294359207153, 0.23107752203941345, 0.18848690390586853, 0.2252684235572815, 0.252471923828125, 0.1513642817735672, 0.05524599552154541, 0.1447548270225525, 0.1338275820016861, 0.21721678972244263, 0.19866523146629333, 0.2175036370754242, 0.20291565358638763, 0.19133120775222778, 0.2342008352279663, 0.16420568525791168, 0.1796478033065796, 0.19691969454288483, 0.15265637636184692, 0.2675424814224243, 0.0639851987361908, 0.29282939434051514], \"y\": [0.14289702475070953, -0.004293888807296753, -0.08804728090763092, 0.045151956379413605, -0.04937925934791565, -0.005537994205951691, -0.13911092281341553, -0.011008970439434052, -0.06500103324651718, 0.029469050467014313, -0.06267240643501282, -0.08706220239400864, -0.0890561193227768, -0.10861082375049591, -0.12682944536209106, -0.0664784163236618, 0.007456086575984955, 0.06769384443759918, 0.06929515302181244, -0.07871686667203903, -0.16498611867427826, -0.11261656135320663, -0.1621406227350235, -0.09225308150053024, 0.11201051622629166, -0.037684082984924316, 0.07683570683002472, 0.03456946089863777, 0.09199628978967667, -0.13648295402526855, -0.06386730074882507, -0.05363430455327034, -0.06652644276618958, -0.10210511088371277, -0.1923353672027588, -0.06792964041233063, 0.002873152494430542, -0.09077396243810654, 0.017388012260198593, -0.10309717059135437, 0.02110341005027294, -0.12493051588535309, -0.07535628974437714, -0.023644963279366493, 0.06949487328529358, -0.025073036551475525, -0.11052018404006958, -0.09325604140758514, 0.010259002447128296, -0.07876606285572052, -0.07496921718120575, 0.03641075640916824, -0.10544207692146301, -0.12264347076416016, -0.03790322318673134, -0.06864312291145325, -0.12149423360824585, 0.09891413152217865, 0.02152296155691147, 0.019933931529521942, -0.06988906115293503, -0.19330427050590515, -0.011889494955539703, -0.052015602588653564, -0.040216244757175446, -0.07784219831228256, 0.020718727260828018, 0.17063277959823608, -0.06431897729635239, -0.045498769730329514, -0.11149032413959503, -0.08706438541412354, -0.09670516103506088, -0.059377241879701614, 0.056139227002859116, -0.1696498692035675, -0.1009681448340416, -0.13093477487564087, -0.07052716612815857, 0.0866360291838646, -0.10178667306900024, -0.1025191992521286, 0.009753767400979996, -0.04771964251995087, -0.19745683670043945, -0.0939003974199295, -0.024405650794506073, -0.03616128861904144, 0.07903892546892166, -0.1266540288925171, -0.0979403480887413, -0.0010108109563589096, 0.09609761834144592, -0.06394865363836288, -0.007838407531380653, -0.03865435719490051, -0.030293747782707214, 0.02048436738550663, -0.08788282424211502, 0.033433809876441956, -0.11611627042293549, -0.08122605085372925, -0.10365592688322067, 0.010934486985206604, -0.08552387356758118, -0.029562242329120636, -0.067664235830307, 0.024381252005696297, -0.07312413305044174, -0.141568124294281, 0.09275481104850769, -0.12689223885536194, -0.20964425802230835, 0.04322082921862602, -0.19038501381874084, 0.05017273128032684, -0.1070416271686554, -0.01658528298139572, 0.07373370230197906, -0.16633068025112152, -0.044158466160297394, -0.13860850036144257, -0.10238077491521835, 0.030507627874612808, -0.05521303415298462, -0.09794141352176666, 0.021417398005723953, -0.07233545184135437, -0.12486960738897324, -0.043371111154556274, 0.0588822104036808, 0.04771047085523605, -0.10522616654634476, -0.00907013937830925, -0.0590001717209816, -0.08117713034152985, -0.11266674101352692, -0.07627009600400925, -0.11369132995605469, 0.014225520193576813, -0.1680448204278946, -0.07380017638206482, -0.043735016137361526, -0.16608253121376038, 0.013232637196779251, -0.116442009806633, -0.1231846883893013, -0.13715438544750214, -0.023105546832084656, -0.07783165574073792, 0.14425739645957947, -0.2415461242198944, 0.04183365777134895, -0.016860611736774445, 0.0033792806789278984, 0.10932639241218567, -0.12410710752010345, -0.1422559767961502, -0.08207428455352783, -0.18712618947029114, -0.05318064987659454, -0.1367436796426773, -0.125690296292305, 0.06409958004951477, -0.08718056231737137, -0.08995107561349869, -0.10791182518005371, 0.0033856844529509544, -0.19818344712257385, 0.13058923184871674, 0.0128990039229393, 0.08295373618602753, -0.05424366891384125, -0.09541524946689606, 0.05858227610588074, 0.044665947556495667, -0.08930280059576035, -0.08817452192306519, -0.0936773270368576, -0.006947431713342667, -0.03264295309782028, -0.09039395302534103, -0.14604000747203827, -0.027920307591557503, -0.09425538778305054, -0.10886584222316742, -0.006102357059717178, -0.07841648161411285, -0.028869450092315674, -0.05071907490491867, -0.0024850107729434967, 0.08259708434343338, -0.05996910110116005, -0.01879497617483139, -0.09809370338916779, -0.07791892439126968, 0.12738004326820374, -0.14177030324935913, -0.06400740146636963, 0.08750352263450623, -0.04425351321697235, 0.053898297250270844, 0.1120111271739006, 0.03692512959241867, -0.061617717146873474, 0.012162137776613235, -0.28421086072921753, -0.07616344839334488, -0.09059473127126694, -0.07609681040048599, 0.04022742807865143, 0.059877797961235046, 0.06152328848838806, -0.19656051695346832, -0.16003379225730896, -0.13487973809242249, -0.19681185483932495, -0.11348294466733932, -0.13431516289710999, 0.04719139635562897, -0.05869080498814583, -0.19179308414459229, -0.07497929781675339, 0.10275206714868546, -0.10015539079904556, -0.027891259640455246, 0.1101767048239708, -0.0066320449113845825, -0.11766383796930313, -0.026446495205163956, 0.1345689743757248, -0.029946640133857727, 0.01470581628382206, 0.06006372720003128, -0.08103736490011215, -0.13450922071933746, -0.1779531091451645, -0.08943498134613037, -0.1567097306251526, -0.020970098674297333, -0.10795192420482635, -0.06902330368757248, -0.03503429889678955, -0.0503455325961113, -0.054133206605911255, -0.1719001829624176, -0.06327451020479202, -0.0941610336303711, 0.02917865663766861, 0.00038607046008110046, -0.09397643059492111, -0.037680596113204956]}, {\"marker\": {\"color\": 31, \"size\": 5}, \"mode\": \"markers\", \"name\": \"26\", \"text\": [\"LG - GB-455MBL - 454L Bottom Mount Fridge\", \"Fisher & Paykel - RF442BLPW6 - 442L Bottom Mount Fridge\", \"Kelvinator - KTM4602WC - 460L Top Mount Fridge\", \"Electrolux - EBE5307BC-L - 529L Bottom Mount Fridge\", \"Electrolux - EBE5307BB-R - 529L Bottom Mount Refrigerator\", \"LG - GF-V706BSL - 706L French Door Fridge\", \"Electrolux - EBE5307SA-R - 530L Bottom Mount Refrigerator\", \"LG - GS-L668MBNL - 668L Side by Side Fridge - Non-Plumbed Ice & Water Dispenser\", \"LG - GB-450UBLX - 450L Bottom Freezer Refrigerator\", \"Electrolux - EBE4507SC-L - 453L Bottom Mount Fridge\", \"Haier - HRF520FHS - 514L French Door Refrigerator\", \"Samsung - SRS673DMB - 676L Side by Side Refrigerator \", \"Mitsubishi - MR-L710EG-DB-A - 710L L4 Grande French Door Fridge\", \"Electrolux - EQE6207SD - 620L French Door Fridge\", \"Haier - 719L Chest Freezer - HCF719\", \"Mitsubishi - MRL710EGSTA- 710L L4 Grande French Door Fridge \", \"Inalto - IUF92W - 92L Upright Freezer\", \"Beko - BSB641W - 641L Side by Side Fridge\", \"Husky - ALF-C1-840 - 118L Alfresco Bar Fridge\", \"Hitachi - R-WX620KAXK - 615L Black Glass Finish French Door Fridge\", \"Miele - KFN 12823 SD edt-1 CS  - 339L Freestanding Fridge\", \"Haier - HRF360TS - 365L Top Mount Refrigerator\", \"Husky - HUS-C1-840-BLK - 118L Single Glass Door Bar Fridge\", \"Fisher & Paykel - RF442BRPX6 - 442L ActiveSmart\\u2122 Fridge\", \"Husky - ALF-C3-840 - 307L Alfresco Bar Fridge\", \"Fisher & Paykel - RF522BLPW6 - 519L Bottom Mount Fridge \", \"Husky - HUS-C3-840-BLK - 307L Bar Fridge - Black\", \"Mitsubishi - MR-CX492EP-BST-A2 - 492L 3 Door Bottom Mount Fridge\", \"Samsung - SRF717CDBLS - 719L French Door Refrigerator  \", \"Mitsubishi - MR-LX630EM-GBK - 630L French Door Fridge\", \"Haier  - 328L Vertical Refrigerator - HRF328W2 \", \"Fisher & Paykel - RF442BLPX6 - 442L ActiveSmart\\u2122 Fridge \", \"Haier - HRF700YCX - 701L French Door Refrigerator\", \"Beko - 629L French Door Fridge - BFD629DX \", \"Smeg 622L Side-by-Side Stainless Steel Fridge - SR601X \", \"Mitsubishi - MR-WX500C-S-A2 - 500L French/Multi Drawer Fridge\", \"Hitachi - RV410PT8BBK - 375L Top Mount Inverter Fridge - Brilliant Black\", \"Hitachi - 466L Bottom Mount Fridge - R-B500PT6GBK\", \"Hitachi - R-B570PT7GBK - 525L Bottom Mount Fridge\", \"Mitsubishi - MR-L650EH-ST-A - 650L French Door Fridge\", \"Samsung - 525L Top Mount Fridge - SR520BLSTC\", \"Westinghouse - WHE6874SA - 681L Stainless Steel French Door\", \"LG - GT-442SDC - 441L Top Mount Fridge\", \"Smeg - SR611X - 604L Side-by-Side Fridge - Stainless Steel\", \"LG - GT-279BPL - 279L Top Mount Fridge\", \"LG - GT-427HPLE - 427L Top Mount Fridge\", \"Fisher & Paykel - RS80AU1 - 455L Integrated French Door Fridge\", \"Asko - R2303 - 158L Outdoor Fridge\", \"LG - GT-332SDC - 332L Top Mount Fridge\", \"LG - GF-L570MBL - 570L Slim French Door Fridge - Matte Black Finish\", \"Mitsubishi - MR-L710EG-PWH-A - 710L L4 Grande French Door Fridge\", \"Hitachi - RVG480PT8GPW - 443L Top Mount Inverter Fridge - White Glass\", \"Inalto - IBF95W - 95L White Bar Refrigerator\", \"LG - GF-V910MBL - 910L French Door Fridge with Instaview Door-In-Door \", \"Fisher & Paykel - RF522ADX5 - 519L French Door Fridge\", \"Electrolux - EBE5307SCR - 529L Bottom Mount Fridge\", \"Westinghouse - WQE6060SB - 600L Stainless Steel 4 Door French Door\", \"Haier - HRF340BW2 - 342L Bottom Mount Refrigerator\", \"Mitsubishi - MR-BF325EK-OB-A2 - 325L Bottom Mount Fridge - Onyx Black\", \"Hitachi - RVG480PT8GBK - 443L Top Mount Inverter Fridge - Black Glass\", \"Hisense - HR6BF121 - 120L White Bar Fridge \", \"Samsung - SRF671BFH2 - 671L Family Hub\\u2122 French Door Refrigerator    \", \"Westinghouse - WQE6060SA - 600L French Door Fridge\", \"Electrolux - EBE4507SA-L - 450L Bottom Mount Refrigerator\", \"Electrolux - EBE4507SA-R - 450L Bottom Mount Refrigerator\", \"Haier - HCF524W2 - 519L Chest Freezer\", \"LG - GF-D706BSL - 706L French Door Fridge\", \"LG - GF-D613PL - 613L Door-in-Door\\u2122 French Door\", \"Aquaport - AQP-IM12B-SS - Portable Ice Maker\", \"Mitsubishi - MRCX370EJSTA2 - 370L 3 Door Bottom Mount Fridge\", \"Electrolux - EHE6899SA - 681L French Door Fridge\", \"Electrolux - EBE5307BB-L - 529L Bottom Mount Refrigerator\", \"Fisher & Paykel - E440TRX3 - 447L ActiveSmart\\u2122 Fridge\", \"Hitachi - R-VG410PT8GBK - 375L Top Mount Inverter Fridge - Black Glass\", \"Hitachi - R-WB640VT0 - 638L French Door Fridge   \", \"Hitachi - RV480PT8BSL - 443L Top Mount Inverter Fridge - Brilliant Silver\", \"Fisher & Paykel - RF522BRPW6 - 519L Bottom Mount Fridge\", \"LG - GS-D665BSL - 665L Side by Side Fridge\", \"Hisense - HR6TFF223 - 223L Top Mount Fridge\", \"Mitsubishi - MR-L650EH-D-B-A - 650L French Door Fridge\", \"Hisense - HR6TFF350 - 350L Top Mount Fridge\", \"Lemair - 70L Bar Fridge - RQ-80H\", \"Kelvinator - KTB2302WB-R - 231L Top Mount Fridge\", \"Fisher & Paykel - E522BLXFDU5 - 519L ActiveSmart\\u2122 Fridge\", \"Husky - HUS-RETRO-110 WHT - 123L Retro Style Bar Fridge\", \"Mitsubishi - MR-WX743C-SA2 - 743L French Door Fridge\", \"Haier - HRF454TW2 - 450L Top Mount Refrigerator\", \"Husky - HUS-C2-840-BLK - 190L Double Door Bar Fridge\", \"Inalto - ICF146W - 146L Chest Freezer  \", \"LG - LT800P - Refrigerator Water Filter Replacement Cartridge\", \"LG - LT1000P - Refrigerator Water Filter Replacement Cartridge\", \"Fisher & Paykel - E442BRXFDU5 - 442L Bottom Mount Fridge\", \"Fisher & Paykel - E522BRXFDU5 - 519L ActiveSmart\\u2122 Fridge\", \"Electrolux - EBE5307SCL - 529L Bottom Mount Fridge\", \"Inalto - IBF46W - 46L White Bar Fridge\", \"Haier - HRF565YHS - 565L French Door Refrigerator\", \"Haier - HRF516YHS - 516L French Door Fridge\", \"Fisher & Paykel 605L Quad Door Fridge Freezer - RF605QDVB1\", \"Hisense - HR6AFF355D - 355L Single Door Fridge\", \"Haier - HCF201 - 201L Chest Freezer\", \"Hitachi - R-V610PT7 - 565L Top Mount Fridge\", \"Fisher & Paykel - RF442BRPW6 - 442L Bottom Mount Fridge\", \"Fisher & Paykel - RF522ADUB5 - 519L French Door Fridge \", \"Liebherr - SICN 3366 LH - 283L Integrable Fridge-Freezer with NoFrost\", \"Miele - KFNS 37452 iDE - 283L Integrated Fridge/Freezer Combination\", \"Liebherr - SGNes 3010 - 303L Freestanding Freezer with NoFrost - LHH\", \"Fisher & Paykel - RF605QDUVB1 - 605L Quad Door Fridge Freezer - Ice & Water\", \"Hisense - HR6TFF223S - 223L Top Mount Fridge\", \"Hitachi - RV480PT8BBK - 443L Top Mount Inverter Fridge - Brilliant Black\", \"Haier - HVF-260WH3 - 258L Vertical Freezer\", \"LG - GF-L706MBL - 706L French Door Fridge\", \"Mitsubishi - MR-BF325EK-W-A2 - 325L Bottom Mount Fridge - Glacier White\", \"Husky - HUS-RETRO-110 RED - 110L Single Door Undercounter Fridge\", \"LG - GS-B680DSLE - 679L Side-by-Side Fridge  \", \"Husky - HUS-C3-840 - 307L Bar Fridge - Silver\", \"Kelvinator - KTM5402AC-R - 536L Top Mount Fridge\", \"Westinghouse - WHE7074SA - 702L Stainless Steel French Door\", \"Fisher & Paykel - RF605QDVX1 - 605L Quad Door Fridge Freezer \", \"Electrolux - EBE5307BC-R - 529L Bottom Mount Fridge\", \"LG - GF-V570MBL - 570L Slim French Door Fridge - Matte Black Finish  \", \"Fisher & Paykel - RS90AU1 - 525L Integrated French Door Fridge\", \"Westinghouse - WQE6000SB - 600L Stainless Steel 4 Door French Door  \", \"Lemair - LBC6178 - 145L Can Chiller\", \"LG - GS-B680MBL - 680L Side by Side Fridge\", \"Miele - FNS 37402 i - 248L Integrated Vertical Freezer\", \"Hisense - HR6CF523 - 523L Chest Freezer\", \"Beko - GNE134620 X - 584L 4 Door Fridge \", \"Haier - HCF324W2 - 324L Chest Freezer\", \"Haier - HRF520FHC - 514L French Door Refrigerator\", \"Hitachi - R-WX620KAXW - 615L White Glass Finish French Door Fridge\", \"Hisense - HR6VFF280D - 280L Single Door Vertical Freezer\", \"Haier - HRF520FS - 514L French Door Fridge\", \"Kelvinator - KTM5402WC-R - 536L Top Mount Fridge\", \"Inalto - ICF198W - 198L Chest Freezer\", \"Inalto - IBF129W - 129L White Bar Fridge\", \"Samsung - HAF-CIN/EXP - Refrigerator Water Filter\", \"LG - GF-B730PL - 730L French Door Fridge\", \"Husky - HUS-C1-840 - 118L Single Glass Door Bar Fridge\", \"Fisher & Paykel - RS80A1 - 455L Integrated French Door Fridge\", \"LG - GB-455BTL - 454L Bottom Mount Fridge - Black Steel\", \"Haier - HRF516YS - 514L French Door Refrigerator \", \"Samsung - SR400LSTC - 400L Top Mount Fridge\", \"Liebherr SKBbs 4350 Premium BioFresh Freestanding Refrigerator   \", \"Electrolux - EBE5307SA-L - 530L Bottom Mount Refrigerator \", \"Electrolux - ETE4607SB-L - 460L Top Mount Refrigerator\", \"Haier - HRF565YHC - 565L French Door Refrigerator\", \"Electrolux - EBE5307SB-R - 529L Bottom Mount Refrigerator\", \"Haier - HCF143 - 143L Chest Freezer \", \"Husky - HUS-198CHE - 198L Solid Door Hybrid Chest Fridge & Freezer \", \"Fisher & Paykel - RF522ADUX5 - 519L French Door Fridge\", \"LG - GF-L570PL - 570L Slim French Door Fridge - Stainless Steel Finish\", \"Hitachi - R-V445PT8PSV - 403L Top Mount Inverter Fridge \", \"Hisense - HR6SBSFF624SW - 624L Side By Side Fridge\", \"LG - GB-W455MBL - 454L Bottom Mount Fridge\", \"Fisher & Paykel - RF610ADX5 - 614L French Door Fridge\", \"LG - GB-455UPLE - 454L Bottom Mount Fridge - Dark Graphite\", \"Mitsubishi - MR-WX743C-WA2 - 743L French Door Fridge\", \"Westinghouse - WHE6000SB - 605L Stainless Steel French Door Fridge  \", \"Fisher & Paykel - RF521TRPW6 - 517L Top Mount Fridge - RH\", \"Fisher & Paykel - RF522ADUSX5 - 519L French Door Fridge  \", \"Hitachi - R-WB560PT9 - 511L French Door INVERTER Refrigerator\", \"LG - GF-B620PL - 620L French Door Refrigerator\", \"Husky - HUS-C2-840 - 190L Double Door Bar Fridge\", \"Inalto - IUL237W - 237L Upright Refrigerator\", \"Smeg - SR601N - 622L Side-by-Side Fridge - Black\", \"Westinghouse - 605L Stainless Steel French Door - WHE6060SA \", \"LG - GT-442WDC - 441L Top Mount Fridge\", \"LG - GF-B590MBL - 594L Slim French Door Fridge - Matte Black Finish\", \"Hitachi - R-B330PT9 - 303L Bottom Mount Fridge\", \"Hitachi - R-190ET9 - 187L Single Door Fridge \", \"LG - GF-L706PL - 706L French Door Fridge\", \"Miele - KFNS 37682 iDE - 279L Integrated Fridge/Freezer Combination\", \"Mitsubishi - MRCX370EJWA2 - 370L 3 Door Bottom Mount Fridge\", \"Liebherr - SKBes 4210 RH - 403L Freestanding Refrigerator with BioFresh \", \"Fisher & Paykel - RF522BRPX6 - 519L Bottom Mount Fridge\", \"LG - GS-L668PNL - 668L Side by Side Refrigerator - No Plumbed Ice & Water Dispenser\", \"Hitachi - R-WX670KAXK - 670L Black Glass French Door Fridge\", \"Fisher & Paykel - RF610ADUSX5 - 614L French Door Fridge\", \"Beko - BSB641X - 641L Side by Side Fridge\", \"Mitsubishi - MR-WX743C-WA - 743L French Door Fridge \", \"LG - GT-515SDC - 516L Top Mount Fridge \", \"Haier - HRF454TW - 457L Top Mount Refrigerator\", \"Liebherr CNef 4315 - 350L Fridge-freezer with NoFrost \", \"Fisher & Paykel - RF605QDUVX1 - 605L Quad Door Fridge Freezer - Ice & Water\", \"Hitachi - R-WX670KAXW - 670L White Glass French Door Fridge\", \"Fisher & Paykel - RF610ADUX5 - 614L French Door Fridge\", \"Hitachi - R-ZX740KAXK - 735L Black Glass French Door Fridge\", \"Samsung - SRS656MBFH4 - 656L Family Hub\\u2122 Fridge\", \"LG - GB455PL - 454L Bottom Mount Fridge - Platinum\", \"Haier - HRF520BS - 517L Bottom Mount Refrigerator\", \"Hisense - HR6BF47 - 47L Bar Fridge\", \"Kelvinator - KTM5402AA - 540L Top Mount Refrigerator\", \"Haier - HRF454TS - 457L Top Mount Refrigerator\", \"Electrolux - EBE4507SC-R - 453L Bottom Mount Fridge\", \"Samsung - SRF583DLS - 583L French Door Refrigerator - Non-Plumbed Water Dispenser\", \"Haier - HRF220TW - 221L Top Mount Fridge  \", \"Westinghouse - WQE6060BA - 600L French Door Fridge \", \"LG - Fridge Water Filter - LT700P\", \"Samsung - 628L Top Mount Refrigerator  - SR625BLSTC\", \"LG - GB-W450UPLX - 450L Bottom Mount Fridge\", \"Husky - ALF-C2-840 - 190L Alfresco Bar Fridge\", \"Haier - 340L Bottom Mount Fridge - HBM340SA1\", \"Haier - HRF220TS - 221L Top Mount Refrigerator\", \"Miele - KFNS 37692 iDE - 279L Integrated Fridge/Freezer Combination\", \"Samsung - SRF867FSBLS - 867L French Door Refrigerator\", \"Hitachi - RV410PT8BSL - 375L Top Mount Inverter Fridge - Brilliant Silver\", \"Fisher & Paykel - RF522BLPX6 - 519L Bottom Mount Fridge\", \"Fisher & Paykel - RF610ADUB5 - 614L French Door Fridge\", \"Hitachi - R-VG410PT8GPW - 375L Top Mount Inverter Fridge - White Glass\", \"Liebherr - SGNPbs 4365 Premium NoFrost  - Freestanding Freezer\", \"Husky - HUS-WC66B-BK-ZY - Double Door Wine Fridge\", \"Electrolux - EHE6899BA - 681L French Door Fridge \", \"Inalto - IUF172W - 172L Upright Freezer\", \"Hitachi - R-ZX740KAX - 735L Mirror Glass French Door Fridge\", \"Haier - HRF520BW - 517L Bottom Mount Refrigerator\", \"LG - GF-B590PL - 594L Slim French Door Fridge - Stainless Finish \", \"Husky - HUS-CNSIL - 130L Undercounter Fridge\", \"Haier HCF264 - 264L Chest Freezer\", \"Haier - HRF516YHC - 516L French Door Refrigerator\", \"Haier - HRF450BS2 - 450L Bottom Mount Fridge\", \"Samsung - SRF714NCDBLS - 714L French Door Refrigerator\", \"Husky - HUSRETRO110BLK - 110L Single Door Undercounter Fridge\", \"Husky - HUS-WC66B-ZY - Double Door Wine Fridge\", \"Mitsubishi - MR-WX743Y-W-A - 743L Multi Drawer Fridge - White\", \"Westinghouse - WHE5204BC - 524L French Door Fridge\", \"Fisher & Paykel H510XR - 511L Chest Freezer\", \"Samsung - Refrigerator Water Filter - HAFIN3/EXP \", \"Haier - HRF360TW2 - 362L Top Mount Refrigerator\", \"Inalto - IBF95BG - 95L Black Glass Bar Refrigerator\", \"Miele - KFN 15842 SD ed CS - 442L Bottom Mount Fridge  \"], \"type\": \"scatter\", \"x\": [-0.1566326916217804, -0.23183974623680115, -0.20684519410133362, -0.19273623824119568, -0.189210444688797, -0.11400208622217178, -0.18052196502685547, -0.14937138557434082, -0.15231744945049286, -0.1852385401725769, -0.16634047031402588, -0.06175726652145386, -0.11184746772050858, -0.17991302907466888, -0.1637430489063263, -0.13528814911842346, -0.2568475604057312, -0.23889970779418945, -0.16629037261009216, -0.12359768897294998, -0.26889392733573914, -0.15989787876605988, -0.1366642415523529, -0.14204968512058258, -0.1562141478061676, -0.2419372797012329, -0.09762874245643616, -0.11481121927499771, -0.037093788385391235, -0.15704181790351868, -0.23094281554222107, -0.15387198328971863, -0.1179276779294014, -0.24133488535881042, -0.26133182644844055, -0.11410771310329437, -0.10778557509183884, -0.11743777245283127, -0.08913756906986237, -0.15061557292938232, -0.07200109213590622, -0.2017621397972107, -0.12889373302459717, -0.26190218329429626, -0.11118332296609879, -0.12743327021598816, -0.21824783086776733, -0.2238156497478485, -0.13383004069328308, -0.08426246792078018, -0.13423645496368408, -0.1109338253736496, -0.20482534170150757, -0.06813490390777588, -0.19841215014457703, -0.18551629781723022, -0.19706889986991882, -0.20201236009597778, -0.1387729048728943, -0.08266399800777435, -0.17526474595069885, -0.05822988599538803, -0.26752468943595886, -0.1866750717163086, -0.17746183276176453, -0.19579461216926575, -0.11507794260978699, -0.05336228013038635, -0.030424676835536957, -0.12396102398633957, -0.18301188945770264, -0.1867816299200058, -0.14177578687667847, -0.08777575939893723, -0.17861315608024597, -0.12363333255052567, -0.24112200736999512, -0.13762083649635315, -0.1891011893749237, -0.15042157471179962, -0.17179396748542786, -0.25313177704811096, -0.23014387488365173, -0.1600700318813324, -0.14752787351608276, -0.1402081847190857, -0.20203053951263428, -0.13436460494995117, -0.21264401078224182, 0.0029632896184921265, -0.01666828989982605, -0.2282593548297882, -0.1640636920928955, -0.17855072021484375, -0.2142249345779419, -0.16468265652656555, -0.17099419236183167, -0.24100357294082642, -0.18132683634757996, -0.17549541592597961, -0.12964850664138794, -0.22737818956375122, -0.19923925399780273, -0.21743160486221313, -0.2513228952884674, -0.18179309368133545, -0.22569352388381958, -0.1864362359046936, -0.09906645864248276, -0.2535613775253296, -0.12130307406187057, -0.15836438536643982, -0.16121888160705566, -0.14077118039131165, -0.12046318501234055, -0.1670789122581482, -0.1864214539527893, -0.22337237000465393, -0.19261446595191956, -0.0719648003578186, -0.2104836404323578, -0.1782982349395752, -0.2424977421760559, -0.13190524280071259, -0.29163119196891785, -0.20009198784828186, -0.21302556991577148, -0.2127562165260315, -0.16752158105373383, -0.1387512981891632, -0.2131846845149994, -0.17401298880577087, -0.20307210087776184, -0.22125458717346191, -0.21178752183914185, -0.014092676341533661, -0.12297380715608597, -0.13877952098846436, -0.20770999789237976, -0.1489633023738861, -0.16233991086483002, -0.08727812021970749, -0.13192519545555115, -0.18422099947929382, -0.191933274269104, -0.16835886240005493, -0.1865781545639038, -0.1483442187309265, -0.15326964855194092, -0.20637920498847961, -0.11998356878757477, -0.11090061068534851, -0.2481386363506317, -0.16363662481307983, -0.20431438088417053, -0.11151960492134094, -0.16458049416542053, -0.2680753767490387, -0.21432045102119446, -0.1962910145521164, -0.13344722986221313, -0.1391945481300354, -0.138860285282135, -0.21805024147033691, -0.2346007525920868, -0.22112199664115906, -0.14544367790222168, -0.1233469769358635, -0.15272873640060425, -0.14156107604503632, -0.108006551861763, -0.22099769115447998, -0.13161471486091614, -0.14610931277275085, -0.23152470588684082, -0.15216132998466492, -0.08763520419597626, -0.20431868731975555, -0.21161702275276184, -0.16897878050804138, -0.12399199604988098, -0.20945832133293152, -0.19269919395446777, -0.2090010643005371, -0.10017281025648117, -0.219822496175766, -0.09344416856765747, -0.06380651891231537, -0.1678820252418518, -0.18101763725280762, -0.18555569648742676, -0.16679108142852783, -0.192472904920578, -0.1840645670890808, -0.11151059716939926, -0.18913444876670837, -0.2633652091026306, -0.023982971906661987, -0.1172252967953682, -0.1358107328414917, -0.15757328271865845, -0.18249383568763733, -0.16285967826843262, -0.2268226146697998, -0.06149023026227951, -0.13887450098991394, -0.24232640862464905, -0.21483507752418518, -0.12350139766931534, -0.18650531768798828, -0.11072143167257309, -0.18032802641391754, -0.24373793601989746, -0.08987988531589508, -0.18201112747192383, -0.15548527240753174, -0.17193686962127686, -0.11821140348911285, -0.1694987416267395, -0.17013533413410187, -0.06762026995420456, -0.1978154182434082, -0.11499573290348053, -0.11884171515703201, -0.2529440224170685, -0.18487301468849182, -0.02152353525161743, -0.18146836757659912, -0.1844872534275055, -0.2661948502063751], \"y\": [0.14237552881240845, -0.09827899187803268, -0.04322345182299614, -0.04760224372148514, -0.07103332132101059, 0.08451041579246521, -0.027151193469762802, 0.10948675870895386, 0.1267746537923813, -0.005830001085996628, -0.02253994718194008, 0.24692776799201965, 0.04577444866299629, -0.01486814022064209, -0.044235460460186005, 0.04023001343011856, -0.0023578330874443054, -0.10739701241254807, -0.06328800320625305, 0.04084961116313934, 0.08017674833536148, -0.09523794054985046, -0.04113069921731949, -0.027774374932050705, -0.08241266012191772, -0.10201013833284378, -0.058990947902202606, 0.007048401981592178, 0.15717260539531708, 0.027981791645288467, 0.0012741945683956146, -0.024139223620295525, -0.06365619599819183, -0.12134550511837006, 0.00036884378641843796, 0.04638493433594704, 0.03353382647037506, 0.04128448665142059, 0.09683450311422348, 0.01467273198068142, 0.21121694147586823, 0.05291246622800827, 0.17223787307739258, -0.0020074499770998955, 0.1790177822113037, 0.18547606468200684, -0.041163988411426544, -0.08613497018814087, 0.17828595638275146, 0.13758227229118347, 0.0775531604886055, 0.07983870804309845, -0.05254498869180679, 0.1780083179473877, -0.06998852640390396, -0.03703215718269348, 0.10907044261693954, -0.07863558828830719, -0.06331582367420197, 0.10329362750053406, 0.0003485577180981636, 0.1706542670726776, 0.08965026587247849, 0.0075707100331783295, -0.0028568636626005173, -0.01747184991836548, 0.07729164510965347, 0.06485649943351746, -0.04675043374300003, -0.0019100941717624664, -0.0316259004175663, -0.05462595075368881, -0.009296074509620667, 0.10655732452869415, 0.0004988498985767365, 0.03306351602077484, -0.10054726898670197, 0.21056504547595978, -0.01075197383761406, -0.018073519691824913, 0.019068896770477295, -0.0524592250585556, -0.10533618181943893, -0.010148316621780396, -0.11074715852737427, 0.03897010535001755, -0.0183305274695158, -0.04241757094860077, -0.045576319098472595, 0.022264819592237473, -0.005126691423356533, -0.07065384089946747, -0.015168040990829468, -0.020595863461494446, -0.057607632130384445, -0.008101911284029484, -0.01006009615957737, -0.00443687941879034, 0.024180488660931587, -0.06184002012014389, 0.09381446987390518, -0.09618832916021347, -0.10729837417602539, -0.07057346403598785, -0.012600883841514587, -0.00948992371559143, -0.031217632815241814, -0.00910887960344553, 0.03666196018457413, 0.03218209743499756, 0.08143828064203262, -0.026686392724514008, -0.07337154448032379, 0.1663898080587387, -0.06467344611883163, -0.060570795089006424, 0.01061345636844635, -0.007043840363621712, -0.06260344386100769, 0.15525925159454346, -0.040750451385974884, 0.0944964587688446, -0.11989514529705048, 0.1313900649547577, 0.01600014790892601, 0.029233641922473907, -0.00995071604847908, -0.050469525158405304, -0.02956559881567955, 0.03236779570579529, 0.04254840686917305, -0.031612034887075424, -0.04470549523830414, -0.04910127818584442, -0.08586709201335907, 0.07270693778991699, 0.11749302595853806, -0.034153737127780914, -0.03744133561849594, 0.1064717099070549, -0.029084859415888786, 0.19812346994876862, -0.06711404025554657, -0.01374039612710476, -0.013975189998745918, -0.012104973196983337, -0.05522387474775314, -0.04773012921214104, -0.07349273562431335, -0.06853048503398895, 0.13432429730892181, 0.07021043449640274, 0.054891109466552734, 0.15223684906959534, -0.07022643834352493, 0.1271449625492096, 0.010994026437401772, 0.025914764031767845, -0.06346002221107483, -0.07294124364852905, 0.013103097677230835, 0.08263282477855682, -0.039660610258579254, -0.0798981785774231, -0.048295166343450546, 0.08547766506671906, 0.16875620186328888, 0.09236935526132584, 0.0014465190470218658, 0.023968491703271866, 0.07849670201539993, 0.029612354934215546, 0.006153203547000885, -0.05014393478631973, -0.09462253004312515, 0.10043106973171234, 0.06598244607448578, -0.06942427158355713, -0.10032738745212555, 0.005082001909613609, 0.21919667720794678, -0.010785704478621483, -0.04928810894489288, -0.027941137552261353, 0.0600404292345047, -0.06528139114379883, 0.06185988709330559, 0.2830183506011963, 0.11604908853769302, -0.08410190045833588, 0.013425253331661224, -0.04414127394556999, -0.027663085609674454, -0.018551945686340332, 0.18467049300670624, -0.028900431469082832, 0.06598606705665588, 0.015036388300359249, 0.20541372895240784, 0.17713449895381927, -0.052701860666275024, -0.06187739968299866, -0.05037223547697067, 0.01619788631796837, 0.1680474877357483, 0.027766890823841095, -0.08744847029447556, -0.10856468230485916, 0.07743213325738907, -0.10263246297836304, -0.06203489750623703, -0.07502513378858566, 0.00810912624001503, 0.055691301822662354, -0.06124478578567505, 0.08451066166162491, -0.04785316810011864, -0.000936548225581646, -0.017222050577402115, -0.040455348789691925, 0.13944827020168304, -0.08650732040405273, -0.06528301537036896, 0.018291819840669632, 0.00998200848698616, -0.017225302755832672, 0.05918276309967041, -0.036014117300510406, -0.056091099977493286, 0.061884354799985886]}, {\"marker\": {\"color\": 32, \"size\": 5}, \"mode\": \"markers\", \"name\": \"27\", \"text\": [\"Blanco - NAYACB - Plastic Cutting Board\", \"Kenwood - FDM300SS - Multipro Compact Food Processor\", \"KitchenAid - Fresh Prep Slicer/Shredder Attachment - KSMVSA\", \"Blanco - ANDANO700UK5 - Single Bowl Undermount Sink\", \"Blanco - NAYAXL9 - Single Extra Large Bowl Inset Sink\", \"Blanco - ALTAS - Tap - Chrome\", \"Tefal - RK812 - 45-in-1 Rice and Multi Cooker\", \"Blanco - LIVIT8SRK5 - 80cm Double Bowl Sink\", \"Kambrook - KRC888ROS - Rice Master Rice Cooker & Steamer\", \"Tiger - Multi-functional Rice Cooker - JKT-S18A\", \"KitchenAid - KSM160 Pink - Artisan Stand Mixer\", \"KitchenAid - KFP13JD - Julienne Disc\", \"Blanco - ANDANO500IFNK5 - Single Bowl Inset With Overflow\", \"Tiger - Multi-functional Rice Cooker - JAX-S18A\", \"Blanco - NAYA8W - Elegant 1 1/2 Bowl Sink - White\", \"Blanco - BTIPO6SR - 1\\u00bc Bowl With Drainer Sink\", \"Kenwood - KAH647PL - Food Processor Attachment\", \"Tiger - JNO-B360 - Commercial Rice Cooker\", \"Blanco - SUBLINE500UWK5 - Single Bowl Undermount Sink - White\", \"Ninja - CT682 - Intellisense\\u2122 Kitchen System\", \"Kambrook - KPR620BSS - Pressure Express Pressure Cooker \", \"Blanco - LIVYS - Single Lever Mixer Tap\", \"Blanco - NAYA8S - Double Bowl Sink with Drainer - Anthracite\", \"KitchenAid - Juicer & Sauce Attachment - KSM1JA \", \"KitchenAid - KSM160 Watermelon - Artisan Stand Mixer\", \"KitchenAid - KSM160 Truffle - Artisan Stand Mixer\", \"Blanco - QUATR1542IURK5 - Double Inset & Undermount sink\", \"Blanco - SUBLINE500UK5 - Single Bowl Undermount Sink - Anthracite\", \"Blanco - BLANCOCULINA - Single Lever Mixer Tap With Flexi Arm\", \"Blanco - ANDDRAINSS - Stainless Steel Drainer Tray\", \"Kambrook - 5 Cup Capacity  - Rice Master Rice Cooker & Steamer\", \"Blanco - ANDCOLSS - Stainless Steel Colander\", \"Blanco - ANDANO400UK5 - Single Bowl  Undermount With Overflow\", \"Blanco - ANDANO340IFNK5 - Single Bowl Inset Sink With Overflow\", \"Blanco - ADONXL6SCK5 - ADON XL 6 S Single Bowl Inset Sink\", \"Blanco - DINAS8S175RK - 1 3/4 Bowl Single Drainer Sink\", \"Blanco - ANDANO700IFNK5 - Single Bowl Inset / Flushmount Sink\", \"Blanco - ANDANO500UK5 - Single Bowl Undermount With Overflow\", \"Blanco - NELIA - Nelia Tap\", \"Kenwood - KAX700PL - Spiralizer Attachment\", \"KitchenAid - Fruit & Vegetable Strainer without Mincer - FVSP\", \"Morphy Richards - 48715 - 6.5 Litre Polished Stainless Steel Slow Cooker\", \"KitchenAid - KSM160 Ink Blue - Artisan Stand Mixer\", \"Westinghouse - WHIC02K - Twin Induction Cooktop\", \"Kenwood - KAH740PL - Blend-Xtract Sport Attachment\", \"Blanco - BT489 - Single Lever Mixer Tap\", \"KitchenAid - KHM926 Almond Cream - 9 Speed Hand Mixer\", \"KitchenAid - KSM160 Shaded Palm - Artisan Stand Mixer\", \"KitchenAid - KSM160 Pistachio - Artisan Stand Mixer\", \"Blanco - SUB350350UGK5 - SILGRANIT\\u2122 PuraDur\\u2122 Double Bowl Sink - Rock Grey\", \"KitchenAid - Extra Drum Set - 25576\", \"Tiger - Multi-functional Rice Cooker - JKT-S10A\", \"Magikleen - MAGKPP250 - 250ml Kitchen Bench Top Polish & Protector\", \"Kenwood - KVL8300S - Chef XL Titanium\", \"Tefal - G713SB74 - Daily Cook 4 Piece Set + Utensils\", \"Blanco - ANDANO400IFNK5 - Single Bowl Inset With Overflow\", \"Blanco - SUBLINE500IF - SUBLINE 500 Single Bowl Inset/Flushmount\", \"Blanco - ALTA - Tap - Chrome\", \"Blanco - DINAS8S175LK - 1 3/4 Bowl Single Drainer Sink\", \"Blanco - LIVIT6SL - 1 & \\u00bc Bowl & Drainer Trays Sink\", \"Blanco - BUCRBSS - Crockery Basket\", \"Kenwood - KAX643ME - Rotary Slicer / Grater\", \"Blanco - NAYABK - Stainless Steel Crockery Basket\", \"KitchenAid 7 Cup Food Processor - KFP0719ACU - Contour Silver\", \"Blanco - IDENTOXL6SWK5 - IDENTO XL 6 S Single Bowl Sink\", \"Blanco - NAYA8SWR - Double Bowl Sink with Drainer - White\", \"KitchenAid - KSMPRA - 3pc Pasta Roller Set \", \"Blanco - PLEON8K5 - PLEON 8 Single Bowl Sink - Anthracite\", \"Tiger - Multi-functional Rice Cooker - JAX-S10A\", \"Blanco - PLEON8CK5 - PLEON 8 Single Bowl Sink - Concrete\", \"KitchenAid - KSMFGA - Food Grinder Attachment\", \"Blanco - LEXA8K5 - Double bowl Inset Sink\", \"Blanco - QUATR1542IULK5 - Double Inset & Undermount sink\", \"Tefal - K2203004 - Cookware Protectors\", \"Kenwood - KAX980ME - Lasagne Roller\", \"KitchenAid - KHB2569 Almond Cream - Hand Blender\", \"Blanco - ANDANO 500/180-U - Double Bowl Undermount Sink\", \"KitchenAid 4.3L Classic Stand Mixer - KSM45 \", \"KitchenAid - 5KFC3516ACU - 3.5 Cup Mini Food Processor \", \"KitchenAid - KFP1333 Empire Red - Food Processor\", \"Tefal - CY601 - Home Chef Smart Multicooker\", \"KitchenAid - Food Tray - FT\", \"KitchenAid - Vegetable Sheet Cutter Attachment - KSMSCA \", \"Kenwood Appliances - CO600 - 3 in 1 Tabletop Can Opener\", \"Blanco - LIVIT6SR - 1 & \\u00bc Bowl & Drainer Trays Sink\", \"KitchenAid - 5KFC3516AER - 3.5 Cup Mini Food Processor\", \"Blanco - SUBLINEBK - Stainless Steel Basket\", \"Kenwood - KAT001ME - Chef Twist To Bar Adapter\", \"KitchenAid - Gourmet Pasta Press - KSMPEXTA\", \"Blanco - BONERA - Single Lever Mixer Tap\", \"Tefal - CY8558 - Cook4Me + Connect Smart Multicooker\", \"Shaws - SEDG100WH - Edgeworth Double Bowl Sink\", \"Blanco - LEMIS8SRIFK5 - Double Bowl Sink with Drainer\", \"Blanco - LINUS - Non Pull Out Chrome Tap Single\", \"Blanco - NAYA8SG - Double Bowl Sink with Drainer - Rock Grey\", \"Blanco - LEMISXL6SLIFK5 - Single Bowl with Drainer\", \"Blanco - BTIPO45SRK5 - 45cm Cabinet Single Right Hand Bowl\", \"Blanco - ADONXL6SK5 - ADON XL 6 S Single Bowl Inset Sink\", \"Kenwood - KAX981ME - Fettuccine Cutter\", \"KitchenAid - KFP13DC12 - Dicing Kit Accessory\", \"KitchenAid - KFE5T - Flex Edge Beater Tlit Head\", \"Blanco - QUATRUSR15K5 - Inset Laundry Sink\", \"Blanco - SUBLIN700ULWK5 - Single Bowl Sink - White\", \"Blanco - NAYA8 - Elegant 1 1/2 Bowl Sink - Anthracite\", \"Blanco - SUB350350UWK5 - SILGRANIT\\u2122 PuraDur\\u2122 Double Bowl Sink - White\", \"Blanco - MEDIAN6SRIF - 1 1/4 Bowl Sink With Drainer\", \"KitchenAid - KSM160 Cocoa Silver - Artisan Stand Mixer\", \"Blanco - DINAS8S175LK + BT489 - Sink & Tap Pack \", \"Blanco - SUBLINE350350U - SILGRANIT\\u2122 PuraDur\\u2122 Double Bowl Sink - Anthracite\", \"KitchenAid - KSM160 Fresh Linen - Artisan Stand Mixer\", \"Blanco - QUATR15500IUK5 - Undermount Sink\", \"Blanco - TORRESDC - Soap Dispenser\", \"Blanco - RONDOSOLK5 - Large Single Round Sink\", \"Tefal - XF382E39 - Cuisine Companion Spare Bowl Attachment\", \"KitchenAid- Food Processor Attachment - KSM2FPA \", \"Tefal - CY8515 - Cook4Me+ Smart Multicooker and Pressure Cooker - Red\", \"KitchenAid - KSM160 Empire Red - Artisan Stand Mixers\", \"Blanco - ALTAA - Single Lever Mixer Tap - Anthracite\", \"KitchenAid - KSM160 Contour Silver - Artisan Stand Mixer  \", \"Blanco - ANDCUTGCB - Glass Cutting Board\", \"Tefal - XA722870 - Optigrill+ Snack & Baking Tray Accessory \", \"Tefal - RK900 - Multicook & Grains Rice Cooker and Multicooker\", \"Shaws - SCLD101WH - Double Bowl 1000 Sink\", \"KitchenAid 7 Cup Food Processor- KFP0719AOB - Onyx Black\", \"Kenwood - Chef XL Sense - KVL6100T \", \"Kenwood - KVL6300S - Chef XL Elite \", \"Blanco - BWCB - Wooden Chopping Board\", \"Blanco - PLEON8WK5 - PLEON 8 Single Bowl Sink - White\", \"Tefal - XF3851 - Cuisine Companion Shredder Slicer Attachment\", \"Aarke Sparkling Water Maker - Porcelain White \", \"Blanco - LIVIT8SLK5 - 80cm Double Bowl Sink\", \"Blanco - BTIPO45SLK5 - 45cm Cabinet Single Left Hand Bowl\", \"Smeg - MFF01WHAU - Milk Frother - White\", \"Tefal - RK901 - Multicook & Stir Rice Cooker and Multicooker \", \"Blanco - LEMIS8IFK5 - Double Bowl Inset / Flushmount\", \"KitchenAid - KB3SS - 2.8L S/S Mixing Bowl - 3 quart\", \"Blanco - Double Bowl Sink - Anthracite - LEXA8S\", \"Shaws - SCBU800WH - Butler 800 Single Bowl Sink\", \"Shaws - SCBE600WH - Belfast Single Bowl Sink\", \"KitchenAid - KSM160 Almond Cream - Artisan Stand Mixers\", \"Blanco - LEMISXL6SRIFK5 - Single Bowl with Drainer\", \"Blanco - NAYA8G - Elegant 1 1/2 Bowl Sink - Rock Grey\", \"Blanco - LEXA8SWK5 - Double Bowl Sink - White\", \"Kenwood - AT956A - Chef Sized Frozen Dessert Maker - Attachment\", \"KitchenAid - Ravioli Roller Attachment - KRAV\", \"Blanco - BLANCO CULINABR - Single Lever Mixer Tap\", \"KitchenAid - KSM160 Ice - Artisan Stand Mixer\", \"KitchenAid - KICAOWH - Ice Cream Bowl Attachment \", \"Kenwood - KVC3100S - Chef Kitchen Machine - Silver\", \"KitchenAid - KSMMGAA - Metal Food Grinder Attachment\", \"KitchenAid - KHM926 Empire Red - 9 Speed Hand Mixer\", \"Tefal - RK732 - Easy Rice & Slow Cooker\", \"Kenwood - KAX984ME - Spaghetti Cutter\", \"KitchenAid - KSM160 White - Artisan Stand Mixer\", \"Blanco - BDRAINP - Plastic Drainer Tray\", \"Blanco - SUBLINECOLSS - Stainless Steel Colander\", \"Blanco - NAYA8SR - Double Bowl Sink with Drainer - Anthracite\", \"Blanco - DINAS8S175RK + BT489 - Sink & Tap Pack \", \"Blanco - LEMIS8SLIFK5 - Double Bowl Sink with Drainer\", \"KitchenAid - KSM2APC - 7 Blade Spiralizer\", \"Tefal - XF386B - Cuisine Companion Steamer Basket Attachment\", \"KitchenAid 7 Cup Food Processor - KFP0719AER - Empire Red \", \"KitchenAid - KSB1585 Empire Red - Diamond Blender\", \"Crock-Pot\\u00ae - Express Easy Release Multi-Cooker - CPE210\", \"Kenwood - KAH359GL - Thermoresist Glass Blender Attachment\", \"Blanco - LEXA45SK5 - LEXA 45 S Sink Bowl Inset Sink\", \"Blanco - SUBLINE700ULK5 - Single Bowl Sink - Anthracite\", \"Blanco - NAYA9SRK5 - Double Bowl Inset Sink\", \"Blanco - NAYA9 - Double Bowl Sink\", \"Blanco - BTIPO6SLK5 - 1\\u00bc Bowl With Drainer Sink\", \"Kenwood - KAX983ME - Trenette Cutter\", \"Blanco - SUBLINE500UGK5 - Single Bowl Undermount Sink - Rock Grey\", \"Blanco - NAYA8SW - Double Bowl Sink with Drainer - White\", \"Kenwood - KAX982ME - Tagliolini Cutter\", \"Shaws - SCWH600WH - Whitehall Sink\", \"KitchenAid - KSM160 Onyx Black - Artisan Stand Mixers\", \"Sunbeam - KE4410WG - New York Collection Pot Kettle - White Gold\", \"KitchenAid - KFC3516AWH - 3.5 Cup Mini Food Processor\", \"Tefal - CY8518 - Cook4Me+ Smart Multicooker and Pressure Cooker - Black\", \"KitchenAid - KHB2569 Empire Red - Hand Blender\", \"Kenwood - Food Grinder - KAX950ME\"], \"type\": \"scatter\", \"x\": [5.368143320083618e-05, -0.0010419860482215881, -0.2030278742313385, -0.10968465358018875, -0.1320749819278717, 0.08507625758647919, -0.2375008761882782, -0.20418590307235718, -0.18443068861961365, -0.11517836898565292, -0.292123943567276, -0.15779700875282288, -0.12454140931367874, -0.10089795291423798, -0.08651968836784363, -0.1501653492450714, -0.031030237674713135, -0.141946941614151, -0.16976290941238403, -0.09007840603590012, -0.25042060017585754, -0.10986772179603577, -0.08122388273477554, -0.19543913006782532, -0.28189125657081604, -0.32537081837654114, -0.11615035682916641, -0.16534188389778137, -0.10114020854234695, -0.04619777202606201, -0.20599031448364258, -0.023505888879299164, -0.11636941879987717, -0.1737017035484314, -0.09227637201547623, -0.15098121762275696, -0.12818726897239685, -0.1051555797457695, 0.05902215465903282, 0.034438565373420715, -0.23341846466064453, -0.24900156259536743, -0.22734934091567993, -0.30174604058265686, 0.03954435884952545, -0.11153873056173325, -0.16592037677764893, -0.26728034019470215, -0.3282073140144348, -0.08154535293579102, -0.20671668648719788, -0.08750667423009872, -0.22344768047332764, -0.11727065593004227, -0.2358894646167755, -0.1405479609966278, -0.17130690813064575, 0.09572415798902512, -0.1585376262664795, -0.17497918009757996, -0.04529992491006851, -0.05003859102725983, -0.09875204414129257, -0.22376114130020142, -0.1187887117266655, -0.11928113549947739, -0.20321515202522278, -0.06242263317108154, -0.05621875077486038, -0.06380823254585266, -0.25267913937568665, -0.1428069770336151, -0.12410043179988861, -0.1737147569656372, -0.02741800993680954, -0.21918386220932007, -0.129490926861763, -0.32104748487472534, -0.21627011895179749, -0.18119016289710999, -0.20728722214698792, -0.25420090556144714, -0.183538019657135, -0.12570294737815857, -0.1827215850353241, -0.22450685501098633, -0.09949944913387299, -0.07623639702796936, -0.19890490174293518, -0.1336953043937683, -0.1293208748102188, -0.15352416038513184, -0.16341525316238403, 0.017263421788811684, -0.11342936754226685, -0.2014780044555664, -0.14980322122573853, -0.08956140279769897, -0.07164780050516129, -0.1974438726902008, -0.17990899085998535, -0.0943119153380394, -0.1440235674381256, -0.05175168812274933, -0.11112602800130844, -0.18243196606636047, -0.2558162212371826, 0.05399192124605179, -0.1193462535738945, -0.32136407494544983, 0.0016439259052276611, -0.05868066847324371, -0.021578021347522736, -0.259466290473938, -0.18767675757408142, -0.21513110399246216, -0.25599589943885803, -0.05415108799934387, -0.30949583649635315, -0.04742802679538727, -0.1571177840232849, -0.18812793493270874, -0.13671079277992249, -0.18271169066429138, -0.1651511788368225, -0.12318171560764313, -0.07913518697023392, -0.0962628424167633, -0.24297776818275452, -0.082567498087883, -0.20079195499420166, -0.15794235467910767, -0.12333781272172928, -0.228898823261261, -0.15263962745666504, -0.2519809603691101, -0.08538400381803513, -0.17893078923225403, -0.1678866147994995, -0.25180524587631226, -0.2185623049736023, -0.0652373731136322, -0.10924096405506134, -0.20014840364456177, -0.18883106112480164, -0.11491557210683823, -0.34230607748031616, -0.20391622185707092, -0.20912328362464905, -0.1978563666343689, -0.1680469512939453, -0.21723982691764832, -0.08959948271512985, -0.2878313362598419, 0.023675493896007538, -0.0779358446598053, -0.10144941508769989, 0.04889485985040665, -0.1543133705854416, -0.18472939729690552, -0.2701365053653717, -0.18867164850234985, -0.15264210104942322, -0.15010786056518555, -0.14853619039058685, -0.12795205414295197, -0.1324959695339203, -0.09854307025671005, -0.06576571613550186, -0.15658870339393616, 0.0037675052881240845, -0.139676034450531, -0.11902416497468948, -0.0159105584025383, -0.10861962288618088, -0.25952765345573425, -0.10633386671543121, -0.23121467232704163, -0.19871166348457336, -0.2109036147594452, -0.09696640819311142], \"y\": [-0.1926591694355011, -0.11062511801719666, -0.040280867367982864, -0.10812314599752426, -0.11585193872451782, -0.17758780717849731, -0.027321159839630127, -0.05406159162521362, -0.16144821047782898, -0.030385076999664307, -0.07156634330749512, -0.10097469389438629, -0.13371369242668152, -0.04901191219687462, -0.11100269854068756, -0.16494333744049072, -0.12833386659622192, -0.13109958171844482, -0.12165416777133942, 0.00069388747215271, -0.15287604928016663, -0.24373020231723785, -0.10918447375297546, -0.12188084423542023, -0.10653361678123474, -0.09542776644229889, -0.08221469074487686, -0.111518993973732, -0.22145000100135803, -0.1478743702173233, -0.07110479474067688, -0.12160696089267731, -0.08914531022310257, -0.1385292410850525, 0.002856258302927017, -0.010500552132725716, -0.13937154412269592, -0.09279505908489227, -0.20992955565452576, -0.18208365142345428, -0.06736722588539124, -0.024697519838809967, -0.10021619498729706, -0.04571288451552391, -0.15317252278327942, -0.2874469757080078, -0.04033830761909485, -0.054030925035476685, -0.08130849897861481, -0.08956295251846313, -0.11973956227302551, -0.02901945263147354, -0.09970804303884506, -0.058578845113515854, -0.01160535030066967, -0.12961921095848083, -0.1298363208770752, -0.08424351364374161, 0.007233457639813423, -0.12363643199205399, -0.26795122027397156, -0.07997963577508926, -0.1793040633201599, 0.007281079888343811, 0.014766868203878403, -0.095255047082901, -0.10233940184116364, -0.06644146144390106, -0.057136908173561096, -0.049647241830825806, -0.0919453427195549, -0.10050642490386963, -0.07016366720199585, -0.09080784022808075, -0.15707463026046753, -0.10668070614337921, -0.1281917840242386, 0.0020819008350372314, 0.022839892655611038, -0.06995203346014023, -0.02797989919781685, -0.07152289152145386, -0.089728444814682, -0.08410435914993286, -0.1328974813222885, 0.014789953827857971, -0.16380617022514343, -0.21909482777118683, -0.12428364157676697, -0.2674190402030945, 0.01851668208837509, -0.04437079280614853, -0.13131074607372284, -0.18200558423995972, -0.0970110073685646, -0.13175956904888153, -0.04918118566274643, 0.015355393290519714, -0.17285606265068054, -0.03474893048405647, -0.08984120190143585, -0.053293611854314804, -0.1178274005651474, -0.1186385452747345, -0.09080085158348083, -0.09677588939666748, -0.0655047744512558, -0.09247448295354843, -0.08910276740789413, -0.054150164127349854, -0.07932475954294205, -0.19228127598762512, -0.09937264025211334, -0.03235483169555664, -0.06624029576778412, 0.025696665048599243, -0.10436926782131195, -0.1512283980846405, -0.05318799987435341, -0.13165585696697235, -0.02923617511987686, -0.04812529683113098, -0.1285967230796814, -0.017434939742088318, -0.046403415501117706, -0.049985047429800034, -0.21557292342185974, -0.0684971883893013, -0.008538374677300453, -0.16230660676956177, -0.06616207957267761, -0.04083602875471115, -0.1805839240550995, -0.05625338479876518, -0.13861478865146637, 0.0055203624069690704, -0.12005190551280975, -0.15615609288215637, -0.1622934341430664, -0.06786473095417023, -0.13220864534378052, -0.09518346190452576, -0.07150272279977798, -0.11934412270784378, -0.12729419767856598, -0.20573249459266663, -0.08593729883432388, -0.16413062810897827, -0.026171192526817322, -0.03986121341586113, -0.0656648501753807, -0.04682638868689537, -0.14973777532577515, -0.07267814874649048, -0.24407456815242767, -0.1376439929008484, -0.12456583231687546, -0.11625737696886063, -0.12853118777275085, -0.007686566561460495, -0.046846382319927216, -0.02375287562608719, -0.1270987093448639, -0.09744539856910706, -0.07016819715499878, -0.040423616766929626, -0.1128673329949379, -0.10074052214622498, -0.14079312980175018, -0.1265905499458313, -0.1856970638036728, -0.12055029720067978, -0.09376032650470734, -0.15393315255641937, -0.10779104381799698, -0.06163375824689865, -0.0894085094332695, 0.009747747331857681, 0.02610858529806137, -0.11569978296756744, -0.1417238712310791]}, {\"marker\": {\"color\": 33, \"size\": 5}, \"mode\": \"markers\", \"name\": \"28\", \"text\": [\"realme X3 SuperZoom Smartphone - RMX2086BLU - Glacier Blue\", \"Nokia - 3.1 Smartphone with Android One - White\", \"Oppo Find X2 Neo Smartphone - 5G - 6.5\\\" AMOLED - 128GB  - Starry Blue\", \"Oppo A9 2020 Smartphone - 6.5\\\" Screen - 128GB - Vanilla Mint  \", \"LG K30 Smartphone - Aurora Black\", \"Oppo Reno Z Smartphone - 6.4\\\" AMOLED Screen - 128GB - Aurora Purple \", \"realme 6 Smartphone | 64MP Ultra Camera, 90Hz Ultra Display - White \", \"Aspera F26 128MB Black 3G Mobile Phone \", \"Oppo Find X2 Pro Smartphone - 6.7\\\" AMOLED - 512GB - Orange\", \"Oppo A91 Smartphone - 6.4\\\" FHD+ AMOLED - 128GB - Lightening Black \", \"Oppo A91 Smartphone - 6.4\\\" FHD+ AMOLED - 128GB - Blazing Blue\", \"Oppo AX5s Smartphone - 6.2\\\" HD+  64GB - Red  \", \"realme 6 Smartphone | 64MP Ultra Camera, 90Hz Ultra Display - Blue \", \"Oppo RENO2 Z Smartphone - 6.5\\\" AMOLED Screen - Luminous Black\", \"Oppo Find X2 Neo Smartphone - 5G - 6.5\\\" AMOLED - 128GB - Moonlight Black\", \"Oppo A52 Android Smartphone - Stream White\", \"Nokia - 3.1 Smartphone with Android One - Black\", \"Oppo Find X2 Pro Smartphone - 6.7\\\" AMOLED - 512GB - Black  \", \"realme X3 SuperZoom Smartphone - RMX2086WHT - Arctic White \", \"Oppo Super VOOC 5V USB Car Charger\", \"Polaroid - INFINITE + 10.1\\\" Android Tablet - Dual Cam\", \"OPPO Find X2 Lite Smartphone - 6.4\\\" AMOLED - 128GB - Pearl White\", \"Oppo - MH135-3 - USB-C In-Eer Headphones\", \"Aspera - R32 - Mobile Phone\", \"realme C3 Smartphone - Blazing Red\", \"Oppo - DL130 - USB-C 3.5mm Headphone Jack\", \"Aspera F26 Red 3G Mobile Phone\", \"Oppo A52 Android Smartphone - Twilight Black\", \"Oppo Reno 10X Zoom - 6.6\\\" AMOLED Screen - 256GB - Ocean Green \", \"Oppo Reno 10X Zoom - 6.6\\\" AMOLED Screen - 256GB - Jet Black \", \"ASPERA F24 - 3G Flip Phone - Black Gold\", \"OPPO Find X2 Lite Smartphone - 6.4\\\" AMOLED - 128GB - Moonlight Black  \", \"realme C3 Smartphone - Frozen Blue \", \"Oppo A9 2020 Smartphone - 6.5\\\" Screen - 128GB - Marine Green\", \"Oppo RENO2 Z Smartphone - 6.5\\\" AMOLED Screen - 128GB - Sky White\", \"Realme C2 Smartphone - RMX1941 Diamond Blue\", \"Aspera - Smartphone - ASPERA R25t\"], \"type\": \"scatter\", \"x\": [0.16540974378585815, 0.29172709584236145, 0.3257637619972229, 0.2952210605144501, 0.19434934854507446, 0.2804781198501587, 0.18586157262325287, 0.17142540216445923, 0.3685193359851837, 0.29509884119033813, 0.30979448556900024, 0.35291534662246704, 0.22083890438079834, 0.2905307412147522, 0.31579458713531494, 0.28016453981399536, 0.3116302490234375, 0.3699491620063782, 0.2031368911266327, 0.2603919804096222, 0.282150000333786, 0.3087639808654785, 0.34771251678466797, 0.1871129721403122, 0.221686452627182, 0.316849946975708, 0.14117860794067383, 0.3050285279750824, 0.20446127653121948, 0.2547418475151062, 0.13906286656856537, 0.3270857036113739, 0.18137967586517334, 0.309968501329422, 0.28007686138153076, 0.23606181144714355, 0.2016076296567917], \"y\": [0.006666738539934158, 0.03857048600912094, 0.1503850817680359, 0.17308147251605988, 0.1308043897151947, 0.12983590364456177, 0.21363461017608643, 0.12663190066814423, 0.12293516844511032, 0.2203425168991089, 0.19540497660636902, 0.19971823692321777, 0.1711806207895279, 0.127536341547966, 0.1632770299911499, 0.0943552702665329, 0.03518051281571388, 0.13176767528057098, 0.04299948364496231, 0.06250137090682983, 0.034721989184617996, 0.14188909530639648, -0.14478805661201477, -0.04857080429792404, -0.027699843049049377, -0.1583472192287445, 0.06870832294225693, 0.07808611541986465, 0.13542655110359192, 0.11275847256183624, -0.03576422110199928, 0.1302436739206314, -0.0737265944480896, 0.20262230932712555, 0.13786539435386658, -0.08019842207431793, -0.012116536498069763]}, {\"marker\": {\"color\": 34, \"size\": 5}, \"mode\": \"markers\", \"name\": \"29\", \"text\": [\"MacBook Pro 16\\\" with Touch Bar 9th Gen i7/2.6GHz 512GB SSD Space Grey   \", \"HP - Pavilion x360 Notebook - I7/1.8GHZ - 8GB - 256GB SSD - 14\\\" FHD \", \"Acer - Swift 5 Ultrabook - I7/1.8GHZ - 16GB - 512GB HDD - 14\\\" IPS\", \"Asus - Vivo AiO V272UNT - I7/1.8GHZ - 16GB  - 1TB HDD + 512GB SSD - 27\\\" FHD \", \"Lenovo - Ideacentre 510S Desktop PC - i7/3.2GHZ - 8GB - 1TB HDD\", \"HP - Pavilion x360 Notebook - i5/3.1GHZ - 8GB - 128GB SSD - 14\\\"\", \"HP - Pavilion 360 Notebook - I7/2.7GHZ - 8GB - 256GB SSD - 13.3\\\"\", \"Lenovo Yoga C740 - i5/1.6GHZ - 8GB - 512GB SSD - 14\\\" FHD\", \"Asus - ZenBook S UX391UA - I7/1.8GHZ - 16GB - 256GB SSD - 13.3\\\" FHD\", \"Lenovo - IdeaPad C340-14IML - Pentium/0.8GHZ - 8GB - 128GB SSD - 14\\\" HD \", \"Macbook Air (13-inch) with Retina Display i5/1.6GHz 256GB Space Grey  \", \"Asus - Transformer Book Flip TP200SA - Celeron/1.6Ghz - 4GB - 64GB EMMC - 11.6\\\"\", \"Lenovo - IdeaPad 1 14IGL05 - Celeron/1.1GHZ - 4GB - 64GB eMMC - 14\\\"\", \"HP - Pavilion x360 Convert Notebook - I5/1.6GHZ - 8GB - 128GB SSD - 14\\\" \", \"Asus ROG Strix G15 Gaming Notebook - I7/2.6GHZ - 16GB - 512GB SSD - 15.6\\\" FHD\", \"Microsoft - DAG-00020 - Surface Laptop i5 8GB/256GB - Platinum\", \"Microsoft - DAJ-00014 - Surface Laptop i7 8GB/256GB - Platinum \", \"Acer Nitro 5 Notebook - I7/2.6GHZ - 16GB - 512GB SSD - 15.6\\\" FHD\", \"MacBook Air 13\\\" with Retina Display i5/1.1GHz 512 GB Space Grey\", \"HP Pavilion x360 14-DH1084TU - i5/1.6GHZ - 8GB - 512GB SSD - 14\\\" FHD\", \"Asus - F556UV Notebook - i5/2.3GHz - 4GB - 1TB HDD - 15.6\\\"\", \"MacBook Air 13\\\" with Retina Display i5th/1.6GHz 256GB Grey   \", \"Acer Swift 3 Notebook - i5/3.6GHZ  - 8GB - 512GB SSD - 14\\\" FHD\", \"Lenovo - ZA470028AU - Tab E10  \", \"Asus - ZenBook S UX391UA - I7/1.8GHZ - 16GB - 512GB SSD - 13.3\\\" FHD\", \"Asus ZenBook Duo UX481 - I7/1.8GHZ - 16GB - 512GB SSD - 14\\\" FHD IPS\", \"MacBook Pro 13\\\" 2.3GHz 256GB Space Grey\", \"Acer - Aspire 5 A515-51G Notebook - I7/1.8GHZ - 8GB - 256GB SSD - 15.6\\\"\", \"Asus - VivoBook Flip 12 TP202NA - Pentium/1.1GHZ - 4GB - 64GB EMMC - 11.6\\\" HD Touch\", \"Acer - Aspire XC-895 Desktop PC - I5/2.9GHZ - 8GB - 512GB SSD\", \"MacBook Air 13\\\" with Retina Display i5/1.6GHz 128GB Space Grey  \", \"Asus - ZenBook Flip S UX370UA - I7/1.8GHZ - 16GB - 512GB SSD - 13.3\\\"\", \"MSI - GV62 8RC Gaming Notebook - I7 - 8GB - 1TB HDD - 128GB SSD - 15.6\\\" FHD\", \"MacBook Pro 13\\\" with Touch Bar 8th Gen i5 256GB Space Grey\", \"MacBook Pro 13\\\" 2.3GHz 128GB Space Grey \", \"MacBook Pro 13\\\" with Touch Bar 8th Gen i5/1.4GHz 256GB SSD Space Grey   \", \"Acer - Aspire 5 A515-51G Notebook - I5/1.6GHZ - 8GB - 1TB HDD - 15.6\\\" \", \"Lenovo Tab M10 - 10.1\\\" HD Tablet - ZA4G0030AU \", \"21.5\\\" iMac 4K Retina Display - i5/3.0GHz - 1TB Fusion Drive  \", \"Acer Aspire 5 Notebook - i5/1GHz - 8GB - 256GB SSD - 15.6\\\" FHD\", \"Acer - Aspire GX-281 Desktop PC - i7/3.6GHZ - 16GB - 256GB SSD - 1TB HDD\", \"MacBook Pro 13\\\" with Touch Bar 8th Gen i5/1.4GHz 512GB SSD Space Grey    \", \"MacBook Pro 15\\\" with Touch Bar 8th Gen i7 256GB Space Grey  \", \"Asus - F512FJC Notebook - I7/1.8GHZ - 8GB - 512GB SSD - 15.6\\\" FHD\", \"Acer - Aspire C27 All-In-One PC - I3/1.2GHZ - 8GB - 512GB SSD - 27\\\" FHD IPS\", \"Lenovo - Yoga C930 Notebook - I7/1.8GHZ - 16GB - 256GB SSD - 13.9\\\" UHD\", \"Acer - UM.JX2SA.P02 - 31.5\\\" Nitro XZ322 LCD Monitor\", \"Acer - Aspire 3 Notebook - Celeron - 4GB - 500GB HDD - 15.6\\\" HD\", \"HP Laptop 15-DA2018TU - i5/1.6GHZ - 8GB - 256GB SSD - 15.6\\\" HD\", \"Acer - Spin 3 Notebook - I5/1GHZ - 8GB - 256GB SSD - 14\\\" FHD\", \"Acer - Aspire Z3-715 All-In-One PC - i7/2.8GHz - 16GB - 2TB HDD - 23.8\\\"\", \"Acer - Nitro 5 Gaming Notebook - i7/2.8GHZ - 16GB - 256GB SSD - 1TB HDD - 15.6\\\"\", \"Medion - P5370 E Gaming PC - MD 8866\", \"MacBook Pro 15\\\" with Touch Bar 9th Gen i7/2.6GHz 256GB SSD Space Grey  \", \"Lenovo - ZA5T0214AU - Tab M10 Plus \", \"Acer Aspire 5 Notebook - i3/3.4GHZ - 4GB - 128GB SSD - 14\\\" HD\", \"Asus  ROG Strix GA15 Desktop PC - AMD Ryzen\\u2122 5-3600X - 16GB - 512GB SSD\", \"Lenovo - Yoga 530 Notebook - I5/1.6GHZ - 8GB - 128GB SSD - 14\\\" FHD\", \"HP - Pavilion All-in-One Desktop PC - I7/2.9GHZ - 16GB - 2TB HDD - 27\\\" FHD\", \"Acer  Aspire C27 All-in-One PC - I5/1.6GHZ - 8GB - 1TB SSD - 27\\\" FHD\", \"Acer - C24-865 All In One PC - i3/2.2GHZ - 4GB - 128GB SSD + 1TB HDD - 23.8\\\" FHD\", \"Asus - GL504GM Notebook - I7/2.2GHZ - 16GB - 1TB HDD - 256GB SSD - 15.6\\\" FHD\", \"Lenovo - IdeaPad Flex 5 14IIL05 - I5/1GHZ - 8GB - 256GB SSD - 14\\\" FHD\", \"Asus VivoBook F420FAC - i5/1.6GHz - 8GB - 256GB SSD - 14\\\" FHD \", \"27\\\" iMac 5K Retina Display - i5 - 8GB - 1TB Fusion Drive\", \"Asus - F510UF Notebook - I7/1.8GHZ - 16GB - 512GB SSD - 15.6\\\" FHD\", \"Acer - Nitro 5 Notebook - i7/2.2GHZ -16GB - 2TB HDD - 256GB SSD - 15.6\\\" FHD\", \"ASUS VivoBook F510UF Notebook - i7/1.8GHz - 8GB - 512GB SSD - 15.6\\\" FHD  \", \"Acer - C27 All-In-One PC - I5/1GHZ - 8GB - 1TB SSD - 27\\\" FHD IPS\", \"Acer Chromebook 314 Notebook - Celeron/1.1GHZ - 4GB - 32GB eMMC - 14\\\" FHD\", \"Lenovo - ZA3W0019AU - TAB E8\", \"Asus - Vivo AiO V230ICGT PC - i7/2.8GHz - 16GB - 2TB HDD  23\\\" FHD\", \"Acer - UM.UX2SA.S01 - 23.8\\\" XZ2 Nitro Monitor\", \"HP - Pavilion x360 Notebook - I5/1.6GHZ - 8GB - 256GB SSD - 14\\\" HD\", \"Lenovo - Chromebook C340 - Celeron/1.1GHZ - 4GB - 64GB EMMC - 11.6\\\" HD \", \"Macbook Air (13-inch) with Retina Display i5/1.6GHz 128GB Space Grey \", \"Asus VivoBook S532FAC - I7/1.8GHZ - 8GB - 512GB SSD - 15.6\\\" FHD\", \"Acer - UM.CX2SA.P02 - 34\\\" XZ342CK P Curved Monitor\", \"Lenovo - ideapad C340-14IML - I7/1.8GHZ - 8GB - 512GB SSD - 14\\\" FHD\", \"Acer - Aspire 5 Notebook - I7/1.3GHZ - 8GB - 512GB SSD - 15.6\\\" FHD\", \"Acer Nitro 5 Gaming Notebook - i5/2.40GHz - 8GB - 256GB SSD - 15.6\\\"\", \"HP Notebook 14S-DK0124AU - AMD/2.3GHZ - 4GB - 128GB SSD - 14\\\" HD \", \"Asus F512JA Series Notebook - I5/1GHZ - 8GB - 256GB SSD - 15.6\\\" HD\", \"Lenovo - IdeaPad C340 - Pentium/2.3GHZ - 8GB - 128GB SSD - 14\\\"\", \"Asus - UX461 Zenbook Flip 14 Notebook - I7/1.8GHZ - 16GB - 256GB SSD - 14\\\" \", \"Asus - F507UA Notebook - i3/2GHZ - 4GB - 1TB HDD - 15.6\\\"\", \"Lenovo - ZA400039AU - Tab E7\", \"Macbook Air (13-inch) with Retina Display i5/1.6GHz 128GB Gold \", \"Lenovo Ideapad C340 - i5/1.6GHZ - 8GB - 256GB SSD - 14\\\" HD \", \"Lenovo - IdeaPad 1 14IGL05 - Pentium/1.1GHZ - 4GB - 128GB SSD - 14\\\" HD\", \"Medion - Erazer X6603 Gaming Notebook - I7/2.8GHZ - 16GB - 256GB SSD - 1TB HDD - 15.6\\\"\", \"Acer - UM.QV0SA.002 - 23.8\\\" FHD/IPS Monitor\", \"Acer - UM.HV0SA.003 - 27\\\" FHD IPS Monitor\", \"Asus ZenBook Pro Duo UX581GV - i7/2.6GHZ - 32GB - 1TB SSD - 15.6\\\" UHD\", \"Lenovo - Chromebook S340 - Celeron/1.1GHz - 4GB - 64GB eMMc - 14\\\" FHD\", \"Lenovo - IdeaPad 3 Notebook - I5/1GHZ - 8GB - 256GB SSD - 15.6\\\" FHD\", \"Lenovo Tab M8 - 8\\\" HD Tablet - ZA5G0036AU\", \"MacBook Air 13\\\" with Retina Display i3/1.1GHz 256GB Gold \", \"Asus - TUF Gaming FX504 Notebook - I7/2.2GHZ - 16GB - 1TB HDD - 128GB SSD - 15.6\\\" FHD\", \"HP - Pavilion All-in-One Desktop PC - I7/2.9GHZ - 16GB - 2TB HDD - 23.8\\\" FHD\", \"Asus - VivoBook Flip 14 TP401MA - Pentium/1.1GHz - 4GB -128GB eMMC - 14\\\" HD  \", \"Asus ZenBook 14 - UX434FAC - i7/1.8GHZ - 16GB - 512GB SSD - 14\\\" FHD\", \"Acer - NX.GQ4SA.002 - Aspire 3 Notebook - AMD/3.0GHz - 8GB - 1TB HDD - 15.6\\\"\", \"Asus - VivoBook S15 S510UQ - i7/1.8GHz - 16GB - 512GB SSD - 15.6\\\"   \", \"Lenovo IdeaPad Duet Chromebook - 10.1\\\" FHD - 4GB - 128GB eMCP - ZA6F0017AU\", \"Asus - E410MA Laptop - PENTIUM/1.1GHZ - 4GB - 128GB EMMC - 14\\\" LED\", \"Asus - UX360UA - ZenBook Flip - i7/2.5GHz - 8GB - 512GB SSD - 13.3\\\" FHD\", \"Acer - Aspire 3 Notebook - Pentium/1.1GHZ - 8GB - 1TB HDD - 15.6\\\" HD\", \"HP - Notebook - I7/1.8GHZ - 8GB - 128GB SSD - 15.6\\\" FHD\", \"HP - Pavilion 360 Notebook - I5/2.5GHZ - 8GB - 256GB SSD - 13.3\\\"\", \"Asus Zenbook Flip 14 Notebook - i7/1.8GHZ - 16GB - 512GB SSD - 14\\\" FHD\", \"Acer - UM.CX0SA.P03 - 34\\\" IPS Gaming Monitor \", \"Asus - VivoBook Flip 14 - TP412FAC-EC375T - i5/1.6GHZ - 8GB - 256GB SSD - 14\\\" FHD\", \"Lenovo Tab M7 - 7\\\" HD Tablet - ZA550165AU\", \"Acer Swift 5 Notebook - i7/1.3GHZ - 16GB - 512GB SSD - 14\\\" FHD\", \"Acer - Nitro 5 Notebook - i7/2.2GHZ - Optane\\u2122 Memory - 2TB HDD - 15.6\\\" FHD\", \"Asus F712FAC Notebook - i7/1.8GHZ - 8GB - 512GB SSD - 17.3\\\" FHD\", \"Acer Nitro 5 Notebook - I7/2.6GHZ - 8GB - 512GB SSD - 15.6\\\" FHD\", \"MacBook Pro 15\\\" with Touch Bar 2.8GHz 256GB  Silver\", \"Asus - Vivo AiO V241FFT - I5/1.6GHZ - 8GB - 512GB SSD - 23.8\\\" FHD \", \"Acer - Spin 3 Notebook - I7/1.3GHZ - 16GB - 512GB SSD - 14\\\"FHD\", \"HP - Notebook - AMD/2.3GHZ - 4GB - 1TB HDD - 14\\\" HD\", \"Asus - Chromebook C223NA - Celeron/1.1GHz - 4GB - 32GB eMMC - 11.6\\\" HD\", \"Lenovo - 81CT0092AU - Yoga 730-13 Notebook\", \"Asus - Zen AiO ZN242IF Desktop PC - I7/2.8GHZ - 16GB - 1TB HDD - 128GB SSD - 23.8\\\" \", \"Macbook 12\\\"  1.3GHz 512GB Rose Gold\", \"27\\\" iMac 5K Retina Display - i5/3.0GHz - 8GB - 1TB Fusion Drive    \", \"MacBook Air 13\\\" with Retina Display i3/1.1GHz 256GB Space Grey \", \"Acer - Aspire TC-780 Desktop PC - I5/3-3.5GHZ - 8GB - 2TB HDD\", \"Acer - Aspire TC Desktop - I5/2.8GHZ - 8GB - 2TB HDD\", \"HP - Pavilion All-in-One PC - I5/3GHZ - 8GB - 1TB HDD - 23.8\\\" FHD\", \"Acer - Aspire C27-865 Desktop - I5/1.6GHZ - 8GB - 128GB SSD + 1TB HDD - 27\\\" FHD\", \"Acer - Swift 1 Notebook - CELERON/1.1GHZ - 4GB - 128GB SSD - 14\\\" FHD  \", \"Lenovo - IdeaPad C340 - I5/1.6GHZ - 8GB - 256GB SSD - 14\\\"\", \"Asus - E406MA Notebook - Pentium/1.1GHZ - 4GB - 64GB eMMC - 14\\\"\", \"HP Envy 13 Laptop - i7/1.8GHz - 16GB - 512GB SSD - 13.3\\\" FHD \", \"Macbook 12\\\"  1.3GHz 512GB  Space Grey  \", \"Asus - FX505DT TUF Gaming Notebook - AMD Ryzen\\u2122 7/2.3GHZ - 16GB - 512GB SSD - 15.6\\\" FHD\", \"Acer Swift 3 Notebook - i7/3.9GHZ - 16GB - 512GB SSD - 14\\\" FHD\"], \"type\": \"scatter\", \"x\": [0.3416111469268799, 0.25354304909706116, 0.35019952058792114, 0.27750733494758606, 0.2644764184951782, 0.25941023230552673, 0.2677583396434784, 0.31689250469207764, 0.2848914861679077, 0.3136081099510193, 0.3062736988067627, 0.29765674471855164, 0.3113102614879608, 0.2586173713207245, 0.2600288987159729, 0.24711297452449799, 0.2940000295639038, 0.30588704347610474, 0.32813096046447754, 0.23849605023860931, 0.2740803360939026, 0.33293992280960083, 0.3136226534843445, 0.18339242041110992, 0.27955371141433716, 0.28752440214157104, 0.31690868735313416, 0.311247318983078, 0.29604852199554443, 0.2940150797367096, 0.31467944383621216, 0.2681438624858856, 0.2322833091020584, 0.34155482053756714, 0.3075845241546631, 0.3605325222015381, 0.2927440404891968, 0.26598060131073, 0.23350445926189423, 0.31344106793403625, 0.2691960334777832, 0.36230146884918213, 0.3340279757976532, 0.2576780617237091, 0.26858770847320557, 0.33116844296455383, 0.24104556441307068, 0.2948300838470459, 0.2931530773639679, 0.317560613155365, 0.2909679710865021, 0.32039138674736023, 0.1762312352657318, 0.3484615683555603, 0.21390856802463531, 0.33167657256126404, 0.22565023601055145, 0.3175007402896881, 0.24427014589309692, 0.25043943524360657, 0.23731377720832825, 0.2717033624649048, 0.31228986382484436, 0.287032812833786, 0.2370533049106598, 0.24863766133785248, 0.32458895444869995, 0.2849191129207611, 0.26981088519096375, 0.22967591881752014, 0.19430339336395264, 0.27591848373413086, 0.22156742215156555, 0.26064813137054443, 0.2570395767688751, 0.2995437979698181, 0.2749277949333191, 0.19196289777755737, 0.2880973219871521, 0.3187732696533203, 0.3116576075553894, 0.29983386397361755, 0.25837773084640503, 0.310992032289505, 0.3046390116214752, 0.24879059195518494, 0.21885186433792114, 0.28863129019737244, 0.31206148862838745, 0.32386237382888794, 0.24362792074680328, 0.23888874053955078, 0.224913090467453, 0.28395238518714905, 0.2552259862422943, 0.3180879056453705, 0.26838505268096924, 0.3109844923019409, 0.24153414368629456, 0.24271249771118164, 0.3209439218044281, 0.2870093882083893, 0.2991797626018524, 0.3116435408592224, 0.2810136079788208, 0.2764713764190674, 0.29761818051338196, 0.30477413535118103, 0.29025158286094666, 0.2625252604484558, 0.29430434107780457, 0.22794559597969055, 0.31325042247772217, 0.2747468054294586, 0.32263028621673584, 0.32225632667541504, 0.22810177505016327, 0.30779829621315, 0.32032740116119385, 0.25489377975463867, 0.32120341062545776, 0.2994502782821655, 0.29142773151397705, 0.25750136375427246, 0.2788662612438202, 0.25222092866897583, 0.22942277789115906, 0.3288151025772095, 0.27698150277137756, 0.3011643886566162, 0.22869570553302765, 0.26311880350112915, 0.326835960149765, 0.3174257278442383, 0.2544988989830017, 0.26338160037994385, 0.2972721457481384, 0.21088066697120667, 0.32416459918022156], \"y\": [0.22219327092170715, 0.27761250734329224, 0.3229215741157532, 0.34561896324157715, 0.24674035608768463, 0.26157915592193604, 0.23974238336086273, 0.3238925337791443, 0.33635225892066956, 0.2653876543045044, 0.20970165729522705, 0.18842531740665436, 0.25725865364074707, 0.24017630517482758, 0.35341429710388184, 0.15000790357589722, 0.11612878739833832, 0.29197973012924194, 0.22150805592536926, 0.3007268011569977, 0.28451210260391235, 0.20883971452713013, 0.2926024794578552, 0.11333182454109192, 0.3290199041366577, 0.33235883712768555, 0.17752757668495178, 0.29335832595825195, 0.22028467059135437, 0.21695217490196228, 0.2254868596792221, 0.2990576922893524, 0.36683353781700134, 0.18224507570266724, 0.19157832860946655, 0.22472800314426422, 0.2808809280395508, 0.21123218536376953, 0.32841795682907104, 0.29787975549697876, 0.26158249378204346, 0.22195231914520264, 0.18867509067058563, 0.29499146342277527, 0.28234395384788513, 0.3385443687438965, 0.17074911296367645, 0.21597468852996826, 0.3376871943473816, 0.2964567542076111, 0.23665593564510345, 0.29084911942481995, 0.12549123167991638, 0.22118200361728668, 0.12353765964508057, 0.2943223714828491, 0.32703906297683716, 0.31962740421295166, 0.22522632777690887, 0.3264736831188202, 0.2324908822774887, 0.34663134813308716, 0.2970106601715088, 0.3321794271469116, 0.3276224732398987, 0.31797048449516296, 0.27164942026138306, 0.3305443525314331, 0.35207539796829224, 0.2630353271961212, 0.11765483766794205, 0.287016361951828, 0.1816166788339615, 0.26711198687553406, 0.2772892415523529, 0.21656545996665955, 0.3736467957496643, 0.1817009598016739, 0.2909248471260071, 0.2788705825805664, 0.2874860167503357, 0.30135565996170044, 0.31690603494644165, 0.247535839676857, 0.30483725666999817, 0.26438742876052856, 0.16359637677669525, 0.21971237659454346, 0.29426905512809753, 0.2657902240753174, 0.309516966342926, 0.21686974167823792, 0.2187628149986267, 0.34884822368621826, 0.2967422604560852, 0.2961846590042114, 0.24989323318004608, 0.1816963404417038, 0.2858697175979614, 0.21706007421016693, 0.2531992495059967, 0.317898690700531, 0.26760339736938477, 0.3610353469848633, 0.2451624870300293, 0.1903664469718933, 0.28301578760147095, 0.21952861547470093, 0.33018040657043457, 0.24296745657920837, 0.32758527994155884, 0.2121070921421051, 0.3175317049026489, 0.2511758804321289, 0.3199341893196106, 0.256680428981781, 0.28686487674713135, 0.29560884833335876, 0.13114984333515167, 0.3235124349594116, 0.2725353240966797, 0.23494616150856018, 0.3137863874435425, 0.1243395209312439, 0.2858067452907562, 0.1764686405658722, 0.3287891745567322, 0.18233418464660645, 0.18079741299152374, 0.19756726920604706, 0.2159796804189682, 0.2825127840042114, 0.31214720010757446, 0.2823377251625061, 0.1900181919336319, 0.3061947226524353, 0.1855136901140213, 0.28477129340171814, 0.29468750953674316]}, {\"marker\": {\"color\": 35, \"size\": 5}, \"mode\": \"markers\", \"name\": \"30\", \"text\": [\"Westinghouse WHG758SC - 75cm 5 Burner Gas Cooktop\", \"Chef - CVE612SA - Electric Single Oven\", \"Miele - H 7440 BM VitroLine Obsidian Black - 60cm Speed Oven\", \"Chef - CVE662WA - Electric Wall Oven\", \"Sunbeam - HP5520 - Slow Cooker 5.5L\", \"Westinghouse WHI643BC - 60cm 4 Zone Induction Cooktop\", \"Westinghouse - WHI645BA - 60cm Induction Cooktop\", \"Westinghouse - WHI744BA - 70cm Induction Cooktop\", \"Smeg - SFRA9300TVX - 90cm Classic Thermoseal Oven\", \"DeLonghi - DEP7410 - 60cm Multifunction Built-in Oven\", \"Smeg - 34L Convection Microwave Oven - SAM34CXI\", \"Beko - BIM25303XM - 81L Multifunction Built-in Oven\", \"Beko - BCT75GX - 75cm Gas Cooktop\", \"Westinghouse WVES613WC-L - 60cm Multi-function Oven\", \"Smeg - SFA4102MN - 60cm Linea Compact Microwave Oven\", \"Smeg - PX175LAU - 72cm Linea Cooktop\", \"Smeg - SFPA6104TVN - 60cm Linea Pyrolytic Oven\", \"Smeg - PV164CN2AU - 60cm Linea Gas Cooktop\", \"Beko - BBO60B2SB - 60cm Multifunction Built-in Oven\", \"Smeg - PGA75F-4 - 75cm Gas Cooktop\", \"Smeg - SRA975NGH - 70cm Victoria Gas Cooktop - Black\", \"Westinghouse - WFE619SA - 60cm Freestanding Dual Fuel Cooker\", \"Smeg - PXL675LAU - 75cm Linea Blade Flame Gas Cooktop\", \"Westinghouse - WHI634BB - 60cm Induction Cooktop \", \"Westinghouse - WHI634BA - 60cm Induction Cooktop\", \"Miele - H 7860 BPX ArtLine Graphite Grey - 60cm Wide Pyrolytic Handless Oven \", \"Smeg - SRA964XGH - 60cm Victoria Gas Cooktop - Stainless Steel\", \"Westinghouse - ACC260 - 60cm Oven Runners Kit\", \"Smeg - SFA4104MCN - 60cm Linea Compact Speed Oven\", \"Smeg - SFPA6300TVX - 60cm Classic Thermoseal Pyrolytic Oven\", \"Westinghouse WVE665WC - 60cm Separate Grill Wall Oven\", \"Beko - BBO60S1MB - 60cm Built-in Oven\", \"Smeg - HOBD682D - Integrated Induction Cooktop\", \"Beko - BBO60S1PB - 60cm Multifunction Built-in Oven\", \"Miele - H 2760 B ContourLine CleanSteel - 60cm Wide Oven \", \"Chef - CVE614SA - Electric Single Oven\", \"Miele - Benchtop Microwave Oven - M6012 Stainless Steel \", \"Miele H 7464 BPX ArtLine Graphite Grey - 60cm Wide Pyrolytic Handless Oven  \", \"Miele H 7264 BP VitroLine Graphite Grey - 60cm Wide Pyrolytic Oven \", \"Smeg - SRA964PGH - 60cm Victoria Gas Cooktop - Panna\", \"Asko - OCM8464A - 45cm Combi Microwave Oven - Anthracite \", \"Asko - OCS8687A - 60 cm Built-in Combi Steam Oven - Anthracite \", \"Asko - OCS8464S - 45cm Combi Steam Oven - Stainless Steel\", \"Westinghouse - WLE547WA - 54cm Electric Upright Cooker\", \"Asko - OP8637A - 60cm Craft Pyrolytic Oven - Anthracite\", \"Chef - CHS642WA - 60cm Solid Element Cooktop\", \"Smeg - SRA975XGH - 70cm Victoria Gas Cooktop - Stainless Steel\", \"Smeg - A3AU-81 - Classic Freestanding Cooker Stainless Steel 120cm\", \"Smeg - PX375LAU - 72cm Classic Gas Cooktop\", \"Chef - 54cm LPGas Freestanding Cooker - CFG503WBLP\", \"Miele - H 7860 BP VitroLine Graphite Grey - 60cm Wide Pyrolytic Oven  \", \"Westinghouse - WFE547SA - 54cm Freestanding Cooker\", \"Sharp - R350EW - Microwave Oven\", \"Miele - DGC 7860 XXL PureLine CleanSteel - 60cm Steam Combi Oven\", \"Miele - DGC 7440 PureLine CleanSteel - 60cm Steam Combi Oven\", \"Miele - DG 7440 PureLine CleanSteel - 60cm Steam Oven\", \"Miele - DG 2840 PureLine CleanSteel - 60cm Steam Oven\", \"Miele - DGC 7860 XXL VitroLine Obsidian Black - 60cm Steam Combi Oven\", \"Miele - DGC 7460 XXL VitroLine Obsidian Black - 60cm Combi Steam Oven\", \"Miele - DGC 7460 XXL VitroLine Graphite Grey - 60cm Combi Steam Oven\", \"DeLonghi - DEGHBG60 - 60cm Gas Cooktop\", \"Ninja Foodi Grill AG301 - 4 in 1 Cooking Appliance\", \"Smeg - SFA4301MCX - 60cm Classic Compact Speed Oven\", \"Westinghouse WHG644SC - 60cm 4 Burner Gas Cooktop\", \"Miele H 2267-1 BP PureLine CleanSteel - 60cm Wide Pyrolytic Oven\", \"Westinghouse WVE625SC - 60cm Multifunction Double Oven\", \"Asko - OP8687B - 60cm Craft Pyrolytic Oven - Black steel \", \"Euromaid - R54EW - 54cm Freestanding Oven   \", \"Miele - DGC 7840 PureLine CleanSteel - 60cm Steam Combi Oven\", \"Beko - BBO60S0MB - 81L Multifunction Built-in Oven\", \"Asko - HI1611G - 60cm Induction 4 Zone Cooktop\", \"Westinghouse -  WHG646SA - 60cm Gas Cooktop - 4 Burners\", \"Westinghouse - WHG756SB - 75cm Gas Cooktop\", \"Smeg - CS7GMXA - 70cm Freestanding Cooker\", \"Miele - DG 2840 VitroLine Graphite Grey - 60cm Steam Oven\", \"Smeg - SFPA7130 - 70cm Linear Thermoseal Pyrolytic Oven\", \"Westinghouse WVEP615SC - 60cm Multifunction Oven\", \"Miele - H 7660 BP VitroLine Obsidian Black - 60cm Wide Pyrolytic Oven \", \"Westinghouse WVG613SCNG - 60cm Multi-function Oven\", \"Smeg - PX375AU - 72cm Classic Gas Cooktop\", \"Smeg - PX7502AU - 75cm Linea Gas Cooktop\", \"Chef - CFG517WBNG - 54cm Freestanding Gas Cooker\", \"Asko - HG1776SD - 75cm Gas Cooktop\", \"Smeg - 60cm Victoria Thermoseal Pyrolytic Double Oven - DOSPA6925P\", \"Westinghouse WVES613WC-R - 60cm Multi-function Oven\", \"Asko - OCS8664A - 60 cm Built-in Combi Steam Oven - Anthracite  \", \"Asko - OCS8464B - 45cm Combi Steam Oven - Black Steel\", \"Westinghouse - WLE625WA - 60cm Freestanding Electric Cooker\", \"Smeg - SFA4104MCB - 60cm Linea Compact Speed Oven\", \"Westinghouse - WFE647WA - 60cm Freestanding Electric Cooker\", \"Smeg - SFA4102MS - 60cm Linea Compact Microwave Oven\", \"Smeg - PXL664AU - 60cm Linea Blade Flame Cooktop\", \"Westinghouse WVE625WC - 60cm Multifunction Double Oven\", \"Westinghouse - WFE619WA - 60cm Freestanding Dual Fuel Cooker\", \"Smeg - SRA975BGH - 70cm Victoria Gas Cooktop - White\", \"Miele H 7264 BP PureLine CleanSteel - 60cm Wide Pyrolytic Oven \", \"Beko - BFC60VMX1 - 60cm Vitroceramic Upright Cooker\", \"Miele - DGC 7840 XL VitroLine Obsidian Black - Steam Combination Oven\", \"Miele - DGC 7440 X ArtLine Obsidian Black - 60cm Steam Combi Oven\", \"Miele - DGC 7440 X ArtLine Graphite Grey - 60cm Steam Combi Oven\", \"Miele - DGC 7440 XL VitroLine Obsidian Black - Steam Combination Oven   \", \"Miele - DG 6010 - Benchtop Steam Oven\", \"Whirlpool - MWC25WH - Crisp N\\u2019 Grill 25L Microwave\", \"Omega - OM30X - 30L Microwave Oven\", \"Westinghouse WVE615SC - 60cm Multifunction Oven\", \"Westinghouse - WMF2302WA - 23L Microwave Oven\", \"Westinghouse WVG615SCLP - 60cm Multi-function Oven\", \"Beko - HIDG95225SX - 90cm Gas Cooktop\", \"LG - MJ3966ABS - NeoChef 39L Smart Inverter Convection Oven \", \"Smart - 601WB-W - 6 Burner Built-in LPG BBQ\", \"Smeg 60cm Linea Thermoseal Pyrolitic Oven - SFPA6102TVN\", \"Westinghouse - WFE647SA - 60cm Upright Electric Oven\", \"Westinghouse - WMF2302SA - 23L Microwave Oven\", \"Westinghouse WVE614SC - 60cm Multifunction Oven\", \"Miele H 7164 BP ContourLine CleanSteel 60cm Wide Pyrolytic Oven  \", \"Smeg - PX364LAU - 60cm Classic Gas Cooktop\", \"Miele H 7264 BP VitroLine Obsidian Black - 60cm Wide Pyrolytic Oven \", \"Miele H 7260 BP PureLine CleanSteel - 60cm Wide Pyrolytic Oven \", \"Miele H 2267-1 B PureLine CleanSteel - 60cm Wide Oven \", \"Westinghouse WVG613SCLP - 60cm Multi-function Oven\", \"Samsung - ME6104ST - 28L Microwave Oven\", \"LG NeoChef 42L Smart Inverter Microwave Oven - MS4296OBSS\", \"LG NeoChef 25L Smart Inverter Microwave - MS2596OW \", \"LG - MS5696OMBS - 56L NeoChef\\u00ae Microwave\", \"Smeg - SFA4104VCN - 60cm Linea Compact Combi-Steam Oven\", \"Smeg - SFPR9395X - 90cm Pyrolytic Oven\", \"Smeg - SFA4104VCB - 60cm Linea Compact Combi-Steam Oven\", \"Euromaid - F54RW - 54cm Freestanding Oven\", \"Smeg - SFPA6390X2 - 60cm Pyrolytic Oven\", \"Chef - CVEP614SA - Electric Single Pyrolytic Oven\", \"Smeg - TR4110IWH - 110cm Victoria Induction Freestanding Cooker\", \"Euromaid - EFF54W - 54cm Freestanding Oven\", \"Westinghouse - WLE535WB - 54cm Freestanding Cooker\", \"Asko - OCS8664B - 60 cm Built-in Combi Steam Oven - Black Steel \", \"Euromaid - FGG54W - 540mm Gas Upright Cooker\", \"Smeg - PV175CN2AU - 72cm Linea Gas Cooktop\", \"Westinghouse WHI743BC - 75cm 4 Zone Induction Cooktop\", \"Smeg - SAI714B - 70cm Induction Cooktop\", \"Euromaid - CDDS60 - 60cm Freestanding Oven\", \"Westinghouse WVEP615WC - 60cm Multifunction Oven\", \"Smeg - SBIM30X - 25L Built-in Microwave Oven\", \"Smeg - SFA4104VCS - 60cm Linea Compact Combi-Steam Oven\", \"Smeg - PV364LCNAU - 65cm Gas Cooktop\", \"Smeg - PV375CNAU - 75cm Gas Cooktop\", \"Euromaid - BT44 - 600mm Bench Top Oven & Grill\", \"Smeg - 60cm Victoria Thermoseal Pyrolytic Double Oven - DOSPA6925N\", \"Westinghouse - WVG665SNG - Stainless Steel Fan Forced - 60cm oven\", \"Westinghouse WVG665SCNG - 60cm Gas Fan Forced Oven\", \"Sharp - R210DW - Compact Microwave Oven\", \"Smeg - TR4110IBL - 110cm Victoria Induction Freestanding Cooker\", \"Smeg - DOSPA6395X - 60cm Thermoseal Pyrolytic Double Oven\", \"Westinghouse WVE616SC - 60cm Multifunction Oven \", \"Westinghouse - WHG952SB - 90cm Gas Cooktop\", \"Miele - H 7860 BPX ArtLine Obsidian Black - 60cm Wide Pyrolytic Handless Oven \", \"Westinghouse WVEP916SC - 90cm Pyrolitic Multifunction Oven\", \"Miele H 2860 BP VitroLine Graphite Grey - 60cm Wide Oven\", \"Westinghouse WHI323BC - 30cm 2 Zone Induction Cooktop\", \"Westinghouse WVG655SCLP - 60cm Gas Fan Forced Oven\", \"Smeg - PX1402AU - 100cm Linea Gas Cooktop\", \"Westinghouse WHI645BC - 60cm 4 Zone Induction Cooktop\", \"Smeg - SFA4920MCN1 - 60cm Victoria Compact Microwave Oven - Black \", \"Westinghouse - WVE626W - 80L/46L Multifunction Duo Oven\", \"Smeg - SFPA6925B - 60cm Victoria Thermoseal Pyrolytic Oven - White Enamel\", \"Smeg - SFPA6925N - 60cm Victoria Thermoseal Pyrolytic Oven - Black Enamel\", \"Westinghouse WHG640WC - 60cm 4 Burner Gas Cooktop\", \"Smeg - TR4110IPG - 110cm Victoria Induction Freestanding Cooker\", \"Sharp - R395YBK - Midsize Inverter Microwave Oven\", \"Miele - H 7860 BP VitroLine Obsidian Black - 60cm Wide Pyrolytic Oven\", \"Asko - HI1655G - 60cm Bridge Induction Cooktop\", \"Westinghouse - WHI324BA - 30cm Induction Cooktop\", \"DeLonghi - DEFL605G - 60cm Lifestyle Freestanding Oven\", \"DeLonghi - DEL6038D - 60cm Multifunction Double Wall Oven\", \"Westinghouse WHS642SC - 60cm Electric Solid Cooktop\", \"Westinghouse - WFG617WANG - 60cm Freestanding Gas Cooker - NG - White\", \"Inalto - IO60XL5M - 60cm Multifunction Oven - Minute Timer\", \"Westinghouse WVE655SC - 60cm Underbench Oven\", \"Chef - 54cm Gas Freestanding Oven - CFG504SBNG\", \"Beko - BIM25101XM - 81L Multifunction Built-in Oven\", \"Smeg - A11XPY-9 - 90cm Opera Thermoseal Pyrolytic Cooker\", \"Asko - HG1666SD - 60cm Gas Cooktop - Stainless Steel\", \"Westinghouse - WVEP627S - 60cm Double Cavity Electric Oven\", \"Smeg - SFPA6102TVS - 60cm Linea Thermoseal Pyrolitic Oven \", \"Inalto - ICI604TB - 60cm Induction Cooktop - Touch Control\", \"Smeg - SFPA7395X2 - 70cm Pyrolytic Oven\", \"Smeg - PV164CB2AU - 60cm Linea Gas Cooktop\", \"Whirlpool - MWCF25BK - CrispFry 25L Microwave\", \"Smeg - SAI613B - 60cm Induction Cooktop\", \"Smeg - SAI60MW - 60cm Induction cooktop\", \"Smeg - SAI60MB - 60cm Induction cooktop\", \"Miele - H 7860 BP PureLine CleanSteel - 60cm Wide Pyrolytic Oven \", \"Miele - H 7660 BP PureLine CleanSteel - 60cm Wide Pyrolytic Oven  \", \"Smeg - TR4110IP - 110cm Victoria Induction Freestanding Cooker\", \"Asko - HG1776AD - 75cm Gas Cooktop - Anthracite  \", \"Smeg - SFPA6104TVS - 60cm Linea Thermoseal Pyrolitic Oven \", \"Miele - H 7464 BP VitroLine Graphite Grey - 60cm Wide Pyrolytic Oven  \", \"Omega - OCG62X - 60cm Gas Cooktop\", \"LG NeoChef 42L Smart Inverter Microwave Oven - MS4296OSS \", \"Asko - OCS8487B - 45cm Combi Steam Oven - Black Steel  \", \"Asko - OCS8464A - 45cm Combi Steam Oven - Anthracite\", \"Asko - OCM8487B - 45 cm Built-in Combi-Microwave Oven - Black Steel  \", \"Westinghouse - WHG955WA - 90cm White Enamel Gas Cooktop\", \"Chef - CHI643BA - Induction Cooktop\", \"Beko - BBO60S1DB - 55cm Multifunction Built-in Double Oven\", \"Westinghouse WVEP627DSC - 60cm Multifunction Double Oven\", \"Chef - 54cm NGas Freestanding Cooker - CFG503WBNG\", \"Smeg - SFA63M3TVX - Classic Built-In Oven Stainless Steel 60cm\", \"Beko - BBO60B2PB - 94L Pyrolytic Built-in Oven\", \"Westinghouse - ACC290 - 90cm Oven Runners Kit \", \"DeLonghi - DEGH60BG - 60cm Gas Cooktop\", \"Smeg - SFPA6303TPX - 60cm Classic Pyrolytic Oven\", \"Smart - 401WB-W - 4 Burner Built-in LPG BBQ\", \"Beko - HIMW75225SX - 70cm Gas Cooktop\", \"Asko - OP8664A - 60cm Pyrolytic Oven - Anthracite\", \"Chef - CHG642WB - 60cm Gas Cooktop\", \"Westinghouse - WHSC03SS - 3 Pot Slow Cooker\", \"Smeg - SFA6304X2 - Classic Built-In Oven Stainless Steel 60cm\", \"Inalto - IO64M.1 - 60cm Fan Forced Oven\", \"Asko - OP8637S - 60cm Craft Pyrolytic Oven - Stainless Steel \", \"Asko - OCS8664S - 60 cm Built-in Combi Steam Oven - Stainless Steel \", \"Miele - H 2860 BP PureLine CleanSteel - 60cm Wide Pyrolytic Oven  \", \"Miele - H 2860 B PureLine CleanSteel - 60cm Built-in Oven \", \"DeLonghi DEL7406 - 60cm Built In XXL Lifestyle Oven\", \"Asko - OP8687A - 60cm Craft Pyrolytic Oven - Anthracite\", \"Chef - CHS642SA - 60cm Solid Element Cooktop\", \"Westinghouse WVE645SC - 60cm Combination Oven/Cooktop\", \"Westinghouse - WHG645WA - 60cm White Enamel Gas Cooktop\", \"Westinghouse WVE665SC - 60cm Separate Grill Wall Oven\", \"Westinghouse - 60cm Gas Cooktop - WHG640SB\", \"Omega - OBO676X - 60cm Multifunction Oven\", \"Westinghouse WHS642WC - 60cm Electric Solid Cooktop\", \"Euromaid - EW60 - 60cm Upright Cooker\", \"Miele - DGC 7460 XXL PureLine CleanSteel - 60cm Combi Steam Oven\", \"Smeg - PGA64 - 60cm Gas Cooktop \", \"Asko - OCM8464S - 45cm Combi Microwave Oven - Stainless Steel\", \"Euromaid - 54cm Gas Freestanding Cooker - FSG54S\", \"Inalto - ICGW60S - 60cm Gas Cooktop  \", \"Westinghouse WVE915SC - 90cm Multifunction Oven\", \"Chef - CVE624SA - Built-In Double Oven\", \"Glem - UN664MVI - 60cm Freestanding Gas Cooker\", \"Westinghouse - WFG617WALP - 60cm Freestanding Gas Cooker - LPG - White\", \"Westinghouse - WFE517SA - 54cm Freestanding Cooker\", \"DeLonghi - DEL7408 - 60cm Built In XXL Lifestyle Oven\", \"Westinghouse - ACC121 - 6-piece - Oven Roasters Pack\", \"DeLonghi - DE60COMBI - 60cm Microwave Combination Oven\", \"Smeg - PV175CB2AU - 72cm Linea Gas Cooktop\", \"Asko - OP8664S - 60cm Pyrolytic Oven - Stainless Steel \", \"LG NeoChef 23L Smart Inverter Microwave Oven - MS2336DB\", \"LG NeoChef 42L Smart Inverter Microwave Oven - MS4296OWS\", \"LG NeoChef 25L Smart Inverter Microwave - MS2596OS\", \"Omega - OMW34X - 34L Built-In Microwave Oven\", \"Westinghouse - WHI745BA - 70cm Induction Cooktop\", \"Euromaid - EW50 - 50cm Upright Cooker \", \"DeLonghi - DE607PSCP - 60cm Pyrolytic Built-in Project Oven\", \"Omega - OCG63FFX - 60cm Gas Cooktop\", \"Smeg - PBQ31GA - 30cm Gas Cooktop\", \"Asko - OCS8687S - 60 cm Built-in Combi Steam Oven - Stainless Steel\", \"Westinghouse WVEP917DSC - 90cm Pyrolitic Multifunction Oven\", \"Westinghouse - WHS642WA - 60cm Electric Cooktop\", \"Asko - OP8687S - 60cm Craft Pyrolytic Oven - Stainless Steel\", \"Smeg - C6GVXA8 - 60cm Freestanding Gas/Gas Cooker\", \"Magikleen - MAGGPC250 - Oven, Grill & BBQ Plate Cleaner\", \"Miele H 7660 BP VitroLine Graphite Grey - 60cm Wide Pyrolytic Oven  \", \"Smeg - SRA975PGH - 70cm Victoria Gas Cooktop - Panna\", \"Beko - MGB25333BG - 25L Built-in Microwave Oven\", \"DeLonghi DEL7404 - 60cm Built In XXL Lifestyle Oven\", \"Miele H 7464 BPX ArtLine Obsidian Black - 60cm Wide Pyrolytic Handless Oven\", \"Miele - H 6260 BP - 60cm Pyrolytic  Built-in Wall Oven\", \"DeLonghi - DEFL605E - 60cm Lifestyle Freestanding Oven\", \"Westinghouse - WMF4102SA - 40L Countertop Microwave\", \"Miele H 2860 BP VitroLine Obsidian Black - 60cm Wide Pyrolytic Oven\", \"Miele - H 2760 BP ContourLine CleanSteel - 60cm Wide Pyrolytic Oven\", \"Samsung - 32L Microwave Oven - MS32J5133BT\", \"Westinghouse -  WVE636S - 80L - Stainless Steel Multifunction Double Oven\", \"Westinghouse WHG954SC - 90cm 5 Burner Gas Cooktop\", \"Westinghouse WHG958BC - 90cm 5 Burner Gas Cooktop\", \"Whirlpool - Crisp N\\u2019 Grill MWC25BK - 25L Microwave\", \"DeLonghi - DEL606P - 60cm Pyrolytic Built In Lifestyle Oven\", \"Smeg - SAI70MW - 70cm Induction Cooktop\", \"Smeg - SAI70MB - 70cm Induction Cooktop\", \"Glem - IT965MVI2 - 90cm Freestanding Gas Cooker\", \"Westinghouse - WFG617SALP - 60cm Freestanding Gas Cooker - LPG - Stainless Steel\", \"Euromaid - R54CW - 54cm Freestanding Cooker\", \"Westinghouse WVE655WC - 60cm Underbench Oven\", \"Smeg - SFA4104MCS - 60cm Linea Compact Speed Oven\", \"Westinghouse - WVG655SNG - 60cm Underbench Oven\", \"Smeg - PX164LAU - 60cm Linea Cooktop\", \"Westinghouse - WVE645S - 60cm Combination oven\", \"Smeg - SFA9315XR - 90cm Classic Thermoseal Oven\", \"Asko - HG1666AD - 60cm Gas Cooktop - Anthracite  \", \"DeLonghi - DEGHSL60 - 4 Burner 60cm Slimline Gas Cooktop\", \"Asko - OCM8464B - 45cm Combi Microwave Oven - Black Steel\", \"Asko - OCS8487S - 45cm Combi Steam Oven - Stainless Steel\", \"Asko - OCS8487A - 45cm Combi Steam Oven - Anthracite\", \"Westinghouse WHG958SC - 90cm 5 Burner Gas Cooktop\", \"Whirlpool - MWP201SB - 20L Microwave Oven\", \"Smeg - SFPA7130N - 70cm Black Linear Thermoseal Pyrolytic Oven\", \"Chef - CVE612WA - Electric Single Oven\", \"EasyCook - E727 - Deluxe Health Oven\", \"Smeg - SFPA6104TVB - 60cm Linea Thermoseal Pyrolitic Oven \", \"Chef - CVE614WA - Electric Single Oven\", \"Beko - BFC60VMW1 - 60cm Vitroceramic Upright Cooker\", \"DeLonghi - DEL4413COMBI - 60cm Compact Speed Oven\", \"Miele - H 7464 BP VitroLine Obsidian Black - 60cm Wide Pyrolytic Oven  \", \"Smeg - C7GVXA8 - 70cm Freestanding Cooker\", \"Westinghouse - 60cm Gas Cooktop - WHG640WB \", \"Smeg - SRA964NGH - 60cm Victoria Gas Cooktop - Black\", \"Inalto - MC25BF - 25L Built-In Convection Microwave Oven\", \"Asko - OCS8687B - 60 cm Built-in Combi Steam Oven - Black Steel\", \"Asko - OCM8487S - 45cm Craft Combi Microwave Oven - Anthracite \", \"Asko - OCM8487A - 45cm Combi Microwave Oven - Black\", \"Smeg - C6GMXA8 - 60cm Freestanding Oven\", \"Westinghouse WVE617DSC - 60cm Multifunction Oven\", \"Smeg - SAI64 - 60cm Induction Cooktop\", \"Westinghouse WVG613WCLP - 60cm Multi-function Oven\", \"DeLonghi - EO241250.M - 24L MultiOven\", \"Sunbeam 18L Bake & Grill Oven - COM3500SS\", \"Beko - BCT60GX - 60cm Gas Cooktop\", \"Westinghouse WVG665SCLP - 60cm Gas Fan Forced Oven\", \"Westinghouse WVES613SC-L - 60cm Multifunction Oven\", \"Westinghouse WVG613WCNG - 60cm Multi-function Oven\", \"Smeg - TR4110IRW - 110cm Victoria Induction Freestanding Cooker\", \"Beko - BBO60B2MB - 60cm Multifunction Built-in Oven\", \"Whirlpool - MWT25WH - 25L Microwave Oven\", \"Smeg - FS61X - 60cm Freestanding Oven  \", \"Smeg - SA34MX - 34L Microwave Oven \", \"Smeg - DOSFA6390X - 60cm Classic Thermoseal Double Oven \", \"Westinghouse - WLE525WB - 54cm Freestanding Cooker \", \"Inalto - ICG6F - 60cm Gas Cooktop\", \"Westinghouse WVG655SCNG - 60cm Gas Fan Forced Oven\", \"Smeg - CIR60XS3 - 60cm Gas Cooktop\", \"H 7464 BP PureLine CleanSteel - 60cm Wide Pyrolytic Oven \", \"Smeg - SRA964BGH - 60cm Victoria Gas Cooktop - White\", \"Euromaid - GGFW50NG - 50cm Gas Freestanding Cooker\", \"Westinghouse WHG648SC - 60cm 4 Burner Gas Cooktop\", \"Westinghouse - WFEP915SC - 90cm Pyrolytic Freestanding Cooker\", \"Smeg - PXL6106AU - 100cm Linea Blade Flame Gas Cooktop\", \"Sunbeam - BT7100 - 22L Quick Start Oven\", \"Westinghouse WHG638BC - 60cm 3 Burner Cooktop\", \"Westinghouse WVEP617DSC - 60cm Multifunction Oven\", \"Chef - CFG504SANG - 54cm Gas Freestanding Cooker \", \"Westinghouse WVE636SC - 60cm Multifunction Double Oven\", \"Smeg - SFPA6301TVN - 60cm Classic Pyrolytic Oven\", \"Whirlpool - JT479IX - 31L Crisp N\\u2019 Grill Convection Microwave\", \"Smeg - SFPA6301TVX - 60cm Classic Pyrolytic Oven\", \"Smeg - SFA4301MCN - 60cm Classic Compact Speed Oven\", \"Whirlpool - JQ280IX - 30L Crisp N' Grill Convection Microwave\", \"Euromaid - CDDB60 - 60cm Freestanding Oven    \", \"Samsung - ME83M - 23L Microwave Oven  \", \"Westinghouse WVEP618DSC - 60cm Pyrolytic Multifunction Oven\", \"Westinghouse WHI633BC - 60cm 3 Zone Induction Cooktop\", \"Smeg - SFP9395X1 - 90cm Pyrolytic Oven\", \"Westinghouse WVES613SC-R - 60cm Multifunction Oven\", \"Westinghouse - WMB4425SA - 44L Combination Microwave Oven\", \"DeLonghi - DEGHSL75 - 75cm Slimline Gas Cooktop\", \"Smeg - SFPA6925P - 60cm Victoria Thermoseal Pyrolytic Oven - Panna Enamel\", \"Westinghouse WHG640SC - 60cm 4 Burner Gas Cooktop\", \"Westinghouse - WVE615W - 60cm Multifunction Oven\", \"Chef - CVE662SA - Electric Wall Oven\", \"Westinghouse WVG615SCNG - 60cm Multi-function Oven\", \"Glem - GL53GI - 53cm Freestanding Gas Cooker\", \"Westinghouse - WFG617SANG - 60cm Freestanding Gas Cooker - NG - Stainless Steel\", \"Westinghouse WMB2522SC - 25L Microwave Oven\", \"Westinghouse WVE614WC - 60cm Multifunction Oven\", \"Asko - OP8664B - 60cm Pyrolytic Oven - Black Steel \", \"Miele - DG 7440 VitroLine Obsidian Black - 60cm Steam Oven\", \"Miele - DG 7440 VitroLine Graphite Grey - 60cm Steam Oven\", \"Miele - DG 2840 VitroLine Obsidian Black - 60cm Steam Oven\", \"Whirlpool - MWT25BK - 25L Microwave\", \"Westinghouse WVE615WC - 60cm Multifunction Oven\", \"Inalto - IOG6 - 60cm Cooking Pack - Oven & Gas Cooktop\"], \"type\": \"scatter\", \"x\": [-0.4297851026058197, -0.36329469084739685, -0.28324368596076965, -0.3652622699737549, -0.24072277545928955, -0.3599115312099457, -0.3930341899394989, -0.378746896982193, -0.37410229444503784, -0.37563395500183105, -0.28750964999198914, -0.35425594449043274, -0.35547077655792236, -0.4675339162349701, -0.3228398859500885, -0.36348196864128113, -0.43190518021583557, -0.40695345401763916, -0.3635624051094055, -0.36808428168296814, -0.304887980222702, -0.4211404621601105, -0.4214572012424469, -0.39758968353271484, -0.39166322350502014, -0.27070382237434387, -0.3290197551250458, -0.3629859387874603, -0.35577502846717834, -0.40071284770965576, -0.40269705653190613, -0.35972142219543457, -0.2678162157535553, -0.35745152831077576, -0.387786865234375, -0.37823057174682617, -0.30312812328338623, -0.27960214018821716, -0.27612560987472534, -0.3559149503707886, -0.2367723286151886, -0.31114640831947327, -0.3051433563232422, -0.39374056458473206, -0.2955201268196106, -0.4009414315223694, -0.3111691474914551, -0.2972303628921509, -0.41897574067115784, -0.4314034581184387, -0.2921651601791382, -0.40284669399261475, -0.24400708079338074, -0.38334137201309204, -0.3709563910961151, -0.36861875653266907, -0.39577022194862366, -0.36083415150642395, -0.37263405323028564, -0.3478541672229767, -0.36735600233078003, -0.22526931762695312, -0.31456345319747925, -0.4561668932437897, -0.37812191247940063, -0.44568297266960144, -0.2903880476951599, -0.37875643372535706, -0.3682863712310791, -0.37190553545951843, -0.2577475309371948, -0.4216594994068146, -0.4113933742046356, -0.3487991690635681, -0.33011874556541443, -0.40103521943092346, -0.4332946538925171, -0.34233105182647705, -0.46956655383110046, -0.3834694027900696, -0.3695608079433441, -0.4388711750507355, -0.3367490768432617, -0.4012795388698578, -0.4558432102203369, -0.3082251250743866, -0.30167269706726074, -0.4055698812007904, -0.35064905881881714, -0.4219193756580353, -0.3043980896472931, -0.372813880443573, -0.45864638686180115, -0.42147302627563477, -0.3005196750164032, -0.3375910818576813, -0.3547719120979309, -0.32155561447143555, -0.32997992634773254, -0.3047935962677002, -0.3249192535877228, -0.37808215618133545, -0.2703646123409271, -0.2465619444847107, -0.4497135877609253, -0.35686632990837097, -0.440957635641098, -0.3513077199459076, -0.16332179307937622, -0.18517956137657166, -0.41411229968070984, -0.43325766921043396, -0.34636029601097107, -0.4496234059333801, -0.37552589178085327, -0.41543346643447876, -0.3106611967086792, -0.3659672141075134, -0.3785810172557831, -0.4523887038230896, -0.1939590871334076, -0.15261927247047424, -0.10438846796751022, -0.18902036547660828, -0.39314526319503784, -0.4195293188095093, -0.39359721541404724, -0.3853662312030792, -0.4221368730068207, -0.38855889439582825, -0.32830721139907837, -0.4016156792640686, -0.411470502614975, -0.3079889714717865, -0.36398833990097046, -0.3993920683860779, -0.3267776072025299, -0.34505826234817505, -0.3335374891757965, -0.4470359683036804, -0.32708901166915894, -0.3872266113758087, -0.4198722243309021, -0.41982054710388184, -0.24636420607566833, -0.3977876305580139, -0.3956085443496704, -0.4356245696544647, -0.24452656507492065, -0.3239958584308624, -0.41078850626945496, -0.4644639194011688, -0.4152456820011139, -0.31110018491744995, -0.4185851812362671, -0.2905412018299103, -0.321900874376297, -0.42612597346305847, -0.35922297835350037, -0.3648455739021301, -0.31071165204048157, -0.424356609582901, -0.3885962963104248, -0.3694019913673401, -0.45818910002708435, -0.306226521730423, -0.2134963870048523, -0.32389509677886963, -0.27618080377578735, -0.3658891022205353, -0.4177837073802948, -0.32507699728012085, -0.40343472361564636, -0.419888973236084, -0.29202818870544434, -0.48789799213409424, -0.4576852321624756, -0.33537906408309937, -0.3299707770347595, -0.2917559742927551, -0.3876376748085022, -0.38937392830848694, -0.18758895993232727, -0.418150931596756, -0.41657984256744385, -0.28219935297966003, -0.3566749095916748, -0.327060341835022, -0.3218560814857483, -0.3476960361003876, -0.36759716272354126, -0.30211690068244934, -0.2944193184375763, -0.4129496216773987, -0.3048153519630432, -0.32308077812194824, -0.15432259440422058, -0.2976664900779724, -0.2956274747848511, -0.23491734266281128, -0.3917473554611206, -0.31351232528686523, -0.34435251355171204, -0.42382246255874634, -0.4200737178325653, -0.3560698330402374, -0.38409897685050964, -0.34907180070877075, -0.3780473470687866, -0.3919467329978943, -0.18887361884117126, -0.36732161045074463, -0.2758445739746094, -0.4461345374584198, -0.34678885340690613, -0.36923548579216003, -0.34502071142196655, -0.31827694177627563, -0.3132857382297516, -0.36707115173339844, -0.37337052822113037, -0.370313435792923, -0.28227078914642334, -0.37668588757514954, -0.4398535490036011, -0.42868930101394653, -0.38858798146247864, -0.43379366397857666, -0.3156190812587738, -0.4252527058124542, -0.3455919623374939, -0.39415243268013, -0.3599950969219208, -0.25629040598869324, -0.3957637846469879, -0.3791034519672394, -0.4236358106136322, -0.39014101028442383, -0.39070385694503784, -0.3944633901119232, -0.40751978754997253, -0.34492990374565125, -0.32654818892478943, -0.3455139100551605, -0.4024016857147217, -0.2946647107601166, -0.15874502062797546, -0.14251446723937988, -0.09707262367010117, -0.230027437210083, -0.36105597019195557, -0.31627336144447327, -0.36122801899909973, -0.3244468569755554, -0.3959035575389862, -0.32483601570129395, -0.41112586855888367, -0.4061184823513031, -0.29997146129608154, -0.36931782960891724, -0.22550317645072937, -0.3001174032688141, -0.3367075026035309, -0.29804182052612305, -0.35749030113220215, -0.3265138566493988, -0.36836016178131104, -0.40811318159103394, -0.3163953423500061, -0.3300577700138092, -0.38153231143951416, -0.15532329678535461, -0.4093775749206543, -0.41877949237823486, -0.4161573648452759, -0.28031110763549805, -0.4009166359901428, -0.30571815371513367, -0.30515989661216736, -0.356575071811676, -0.4010068476200104, -0.35939323902130127, -0.5020056366920471, -0.35158830881118774, -0.4836435616016388, -0.36785605549812317, -0.42919039726257324, -0.42487582564353943, -0.2812248468399048, -0.3775719106197357, -0.2693123519420624, -0.3050305247306824, -0.29190802574157715, -0.41806793212890625, -0.27192503213882446, -0.36364853382110596, -0.37317517399787903, -0.2273455262184143, -0.3909008204936981, -0.384805828332901, -0.3824406862258911, -0.32899823784828186, -0.3395328223705292, -0.3570024371147156, -0.43949663639068604, -0.3181476593017578, -0.2919757664203644, -0.3185008466243744, -0.23752638697624207, -0.24492120742797852, -0.4104744493961334, -0.4569172263145447, -0.3623066544532776, -0.4648987948894501, -0.3426832854747772, -0.28121572732925415, -0.3468714952468872, -0.4216105341911316, -0.45557865500450134, -0.4774450957775116, -0.31832823157310486, -0.3550478518009186, -0.31517529487609863, -0.4422629773616791, -0.301425576210022, -0.41438278555870056, -0.42036759853363037, -0.4082317054271698, -0.4402742385864258, -0.38406500220298767, -0.3403486907482147, -0.31700581312179565, -0.3883344233036041, -0.4582909643650055, -0.457583487033844, -0.4074195623397827, -0.23836058378219604, -0.44256067276000977, -0.4424198865890503, -0.4011002779006958, -0.43506044149398804, -0.4107256233692169, -0.2740184962749481, -0.392955482006073, -0.3363902270793915, -0.2869434058666229, -0.34518107771873474, -0.1531171351671219, -0.45166271924972534, -0.3626486659049988, -0.39672595262527466, -0.4355442523956299, -0.3506467640399933, -0.36225634813308716, -0.41028228402137756, -0.442939817905426, -0.42532119154930115, -0.33862319588661194, -0.4587981104850769, -0.3585026264190674, -0.4274875819683075, -0.3728157877922058, -0.4534160792827606, -0.2957634925842285, -0.35207894444465637, -0.3164277672767639, -0.37137266993522644, -0.25368595123291016, -0.4653032720088959, -0.34779733419418335], \"y\": [0.22069504857063293, 0.04365689307451248, 0.1585288643836975, 0.021541383117437363, 0.05751601606607437, 0.12780623137950897, 0.05821019038558006, 0.02921617031097412, 0.13025692105293274, 0.04947531223297119, 0.0862215906381607, -0.06339714676141739, -0.014848943799734116, 0.1722787767648697, 0.0630156546831131, 0.04895519092679024, 0.1043815016746521, 0.1437363475561142, -0.035636596381664276, 0.11441250145435333, 0.06596232205629349, 0.12771625816822052, 0.06974662840366364, 0.06478301435709, 0.06660696864128113, 0.1543329954147339, 0.11110616475343704, 0.06623820215463638, 0.11289238184690475, 0.1319694221019745, 0.20570209622383118, -0.024391649290919304, -0.05413374304771423, -0.02373068779706955, 0.14022427797317505, 0.04032859951257706, 0.07794554531574249, 0.14290258288383484, 0.17400863766670227, 0.07354497164487839, 0.03372683376073837, 0.1602291762828827, 0.12573790550231934, 0.07966412603855133, 0.06399410218000412, 0.05252053588628769, 0.09094801545143127, 0.06159654259681702, 0.07136223465204239, 0.058796875178813934, 0.17176762223243713, 0.11423836648464203, -0.05105847120285034, 0.23040801286697388, 0.21709932386875153, 0.21820330619812012, 0.18406254053115845, 0.22832287847995758, 0.22207053005695343, 0.22483903169631958, 0.04008100554347038, 0.02039150893688202, 0.07707492262125015, 0.23246856033802032, 0.1601598858833313, 0.16599474847316742, 0.06497310101985931, 0.09307686984539032, 0.22349871695041656, -0.05766473710536957, 0.12419682741165161, 0.19914093613624573, 0.1585364043712616, 0.10325495898723602, 0.18523025512695312, 0.08263193070888519, 0.1869564950466156, 0.1522088497877121, 0.1908765733242035, 0.06684230268001556, 0.11069218814373016, 0.07505373656749725, 0.11337326467037201, 0.0853683352470398, 0.16884872317314148, 0.13340918719768524, 0.09728090465068817, 0.13112011551856995, 0.0819762796163559, 0.1317104697227478, 0.08240216970443726, 0.03941136598587036, 0.16653580963611603, 0.11911600828170776, 0.03774649277329445, 0.17560647428035736, -0.0004714354872703552, 0.15312442183494568, 0.2006884664297104, 0.20946425199508667, 0.1402401179075241, 0.148765429854393, 0.02635515108704567, 0.045009952038526535, 0.18599678575992584, 0.04870840907096863, 0.20533829927444458, 0.026424381881952286, 0.1633717268705368, 0.1173195019364357, 0.11772085726261139, 0.13603729009628296, 0.0656738430261612, 0.18321414291858673, 0.1890072524547577, 0.07166515290737152, 0.17489562928676605, 0.1729334592819214, 0.14142677187919617, 0.1981007158756256, 0.30922529101371765, 0.18489830195903778, 0.16075503826141357, 0.1592831313610077, 0.16022548079490662, 0.06616594642400742, 0.15195634961128235, 0.08971267938613892, 0.08925725519657135, 0.025822168216109276, 0.03813110664486885, 0.09716692566871643, 0.10916707664728165, 0.12656669318675995, 0.12810902297496796, 0.10926901549100876, 0.0732022076845169, 0.028716597706079483, 0.13154029846191406, 0.1840173602104187, -0.010713090188801289, 0.16284090280532837, 0.07491602003574371, 0.08134658634662628, -0.014939449727535248, 0.07694628089666367, 0.23112910985946655, 0.2631834149360657, -0.02445119246840477, -0.007929505780339241, 0.08417399227619171, 0.1856227070093155, 0.15287141501903534, 0.1519051194190979, 0.14246869087219238, 0.15258026123046875, 0.011365622282028198, 0.2612553834915161, 0.08842568844556808, 0.10953432321548462, 0.08280962705612183, 0.11421111226081848, 0.04533727839589119, 0.06621737778186798, 0.25059330463409424, 0.043978214263916016, -0.033102188259363174, 0.16585424542427063, 0.02371959388256073, -0.03422613441944122, 0.05985017865896225, 0.08382949233055115, 0.1745094209909439, 0.18800091743469238, 0.1118086725473404, 0.18164995312690735, 0.10812710970640182, -0.06577794253826141, 0.09210310876369476, 0.12535977363586426, 0.1538420021533966, 0.11957991123199463, 0.01752714067697525, 0.08072976768016815, 0.11090589314699173, -0.0802491158246994, 0.05147465318441391, 0.10688669979572296, 0.09810791164636612, 0.1735997200012207, 0.1565014123916626, 0.023321498185396194, 0.08749726414680481, 0.12113813310861588, 0.14622023701667786, 0.13749057054519653, 0.18208684027194977, 0.1036723256111145, 0.09847709536552429, 0.031908031553030014, 0.15347109735012054, -0.09657351672649384, -0.03378318250179291, 0.17743752896785736, 0.06645340472459793, 0.1408938616514206, -0.06914304196834564, 0.06266602873802185, 0.0581609345972538, 0.07508692145347595, 0.1007971242070198, 0.03570162504911423, 0.048439737409353256, 0.0934738963842392, 0.04727146774530411, 0.11896835267543793, 0.11956561356782913, 0.1007673591375351, 0.1652192771434784, 0.13226193189620972, 0.11360417306423187, 0.10636231303215027, 0.07278801500797272, 0.0607357881963253, 0.20789019763469696, 0.14355123043060303, 0.2037300169467926, 0.17496925592422485, 0.05515103042125702, 0.17539682984352112, 0.10097745805978775, 0.2221750169992447, 0.1424141228199005, 0.057464033365249634, 0.1923365741968155, 0.15865293145179749, 0.1659064143896103, 0.03310387581586838, 0.16517917811870575, 0.1997787058353424, 0.12771344184875488, 0.08656606823205948, 0.004912964999675751, 0.025695670396089554, 0.08303957432508469, 0.08211056143045425, 0.12800386548042297, 0.19049999117851257, 0.16427573561668396, 0.09291889518499374, 0.057162653654813766, 0.019874297082424164, 0.034354425966739655, 0.1205739751458168, 0.03823046386241913, 0.18516536056995392, 0.15558269619941711, 0.14387424290180206, 0.10717921704053879, 0.18385052680969238, -0.007801476866006851, 0.17411024868488312, 0.05648608133196831, -0.03785397484898567, 0.10577070713043213, 0.14655698835849762, 0.10739894211292267, 0.037659283727407455, 0.1002747043967247, 0.15649709105491638, 0.14529813826084137, 0.3118364214897156, 0.11326363682746887, 0.21227824687957764, 0.17133815586566925, -0.003369271755218506, 0.022091003134846687, 0.10263360291719437, 0.08846556395292282, 0.11554109305143356, 0.23764917254447937, 0.08705085515975952, 0.18437623977661133, 0.1200159341096878, 0.16759082674980164, 0.0706893652677536, 0.16075775027275085, 0.09174647927284241, 0.0857112854719162, 0.0979226604104042, 0.023605123162269592, 0.12452571094036102, 0.10381010174751282, 0.19976407289505005, -0.04310933127999306, 0.0849500223994255, 0.024697642773389816, -0.07569140195846558, 0.10229680687189102, 0.02815701812505722, 0.005083601921796799, 0.019557610154151917, 0.13971787691116333, 0.13688935339450836, 0.17394694685935974, 0.08175203204154968, -0.038961879909038544, 0.14932619035243988, 0.03376187011599541, 0.04003032669425011, 0.14682245254516602, 0.1985083520412445, 0.0998571366071701, 0.18227863311767578, -0.04054470360279083, 0.017949149012565613, 0.005425892770290375, 0.27345389127731323, 0.1791335791349411, 0.1809469759464264, 0.031847987323999405, -0.030434314161539078, -0.006590653210878372, 0.1496172547340393, 0.07535520941019058, 0.05317824333906174, 0.10205422341823578, 0.11633739620447159, 0.2525077760219574, 0.11607609689235687, 0.13894076645374298, 0.06045076996088028, 0.11580450087785721, 0.2485765516757965, 0.1262931227684021, 0.061157599091529846, -0.03349899500608444, 0.15725235641002655, 0.19669127464294434, 0.10591520369052887, 0.1631341576576233, 0.10117004811763763, 0.000406116247177124, 0.12894855439662933, 0.08920333534479141, -0.0058387815952301025, 0.08809035271406174, 0.26964277029037476, 0.1885099709033966, 0.09560511261224747, 0.09808102250099182, 0.17604582011699677, 0.10014596581459045, 0.033000268042087555, 0.08309943974018097, 0.25376805663108826, 0.15999430418014526, 0.03720174357295036, 0.1983216106891632, 0.14280694723129272, 0.21765907108783722, 0.08781258761882782, 0.1770954728126526, 0.025900069624185562, 0.2110334038734436, 0.21373802423477173, 0.18447917699813843, -0.06365946680307388, 0.18641668558120728, 0.10362443327903748]}, {\"marker\": {\"color\": 36, \"size\": 5}, \"mode\": \"markers\", \"name\": \"31\", \"text\": [\"Theragun Multi-Device Wireless Charger - MD-CHRGR-PKG \", \"Precision - PB-PR5000-WHT - 5000mAh Round Tube Power Bank\", \"Laser  - PB-5K19P-BLK - 5000mAh Power Bank \", \"Cygnett - CY3044PBCHE - 20,000 mAh 18W Power Bank - Black\", \"Cygnett - CY2501PBCHE - 5,000mAh Portable Power Bank\", \"Cygnett - CY2378ACDAS - Magnetic Dash & Window Phone Mount\", \"Belkin - F7U052auBLK - BOOST UP\\u2122 Wireless Charging Stand - Black\", \"Cygnett - CY2377ACVEN - Premium Magnetic Vent Car Mount\", \"Belkin 18W Boost Charge USB-C Wall Charger\", \"Belkin - F8J235auBLK - BOOST UP\\u2122 Wireless Charging Dock\", \"Cygnett - CY1574POFLO - Flow Dual USB Wall Charger\", \"Cygnett - Flow+ Dual USB Wall Charger AU - Black - CY1947POFLW\", \"Cygnett - CY2367ACVEN - Magnetic Vent Wireless Charger & Mount\", \"Cygnett - CY2499PBCHE - 5,000mAh Portable Power Bank\", \"Cygnett - CY3042PBCHE - 10,000 mAh 18W Power Bank - Lilac\", \"Cygnett - CY2407PDWCH - USB-C PD Wall Charger\", \"Cygnett - CY3085POPLU - 18W Wall Charger\", \"Cygnett - CY3039PBCHE - 10,000 mAh 18W Power Bank - Black\", \"Cygnett - CY3048PBCHE - 20,000 mAh 18W Power Bank - Red\", \"Cygnett - 10,000mAh USB-C Power Bank - CY2219PBCHE\", \"Cygnett - CY2662WIRDD - 20W Dual Wireless Charger \", \"Cygnett - CY2887CHCGL - Smart Wi-Fi LED Bulb A19 - Colour & Ambient White E27\", \"Ring - 8AB1S70AU0 - Quick-Release Battery Pack \", \"Cygnett - CY2508PBCHE - 15,000mAh Portable Power Bank in Red\", \"Laser  - PB-10K19P-BLK - ChargeCore 10,000 Powerbank\", \"Targus - 65W Slim & Light Laptop Charger - APA047AU\", \"Belkin - F7U099bt04-BLK - BOOST CHARGE USB-C Car Charger\", \"Cygnett - CY1735UNSES - Bluetooth Selfie Stick & Tripod\", \"Belkin - F8J187DS04-BLK - Car Charger\", \"Cygnett - CY2411PDWCH - Dual USB-C & USB-A PD Travel Wall Charger  \", \"Cygnett - CY2510PBCHE - 15,000mAh Portable Power Bank in Lilac\", \"Cygnett - FlashPower Charge & Sync Cable - CY1101PCCSL\", \"Scosche - WDQM - StuckUp Qi Wireless Charging Dash Mount\", \"Cygnett - CY2889CHCGL - Smart Wi-Fi LED Bulb A19 - Colour & Ambient White B22\", \"Cygnett - CY3047PBCHE - 20,000 mAh 18W Power Bank - Lilac\", \"Cygnett - CY2099PBCHE - 20,000mAh Portable Power Bank\", \"Eufy - E8210CW1 - Video Doorbell 2K (Battery-Powered) \", \"Belkin - F7U006bt04-BLK - USB-C Car Charger\", \"Uniden - BT446 - Cordless Phone Battery Pack\", \"Cygnett - CY1784PBCHE - 2,500mAh ChargeUp Pocket Lightning \", \"Cygnett - CY0716PAPM2 - PowerMini II Car Charger\", \"Crest - PWA04987 - USB Power Board\", \"Laser  - PB-5K19P-WHT - 5000mAh Power Bank\", \"Belkin - F8M730btC00 - MIXIT\\u2122 Metallic Car Charger - Black\", \"Belkin BOOST UP\\u2122 Wireless Charging Pad 5W - F7U068btBLK\", \"Alogic - R2A10BK - Rapid 10,000mAh Power Bank - Black\", \"Cygnett - CY3114CYCCH - CarPower 18W Dual USB Car Charger\", \"DJI - 4301412 - Mavic 2 Battery Charging Hub\", \"Anker - A1215H21 - PowerCore 13000 - White \", \"Cygnett - CY1999PBCHE - 4,000mAh Power Bank - Red\", \"Belkin - F8J235AUWHT - BOOST UP\\u2122 Wireless Charging Dock\", \"Cygnett - CarGo II Tablet Car Mount - CY1435ACCAR\", \"FITBIT - FB171RCC - Versa 2 Charging Cable\", \"Belkin - F8M668BT04-BLK - 2.1A Car Charger\", \"Cygnett - CY2500PBCHE - 5,000mAh Portable Power Bank - Red\", \"Cygnett - CY3084POPLU - 12W Wall Charger - White\", \"Cygnett - CY2683WLCCH - 10W Wireless Smartphone Car Charger Vent Mount\", \"Laser  - PB-CJ6000 - 6000mAh Emergency Power Bank \", \"Cygnett - CY2507PBCHE - 15,000mAh Portable Power Bank\", \"Cygnett - CY1996PBCHE - 4,000mAh Portable Power Bank\", \"Crest - USA Adaptor with USB Charging - PWA04994\", \"Uniden - BT694 - Cordless Phone Battery\", \"Cygnett - CY2890CHCGL - Smart Wi-Fi LED Bulb A19 - Ambient White B22\", \"Cygnett - CY2578WLCCH - Wireless 10W Smartphone Car Charger & Mount\", \"Cygnett - CY2505PBCHE - 10,000mAh Portable Power Bank in Navy\", \"Belkin - F8M731BGC00 - MIXIT\\u2122 Metallic Home Charger - Rose Gold\", \"Inca - 745454 - Universal Charger\", \"Laser  - PW-WQCP1 - Fast Charge QI Wireless Charger\", \"Precision - PB-PR2500-BLK - Round Tube 2500mAh Power Bank\", \"Belkin - F7U096au04-WHT - Boost Charge USB-C Wall Charger\", \"Targus - APA30AU - Laptop Charger\", \"Cygnett - CY3045PBCHE - 20,000 mAh 18W Power Bank - Navy\", \"Crest - EU Adaptor with USB Charging - PWA04993\", \"Cygnett - PowerMini 2.4 Dual USB Car Charger - Black - CY1905PAPM2\", \"Cygnett - CY2376PPWIR - Wireless Desk Charger\", \"Cygnett - CY2502PBCHE - 5,000mAh Portable Power Bank\", \"Belkin - F8M667au04-BLK - Universal Home Charger\", \"Cygnett - CY2888CHCGL - Smart Wi-Fi LED Bulb A19 - Ambient White E27\", \"Alogic - P10QC10P18-BK - USB-C 10,000mAh Wireless Power Bank\", \"Belkin - F8J237auWHT - PowerHouse\\u2122 Charge Dock\", \"Cygnett - CY2503PBCHE - 10,000mAh Portable Power Bank - Black\", \"Cygnett - CY2646WIRDE - Prime Wireless Desk Charger\", \"Precision - PB-PR2500-WHT - Round Tube 2500mAh Power Bank\", \"Dyson V11 Dok\\u2122 Charging Dock - 970778-01\", \"Precision 20,000mAh Power Bank - PB-20K19K-BLK\", \"Laser  - PB-2201K-BLU - 2200mah Power Bank  (Blue)\", \"Cygnett - Flow+ Dual USB Wall Charger AU - White - CY1896POFLW\", \"Belkin - F7U052auWHT - BOOST UP\\u2122 Wireless Charging Stand - White\", \"Cygnett - CY2647WIRDE - Prime Wireless Phone Charger\", \"Cygnett - CY2436PBCHE - 27,000 mAh USB-C Power Bank\", \"Cygnett - CY2403PDWCH - USB-C Wall Charger \", \"Cygnett - CY3043PBCHE - 10,000 mAh 18W Power Bank - Red\", \"Cygnett - CY2075CHAUT - 12,000mAh 12V Jump-Starter & Power Pack\", \"Crest - CHC2LC - Twin USB Car Charger & Lightning Cable\", \"Precision - PB-PR10K-BLK - Round Tube 10,000 mAh Power Bank\", \"Cygnett - CY2805PBCHE - 8,000mAh Power Bank with Solar Panels\", \"Cygnett - CY2504PBCHE - 10,000mAh Portable Power Bank in Red\", \"Belkin - F8J181DS04-BLK - Car Charger\", \"Precision - PB-PR5000-BLK - 5000mAh Round Tube Power Bank\", \"Cygnett - CY1998PBCHE - 4000mAh Portable Power Bank - Blue\", \"Cygnett - CY2000PBCHE - ChargeUp Digital 4000\"], \"type\": \"scatter\", \"x\": [0.14154984056949615, 0.13756629824638367, 0.15278933942317963, 0.1709909588098526, 0.16989167034626007, 0.1251010298728943, 0.06757418811321259, 0.03526739776134491, 0.11446413397789001, 0.07756141573190689, 0.13355723023414612, 0.17269648611545563, 0.0905856117606163, 0.18606509268283844, 0.11365736275911331, 0.1611635833978653, 0.06714600324630737, 0.1721363514661789, 0.1557816118001938, 0.21803966164588928, 0.14689850807189941, 0.19167667627334595, 0.04515334963798523, 0.16953204572200775, 0.1255796104669571, 0.10709120333194733, 0.07817792892456055, 0.2433929145336151, -0.0010137856006622314, 0.208472341299057, 0.1492140144109726, 0.16075751185417175, 0.10744180530309677, 0.20570628345012665, 0.14681965112686157, 0.1639157384634018, 0.12051519751548767, 0.08949721604585648, 0.17350129783153534, 0.08052334934473038, 0.1300780326128006, 0.11562107503414154, 0.14775744080543518, 0.028359487652778625, 0.09761711955070496, 0.2580840289592743, 0.1683932989835739, 0.1739884316921234, 0.11108951270580292, 0.1250273585319519, 0.08096953481435776, 0.18282821774482727, 0.07423988729715347, 0.0580107718706131, 0.18791210651397705, 0.05716945230960846, 0.1582973450422287, 0.12504033744335175, 0.17398935556411743, 0.14772000908851624, 0.17627210915088654, 0.16975757479667664, 0.19895759224891663, 0.2077254354953766, 0.1328761875629425, -0.024795986711978912, 0.0026540905237197876, 0.15388070046901703, 0.11042175441980362, 0.048065438866615295, 0.13075044751167297, 0.1159643679857254, 0.17500753700733185, 0.22264118492603302, 0.16724207997322083, 0.17018918693065643, -0.016788557171821594, 0.19117914140224457, 0.28322675824165344, -0.01938743144273758, 0.18426866829395294, 0.15335522592067719, 0.10557135939598083, 0.0737750232219696, 0.13916829228401184, 0.11174219101667404, 0.14695772528648376, 0.03300678730010986, 0.16642872989177704, 0.19557055830955505, 0.14142784476280212, 0.12656933069229126, 0.12174545228481293, 0.1936463713645935, 0.13997887074947357, 0.06447289884090424, 0.16246972978115082, -0.004848681390285492, 0.13655167818069458, 0.17382851243019104, 0.0927547961473465], \"y\": [-0.15166328847408295, -0.08575445413589478, -0.13084793090820312, -0.027212345972657204, -0.06710436940193176, -0.06352850794792175, -0.1810995489358902, -0.08293206244707108, -0.029450448229908943, -0.2256426066160202, -0.043994735926389694, -0.04095086082816124, -0.1302672177553177, -0.05109109729528427, -0.06985187530517578, -0.05160778760910034, -0.0358806811273098, -0.033648811280727386, -0.024411354213953018, -0.09563855081796646, -0.12469135224819183, 0.062586210668087, -0.08354434370994568, -0.05762594938278198, -0.13595174252986908, -0.004094153642654419, -0.1314125657081604, -0.20822285115718842, -0.13830623030662537, -0.028102774173021317, -0.06355918198823929, -0.0951058641076088, -0.06396552175283432, 0.007115982472896576, -0.029205122962594032, -0.07627775520086288, -0.005306348204612732, -0.1200806200504303, -0.2055336833000183, -0.1396051049232483, -0.09581238776445389, -0.06911030411720276, -0.10975982248783112, -0.14383599162101746, -0.14518851041793823, -0.0938594713807106, -0.038698501884937286, -0.18286514282226562, -0.06821752339601517, -0.12885050475597382, -0.22074846923351288, -0.061500802636146545, -0.1720340996980667, -0.14342236518859863, -0.07347635924816132, -0.05101647973060608, 0.0033575892448425293, -0.14406076073646545, -0.04488532245159149, -0.06827297806739807, -0.06549499928951263, -0.16551390290260315, 0.020828112959861755, -0.0367150753736496, -0.08055897802114487, -0.0694340169429779, -0.04140501096844673, -0.04884859174489975, -0.15764933824539185, -0.020293693989515305, -0.09270025789737701, -0.03020945005118847, -0.02606816589832306, -0.07859586179256439, -0.17572543025016785, -0.06870666146278381, -0.08650675415992737, 0.06820736825466156, -0.05777799338102341, -0.14595510065555573, -0.09653967618942261, -0.15195302665233612, -0.1202973797917366, 0.03656742721796036, -0.10194094479084015, -0.19485792517662048, -0.045938700437545776, -0.1806129664182663, -0.12354137003421783, -0.031910140067338943, -0.06064777076244354, -0.06249060854315758, -0.06473860144615173, -0.1079103872179985, -0.1404038816690445, -0.0028995461761951447, -0.0865466296672821, -0.13087056577205658, -0.1235283687710762, -0.13640795648097992, -0.1307050883769989]}, {\"marker\": {\"color\": 37, \"size\": 5}, \"mode\": \"markers\", \"name\": \"32\", \"text\": [\"iPhone SE 256GB White\", \"iPhone SE 64GB White\", \"iPhone XR 64GB Black\", \"iPhone 7 256GB Jet Black \", \"iPhone 11 64GB (Product) Red    \", \"iPhone XR 256GB (Product) Red \", \"iPhone XR 128GB (Product) Red \", \"iPhone 11 Pro 256GB Space Grey \", \"iPhone SE 256GB Black\", \"iPhone XR 256GB Black \", \"iPhone XR 64GB White\", \"iPhone 11 Pro Max 256GB Gold  \", \"iPhone 11 Pro 64GB Space Grey\", \"Apple TV 32GB  (4th Gen) \", \"iPhone 11 256GB Black\", \"iPhone SE 128GB (PRODUCT) Red \", \"iPhone 11 128GB (Product) Red    \", \"iPhone 11 64GB Purple  \", \"iPhone SE 64GB Black \", \"iPhone 11 Pro 256GB Gold    \", \"iPhone 11 Pro Max 64GB Gold   \", \"iPhone XR 64GB (Product) Red \", \"iPhone 11 128GB Purple\", \"iPhone 11 128GB White \", \"iPhone SE 64GB (PRODUCT) Red\", \"iPhone 11 Pro Max 256GB Silver  \", \"iPhone SE 256GB (Product) Red\", \"iPhone XR 128GB White \", \"iPhone X 64GB Silver\", \"iPhone XR 128GB Blue \", \"iPhone XR 256GB White\", \"iPhone 7 Plus 256GB (Product) Red Special Edition\", \"iPhone 11 128GB Black \", \"iPhone 11 Pro Max 64GB Midnight Green    \", \"iPhone SE 128GB White \", \"iPhone 11 256GB White \", \"iPhone 11 256GB (Product) Red   \", \"iPhone SE 128GB Black\", \"iPhone 11 64GB Black \", \"iPhone XS 512GB Silver\", \"iPhone 11 Pro 64GB Midnight Green  \", \"iPhone X 64GB Space Grey\", \"iPhone X 256GB Space Grey\", \"iPhone 11 Pro Max 64GB Space Grey  \", \"iPhone 11 64GB White \"], \"type\": \"scatter\", \"x\": [0.27913379669189453, 0.2577171325683594, 0.2921225428581238, 0.3276939392089844, 0.29655230045318604, 0.281899631023407, 0.28256088495254517, 0.31068965792655945, 0.31679654121398926, 0.30187106132507324, 0.25928518176078796, 0.30698129534721375, 0.3037289083003998, 0.3293188214302063, 0.3304075598716736, 0.3009550869464874, 0.30963099002838135, 0.28576377034187317, 0.2943241000175476, 0.3030374050140381, 0.2976882755756378, 0.2753302752971649, 0.29391488432884216, 0.2899567484855652, 0.28394976258277893, 0.2978491187095642, 0.2908334732055664, 0.2652219831943512, 0.2641247510910034, 0.299071341753006, 0.269481897354126, 0.30470436811447144, 0.3220820724964142, 0.29941678047180176, 0.27324044704437256, 0.29633015394210815, 0.31249547004699707, 0.30779701471328735, 0.3117993175983429, 0.28466230630874634, 0.28518301248550415, 0.2765159010887146, 0.2909582257270813, 0.31164366006851196, 0.2754870355129242], \"y\": [0.15707452595233917, 0.20633360743522644, 0.18475556373596191, 0.1441582441329956, 0.1494571566581726, 0.05829787254333496, 0.08314874768257141, 0.15172985196113586, 0.1492270529270172, 0.1476721316576004, 0.18238098919391632, 0.15564808249473572, 0.188860684633255, 0.2799912989139557, 0.1753685474395752, 0.10652530193328857, 0.10457365214824677, 0.19978976249694824, 0.19586294889450073, 0.16341441869735718, 0.1894288808107376, 0.11747097223997116, 0.17460903525352478, 0.18801163136959076, 0.13813933730125427, 0.1371164470911026, 0.06679198890924454, 0.16299830377101898, 0.2003864049911499, 0.10625141113996506, 0.14405639469623566, 0.12033272534608841, 0.18795229494571686, 0.1695988029241562, 0.17949533462524414, 0.17702323198318481, 0.09348976612091064, 0.1728152334690094, 0.2090413123369217, 0.16489392518997192, 0.17672660946846008, 0.2049594521522522, 0.16552050411701202, 0.178850457072258, 0.2137850672006607]}, {\"marker\": {\"color\": 38, \"size\": 5}, \"mode\": \"markers\", \"name\": \"33\", \"text\": [\"Bosch - PBH6B5B80A - Serie | 2 60cm 2 Gas Hob Cooktop\", \"Bosch - Serie | 6 Induction Cooktop 80 cm Black - PVS875FB5E \", \"Bosch - DWB91PR50A - 90cm Wall-Mounted Canopy Rangehood\", \"Bosch - HBA574BS0A - 60cm Built-in Oven\", \"Bosch - Serie 6 | SMV66MX01A - 60cm Fully Integrated Dishwasher\", \"Bosch - Serie | 8 Oven Black - HBG6753B1A \", \"Bosch - DHL555BAU - 53 cm Integrated Rangehood\", \"Bosch - HLS79R350A - Serie | 6 60cm Electric Freestanding Cooker\", \"Bosch - DWP66BC50A - Serie 2 Canopy Rangehood\", \"Bosch - PUE611BB1E - Serie | 4 60cm Induction Cooktop\", \"Bosch -  Serie | 8 Oven Black HBG675BB2A \", \"Bosch - Serie | 4 SMS46KI01A - 60cm Freestanding Dishwasher\", \"Bosch - Serie | 2 SMS40E08AU - 60cm Freestanding Dishwasher     \", \"Bosch - HRG675BS1B - Serie | 8 Built-in oven with added Steam Function \", \"Bosch Serie | 8 HSG656XB6A - 60cm Built-in Steam Oven - Black\", \"Bosch - DWP96BC50A - Serie 2 Canopy Rangehood\", \"Bosch - DFM064W50A - 60cm Slideout Rangehood\", \"Bosch - WTA74200AU - 7kg Classixx Sensor Vented Dryer\", \"Bosch - Serie | 6  PPS9A6B90A - 90cm Gas Cooktop - Tempered Glass\", \"Bosch - HEZ633073 - Professional Pan\", \"Bosch - Serie | 8 WTW87566AU - 9kg Heat Pump Tumble Dryer\", \"Bosch - Serie | 4 PIJ611BB1E - 60 cm Induction Cooktop\", \"Bosch - Serie | 6 WTG86400AU - 8kg Condenser Dryer\", \"Bosch - PBH6B5B90A - Serie | 2 60 cm Gas Hob Cooktop\", \"Bosch - HKS79R250A - Serie | 6 60cm Free Standing Electric Cooker\", \"Bosch - HEZ381401 - Exhaust Kit\", \"Bosch - VBD578FS0 - Series 6 90 cm Built-In Oven - Stainless Steel\", \"Bosch - Serie | 8 CSG656RS2A - 60cm Compact Combination Steam Oven\", \"Bosch - Serie 6 | HVA541NS0 - 90cm Built-in Multifunction Oven\", \"Bosch - Serie | 8 WTW87565AU - 9Kg Heat Pump Dryer  \", \"Bosch - DWB97LM50A - 90cm Canopy Rangehood\", \"Bosch - DHI625NAU - Slide Out Rangehood\", \"Bosch - Serie | 6 SMS66MW01A - 60cm Freestanding Dishwasher - White \", \"Bosch - Serie | 8 WTW87564AU - 9kg Heat Pump Tumble Dryer\", \"Bosch - SMS88TI01A - Serie | 8 Freestanding 60 cm Dishwasher  \", \"Bosch - Serie 8 | HBG633BS1A - 60cm Built-in Oven \", \"Bosch - Serie | 8 PKN675DB1A - 60cm Ceramic Cooktop\", \"Bosch - Serie | 8 SMI88TS02A - 60cm Semi-Integrated Dishwasher\", \"Bosch - DFR067A50A - 60cm Slideout Rangehood\", \"Bosch - DHI635KAU - Slideaway Rangehood\", \"Bosch - BCH6AT25AU - Cordless Handstick Vacuum Cleaner \", \"Bosch - HBG633BB1B - 60cm Built-in Oven \", \"Bosch - Series 4 | PKF645D17A - 60cm Ceramic Cooktop \", \"Bosch - WTZ20410 - Stacking Kit \", \"Bosch - Serie | 8 Built-in Oven with Steam-function - HRG6769B2A\", \"Bosch - Serie | 4  WTH85200AU - Tumble Dryer with Heat Pump\", \"Bosch - VBC578FS0 - Series 6 90 cm Built-In Oven\", \"Bosch - PCT9A5B90A - Serie | 6 90 cm Gas Cooktop \", \"Bosch - Serie | 8 Compact Combination Steam Oven Black - CSG656RB1A \", \"Bosch - DHL895DAU - 86cm Integrated Rangehood\", \"Bosch - MBA534BS0A - 60cm Double Oven\", \"Bosch - Serie | 8 WAW28620AU - 9kg Front Load Washing Machine\", \"Bosch - VBC5540S0 -  Serie | 4 90 cm Built-in Oven \", \"Bosch - HBF133BS0A - 60cm Built-in Oven\", \"Bosch - DHL575CAU - 52cm Integrated Rangehood\", \"Bosch - Serie 8 | HRG6767S2A - 60cm Built-in Oven with Added Steam \", \"Bosch - BEL554MS0A - Serie 6 Built-in Microwave Oven\", \"Bosch - HSB838357A - Series 8 90cm Dual Fuel Range Freestanding Cooker\", \"Bosch - DLN54AA70A - 53cm Integrated Rangehood\", \"Bosch - Serie 8 | BIC630NS1A - Warming Drawer\", \"Bosch - WTZ11400 - Stacking Kit\", \"Bosch - HEZ390511 - Teppan Yaki (Small)\", \"Bosch - HEZ633001 - Lid for Professional Pan\", \"Bosch - MBG5787S0A - 60cm Double Oven\", \"Bosch - BCHF220GAU - Readyy'y 20V max Rechargeable Vacuum\", \"Bosch - HEZ390090 - Wok\", \"Bosch - Serie | 6 - SMP66MX01A - 60cm Built-under Dishwasher\", \"Bosch - DHL895CAU - 86cm Integrated Rangehood\", \"Bosch - Serie | 8 Compact Combination Microwave Oven Black - CMG633BB1A\", \"Bosch - Serie 6 | HBA13B253A - 60cm Built-in Oven \", \"Bosch - Serie | 4 - SMS46GW01A - 60cm Freestanding Dishwasher \", \"Bosch Serie | 8 Built-In Fully Automatic Coffee Machine - CTL636ES6 - Stainless Steel\", \"Bosch - HXR39KI50A - Serie | 4 60cm Freestanding Cooker\", \"Bosch - HEZ381501 - Recirculating Kit\", \"Bosch - PCH615B9TA - 60cm Gas Cooktop \", \"Bosch - Serie | 6 SMU66MS02A - 60cm Built-under Dishwasher\", \"Bosch - Serie | 6 SMS66MI02A - 60cm Freestanding Dishwasher\", \"Bosch - HSB738357A -  Serie | 6 90 cm Dual Fuel Range Freestanding Cooker \", \"Bosch - Serie | 6 PCR9A5B90A - 90cm Gas Cooktop \", \"Bosch - Serie | 8 WAW28420AU - 9kg  Front Load Washing Machine\", \"Bosch HXU09AH50A - Serie | 4 60cm Dual Fuel Freestanding Cooker\", \"Bosch - PBH6B5B60A -  Serie | 2 60 cm Gas Cooktop \", \"Bosch - Serie | 6  PPH6A6B20A - 60cm Gas Cooktop \", \"Bosch Serie | 8 Built-In Fully Automatic Coffee Machine - CTL636EB6 - Black\", \"Bosch - WMZ20600 - Stacking Kit\", \"Bosch - WTB86200AU - Avantixx Condenser Dryer \", \"Bosch - Serie | 6  SMP66MX02A - 60 cm Built-under Dishwasher - White\", \"Bosch - Serie | 8 SMV88TX02A - 60cm Fully-integrated Dishwasher\", \"Bosch - Serie | 6  SPS60M08AU - 45cm Freestanding Dishwasher\", \"Bosch - Serie | 8 CMG633BS1B - 60cm Compact Oven With Microwave\", \"Bosch - Serie 8 | SBV88TX06A - 60cm Fully-Integrated Dishwasher\", \"Bosch - SERIE | 6 SMI66MS01A - 60cm Semi-integrated Dishwasher\", \"Bosch - Serie | 6 PCR7A5B90A 75cm Gas Cooktop \", \"Bosch - Serie | 6 SPU68M05AU - 45cm Built-under Dishwasher- Stainless steel\", \"Bosch -  Serie 8 | PIV975DC1E - 90 cm Induction Cooktop  \", \"Bosch - HEZ390011 - Induction Roaster\", \"Bosch - HBA534ES0A - Serie 4 Oven\", \"Bosch - SERIE | 6 SMP66MX03A - 60cm Underbench Dishwasher - Black\", \"Bosch - PVS675FB5E - 60cm Induction Cooktop\", \"Bosch - DFS067A50A - 60cm Slideout Rangehood\", \"Bosch -  Serie | 6 Induction Cooktop with Integrated Ventilation - PVS851F21E \", \"Bosch - 60cm Gas Cooktop - PCI6A5B90A \"], \"type\": \"scatter\", \"x\": [-0.3139549791812897, -0.26299774646759033, -0.16631370782852173, -0.3950546085834503, -0.22025442123413086, -0.2276960015296936, -0.13961099088191986, -0.28700587153434753, -0.11852888762950897, -0.2534533143043518, -0.21962034702301025, -0.22483167052268982, -0.2229364812374115, -0.230709046125412, -0.30228808522224426, -0.12728562951087952, -0.19784626364707947, -0.10969775170087814, -0.299744188785553, -0.16430599987506866, -0.1387484073638916, -0.2727483808994293, -0.19678065180778503, -0.3210582137107849, -0.25781887769699097, -0.14596980810165405, -0.3814312815666199, -0.31789764761924744, -0.35339394211769104, -0.15475502610206604, -0.17627164721488953, -0.11797385662794113, -0.2213040292263031, -0.14102071523666382, -0.19572505354881287, -0.3083575963973999, -0.2480354905128479, -0.21001335978507996, -0.17909832298755646, -0.11284726113080978, -0.1318034678697586, -0.4080439507961273, -0.31307393312454224, -0.10896023362874985, -0.28270527720451355, -0.12668687105178833, -0.4070946276187897, -0.27305537462234497, -0.24649649858474731, -0.16477403044700623, -0.37646564841270447, -0.10397481173276901, -0.3002135157585144, -0.3985555171966553, -0.15930387377738953, -0.3379186689853668, -0.2612440288066864, -0.3433753252029419, -0.1504310965538025, -0.1553681492805481, -0.09032437950372696, -0.21817585825920105, -0.15935736894607544, -0.3579314351081848, -0.14613404870033264, -0.17162761092185974, -0.2185557782649994, -0.17354440689086914, -0.20520508289337158, -0.32937130331993103, -0.24856474995613098, -0.10875315964221954, -0.27289581298828125, -0.13794103264808655, -0.37592095136642456, -0.23091468214988708, -0.24253731966018677, -0.2713053524494171, -0.3113694489002228, -0.10562179237604141, -0.2729703485965729, -0.30134859681129456, -0.3086003363132477, -0.0483570471405983, -0.13907364010810852, -0.17821982502937317, -0.20673412084579468, -0.21661105751991272, -0.2421760857105255, -0.2517915666103363, -0.23781171441078186, -0.24196437001228333, -0.31382328271865845, -0.22358456254005432, -0.23763132095336914, -0.1807159185409546, -0.30613797903060913, -0.2156953513622284, -0.32933852076530457, -0.18142080307006836, -0.2794693410396576, -0.31795188784599304], \"y\": [0.09692376106977463, 0.02236277237534523, -0.09055713564157486, 0.01957690715789795, 0.09245932847261429, 0.010574135929346085, -0.05966904014348984, 0.09602534025907516, -0.08738183230161667, 0.018550578504800797, 0.007716380059719086, 0.07456973940134048, 0.0639958307147026, 0.04973079264163971, 0.16177892684936523, -0.09657622873783112, -0.03700205683708191, 0.014155663549900055, 0.10518448054790497, -0.11714571714401245, 0.039557527750730515, 0.022900791838765144, 0.049157075583934784, 0.11024300754070282, 0.08616484701633453, -0.09878095984458923, 0.06634880602359772, 0.14057621359825134, 0.05285144969820976, 0.05686250329017639, -0.09618663787841797, -0.13952481746673584, 0.06562042981386185, 0.03990698233246803, 0.13217413425445557, 0.09205101430416107, 0.030823154374957085, 0.09178844839334488, -0.0452028252184391, -0.14508056640625, -0.11807919293642044, 0.03487435728311539, 0.05452107638120651, -0.0832614153623581, 0.05486270785331726, 0.03583482652902603, 0.060532111674547195, 0.14314033091068268, 0.06194312870502472, -0.04049035906791687, -0.004397474229335785, 0.051964301615953445, 0.08206883072853088, 0.019217226654291153, -0.024290716275572777, 0.14341126382350922, -0.03515242412686348, 0.0670769140124321, -0.04327888414263725, -0.02352152019739151, -0.07880176603794098, -0.0986170619726181, -0.1174926683306694, 0.03823145478963852, -0.06407737731933594, -0.07904575765132904, 0.06834043562412262, -0.039659205824136734, -0.00023737922310829163, 0.06173674389719963, 0.0910794734954834, 0.017946142703294754, 0.09076456725597382, -0.11312086135149002, 0.06512735038995743, 0.09035007655620575, 0.087132029235363, 0.03615044802427292, 0.09374970197677612, 0.039961524307727814, 0.09947151690721512, 0.09891580790281296, 0.08327574282884598, -0.0054894909262657166, -0.09158474951982498, -0.06748667359352112, 0.05986041948199272, 0.10285504162311554, 0.09482913464307785, 0.06477010250091553, 0.10422760993242264, 0.05231505259871483, 0.08646391332149506, 0.0716034471988678, 0.03770671412348747, -0.10336755961179733, 0.014801029115915298, 0.03988208621740341, 0.024439774453639984, -0.036571431905031204, 0.010528374463319778, 0.07877378910779953]}, {\"marker\": {\"color\": 39, \"size\": 5}, \"mode\": \"markers\", \"name\": \"34\", \"text\": [\"Samsung - SM-A315GZKVXSA - Galaxy A31 Prism Crush Black\", \"Samsung Galaxy Buds Live - SM-R180NZKAASA - Mystic Black\", \"Samsung - Galaxy Note9 - 128GB  - Midnight Black - SM-N960FZKDXSA\", \"Samsung - Galaxy S8 64GB - Midnight Black - SM-G950FZKAXSA \", \"Samsung Galaxy Watch 3 (41mm) - SM-R850NZDAXSA - Bluetooth - Bronze \", \"Samsung - SM-R365NZKAXSA - Gear Fit2 Pro Large  \", \"Samsung - SM-J105YZWAXSA - Galaxy J1 mini - White - Unlocked\", \"Samsung SM-R170NZWAXSA - Galaxy Buds - White\", \"Samsung Galaxy Watch Active - SM-R500NZSAXSA - Silver\", \"Samsung - SM-R800NZSAXSA - Galaxy Watch (46mm) - Bluetooth - Silver \", \"Samsung Galaxy Note20 Ultra - SM-N985FZKEXSA - 256GB - Mystic Black \", \"Samsung Galaxy Note20 - SM-N980FZAEXSA  - 256GB - Mystic Grey   \", \"Samsung - SM-P610NZAAXSA - Galaxy Tab S6 Lite Wi-Fi 64GB\", \"Samsung - SM-R365NZRNXSA - Gear Fit2 Pro Small - Black/Red\", \"Samsung - SM-P610NZAEXSA - Galaxy Tab S6 Lite Wi-Fi 128GB\", \"Samsung - Galaxy Tab S4 10.5\\\" 4G 64GB Black - SM-T835NZKAXSA   \", \"Samsung - Galaxy Note 8 - 64GB  - Midnight Black - SM-N950FZKAXSA  \", \"Samsung Galaxy S20+ (5G) SM-G986BZAEXSA - 512GB - Cosmic Grey  \", \"Samsung Galaxy S20 (5G) - SM-G981BZAAXSA - 128GB - Cosmic Grey  \", \"Samsung - SM-A715FZKDXSA - Galaxy A71 Black\", \"Samsung Galaxy S20 - SM-G980FZAAXSA - 128GB - Cosmic Grey  \", \"Samsung - Galaxy Note 9 - 128GB  - Ocean Blue - SM-N960FZBDXSA\", \"Samsung Galaxy S20+  SM-G985FZKAXSA - 128GB - Cosmic Black\", \"Samsung Galaxy S20 - SM-G980FZIAXSA - 128GB - Cloud Pink\", \"Samsung Galaxy S10 - SM-G973FZKGXSA - 512GB - Prism Black\", \"Samsung - SM-G960FZKFXSA - Galaxy S9 256GB - Midnight Black \", \"Samsung - SM-G965FZDFXSA - Galaxy S9+ 256GB Sunrise Gold\", \"Samsung Galaxy Note20 - SM-N980FZGEXSA - 256GB - Mystic Green\", \"Samsung - MB-MC256GA/APC - 256GB EVO Plus microSD Card\", \"Samsung - SM-A315GZRVXSA - Galaxy A31 Prism Crush Red \", \"Samsung - SM-G570YZKAXSA - Galaxy J5 Prime Black - Unlocked\", \"Samsung - Galaxy S8+ 64GB - Midnight Black - SM-G955FZKAXSA  \", \"Samsung Galaxy Note20 5G - SM-N981BZGEXSA - 256GB - Mystic Green\", \"Samsung Galaxy Note20 5G - SM-N981BZAEXSA  - 256GB - Mystic Grey \", \"Samsung - SM-A515FZKFATS - Galaxy A51 - Black\", \"Samsung - SM-A715FZSDXSA - Galaxy A71 Silver \", \"Samsung Galaxy A70 - 128GB Black - SM-A705YZKNXSA \", \"Samsung - Galaxy A5 Smartphone - Gold - SM-A520FZDAXSA\", \"Samsung - SM-T290NZKAXSA - Galaxy Tab A 8.0\\\" Wi-Fi 32GB - Black  \", \"Samsung - SM-G935FZKAXSA - Galaxy S7 Edge 32GB - Black\", \"Samsung Galaxy Watch Active - SM-R500NZDAXSA - Rose Gold\", \"Samsung - SM-G965FZKAXSA - Galaxy S9+ 64GB - Midnight Black\", \"Samsung - SM-G960FZKAXSA - Galaxy S9 64GB - Midnight Black \", \"Samsung - SM-G930FZDAXSA - Galaxy S7 32GB - Gold\", \"Samsung Galaxy Note20 - SM-N980FZNEXSA - 256GB - Mystic Bronze \", \"Samsung - SM-A217FZKAXSA - Galaxy A21s Black\", \"Samsung Galaxy Buds Live - SM-R180NZNAASA - Mystic Bronze\", \"Samsung Galaxy Watch Active2 -  Aluminum Bluetooth 44mm - Rose Gold\", \"Samsung - SM-G570YWDAXSA - Galaxy J5 Prime White/Gold - Unlocked\", \"Samsung - SM-G930FZSAXSA - Galaxy S7 32GB - Silver\", \"Samsung - SM-G930FZKAXSA - Galaxy S7 32GB - Black\", \"Samsung - SM-T510NZKGXSA - Galaxy Tab A - 10.1\\\" Wi-Fi 128GB\", \"Samsung Galaxy S20 - SM-G980FLBAXSA - 128GB - Cloud Blue \", \"Samsung Galaxy S20 Ultra 5G - SM-G988BZKEXSA - 512GB - Cosmic Black  \", \"Samsung Galaxy S20+ (5G) SM-G986BZAAXSA - 128GB - Cosmic Grey \", \"Samsung Galaxy S20 Ultra 5G - SM-G988BZKAXSA - 128GB - Cosmic Black\", \"Samsung Galaxy S10+ SM-G975FCWGXSA - 512GB - Porcelain White\", \"Samsung Galaxy Note20 Ultra 5G -SM-N986BZNEXSA - 256GB - Mystic Bronze\", \"Samsung Galaxy Watch 3 (45mm) - SM-R840NZKAXSA -  Bluetooth - Black \", \"Samsung - SM-R600NZKAXSA - Gear Sport Smartwatch - Black   \", \"Samsung - SM-R810NZKAXSA - Galaxy Watch (42mm) - Bluetooth - Midnight Black\", \"Samsung - SM-J530YZDEXSA - Galaxy J5 Pro - Gold\", \"Samsung - SM-R7200ZWAXSA - Gear S2 - Silver/White\", \"Samsung - SM-R600NZBAXSA - Gear Sport - Blue\", \"Samsung - MB-MC128GA/APC - 128GB EVO Plus microSD Card \", \"Samsung Galaxy Note20 Ultra 5G - SM-N986BZWEXSA - 256GB - Mystic White\", \"Samsung - SM-R7320ZKAXSA - Gear S2 Classic\", \"Samsung Galaxy S20+ (5G) SM-G986BZKAXSA - 128GB - Cosmic Black\", \"Samsung Galaxy S20 Ultra 5G - SM-G988BZAAXSA - 128GB - Cosmic Grey \", \"Samsung - SM-R170NZKAXSA - Galaxy Buds\", \"Samsung Galaxy S10+ SM-G975FZKAXSA - 128GB - Prism Black \", \"Samsung Galaxy Tab S6 SMT-T860 - 10.5\\\" - Wi-Fi - 128GB - Grey\", \"Samsung - SM-R810NZDAXSA - Galaxy Watch (42mm) - Bluetooth - Rose Gold\", \"Samsung - SM-R150NZKAXSA - Gear IconX\", \"Samsung - SM-A115FZWAXSA - Galaxy A11 Smartphone - White\", \"Samsung - Galaxy Note 8 - 64GB  - Gold - SM-N950FZDAXSA \", \"Samsung - Galaxy S8+ 64GB - Maple Gold - SM-G955FZDAXSA \", \"Samsung - SM-A530FZKAXSA - Galaxy A8 Black\", \"Samsung Galaxy Watch Active2 -  Aluminum Bluetooth 44mm - Black\", \"Samsung - SM-A908BZKAXSA - Galaxy A90 5G\", \"Samsung - SM-A515FZBFATS - Galaxy A51 - Blue\", \"Samsung Galaxy S20+ (5G) SM-G986BLBAXSA - 128GB - Cloud Blue   \", \"Samsung Galaxy S20+  SM-G985FZAAXSA - 128GB - Cosmic Grey  \", \"Samsung - Galaxy Tab S4 10.5\\\" 4G 256GB Black - SM-T835NZKLXSA\", \"Samsung Galaxy Note20 5G - SM-N981BZNEXSA - 256GB - Mystic Bronze  \", \"Samsung Galaxy Tab S6 SMT-T865 - 10.5\\\" - 4G - 128GB - Iron Grey\", \"Samsung Galaxy S10+ SM-G975FCKGXSA - 512GB - Ceramic Black\", \"Samsung - SM-J810YZDDXSA - Galaxy J8 Smartphone - 32GB - Gold  \", \"Samsung - SM-A217FZWAXSA - Galaxy A21s White\", \"Samsung - SM-J730GZKEXSA - Galaxy J7 Pro - Black\", \"Samsung - SM-G960FZBAXSA - Galaxy S9 64GB - Coral Blue  \", \"Samsung - MB-MC64GA/APC - 64GB EVO Plus microSD Card\", \"Samsung - Galaxy S8 64GB - Maple Gold - SM-G950FZDAXSA    \", \"Samsung - SM-G965FZKFXSA - Galaxy S9+ 256GB - Midnight Black \", \"Samsung Galaxy Buds Live - SM-R180NZWAASA - Mystic White\", \"Samsung Galaxy A20 32GB Blue - SM-A205YZBTXSA   \", \"Samsung - SM-G965FZDAXSA - Galaxy S9+ 64GB Sunrise Gold \", \"Samsung Galaxy Note20 Ultra 5G - SM-N986BZKFXSA - 512GB - Mystic Black   \", \"LG - LM-X210YMW - K9 Smart Phone\", \"Samsung - Galaxy A30 32GB White - SM-A305YZWNXSA \", \"Samsung - Gear Fit2 Pro Large - SM-R365NZRAXSA\", \"Samsung Galaxy Note10 - 256GB - Aura Black\", \"Samsung Galaxy S20+  SM-G985FLBAXSA - 128GB - Cloud Blue \", \"Samsung - SM-J120ZZWNXSA - White Galaxy J1 (2016) 8GB\", \"Samsung - Galaxy S8 64GB - Orchid Grey - SM-G950FZVAXSA       \", \"Samsung - Galaxy J1 - SM-J100YZWAXSA - White\", \"Samsung - Galaxy Note 3 Premium Wallet\", \"Samsung - MB-MC512GA/APC - 512GB EVO Plus microSD Card\", \"Samsung - SM-J320ZZWNXSA - Galaxy J3 2106 - White\", \"Samsung - SM-G965FZPAXSA - Galaxy S9+ 64GB - Lilac Purple \", \"Samsung - SM-G960FZPAXSA - Galaxy S9 64GB - Lilac Purple\", \"Samsung Galaxy Watch Active - SM-R500NZKAXSA - Black \", \"Samsung - SM-T510NZKDXSA - Galaxy Tab A 10.1 Wi-Fi 32GB\", \"Samsung Galaxy Note20 Ultra 5G -SM-N986BZKEXSA - 256GB - Mystic Black\", \"Samsung - SM-J810YZKDXSA - Galaxy J8 Smartphone - 32GB - Black  \", \"Samsung Galaxy S10 - SM-G973FZWGXSA - 512GB - Prism White \", \"Samsung - SM-A115FZKAXSA - Galaxy A11 Smartphone - Black\"], \"type\": \"scatter\", \"x\": [0.19079293310642242, 0.19460833072662354, 0.26736265420913696, 0.243509903550148, 0.2301936000585556, 0.16883115470409393, 0.2256978452205658, 0.13945280015468597, 0.1998445838689804, 0.24621668457984924, 0.24951274693012238, 0.2484840601682663, 0.24450740218162537, 0.2176598608493805, 0.23760685324668884, 0.3016182482242584, 0.26472151279449463, 0.27705007791519165, 0.27547430992126465, 0.24751156568527222, 0.25029152631759644, 0.2644069790840149, 0.2487877756357193, 0.24493539333343506, 0.26291990280151367, 0.23789845407009125, 0.20988234877586365, 0.22977040708065033, 0.28379449248313904, 0.18180851638317108, 0.24964678287506104, 0.2563939392566681, 0.24526861310005188, 0.2644561231136322, 0.23053506016731262, 0.20392394065856934, 0.3066880702972412, 0.27805113792419434, 0.31471186876296997, 0.2592937648296356, 0.21110215783119202, 0.237431600689888, 0.23113787174224854, 0.2395918071269989, 0.2160320281982422, 0.23560155928134918, 0.16099029779434204, 0.24390210211277008, 0.24296072125434875, 0.226435124874115, 0.2617431879043579, 0.31127750873565674, 0.25433626770973206, 0.24616548418998718, 0.2823983430862427, 0.24833741784095764, 0.1798606961965561, 0.22089992463588715, 0.25989457964897156, 0.23879678547382355, 0.24749715626239777, 0.2683648467063904, 0.18771524727344513, 0.20982612669467926, 0.27837178111076355, 0.22409853339195251, 0.18829794228076935, 0.27308061718940735, 0.25701069831848145, 0.1625099778175354, 0.26732584834098816, 0.2861398756504059, 0.23878441751003265, 0.17982470989227295, 0.2530885934829712, 0.25163498520851135, 0.23122122883796692, 0.26969707012176514, 0.26791277527809143, 0.22040770947933197, 0.23320995271205902, 0.288862943649292, 0.2564013600349426, 0.3084535300731659, 0.23314768075942993, 0.25391680002212524, 0.2015751749277115, 0.29097676277160645, 0.20696300268173218, 0.31067827343940735, 0.24197760224342346, 0.26805949211120605, 0.21498428285121918, 0.2463606745004654, 0.14762911200523376, 0.31467539072036743, 0.21281318366527557, 0.24654319882392883, 0.1632334589958191, 0.25452685356140137, 0.20038624107837677, 0.31100142002105713, 0.2610081434249878, 0.28728604316711426, 0.24840301275253296, 0.24625125527381897, 0.2762957513332367, 0.2767471969127655, 0.21749737858772278, 0.24058394134044647, 0.23265689611434937, 0.23075227439403534, 0.3052031397819519, 0.25177013874053955, 0.3132242262363434, 0.22390145063400269, 0.27972012758255005], \"y\": [0.314876914024353, 0.0782727375626564, 0.41514891386032104, 0.4319589138031006, 0.18725042045116425, 0.20161348581314087, 0.23512402176856995, 0.18988767266273499, 0.2536170184612274, 0.1564599871635437, 0.3796464800834656, 0.34049928188323975, 0.4005374312400818, 0.1839790940284729, 0.37192994356155396, 0.45836341381073, 0.4162691533565521, 0.3683316707611084, 0.38274937868118286, 0.3369545042514801, 0.3743996024131775, 0.39176613092422485, 0.3861057162284851, 0.3632296323776245, 0.4133528769016266, 0.4353884160518646, 0.4162113070487976, 0.369539737701416, 0.27272599935531616, 0.30306553840637207, 0.322479784488678, 0.4251542091369629, 0.39588290452957153, 0.3748372495174408, 0.3033691942691803, 0.3278249502182007, 0.4146569073200226, 0.29155951738357544, 0.35298052430152893, 0.4296052157878876, 0.2572745084762573, 0.4371091425418854, 0.4392859637737274, 0.4521392285823822, 0.3473556339740753, 0.29262644052505493, 0.10731736570596695, 0.17460665106773376, 0.3395611643791199, 0.43896785378456116, 0.44593697786331177, 0.37107816338539124, 0.3373408317565918, 0.4042767286300659, 0.38263028860092163, 0.40282905101776123, 0.36869174242019653, 0.3971353769302368, 0.1717815101146698, 0.24860446155071259, 0.1915803700685501, 0.3106144666671753, 0.2697353661060333, 0.13124650716781616, 0.29181671142578125, 0.39251911640167236, 0.2771341800689697, 0.39475733041763306, 0.39172619581222534, 0.1978234052658081, 0.3915048837661743, 0.38501131534576416, 0.21304960548877716, 0.19496598839759827, 0.34773609042167664, 0.43684035539627075, 0.4313434958457947, 0.34555691480636597, 0.1588229387998581, 0.3663758635520935, 0.24944502115249634, 0.35753917694091797, 0.36990854144096375, 0.45963573455810547, 0.378579318523407, 0.42559385299682617, 0.4087409973144531, 0.415829598903656, 0.3103410601615906, 0.35418397188186646, 0.41931021213531494, 0.32153767347335815, 0.4411460757255554, 0.4347198009490967, 0.09150393307209015, 0.3635483682155609, 0.43916958570480347, 0.40088409185409546, 0.21957232058048248, 0.3654598295688629, 0.1856590062379837, 0.30944424867630005, 0.3298223614692688, 0.42398831248283386, 0.44074201583862305, 0.24023401737213135, 0.17340348660945892, 0.270218163728714, 0.29602912068367004, 0.42809221148490906, 0.43450427055358887, 0.22085949778556824, 0.35194292664527893, 0.41150909662246704, 0.4132338762283325, 0.4123895466327667, 0.3286289870738983]}, {\"marker\": {\"color\": 40, \"size\": 5}, \"mode\": \"markers\", \"name\": \"35\", \"text\": [\"Panasonic - NN-ST64JWQPQ - 32L Inverter Microwave Oven \", \"Panasonic - NN-ST665BQPQ - 32L Inverter Sensor Microwave\", \"Panasonic - NN-SF564WQPQ - 27L Inverter Microwave Oven - White \", \"Panasonic - CR-2025PT/1B - Lithium Coin Cell\", \"Panasonic - KX-TGD324ALB - Digital Cordless Phone System\", \"Panasonic - BK-4LDAW/2BT - 2x AAA Batteries for DECT Phones\", \"Panasonic - RP-HF400BE-K - Bluetooth\\u00ae Wireless Headphones - Black\", \"Panasonic - DMR-XW440GLK - Twin HD Tuner - 500GB HDD/DVD Recorder\", \"Panasonic - KX-TG7893AZS - DECT Digital Cordless Phone - Triple Pack\", \"Panasonic - VW-BTA1GCK - Extended Battery\", \"Panasonic - NN-ST34HBQPQ - 25L Microwave Oven\", \"Panasonic - NN-ST671S - 32L Inverter Sensor Microwave Oven\", \"Panasonic - NN-ST25JW - 20L Microwave Oven  \", \"Panasonic - Portable AM/FM Radio - RF-P50DGC-S\", \"Panasonic - DMP-BDT380GN - 3D Blu-ray Disc Player\", \"Panasonic - SD-2501 - Bread Maker\", \"Panasonic EVOLTA AA 2pk - LR6EG/2B\", \"Panasonic - NN-ST25JM - 20L Microwave Oven\", \"Panasonic - DMR-BWT955GL - 3D Blu-ray Disc\\u2122/ DVD Recorder - 2TB HDD\", \"Panasonic - SR-DF101WST - Rice Cooker - 5 Cup Capacity\", \"Panasonic - RF-D10GN-K - Portable Digital Radio - DAB/ DAB+\", \"Panasonic - KX-TG7892AZS - DECT Digital Cordless Phone - Twin Pack\", \"Panasonic - DMR-PWT560GL  - 3D Blu-Ray Disc Recorder - 500GB HDD  \", \"Panasonic - DP-UB420 - Ultra HD Blu-ray Player \", \"Panasonic - BK-4HCCE4BT - AAA Eneloop Pro Rechargeable Batteries\", \"Panasonic LR6EG/18B - EVOLTA AA 18pk\", \"Panasonic - RP-BTS10E-Y - Bluetooth\\u00ae Sport Earphones - Yellow\", \"Panasonic - DMC-TZ80GN-S - Lumix Digital Camera\", \"Panasonic - Amplified Cordless Telephone - Twin - KX-TGM422AZB\", \"Panasonic - 25L Microwave Oven - NN-ST34HWQPQ\", \"Panasonic - SC-MAX9000 - Mini System - 4000W\", \"Panasonic - NN-TK510FSQP - Trim Kit - Stainless Steel\", \"Panasonic - LR6EG/4B - EVOLTA AA 4pk  \", \"Panasonic LR03EG/18B - EVOLTA AAA 18pk\", \"Olympus - VP-10 - Digital Voice Recorder - 4GB\", \"Panasonic - ES-LV9Q - Multi-Flex 5-Blade Rechargeable Shaver\", \"Panasonic - NN-SD38HS - 23L Inverter Microwave\", \"Panasonic - SC-UX100 - Mini System\", \"Panasonic - RP-BTS10E-K - Bluetooth\\u00ae Sport Earphones - Black\", \"Panasonic - SC-AKX710 - Mini Hi-Fi System\", \"Panasonic - RP-HD610N - High-Resolution  NC Wireless Headphones - Copper\", \"Panasonic - RF-2400 - AM/FM Radio\", \"Panasonic - Portable AM/FM Radio - RF-2400DGN-S\", \"Panasonic - SR-CN108WST - 5 Cup Rice Cooker\", \"Panasonic - DMP-BD84GNK - Blu-Ray Player\", \"Panasonic - KX-TGC222ALS - DECT Cordless Phone System\", \"Panasonic - KX-TGMA44AZB - Optional Handset\", \"Panasonic - CR-2016PT/1B - Lithium Coin Cell\", \"Sony - SELP1650 - E PZ 16-50mm F3.5-5.6 OSS \", \"Panasonic - Wireless CD Hi-Fi System - SC-PMX152GNS\", \"Panasonic - RP-HTX80BE-K - Bluetooth\\u00ae Wireless Headphones - Black\", \"Panasonic - LR03EG/4B - EVOLTA AAA 4pk\", \"Olympus - WS-852 - Digital Voice Recorder - 4GB\", \"Panasonic - NN-ST253WQPQ - 20L Microwave Oven\", \"Panasonic - RP-HD610N - High-Resolution  NC Wireless Headphones - Black\", \"Panasonic - RP-BTS55E-K - Sport Wireless Headphones - Black\", \"Panasonic - SC-AKX660GNK - Mini System - \", \"Panasonic - SR-CX108SST - 5 Cup Rice Cooker\", \"Panasonic - SR-DF181WST - Rice Cooker - 10 Cups Capacity\", \"Panasonic - RP-HTX90NE-K - Retro Noise Cancelling Wireless Headphones \", \"Panasonic WLAN Smart Adaptor - CZ-TACG1   \", \"Panasonic - DMR-BWT760GL - 3D Blu-Ray Disc Recorder - 1TB\", \"Panasonic 3-in-1 Hybrid Rechargeable Shaver - ES-LL41\", \"Panasonic - KX-TGB110ALB - Digital Cordless Phone\", \"Panasonic - RP-TCM130EBLU - In-Ear Wired Headphones - Blue\", \"Panasonic - Cordless Phone - Single - KX-TG6821ALB\", \"Panasonic - BK-3HCCE4BT - AA Eneloop Pro Rechargeable Batteries\", \"Panasonic - DMC-TZ110 Black - Lumix Digital Camera  \", \"Panasonic - SC-HC397 - Micro Hi-Fi System\", \"Panasonic - RP-BTS30E-R - Wireless Sport Headphone\", \"Panasonic EVOLTA AAA 2Pk - LR03EG/2B\", \"Panasonic - LR-43PT/1B - Micro Alkaline Coin Cell\", \"Panasonic - SR-CN188WST - 10 Cup Rice Cooker\", \"Panasonic - RP-HTX20BE-K - Retro Wireless Earbuds - Black\", \"Panasonic - NN-CD997S - 42L Convection Microwave\", \"Panasonic - K-KJ55MCC4TA - Eneloop Smart & Quick Charger \", \"Panasonic - DMR-BWT460GN - 3D Blu-ray Disc\\u2122/ DVD Recorder\", \"Panasonic - 6LR61EG/1B - EVOLTA 9V 1pk\", \"Panasonic - Rechargeable Shaver - ES-RT37\", \"Panasonic - SR-ZE105WST - 5-cup Rice Cooker - 10 Cooking Programs\", \"Panasonic - NN-ST655WQPQ - 32L White Inverter Sensor Microwave\", \"Panasonic - NN-CD87KSQPQ - 34L Convection Microwave Oven\", \"Panasonic - SC-AKX200 - Mini System\", \"Panasonic - LR14EG/2B - EVOLTA C 2pk\", \"Panasonic - RX-D50 - CD Radio Cassette Player\", \"Panasonic - SD-ZP2000KST - The Artisan Breadmaker\", \"Panasonic - SD-ZB2512 - Automatic Bread Maker\", \"Panasonic - RP-BTS55E-P - Sport Wireless Headphones - Pink\", \"Panasonic - RP-TCM130EBLK - In-Ear Wired Headphones - Black\", \"Panasonic - CR-2032PT/1B - Lithium Coin Cell\", \"Olympus - VN-731PC - Notetaker - 2GB\", \"Panasonic - KX-TG7883AZS - DECT Digital Cordless Phone\", \"Olympus - VN-741PC - Digital Voice Recorder\", \"Panasonic - Ultra HD Blu-ray Player - DMP-UB300GNK\", \"Panasonic - NN-CF770M - 27L Flatbed Microwave Oven \", \"Panasonic - NN-SF574SQPQ - 27L Inverter Microwave Oven\", \"Panasonic - LR20EG/2B - EVOLTA D 2pk\", \"Panasonic - NN-ST776SQPQ - 44L Stainless Steel Inverter Sensor Microwave\", \"Panasonic - NN-ST67JS - 32L Inverter Sensor Microwave\", \"One For All - URC 1914 - Panasonic Replacement Remote\", \"Panasonic - NN-ST641WQPQ - 32L Inverter Microwave Oven\", \"Panasonic - DMR-HWT260GL - Smart Network 1TB HDD Recorder\", \"Panasonic - RP-HTX80BE-R - Bluetooth\\u00ae Wireless Headphones - Red\", \"Panasonic - RP-HF400BE-W - Bluetooth\\u00ae Wireless Headphones - White\", \"Panasonic - SC-PM600 - CD Micro System \", \"Panasonic - SC-GA10GN-K - Google Assistant Speaker \", \"Panasonic - 27L Grill/Steam Microwave Oven - NN-DS596BQPQ\", \"Panasonic - SC-GA10GN-W - Smart Speaker\", \"Panasonic - SR-ZE185WSTM - 1.8L Rice Cooker\", \"Panasonic - RC-7290 - Clock Radio\", \"Panasonic - KX-TG8163ALB - Cordless Phone \\u2013 Triple Pack\", \"Panasonic - SC-PM250 - CD Micro System\", \"Panasonic - LR03EG/8B - EVOLTA AAA 8pk\", \"Panasonic - NN-TK510FWQP - Trim Kit - White\"], \"type\": \"scatter\", \"x\": [-0.19136583805084229, -0.06527668237686157, -0.18399453163146973, 0.04981821030378342, 0.18578682839870453, 0.17179962992668152, 0.2642831802368164, 0.1541256159543991, 0.15967640280723572, 0.09556964784860611, -0.24621152877807617, -0.153365820646286, -0.2141958475112915, 0.16450504958629608, 0.16128751635551453, -0.11082775145769119, 0.08732081949710846, -0.19648626446723938, 0.16589194536209106, -0.18871530890464783, 0.21600978076457977, 0.14812135696411133, 0.1617383509874344, 0.21058033406734467, 0.11565980315208435, 0.05421818047761917, 0.30581361055374146, 0.1040118932723999, 0.14479976892471313, -0.2539166212081909, 0.10560307651758194, -0.039740510284900665, 0.05367068946361542, 0.05420958623290062, 0.2515847980976105, 0.004207029938697815, -0.0811980739235878, 0.11056613177061081, 0.2937883734703064, 0.2100987285375595, 0.19082313776016235, 0.11998847126960754, 0.16987916827201843, -0.20864790678024292, 0.14177140593528748, 0.19309702515602112, 0.14459723234176636, 0.07161954790353775, 0.20063169300556183, 0.18946336209774017, 0.2812127470970154, 0.052455976605415344, 0.17688637971878052, -0.2313331663608551, 0.25017455220222473, 0.2622271180152893, 0.11895884573459625, -0.18107867240905762, -0.19263708591461182, 0.21269254386425018, 0.2368191033601761, 0.17261505126953125, -0.01374979317188263, 0.1720498949289322, 0.21134740114212036, 0.14257687330245972, 0.14008820056915283, 0.1424824297428131, 0.1899416148662567, 0.23325714468955994, 0.09230299293994904, 0.09191550314426422, -0.20700371265411377, 0.25599852204322815, -0.13080954551696777, 0.1573975682258606, 0.17227308452129364, 0.022764138877391815, 0.019136451184749603, -0.153407484292984, -0.05811626464128494, -0.2433004379272461, 0.15590286254882812, 0.08427819609642029, 0.1735438108444214, -0.062061674892902374, -0.11920163035392761, 0.26151931285858154, 0.21047700941562653, 0.05707854405045509, 0.2211812436580658, 0.16317392885684967, 0.203652024269104, 0.20088078081607819, -0.19832852482795715, -0.19457989931106567, 0.0831926017999649, -0.06554559618234634, -0.052175432443618774, 0.033337391912937164, -0.19646680355072021, 0.16505612432956696, 0.27394160628318787, 0.2381300926208496, 0.13413947820663452, 0.2241239994764328, -0.2691955864429474, 0.19573251903057098, -0.17512038350105286, 0.07937949895858765, 0.14870412647724152, 0.1328173130750656, 0.06688138842582703, 0.013386912643909454], \"y\": [0.15924251079559326, 0.12527091801166534, 0.14797073602676392, -0.037025321274995804, 0.010625125840306282, -0.01508696936070919, -0.2116864025592804, 0.1841534972190857, 0.056332461535930634, -0.007105950266122818, 0.14861440658569336, 0.10353726148605347, 0.09381388127803802, -0.023686837404966354, 0.03444156423211098, 0.024777697399258614, 0.09901109337806702, 0.08594073355197906, 0.17130766808986664, 0.09168809652328491, -0.040351249277591705, 0.05270703136920929, 0.15033744275569916, 0.056526198983192444, -0.007629474624991417, 0.1591482013463974, -0.15610449016094208, 0.10108323395252228, -0.05505388230085373, 0.1551109254360199, 0.0797654390335083, 0.043407000601291656, 0.099302276968956, 0.1349267065525055, -0.006903195753693581, 0.057320255786180496, 0.10313203185796738, 0.05898042768239975, -0.1679842472076416, -0.05076427012681961, -0.033470600843429565, -0.12885233759880066, -0.038747016340494156, 0.1121041476726532, 0.047196827828884125, 0.03933493420481682, 0.07432577759027481, -0.0041181109845638275, 0.09067642688751221, -0.07059535384178162, -0.1633274406194687, 0.07027182728052139, 0.06472684442996979, 0.14022523164749146, -0.03468608111143112, -0.14497879147529602, 0.053159523755311966, 0.136946439743042, 0.10380003601312637, -0.12614953517913818, 0.060617223381996155, 0.11959892511367798, -0.013664457947015762, 0.012397781014442444, -0.22019286453723907, 0.016544710844755173, -0.029969073832035065, 0.03992673382163048, -0.052363891154527664, -0.18510618805885315, 0.07325372099876404, -0.010408591479063034, 0.12164193391799927, -0.16860824823379517, 0.078987255692482, 0.12446188181638718, 0.06837150454521179, 0.17420247197151184, -0.013834016397595406, 0.10853222012519836, 0.12619028985500336, 0.1463851034641266, -0.0157387126237154, 0.07911589741706848, -0.04888834431767464, -0.0054026395082473755, 0.06515881419181824, -0.14890700578689575, -0.19317400455474854, -0.025591515004634857, 0.11343279480934143, 0.05936358869075775, -0.059765711426734924, 0.05181613191962242, 0.08985098451375961, 0.15405353903770447, 0.04804793372750282, 0.13829347491264343, 0.09681884944438934, -0.05811206251382828, 0.15791922807693481, 0.19814211130142212, -0.16880282759666443, -0.21382896602153778, -0.009251171723008156, 0.010799326002597809, 0.18907049298286438, 0.021135933697223663, 0.12899500131607056, -0.03521514683961868, 0.024765074253082275, -0.02973955310881138, 0.10210204869508743, 0.03299698233604431]}, {\"marker\": {\"color\": 41, \"size\": 5}, \"mode\": \"markers\", \"name\": \"36\", \"text\": [\"Fisher & Paykel DD60SDFTB9 - 60cm Single DishDrawer\\u2122 Dishwasher\", \"Blanco - PLENTA6K5 - PLENTA 6 Laundry Tub\", \"Omega - ODW717X - 60cm Freestanding Dishwasher\", \"Fisher & Paykel - DD60DCX9 - Double DishDrawer\\u2122 Dishwasher\", \"Asko - DBI653IB.S - 60cm Built-in Dishwasher - Stainless Steel  \", \"Beko - BDF1410X - 60cm Freestanding Dishwasher - Stainless Steel\", \"Asko - DFI654BXXL - XXL 86cm Fully Integrated Dishwasher\", \"Smeg - DWA6314X - 60cm Freestanding Dishwasher \", \"Smeg - DWA6315X2 - 60cm Freestanding Dishwasher\", \"Omega - ODW101W - 55cm Compact Benchtop Dishwasher \", \"Fisher & Paykel - DW60UC6X - Built-In Dishwasher\", \"Fisher & Paykel - DW60U6I1 - Integrated Dishwasher\", \"Inalto - DWI62CS - 60cm Integrated Dishwasher\", \"Fisher & Paykel - DD60SCW9 - Single DishDrawer\\u2122 Dishwasher\", \"Fisher & Paykel - DD60DAX9 - Double DishDrawer\\u2122 Dishwasher \", \"Westinghouse - WSF6606W - 60cm Freestanding Dishwasher\", \"LG - XD4B24PS - XD Series Quadwash Dishwasher - Platinum Steel\", \"Dishlex - DSF6106X - 60cm Freestanding Dishwasher - Stainless Steel\", \"Dishlex - DSF6106W - 60cm Freestanding Dishwasher - White\", \"Neff Built-under Dishwasher 60 cm Stainless Steel - S215M60S0A\", \"DeLonghi - DEDW6015INFI - 60cm Fully Integrated Dishwasher\", \"Fisher & Paykel - DW60UC6B - Built-under Dishwasher\", \"Fisher & Paykel - DW60U2I1 - Integrated Dishwasher\", \"Neff Fully Integrated Dishwasher 60 cm - S515M60X0A\", \"Miele - G 4930 U BRWS - 60cm Built-Under Dishwasher\", \"Fisher & Paykel - DD60SCX9 - DishDrawer\\u2122 Single Dishwasher\", \"Fisher & Paykel - DD60DCW9 - Double DishDrawer\\u2122 Dishwasher\", \"Smeg - DWA6314X2 - 60cm Freestanding Dishwasher\", \"Miele - G 4203 i Active - 60cm Integrated Dishwasher\", \"Fisher & Paykel - 60cm Freestanding Dishwasher - DW60FC2W1\", \"Fisher & Paykel - DD60DAW9 - Double DishDrawer\\u2122 Dishwasher\", \"Asko - DFI654B - 82cm Fully Integrated Dishwasher  \", \"Electrolux - ESF8735ROX - 60cm Built-under Dishwasher  \", \"Beko - BDF1620X - 60cm Freestanding Dishwasher - Stainless Steel\", \"Smeg - DWAFI4510 - 45cm Fully Integrated Dishwasher\", \"Smeg - DWA4510X - 45cm Freestanding/Built-in Dishwasher\", \"Magikleen - MAG0105 - 60mL Screen Cleaner\", \"Westinghouse 60cm Freestanding Dishwasher - Stainless Steel - WSF6606XA\", \"Beko - BDF1620W - 60cm Freestanding Dishwasher - White\", \"Miele - G 4930 U CLST - CleanSteel - Built-Under Dishwasher - 60cm Wide\", \"Miele - G 4720 SCU CLST - 45cm Built-under Dishwasher  \", \"One For All - SV8415 - 250mL LCD Screen Cleaner\", \"Miele - G 4930 SC CLST - 60cm Freestanding Dishwasher \", \"DeLonghi - DEDW6015SI - 60cm Semi Integrated Dishwasher\", \"Asko - DBI654IBXXL.S - 86cm Built-under Dishwasher  \", \"Miele - G 4203 SC CLST - 60cm Freestanding Dishwasher \", \"Haier - HDW15V3S1 - 60cm Freestanding Dishwasher\", \"Smeg - 60cm Freestanding Dishwasher - DWA6314B  \", \"Smeg - DWA6314W2 - 60cm Freestanding Dishwasher\", \"Westinghouse - WSF6602WA - 60cm White Freestanding Dishwasher\", \"Asko - DBI653IB.W - 60cm Built-in Diswasher - White\", \"Smeg - DWAI6314X - 60cm Semi-Integrated Dishwasher\", \"LG - XD4B14PS - XD Series QuadWash Dishwasher\", \"Miele - G 4930 SCU CLST - CleanSteel - 60cm Wide - Built-Under Dishwasher   \", \"Miele - G 6620 SCU CLST - 60cm Built-under Dishwasher \", \"Westinghouse 60cm Freestanding Dishwasher - WSF6606KXA\", \"Westinghouse 60cm Freestanding Dishwasher - White - WSF6604WA   \", \"Miele - G 4720 SCi CLST - 45cm Integrated Dishwasher \", \"Asko - DBI654IB.S - XL 60cm Built-in Dishwasher  \", \"DeLonghi - DEDW6015S - 60cm Freestanding Dishwasher\", \"Neff Fully Integrated Dishwasher 60 cm XXL - S525T80D0A\", \"Fisher & Paykel - DD60DDFB9 - Double DishDrawer\\u2122 Dishwasher\", \"Electrolux - PDST60 - Laundry Pedestal with Drawer\", \"Electrolux - ESF8735RKX - 60cm Built-under Dishwasher\", \"Beko - BDF1410W - 60cm Freestanding Dishwasher - White\", \"Unilux - Dishwasher Cutlery Basket - ULX201\", \"DeLonghi - DEDW4510S - 45cm Freestanding Dishwasher\", \"Asko - DBI865IGXXLS - 86cm Built-under Dishwasher \", \"Smeg - DWAI6314X2 - 60cm Semi-Integrated Dishwasher\", \"Magikleen - MAGDWD250 - 250ml Dishwasher & Washing Machine Descaler\", \"Westinghouse WSF6604XA - 60cm Freestanding Dishwasher\", \"Asko Built-in Black Steel XL Dishwasher - DBI653IB.BS \", \"Smeg - DWA4510X2 - 45cm Freestanding/Built-in Dishwasher\", \"Smeg - DWIFABNE-1 - 60cm 50's Retro Style Built-in Dishwasher\", \"Beko - DFN16420W - 60cm Freestanding Dishwasher \", \"Asko - DFI643 - 82cm Fully Integrated Dishwasher  \", \"Smeg - DWA6315W2 - 60cm Freestanding Dishwasher\", \"Smeg - DWA6214S - 60cm Freestanding Dishwasher  \", \"Haier - HDW15V2S1 - 60cm Freestanding Dishwasher\", \"Smeg - DWIFABR-1 - 60cm 50's Retro Style Built-in Dishwasher\", \"Electrolux - ESF6767KXA - 60cm Freestanding Dishwasher\", \"Westinghouse - WSF6602XA - 60cm Stainless Steel Freestanding Dishwasher \", \"DeLonghi - DEDW45S - 45cm Freestanding Dishwasher\", \"Westinghouse 60cm Freestanding Dishwasher - WSF6608XA\", \"Dishlex - DSF6206X - 60cm Freestanding Dishwasher - Stainless Steel\", \"Beko - BDF1630X - 60cm Freestanding Dishwasher - Stainless Steel\", \"Inalto - IDW604S - 60cm Stainless Steel Freestanding Dishwasher\", \"Neff Semi-integrated Dishwasher 60 cm Stainless Steel, XXL - S425T80S0A\", \"Omega - ODW300XN - 45cm Compact Dishwasher\", \"Asko 82cm Built-Under Dishwasher - DBI253IB.W  \", \"Inalto - IDW604W - 60cm White Freestanding Dishwasher \", \"LG - XD5B14WH - XD Series QuadWash Dishwasher\", \"Electrolux - ESF6768KXA - 60cm Freestanding Dishwasher\", \"Fisher & Paykel - 60cm Freestanding Dishwasher - DW60FC4X1\", \"Smeg - 60cm Freestanding Dishwasher - DWA6314W\", \"Smeg - DWA6314B2 - 60cm Freestanding Dishwasher\", \"Smeg - DWAU6315X2 - 60cm Underbench Dishwasher\", \"Miele - G 6727 SCU CLST XXL - 60cm Built-under Dishwasher \", \"Miele - G 4203 SCi Active - 60cm Integrated Dishwasher \", \"Asko 82cm Built-Under Dishwasher - DBI243IB.W     \", \"LG XD3A25BS - 15 Place QuadWash\\u00ae Dishwasher - Black Stainless Finish\", \"Miele - G 4203 SCU Active CLST - 60cm Built-Under Dishwasher \", \"Miele - G 4203 SCU Active BRWS - 60cm Built-Under Dishwasher\", \"Westinghouse WSF6608KXA - 60cm Freestanding Dishwasher\", \"Miele - G 4980 Vi - 60cm Fully Integrated Dishwasher\", \"Asko 82cm Built-Under Dishwasher - DBI243IB.S      \", \"Smeg - DWAFI4510-2 - 45cm Fully Integrated Dishwasher\", \"Miele - G 4930 i OBSW - Active Integrated Dishwasher - 60cm\", \"Miele - G 4930 BRWS - 60cm Freestanding Dishwasher \", \"Asko 82cm Built-Under Dishwasher - DBI253IB.S  \", \"Asko 82cm Built-Under Dishwasher - Black Steel - DBI253IB.BS \", \"Electrolux - ESF8725RKX - 60cm Built-under Dishwasher\", \"Smeg - DWAFI6314-2 - 60cm Fully Integrated Dishwasher\", \"Smeg - DWIFABP-1 - 60cm 50's Retro Style Built-in Dishwasher\", \"Miele - G 6620 SC BRWS - 60cm Freestanding Dishwasher\", \"LG - XD3A15BS - XD Series QuadWash Dishwasher - Black\", \"Miele - G4203 SC Active BRWS - 60cm Freestanding Dishwasher \", \"Miele - G 4263 SCVi Active - 60cm Fully Integrated Dishwasher\", \"Beko - DFN16420X - 60cm Free Standing Dishwasher \", \"LG XD3A25MB - 15 Place QuadWash\\u00ae Dishwasher - Matte Black Finish\", \"Inalto - DW42CS - 45cm Compact Dishwasher\", \"Haier - HDW13V1W1 - 60cm Freestanding Dishwasher\", \"Omega - ODW717W - 60cm Freestanding Dishwasher \", \"Asko - DFI666GXXL - XXL 86cm Fully Integrated Dishwasher\", \"Miele - G 4980 SCVi Jubilee - 60cm Fully Integrated Dishwasher \", \"Miele - G 4930 SCI CLST Jubilee - 60cm Integrated Dishwasher\"], \"type\": \"scatter\", \"x\": [-0.23257973790168762, -0.09629121422767639, -0.17009130120277405, -0.17579853534698486, -0.2230249047279358, -0.2203463912010193, -0.24293315410614014, -0.3086059093475342, -0.3150472342967987, -0.1926824152469635, -0.2418820858001709, -0.2123795449733734, -0.2361387014389038, -0.2014409899711609, -0.17727318406105042, -0.33608880639076233, -0.10193341225385666, -0.2603590488433838, -0.2758983373641968, -0.2571526765823364, -0.20829561352729797, -0.24545684456825256, -0.2118619978427887, -0.2504938244819641, -0.3120785653591156, -0.1951155662536621, -0.1859482228755951, -0.31379982829093933, -0.2501648962497711, -0.29517704248428345, -0.1919114887714386, -0.24350246787071228, -0.22560855746269226, -0.2323426902294159, -0.23588669300079346, -0.2449803650379181, -0.08558862656354904, -0.3058624863624573, -0.2530971169471741, -0.2809408903121948, -0.21741154789924622, -0.06145346909761429, -0.27431589365005493, -0.24385559558868408, -0.2480332851409912, -0.27340149879455566, -0.20218724012374878, -0.32616597414016724, -0.3250671625137329, -0.3123154938220978, -0.18233248591423035, -0.29235196113586426, -0.05567927658557892, -0.2553316652774811, -0.27155089378356934, -0.3220190107822418, -0.30317267775535583, -0.21744698286056519, -0.2277134358882904, -0.26180943846702576, -0.2534183859825134, -0.19617003202438354, -0.13273024559020996, -0.22754213213920593, -0.23085567355155945, -0.19102078676223755, -0.23621252179145813, -0.22467690706253052, -0.29458990693092346, -0.18096265196800232, -0.32161620259284973, -0.16227778792381287, -0.2517595887184143, -0.30655255913734436, -0.2857232093811035, -0.24770787358283997, -0.32579100131988525, -0.3428092300891876, -0.19976502656936646, -0.29969215393066406, -0.2606517970561981, -0.30924907326698303, -0.2341529130935669, -0.31950876116752625, -0.24763908982276917, -0.24996408820152283, -0.249461829662323, -0.27353644371032715, -0.15215864777565002, -0.2897559404373169, -0.23388314247131348, -0.08757094293832779, -0.2445605993270874, -0.28048381209373474, -0.3319365680217743, -0.32476845383644104, -0.3207946717739105, -0.2633890211582184, -0.2462977170944214, -0.28339383006095886, -0.049876973032951355, -0.24500861763954163, -0.2758345603942871, -0.3181598484516144, -0.23827189207077026, -0.27504023909568787, -0.23825058341026306, -0.26093021035194397, -0.3040992319583893, -0.27998456358909607, -0.22855937480926514, -0.247109055519104, -0.2847740054130554, -0.2787456214427948, -0.32066118717193604, -0.033699437975883484, -0.2561531066894531, -0.2644787132740021, -0.24551722407341003, -0.03110029548406601, -0.2079409658908844, -0.2110334038734436, -0.20385628938674927, -0.22682785987854004, -0.21318957209587097, -0.24328279495239258], \"y\": [0.07682547718286514, -0.023009318858385086, 0.09551522135734558, 0.016995113343000412, 0.026869330555200577, -0.030085520818829536, 0.07477737963199615, 0.10767273604869843, 0.0940026044845581, 0.09367715567350388, 0.027519550174474716, 0.017122182995080948, 0.07667957991361618, 0.02220320887863636, 0.0038793636485934258, 0.16485238075256348, 0.17917364835739136, 0.08307336270809174, 0.0708456039428711, 0.11787083745002747, 0.04830460995435715, -0.0019232556223869324, -0.014016177505254745, 0.1305810511112213, 0.15558259189128876, 0.023870574310421944, 0.020246809348464012, 0.09725506603717804, 0.13822591304779053, 0.0588378943502903, 0.006276932079344988, 0.012873739004135132, 0.1245604157447815, -0.02342892438173294, 0.027534805238246918, 0.04620199650526047, 0.01311052218079567, 0.13832607865333557, -0.029009610414505005, 0.23794367909431458, 0.2174105942249298, 0.09500035643577576, 0.20503045618534088, 0.053999513387680054, 0.025125261396169662, 0.17061418294906616, 0.17526432871818542, 0.05989896506071091, 0.10235618054866791, 0.12473322451114655, -0.010524449869990349, 0.09848544001579285, 0.224279522895813, 0.25019294023513794, 0.21909484267234802, 0.14494216442108154, 0.10533866286277771, 0.1922813057899475, 0.019708603620529175, 0.07139213383197784, 0.1696731299161911, -0.003878345713019371, 0.008345186710357666, 0.12990503013134003, -0.031424522399902344, -0.023498721420764923, 0.027978498488664627, 0.025803955271840096, 0.08494263142347336, -0.06400362402200699, 0.18883216381072998, -0.026410356163978577, 0.04246655851602554, -0.006801721174269915, 0.05071388930082321, 0.0316360667347908, 0.10058905184268951, 0.09607073664665222, 0.16982796788215637, -0.04983885958790779, 0.11407742649316788, 0.1482144296169281, 0.011151600629091263, 0.14903008937835693, 0.07169514894485474, -0.02044754847884178, 0.09182281792163849, 0.15160955488681793, 0.08363412320613861, -0.04001360014081001, 0.0748598501086235, 0.23653265833854675, 0.13287153840065002, 0.0661170482635498, 0.09577222168445587, 0.07148277759552002, 0.10339739173650742, 0.23176193237304688, 0.15361863374710083, -0.061726298183202744, 0.15786898136138916, 0.20316097140312195, 0.15046186745166779, 0.19130605459213257, 0.20187386870384216, -0.07181838899850845, 0.026033718138933182, 0.15499255061149597, 0.14067092537879944, -0.05008627101778984, -0.04386574402451515, 0.11748339235782623, 0.047897353768348694, -0.030815444886684418, 0.1361287534236908, 0.21471399068832397, 0.1258673369884491, 0.1870270073413849, 0.03925205022096634, 0.15722252428531647, 0.08847950398921967, 0.16911831498146057, 0.10275000333786011, 0.08630205690860748, 0.18791444599628448, 0.1626739799976349]}, {\"marker\": {\"color\": 42, \"size\": 5}, \"mode\": \"markers\", \"name\": \"37\", \"text\": [\"iPad Air Wi-Fi 64GB Space Grey  \", \"iPad Pro 12.9\\\" 256GB Wi-Fi Space Grey\", \"iPad Pro 12.9-inch 256GB Wi-Fi Space Grey \", \"iPad Pro 10.5\\\" 512GB Wi-Fi+Cellular Space Grey \", \"iPad 32GB Wi-Fi Space Grey\", \"iPad Pro 10.5\\\" 64GB Wi-Fi Space Grey \", \"Apple 11\\\" iPad Pro 256GB Wi-Fi Space Grey   \", \"iPad Pro 10.5\\\" 512GB Wi-Fi Rose Gold\", \"iPad 7th Generation 128GB Wi-Fi Gold  \", \"Apple 12.9\\\" iPad Pro 256GB Wi-Fi Space Grey  \", \"Apple 11\\\" iPad Pro 128GB Wi-Fi Space Grey   \", \"iPad Pro 12.9\\\" 256GB Wi-Fi + Cellular Space Grey \", \" iPad Pro 12.9\\\" 256GB Wi-Fi + Cellular Gold\", \"iPad 32GB Wi-Fi + Cellular Silver\", \"iPad 128GB Wi-Fi Space Grey\", \"iPad 32GB Wi-Fi Silver\", \"iPad 128GB Wi-Fi Silver\", \"iPad 128GB Wi-Fi Gold\", \"iPad 32GB Wi-Fi Gold\", \"iPad 128GB Wi-Fi + Cellular Silver\", \"iPad 6th Generation 128GB Wi-Fi Space Grey \", \"iPad 7th Generation 128GB Wi-Fi Space Grey   \", \"iPad Pro 11-inch  64GB Wi-Fi Space Grey\", \"Apple 12.9\\\" iPad Pro 256GB Wi-Fi + Cellular Space Grey\", \"iPad 7th Generation 32GB Wi-Fi Space Grey \", \"iPad 7th Generation 32GB Wi-Fi Gold \", \"iPad 7th Generation 32GB Wi-Fi Silver  \", \"iPad 7th Generation 128GB Wi-Fi Silver \", \"iPad Pro 10.5\\\" 256GB Wi-Fi Space Grey \"], \"type\": \"scatter\", \"x\": [0.2880133390426636, 0.3436293303966522, 0.33739274740219116, 0.36391836404800415, 0.3124532699584961, 0.3346657156944275, 0.36142992973327637, 0.30402085185050964, 0.30889153480529785, 0.3542153239250183, 0.35864371061325073, 0.36407625675201416, 0.3303527235984802, 0.30627933144569397, 0.3044406473636627, 0.293212354183197, 0.28726136684417725, 0.28850480914115906, 0.29012954235076904, 0.3008866310119629, 0.2953217625617981, 0.3254750370979309, 0.3286411762237549, 0.3708403706550598, 0.3337726593017578, 0.31063276529312134, 0.31138092279434204, 0.3045663833618164, 0.3492545783519745], \"y\": [0.12913432717323303, 0.13096709549427032, 0.11448007822036743, 0.14085990190505981, 0.11435326933860779, 0.15474003553390503, 0.13300320506095886, 0.12113109230995178, 0.1689823567867279, 0.15359772741794586, 0.14452965557575226, 0.154567688703537, 0.14625754952430725, 0.10379485785961151, 0.10999006032943726, 0.08792655169963837, 0.09031527489423752, 0.11343701928853989, 0.11311087012290955, 0.10128769278526306, 0.15893855690956116, 0.16812165081501007, 0.12589174509048462, 0.1714993417263031, 0.1704285889863968, 0.169304758310318, 0.14751745760440826, 0.14677980542182922, 0.1196604073047638]}, {\"marker\": {\"color\": 43, \"size\": 5}, \"mode\": \"markers\", \"name\": \"38\", \"text\": [\"Electrolux - EMF2529DSD - 25L Combination Microwave\", \"Electrolux - ZB3311 - 18V Ergorapido Allergy - Titan Blue\", \"Electrolux - EHG755SD - 75cm Gas Cooktop\", \"Electrolux - UMP3 - Bag Dust Ultrasilencer Mega Pack\", \"Electrolux - EVEP916SB - 90cm Electric Multifunction Pyrolytic Oven\", \"Electrolux - ERR627SA - 60cm Slide Out Rangehood\", \"Dimplex - BLF7451-AU - 74\\\" Wall-Mounted PRISM Electric Fire\", \"Chef - 54cm Freestanding Electric Cooker - CFE536SB\", \"Electrolux - EHI635BD - 60cm Induction Cooktop\", \"Electrolux - EVE616DSD - 60cm Multifunction Oven\", \"Electrolux - EFEP915SB - 90cm Dual Fuel Freestanding Cooker\", \"Electrolux - EHI745BD - 70cm Induction Cooktop\", \"Electrolux - EHI955BD - 90cm Induction Cooktop\", \"Tiger - JNP1800FLZ - Electric Rice Cooker\", \"Tefal - GC712 - Optigrill+ Smart Electric Grill \", \"Beko - HIC64105 - 60cm Electric Cooktop\", \"Electrolux Ease C3 Origin - Bagless Vacuum Cleaner - Ice White\", \"Volta - 1840 - ELECTROLUX VOLTA AEG PROGRES-3TORNADO\", \"Electrolux - EHC644BA - 60cm Electric Cooktop\", \"Electrolux - KIT10A - Ergorapido and Rapido Car Kit  \", \"Omega - OO654X - 60cm Electric Oven - Stainless Steel Finish\", \"Electrolux - ERI842DSD - 86cm Integrated Rangehood \", \"Electrolux - EVEP618DSD - 60cm Multifunction Oven\", \"Dimplex - ETM20-AU - 2kW Eltham Mantle Firebox\", \"Dimplex - Pemberley - Opti-myst Wall Mounted Electric Fire\", \"Euromaid - R54RW - 54cm Electric Oven Radiant Coil Cooktop\", \"Electrolux - STA9GW - Laundry Stacking Kit \", \"Electrolux - EVEM645DSD - 44L Compact Combination Microwave Oven\", \"Euromaid - MC130T - Electric Benchtop Cooker\", \"Omega - OO885XR - 60cm Electric Double Oven\", \"Electrolux - 9kg UltimateCare System- EWF14933\", \"Electrolux - ZB3320P - 18V Ergorapido Animal\", \"Electrolux Pure C9 Animal - Chili Red\", \"Electrolux - EVEP626DSD - 60cm Multifunction Duo Oven\", \"Electrolux - EWD1402DSD - 14cm Built-in Warming Drawer \", \"Electrolux - EHI645BD - 60cm Induction Cooktop\", \"Electrolux - ERI712SA - 70cm Integrated Rangehood\", \"Glem - IT965PROEI2 - 90cm Electric Multifunction Oven\", \"Electrolux - EHG645BD - 60cm Gas Cooktop\", \"Electrolux - EHI997BD - 90cm Induction Cooktop\", \"Electrolux - EVE614SD - 60cm Multifunction Oven\", \"Electrolux - EF144A - Ergorapido & Rapido Filters\", \"Electrolux - EHI935BA - 90cm Induction Cooktop\", \"Electrolux - EHG953BA - 90cm Gas Cooktop\", \"Electrolux - EHG643BA - 60cm Gas Cooktop\", \"Electrolux - EVEP618SC - 60cm Multifunction Steam Oven\", \"Electrolux - EVEP614SC - Multifunction 10 Pyrolux Pyrolytic Oven\", \"Electrolux - EVE636SC - 60cm Mutifunction 12/12 Double Oven\", \"Dimplex - BLF5051-AU - 50\\\" Wall-Mounted PRISM Electric Fire\", \"Electrolux - EHI745BA - 70cm Induction Cooktop\", \"Electrolux - EHI667BD - 60cm Induction Cooktop\", \"Dimplex - TLC20LX-AU - Toluca Deluxe 2kW Optiflame Electric Fire\", \"Electrolux - USK11ANZ - Ultraflex Starter Kit\", \"Electrolux - EVE614DSD - 60cm Multifunction Oven\", \"Dimplex - SWD20-AU - 2kW Sherwood Mantle Firebox\", \"Dimplex - WDS20-AU - Windelsham 2kW Revillusion Electric Fireplace\", \"Electrolux - ZUF4303PET - UltraFlex\\u2122 Animal Allergy \", \"Electrolux - EFEP956DSD - 90cm Freestanding Cooker\", \"Electrolux - EHG953SA - 90cm Gas Cooktop\", \"Dimplex - WIN-W-LF - 2kW Winston Electraflame\", \"Chef - 54cm Freestanding Electric Cooker - CFE532WB\", \"Westinghouse - WHEF01G - Electric Frypan\", \"Electrolux - EVE636DSD - 60cm Multifunction Duo Oven\", \"Smeg - C6CMXA8 - 60cm Electric Upright Cooker\", \"Dimplex - RBF36-AU - 36\\\" Built-in Revillusion Electric Firebox\", \"Omega - OO640X - 60cm Electric Single Oven\", \"Dimplex - DF2608-LED - 26\\\" Optiflame LED Electric Firebox\", \"Electrolux - EVEP614DSD - 60cm Multifunction Oven\", \"Electrolux - EVEP916DSD - 90cm Multifunction Oven\", \"Electrolux - ZSP4302PP - SilentPerformer\\u2122 Cyclonic Animal\", \"Electrolux - ERI512SA - 52cm Integrated Rangehood\", \"Vax - VX72 - Power 7 Pet Barrel Vacuum\", \"Westinghouse - WHEF02K - Black Electric Fry Pan\", \"Electrolux - EFEP916DSD - 90cm Dual Fuel Freestanding Cooker\", \"Dimplex - BLF3451-AU - 34\\\" Wall-Mounted PRISM Electric Fire\", \"Electrolux - EHG645SD - 60cm Gas Cooktop\", \"Electrolux - EVE626DSD - 60cm Multifunction Duo Oven\", \"Electrolux - ACC139 - Replacement Refrigeration Water Filter\", \"Electrolux - EVEP614SD - 60cm Multifunction Oven\", \"Dimplex - RBF42-AU - 42\\\" Built-in Revillusion Electric Firebox\", \"Electrolux - EHI845BB - 80cm Induction Cooktop\", \"Dimplex - Fieldstone - Electric Flame Heater\", \"Omega - OBO674X - 60cm Electric Oven\", \"Dimplex - OSB20-AU - Osbourne 2kW Revillusion Electric Fireplace\", \"Electrolux - EC41-4ANIM - Ease C4 Vacuum Cleaner\", \"Dimplex - Oakhurst - 2kW Oakhurst Portable Electric Stove\", \"Dimplex - SSE-E-LF - 2kW Kenton Expresso Electraflame\", \"Dimplex - SSE-W-LF - 2kW Kenton White Electraflame\", \"Electrolux - EVEP616DSD - 60cm Multifunction Oven\", \"Dimplex - STA20-AU - Strata 2kW Revillusion Electric Fireplace\", \"Tefal - GC722 - Optigrill+ XL Smart Electric Grill \", \"Sunbeam - PE6100 - Aviva\\u2122 6L Electronic Pressure Cooker\", \"Electrolux Pure Q9 Cordless Vacuum - Indigo Blue   \", \"Electrolux - EMB2529DSD - 25L Microwave Oven\", \"Electrolux - EHG955SD - 90cm Gas Cooktop\", \"Omega - OO757X - 75cm Electric Oven\", \"Electrolux Pure Q9 Animal Cordless Vacuum - Shale Grey Metallic\", \"Tiger - JNP1000FLZ - Electric Rice Cooker\", \"Electrolux - E201S - s-bag\\u00ae Classic Long Performance Dust Bags\", \"Electrolux - EHI965BA - 90cm Induction Cooktop\", \"Electrolux - EVEP626SD - 60cm Multifunction Duo Oven\", \"Electrolux - ERI522DSD - 52cm Integrated Rangehood\", \"DeLonghi - DEH60SX1 - 60cm Electric Cooktop Stainless Steel\", \"Electrolux - PC91-4IG - Pure C9 Origin - Iron Grey \", \"Electrolux - EHG755SA - 75cm Gas Cooktop\", \"Dimplex - MINICUBE-B - 1.5kW Mini Cube Portable Electric Fire\", \"Dimplex - WLL20-AU - Willowbrook 2kW Opti-myst Portable Electric Stove\", \"Electrolux - EHI645BB - 60cm Induction Cooktop\", \"Neff N 70 Electric Hob 60 cm Black - T11D41X2\", \"Dimplex - Redway - 2kW Redway Wall-Mounted Electric Fire\", \"Chef - 54cm Freestanding Electric Cooker - CFE547SB\", \"Volta - 1800 - ELECTROLUX VOLTA AEG PROGRES-3TORNADO\", \"Electrolux - PowerForce\\u2122 Animal All Floors - ZPF2310T\", \"Electrolux - EVE626SC - 60cm Multifunction 12/6 Duo Wall Oven\", \"Electrolux - EHG955SA - 90cm Gas Cooktop\", \"Electrolux - VCSK4 - Value Pack\", \"Smart - WM700EW - Wall Mounted Electric BBQ\", \"Electrolux - EFE914DSD - 90cm Dual Fuel Freestanding Cooker\"], \"type\": \"scatter\", \"x\": [-0.155840665102005, 0.021607257425785065, -0.3462674021720886, 0.043057478964328766, -0.3332555890083313, -0.11387960612773895, -0.14702865481376648, -0.37003228068351746, -0.2546762228012085, -0.35617372393608093, -0.3198702037334442, -0.24716272950172424, -0.2491573989391327, -0.21053728461265564, -0.1342776119709015, -0.32559117674827576, -0.04013732820749283, -0.0028932616114616394, -0.3169093728065491, 0.0466262623667717, -0.31116732954978943, -0.10484727472066879, -0.34820297360420227, -0.03431367874145508, -0.06913699209690094, -0.3548263609409332, -0.13540059328079224, -0.24425795674324036, -0.27541714906692505, -0.32041189074516296, -0.022510692477226257, -0.00878637284040451, 0.04022678732872009, -0.3256819546222687, -0.17460525035858154, -0.26556527614593506, -0.07760414481163025, -0.3291773200035095, -0.3517685830593109, -0.2489595115184784, -0.35599038004875183, 0.05060938000679016, -0.24728849530220032, -0.36144956946372986, -0.3599695861339569, -0.3735991418361664, -0.2683505117893219, -0.34638041257858276, -0.12139219790697098, -0.2548846900463104, -0.2409394383430481, -0.012230858206748962, -0.021176442503929138, -0.3586711883544922, -0.06399694830179214, -0.17060714960098267, -0.018660828471183777, -0.34681135416030884, -0.36474961042404175, -0.06980856508016586, -0.3664698600769043, -0.32294338941574097, -0.33414244651794434, -0.3652510643005371, -0.12083794176578522, -0.3164532780647278, -0.03962063789367676, -0.346158504486084, -0.32889324426651, 0.02514880895614624, -0.03663908690214157, -0.08852123469114304, -0.2783924341201782, -0.31016770005226135, -0.11913347244262695, -0.3468729853630066, -0.33670929074287415, -0.03672640770673752, -0.3440295457839966, -0.07692690938711166, -0.276902437210083, -0.14356014132499695, -0.32145264744758606, -0.15421831607818604, -0.03883470594882965, -0.18377685546875, -0.06301235407590866, -0.08914778381586075, -0.3468010425567627, -0.15685884654521942, -0.15873786807060242, -0.20649206638336182, 0.05331387743353844, -0.2516109347343445, -0.32925698161125183, -0.32519909739494324, 0.04093107953667641, -0.18160858750343323, 0.03428734093904495, -0.26109108328819275, -0.3298308849334717, -0.05568600445985794, -0.3061758577823639, 0.04734085500240326, -0.3534752428531647, -0.0989135280251503, -0.20597633719444275, -0.2777459919452667, -0.11349047720432281, -0.08315516263246536, -0.35782983899116516, 0.010024875402450562, 0.021212249994277954, -0.30019351840019226, -0.33628958463668823, 0.06563106179237366, -0.04965723305940628, -0.3065578043460846], \"y\": [0.016432642936706543, -0.14301803708076477, 0.12025150656700134, -0.2387726902961731, 0.04520474374294281, 0.0011095907539129257, -0.030983611941337585, 0.007883403450250626, 0.018599364906549454, 0.09247833490371704, 0.008314769715070724, -0.0021291635930538177, -0.005728021264076233, -0.07985199987888336, 0.05419877916574478, -0.02408153936266899, -0.11851324886083603, -0.11939278244972229, 0.019779659807682037, -0.08318743109703064, 0.10808701813220978, -0.03601609915494919, 0.09127965569496155, -0.05146925523877144, -0.14809851348400116, 0.09164483100175858, -0.006500966846942902, 0.05452902615070343, 0.006683439016342163, 0.08707860112190247, -0.0007806317880749702, -0.057090140879154205, -0.03254516422748566, 0.07057925313711166, 0.051956433802843094, 0.007552269846200943, -0.04142488166689873, 0.05878213047981262, 0.08638027310371399, -0.036920491605997086, 0.09336727112531662, -0.11333070695400238, -0.00540456548333168, 0.08726816624403, 0.11623932421207428, 0.13144780695438385, 0.022434156388044357, 0.08458946645259857, -0.09339682012796402, -0.010744605213403702, 0.01870243437588215, -0.01255638524889946, -0.07397378236055374, 0.08206619322299957, -0.015641257166862488, 0.03585178405046463, -0.09669899940490723, 0.01658327877521515, 0.12099183350801468, -0.06367290019989014, -0.006250388920307159, -0.015390217304229736, 0.07591979205608368, 0.10247667133808136, -0.058199431747198105, 0.11431847512722015, 0.04198809340596199, 0.08314747363328934, 0.054894447326660156, -0.1284940540790558, -0.038409989327192307, -0.028253676369786263, -0.026148732751607895, 0.023034706711769104, -0.07398442924022675, 0.1305258572101593, 0.06912938505411148, -0.12136665731668472, 0.08848462253808975, -0.028556354343891144, -0.03288409113883972, -0.11676587909460068, 0.06766141951084137, -0.03913842886686325, -0.027055470272898674, -0.05497254431247711, -0.018022321164608, -0.020204786211252213, 0.08480647206306458, 0.0006732381880283356, 0.08593819290399551, -0.022973457351326942, -0.10144159197807312, 0.02140161395072937, 0.16561859846115112, 0.08560514450073242, -0.008944143541157246, -0.09402607381343842, -0.08454181253910065, -0.0075941625982522964, 0.07284492999315262, -0.028851687908172607, 0.07062717527151108, 0.05602364242076874, 0.11907820403575897, -0.09129646420478821, 0.0047797635197639465, -0.003953183069825172, 0.03317048400640488, -0.07282671332359314, -0.018978938460350037, -0.12608057260513306, -0.08931444585323334, 0.09226040542125702, 0.1576932668685913, -0.049117714166641235, 0.031944725662469864, 0.02228805050253868]}, {\"marker\": {\"color\": 44, \"size\": 5}, \"mode\": \"markers\", \"name\": \"39\", \"text\": [\"Jabra - Talk Bluetooth Headset - 100-92200000-33\", \"JBL - JBLT600BTNCWHT - Wireless Headphones\", \"JBL - JBLJR300BTUNO - Kids Wireless On-Ear Headphones\", \"B&O Play - A1 Green - Beoplay A1 Portable Bluetooth Speaker\", \"Sony - SRSXB43B - EXTRA BASS\\u2122 Portable Bluetooth Speaker - Black\", \"JBL - Flip 3 Red - Splashproof Portable Bluetooth Speaker\", \"JBL - JBLREFCONTOUR2 - Reflect Contour 2 - Black\", \"JBL - Inspire 500 In-Ear Wireless Sport Headphones - JBLINSP500BLK\", \"Bush - BPA1505BT - LED Rechargeable Bluetooth Party Speaker\", \"Harman/Kardon - Onyx Studio 3 - Portable Bluetooth Speaker - Black\", \"B&O Play - P2 Black - Beoplay P2 Portable Bluetooth Speaker\", \"JBL - Boombox 2 - Portable Bluetooth Speaker\", \"JBL - Portable Bluetooth Speaker - FLIP4 BLUE\", \"Sony - SRS-XB22 - Extra Bass Portable Bluetooth Speaker - Black \", \"JBL - Flip3 Grey - Splashproof Bluetooth Speaker\", \"JBL Bar 2.0 All-in-One Soundbar - 80W \", \"Sony - SRSXB21L - Extra Bass Portable Party Speaker - Blue\", \"JBL - JBLE35BLU - E35 Headphone - Blue\", \"B&O - Beolit 17 Portable Speaker - Natural \", \"JBL Flip Essential Portable Bluetooth Speaker  \", \"JBL Link Bar - Voice-Activated Soundbar with Android TV\", \"JBL - JBLT110BTWHT - In-Ear Wireless Headphones\", \"Sony - SRSXB23C - EXTRA BASS\\u2122 Portable Bluetooth Speaker - Taupe\", \"Sony - SRSXB22H - Extra Bass Portable Bluetooth Speaker - Grey\", \"Sennheiser - BT T100 - Bluetooth\\u00ae Audio Transmitter\", \"JBL - LINK20 - Voice-activated Portable Speaker - Black  \", \"JBL - JBLGO2BLACK - Portable Bluetooth Speaker - Black\", \"JBL - Link 300 - Voice-activated Speaker - Black\", \"JBL - JBLJRPOPRED - JR Pop Speaker - Red\", \"JBL - CLIP 2 RED - Portable Bluetooth Speaker\", \"B&O Play - P2 Sand Stone - Beoplay P2 Portable Bluetooth Speaker\", \"Audio Pro - BT5 Bluetooth Speaker - Driftwood\", \"JBL TUNE 220TWS True Wireless Earbuds - Blue\", \"JBL - JBLT500BTPIK - TUNE 500BT Wireless On-Ear Headphones - Pink\", \"JBL - Portable Bluetooth Speaker - Flip 5 Black\", \"JBL - XTREME RED - Portable Bluetooth Speaker\", \"JBL PartyBox 300 - Wireless Bluetooth Party Speaker - JBLPARTYBOX300\", \"JBL PartyBox 100 - Powerful Portable Bluetooth Party Speaker\", \"JBL - LINK 10 - Voice-activated Portable Speaker - White\", \"Sony - SRSXB23B - EXTRA BASS\\u2122 Portable Bluetooth Speaker - Black\", \"Audio Pro - BT5 Bluetooth Speaker - Walnut  \", \"JBL - Charge 4 Pink - Portable Bluetooth Speaker\", \"JBL - JBLGOBLK - GO Portable Bluetooth Speaker\", \"Sony - SRSXB22R - Extra Bass Portable Bluetooth Speaker - Red\", \"Sony - SRSXB43C - EXTRA BASS\\u2122 Portable Bluetooth Speaker - Taupe\", \"JBL - Portable Bluetooth Speaker - FLIP4 WHITE\", \"JBL - Portable Bluetooth Speaker - Flip 5 Pink\", \"Sony - SRSXB23R - EXTRA BASS\\u2122 Portable Bluetooth Speaker - Red\", \"JBL Free X | Truly Wireless In-Ear Headphones - Black\", \"B&O Play - A1 Natural - Beoplay A1 Portable Bluetooth Speaker\", \"JBL - JBLGO2CINNAMON - Portable Bluetooth Speaker - Cinnamon\", \"JBL - Link View Voice Activated Speaker - Black\", \"JBL - Playlist Wireless Speaker - JBLPLYLIST150BLKAS\", \"Sony - SRSXB33L - EXTRA BASS\\u2122 Portable Bluetooth Speaker - Blue\", \"Sony - SRSXB23L - EXTRA BASS\\u2122 Portable Bluetooth Speaker - Blue\", \"JBL Kids Wireless On-Ear Headphones - Pink - JBLJR300BT\", \"JBL - JBLGO2RED - Portable Bluetooth Speaker - Red\", \"JBL - E55BT Over Ear Headphones - Black - JBLE55BTBLK \", \"JBL - CHARGE 3 BLUE - Portable Bluetooth Speaker\", \"JBL - JBLTUNERBLKAU - Portable Bluetooth Speaker with DAB/FM\", \"JBL 5.1 Channel Surround Soundbar with MultiBeam\\u2122 Sound - 550W\", \"JBL - JBLGO2BLUE - Portable Bluetooth Speaker - Blue\", \"Sony - SRSXB33C - EXTRA BASS\\u2122 Portable Bluetooth Speaker - Taupe\", \"JBL Free X | Truly Wireless In-Ear Headphones - White\", \"JBL - JBLGOYEL - GO Portable Bluetooth Speaker\", \"JBL - JBLT210BLK - In-ear headphones - Black\", \"Harman/Kardon - Go + Play - Portable Bluetooth Speaker\", \"JBL - CLIP 3 BLACK - Portable Bluetooth\\u00ae Speaker\", \"Sony - SRS-XB12 - Portable Bluetooth\\u00ae Speaker - Grey \", \"JBL - Charge 4 Blue - Portable Bluetooth Speaker  \", \"JBL - CLIP 2 BLACK - Portable Bluetooth Speaker\", \"JBL - JBLT500BLK - Tune 500 Wired On-Ear Headphones\", \"JBL - Tune 120TWS Black - Wireless In-ear Headphones\", \"Sengled -  Pulse LED + Wireless Speaker - Pair - B22\", \"JBL Endurance DIVE | Waterproof Wireless In-Ear Sport Headphones with MP3 Player\", \"JBL - JBLT210RGD - In-ear Headphones - Rose Gold \", \"JBL - JBLHORIZONBLKEU - Bluetooth\\u00ae  Clock Radio - Black\", \"JBL - JBLT600BTNCPIK - Wireless Headphones\", \"Jabra - Drive Black - Drive In-Car Speakerphone\", \"JBL - JBLJRPOPPUR - JR Pop Speaker - Iris Purple\", \"JBL - XTREME 2 GREEN - Portable Bluetooth Speaker\", \"JBL - JBLT600BTNCBLK - TUNE 600 BTNC Noise Cancelling  Headphones\", \"JBL - JBLPULSE4BLK - Pulse 4 Portable Bluetooth Speaker\", \"JBL - Portable Bluetooth Speaker - Flip 5 Blue\", \"JBL - JBLINSP700TEL - Inspire 700 for Women -  In-Ear Wireless Headphones\", \"Harman/Kardon - Onyx Mini Black - Portable Bluetooth Speaker\", \"Audio Pro - BT5 Bluetooth Speaker - Black\", \"JBL - LIVE 650BTNC - Wireless Noise Cancelling Headphones - Blue\", \"JBL - JBLT450WHT - T450 On-ear Headphones - White\", \"JBL - CLIP 3 RED - Portable Bluetooth\\u00ae Speaker\", \"Jabra - Talk 5 Mono Bluetooth Headset \", \"Jabra - Talk 15 Mono Bluetooth Headset\", \"Sony - SRSXB33R - EXTRA BASS\\u2122 Portable Bluetooth Speaker - Red\", \"JBL - JBLT500BTWHT - TUNE 500BT Wireless On-Ear Headphones - White\", \"JBL - JBLT500BLU - Tune 500 Wired On-Ear Headphones\", \"JBL - JBLT110BTBLK - In-Ear Wireless Headphones \", \"Jabra - Talk 45 Mono Bluetooth Headset\", \"JBL TUNE 220TWS True Wireless Earbuds - Black\", \"JBL TUNE 220TWS True Wireless Earbuds - White\", \"JBL - Tune 120TWS White - Wireless In-ear Headphones\", \"JBL Bar 2.1Channel Deep Bass Soundbar with Wireless Subwoofer - 300W\", \"JBL - XTREME 2 BLUE - Portable Bluetooth Speaker\", \"Sony - SRSXB41B - Portable Wireless Bluetooth Speaker - Black\", \"JBL - JBLENDURPEAKBLK - Endurance Peak Wireless Headphones\", \"JBL LIVE 400BT Wireless On-Ear Headphones - Black\", \"JBL - LIVE 650BTNC - Wireless Noise Cancelling Headphones - Black\", \"JBL - JBLT600BTNCBLU - Wireless - Active Noise-Cancelling Headphones\", \"JBL - PULSE2BLACK - Splashproof Bluetooth Speaker\", \"JBL Endurance SPRINT | Waterproof Wireless In-Ear Sport Headphones\", \"Sony - SRS-XB12 - Portable Bluetooth\\u00ae Speaker - Black  \", \"Sony - SRSXB43L - EXTRA BASS\\u2122 Portable Bluetooth Speaker - Blue\", \"JBL - Portable Bluetooth Speaker - Flip 5 Green\", \"Sony - SRSXB32R - Extra Bass Portable Bluetooth Speaker - Red\", \"Sony - SRSXB33B - EXTRA BASS\\u2122 Portable Bluetooth Speaker - Black\", \"Sangean - BTS-101GB - BLUTAB Portable Stereo/Bluetooth Speaker\", \"JBL - Boombox - Portable Bluetooth Speaker\", \"JBL - PartyBox 1000 Bluetooth Party Speaker\", \"JBL - CHARGE 3 RED - Portable Bluetooth Speaker\", \"JBL - Charge 4 Black - Portable Bluetooth Speaker  \", \"JBL - XTREME 2 BLACK - Portable Bluetooth Speaker\", \"JBL - Flip3 Black - Splashproof Bluetooth Speaker\", \"Sony - SRS-XB12 - Portable Bluetooth\\u00ae Speaker - Red \", \"JBL - CLIP 3 PINK - Portable Bluetooth\\u00ae Speaker\", \"JBL - JBLSW10BLKAS - 10\\\" Powered Wireless Subwoofer\", \"JBL Endurance RUN Sports Headphones\", \"JBL  Endurance RUN In-Ear Sweatproof Wired Sport In-Ear Headphones\", \"JBL - JBLREFFLOWBLK - Reflect Flow Wireless Sport Headphones\", \"JBL LIVE 400BT Wireless On-Ear Headphones - White\", \"JBL - JBLT500BTBLK - TUNE 500BT Wireless On-Ear Headphones - Black\"], \"type\": \"scatter\", \"x\": [0.2687622904777527, 0.3124489486217499, 0.2898709774017334, 0.31963080167770386, 0.3540506064891815, 0.315695583820343, 0.18871144950389862, 0.3122972548007965, 0.16984295845031738, 0.32891690731048584, 0.33499741554260254, 0.33489665389060974, 0.3156566917896271, 0.3453238010406494, 0.3188994228839874, 0.15607334673404694, 0.2908247709274292, 0.27270272374153137, 0.17384983599185944, 0.3483348488807678, 0.32043975591659546, 0.3098253011703491, 0.33579662442207336, 0.35488957166671753, 0.3380570113658905, 0.2883453071117401, 0.3360234498977661, 0.21844777464866638, 0.19679082930088043, 0.3517255187034607, 0.28509649634361267, 0.31291478872299194, 0.3286704421043396, 0.34279078245162964, 0.3433360755443573, 0.3212251365184784, 0.261545866727829, 0.27211639285087585, 0.27612435817718506, 0.3434758186340332, 0.33661961555480957, 0.3112577199935913, 0.31933099031448364, 0.34683752059936523, 0.34911271929740906, 0.30195480585098267, 0.3227984607219696, 0.3418697118759155, 0.34436729550361633, 0.31483906507492065, 0.28240975737571716, 0.2580816149711609, 0.2879355549812317, 0.3457223176956177, 0.33856290578842163, 0.3048262298107147, 0.3336121439933777, 0.2549647092819214, 0.3004797399044037, 0.3299565315246582, 0.2488679438829422, 0.32945916056632996, 0.34347233176231384, 0.31952184438705444, 0.3207484483718872, 0.2835547626018524, 0.30907484889030457, 0.3467978239059448, 0.37105050683021545, 0.3231945037841797, 0.35199037194252014, 0.3029799461364746, 0.3002542555332184, 0.20525123178958893, 0.292668879032135, 0.2539078891277313, 0.30023229122161865, 0.3052661120891571, 0.25707754492759705, 0.21527911722660065, 0.3173765242099762, 0.25475168228149414, 0.3023798167705536, 0.336362361907959, 0.3019721210002899, 0.32602787017822266, 0.36502254009246826, 0.264818012714386, 0.2826085388660431, 0.34305423498153687, 0.3148016333580017, 0.32273566722869873, 0.3485056161880493, 0.34177568554878235, 0.30072104930877686, 0.29652372002601624, 0.27401548624038696, 0.32884031534194946, 0.3024384081363678, 0.2785727083683014, 0.24035212397575378, 0.3356638550758362, 0.3580707311630249, 0.2754024863243103, 0.3335363268852234, 0.2689160406589508, 0.27052220702171326, 0.29736581444740295, 0.2880382239818573, 0.3629060387611389, 0.3505316972732544, 0.31939977407455444, 0.3496064245700836, 0.35148903727531433, 0.25331443548202515, 0.3244543671607971, 0.28109583258628845, 0.30246761441230774, 0.33104807138442993, 0.3382316827774048, 0.3213711678981781, 0.3606698215007782, 0.3425430953502655, 0.2464745193719864, 0.2767234146595001, 0.2348642349243164, 0.26412233710289, 0.30729684233665466, 0.3621543347835541], \"y\": [-0.35860365629196167, -0.32276540994644165, -0.3899346590042114, -0.19813185930252075, -0.18788626790046692, -0.33705422282218933, -0.2719401717185974, -0.310613214969635, -0.29694294929504395, -0.26424604654312134, -0.27238979935646057, -0.3459104001522064, -0.3186228275299072, -0.17515592277050018, -0.3428837060928345, -0.22767239809036255, -0.16418521106243134, -0.2640724182128906, -0.21604347229003906, -0.3083159625530243, -0.10269470512866974, -0.32442349195480347, -0.20941665768623352, -0.18103131651878357, -0.3061378002166748, -0.2667692303657532, -0.3229641318321228, -0.3146897554397583, -0.33785414695739746, -0.3148949146270752, -0.25343450903892517, -0.31553053855895996, -0.3552771210670471, -0.3274577856063843, -0.29278379678726196, -0.3161104619503021, -0.33325010538101196, -0.2605902850627899, -0.25584620237350464, -0.20486444234848022, -0.3318858742713928, -0.2859654724597931, -0.2794593572616577, -0.20331890881061554, -0.19148842990398407, -0.3164331316947937, -0.2908985912799835, -0.2122860997915268, -0.3268160820007324, -0.22183796763420105, -0.31221237778663635, -0.2731636166572571, -0.3420138955116272, -0.20457516610622406, -0.21033602952957153, -0.36225229501724243, -0.32604628801345825, -0.22700192034244537, -0.33907485008239746, -0.33560213446617126, -0.14917896687984467, -0.33149486780166626, -0.20739631354808807, -0.32579755783081055, -0.2801746129989624, -0.3145487308502197, -0.24674929678440094, -0.3299698829650879, -0.14559826254844666, -0.30109772086143494, -0.3242349624633789, -0.32015010714530945, -0.3108479976654053, -0.2736099362373352, -0.27219271659851074, -0.2955465316772461, -0.3079027533531189, -0.33720457553863525, -0.297390341758728, -0.3147734999656677, -0.2857775092124939, -0.2713296413421631, -0.279885858297348, -0.30730122327804565, -0.28900444507598877, -0.26741892099380493, -0.3163321614265442, -0.342576801776886, -0.20831246674060822, -0.31822407245635986, -0.34667885303497314, -0.346664696931839, -0.2071533501148224, -0.32097721099853516, -0.32806819677352905, -0.3326159417629242, -0.3318212032318115, -0.3385705351829529, -0.33704930543899536, -0.31018537282943726, -0.27070993185043335, -0.32105502486228943, -0.19528013467788696, -0.3701784014701843, -0.3600437343120575, -0.3233444094657898, -0.3360242247581482, -0.36959201097488403, -0.3148435950279236, -0.1513402760028839, -0.19187386333942413, -0.27070415019989014, -0.1833229660987854, -0.20074060559272766, -0.18632535636425018, -0.35590797662734985, -0.3326149582862854, -0.3277207911014557, -0.2904808819293976, -0.3209940791130066, -0.343503475189209, -0.1610335111618042, -0.31545162200927734, -0.21999259293079376, -0.29590553045272827, -0.28713902831077576, -0.35609906911849976, -0.36049526929855347, -0.3217858076095581]}, {\"marker\": {\"color\": 45, \"size\": 5}, \"mode\": \"markers\", \"name\": \"40\", \"text\": [\"Sennheiser CX 150BT Wireless Headset - Black\", \"Jabra Elite 65t True Wireless Earbuds - Copper Black \", \"Ultimate Ears - Boom 3 Wireless Bluetooth Speaker - Unicorn\", \"Moki - ACC-HPKNCGY - Moki Navigator Headphones - Grey \", \"Sony - MDREX15APB - EX Monitor Headphones\", \"Ultimate Ears - Wonderboom - Bluetooth Speaker - FireBall \", \"Lightning to 3.5mm Headphone Jack Adapter\", \"Sony - MDR-ZX110B - ZX110 Headphones\", \"Moki - ACC-HPHBDR - Hybrid Bluetooth Earphones - Red \", \"Jabra - 4305791 - Talk 35 Headset\", \"B&O Play - H3 Natural - Beoplay H3  In-Ear Headphones\", \"Urbanista Paris - True Wireless Headphones & Qi-wireless Pad Bundle - Fluffy Cloud\", \"Laser - DJ Style Over Ear Headphones - Red\", \"Jabra - 4305790 - Talk 25 Headset\", \"Bowers & Wilkins PX5 Noise Cancelling Wireless Headphones - Blue\", \"Laser  - DJ Style Over Ear Headphones - Silver\", \"Beats Solo3 Wireless On-Ear Headphones - Matt Black \", \"Sony WH-1000XM3 Wireless Noise Cancelling Headphones\", \"Jabra - Elite Active 65t Earbuds - For True Wireless Music, Calls and Sport   \", \"Marshall - Mode Earphones with Microphone\", \"Powerbeats3 Wireless Earphones - Black\", \"Sony - MDRZX110NC - Noise Cancelling Headphones\", \"Ultimate Ears - Megaboom - Wireless Speaker - Lava Red \", \"Sony - MDREX15APW - EX Monitor Headphone (White)\", \"Marshall - Kilburn Black - Bluetooh Wireless Speaker \", \"Sennheiser MOMENTUM Wireless - Noise Cancelling Headphones - Black\", \"urBeats3 - In-Ear Headphones - Matt Black\", \"Marshall - Monitor Bluetooth Headphones \", \"Ultimate Ears - Boom 2 - Wireless Speaker - Lilac\", \"Sennheiser CX 150BT Wireless Headset - White\", \"Sennheiser CX 350BT Wireless Earphones - White\", \"Sony - MDRXB650BTB - Extra Bass Bluetooth Headphones - Black\", \"Marshall - Stockwell with Flip Cover - Stockwell Speaker\", \"Jabra Move Style Edition Wireless Over-the-head Headphones - Black  \", \"Sennheiser - RS 175 - TV Wireless Headphones\", \"Blueant - Pump Lite Wireless HD Audio Sportbuds - Red\", \"Ultimate Ears - Blast Blue Steel - Bluetooth Wireless Speaker\", \"Jabra Elite Active 75t Truly Wireless Headphones - Gold\", \"Plantronics - BackBeat FIT Bluetooth Headphone - Red\", \"Urbanista - Stockholm - True Wireless In-Ear Headphones - Dark Clown \", \"Sony Truly Wireless Noise Cancelling In-ear Headphones - WF1000XM3S \", \"Sony - WHXB900NB - EXTRA BASS\\u2122 Wireless Noise Cancelling Headphones\", \"Ultimate Ears - Wonderboom 2 - Bluetooth Speaker - Unicorn\", \"Ultimate Ears - MegaBoom 3 Wireless Bluetooth Speaker - Sunset Red\", \"Sennheiser HD 100 - On-ear Headphones\", \"B&O Play - H5 Dusty Rose - Beoplay H5 In-Ear Headphones \", \"Ultimate Ears - Boom 3 Wireless Bluetooth Speaker - Sunset Red\", \"Sony - WH-CH500B - Wireless Headphones - Black\", \"Moki - ACC-HPPOU4 - Popper Triangle Pattern Headphones\", \"Moki - ACC-HPPOE - Popper Levels Black Headphone \", \"Sony - WISP500B - Wireless In-ear Sports Headphones - Black\", \"Moki - ACC-HPPOB - Popper Claw Red Headphone\", \"Beats Solo2 On-Ear Headphones \\u2013 Luxe Edition, Black\", \"Cygnett - CY2086BTFRU - Wireless Bluetooth Earphones in Blue\", \"Cygnett - CY2084BTFRU - Wireless Bluetooth Earphones in Green\", \"Konka SE2 Smartphone PLUS HE10 Bluetooth Earbuds Bundle\", \"Powerbeats3 Wireless Earphones - White \", \"Ultimate Ears - Wonderboom 2 Bluetooth Speaker - Double Pack - Black\", \"Ultimate Ears - Wonderboom - Bluetooth Speaker - SubZero\", \"Bowers & Wilkins PX7 Over-ear Noise Cancelling Wireless Headphones - Space Grey\", \"Beats Studio3 Wireless Headphones - Skyline Collection, Midnight Black  \", \"Ultimate Ears - Boom 3 Wireless Bluetooth Speaker - Ultraviolet Purple\", \"Sennheiser MOMENTUM True Wireless 2 - White\", \"Moki - ACC-HPHBDB - Hybrid Bluetooth Earphones - Blue\", \"Sennheiser MOMENTUM True Wireless \", \"Sony - MDRE9LPWI - Fontopia Headphone (Snow White)\", \"Sony - WHXB700B - EXTRA BASS\\u2122 Wireless Headphones\", \"Sennheiser - MOMENTUM In-Ear Wireless Black Headphones - M2IEBTBLK\", \"Sony - MDRE9LPB - Fontopia Headphone  (Black)\", \"Sony - WISP500P - Wireless In-ear Sports Headphones - Pink\", \"Sony - WIC310N - Wireless In-ear Headphones - Neutral\", \"Sony - WISP500Y - Wireless In-ear Sports Headphones - Yellow\", \"Ultimate Ears - Wonderboom 2 - Bluetooth Speaker - Black\", \"Ultimate Ears - Megaboom - Wireless Speaker - Plum\", \"Beats Studio3 Wireless Over-Ear Headphones - Matt Black   \", \"Ultimate Ears - Megaboom - Wireless Speaker - Blue\", \"Sony WF1000XM3B Truly Wireless Noise Cancelling In-ear Headphones  \", \"Sony - WISP500W - Wireless In-ear Sports Headphones - White\", \"Ultimate Ears -  Roll 2 - Wireless Portable Bluetooth Speaker - SugarPlum\", \"EarPods with Lightning Connector - MMTN2FE/A\", \"Sony - WHCH700NB - Wireless Noise Cancelling Headphones \", \"EarPods with 3.5mm Headphone Plug\", \"Urbanista - Stockholm - True Wireless In-Ear Headphones - Olive Green\", \"Sennheiser MOMENTUM True Wireless 2 - Black\", \"Merge Mobile AR/VR Headset (Moon Grey)\", \"Beats Studio3 Wireless Over\\u2011Ear Headphones - White \", \"Bowers & Wilkins Zeppelin Wireless Speaker - FP37672\", \"Ultimate Ears - POWER UP - Power Up Charging Dock\", \"Ultimate Ears - BOOM 2 - Wireless Speaker - Limited Edition\", \"Jabra Elite Sport - True Wireless Sports Earbuds \", \"Moki - ACC-HPP17A - Popper Unicorn Headphone \", \"Sennheiser - In-Ear Headphones - iPhone/iPad/iPod - Red - MOMENTUMIEI\", \"Urbanista - Stockholm - True Wireless In-Ear Headphones - Rose Gold\", \"Jabra Move Style Edition Wireless Over-the-head Headphones - Navy\", \"Sennheiser - MOMENTUMIEG - In-Ear Headphones - Red\", \"Sony - MDRE9LPL - Fontopia Headphone (Blue)\", \"Marshall - Major II Bluetooth Headphones -Black \", \"Moki - ACC-HPKSPP - Kid Safe Volume Limited Pink & Purple Headphone \", \"Moki - ACC-HPEXKP - EXO Kids Bluetooth Headphones - Pink \", \"Jabra Elite 85h Noise-Cancelling Headphones - Black   \", \"Sennheiser HD 450BT Wireless Headphone - Black\", \"Sennheiser HD 350BT Wireless Headphone - Black\", \"Ultimate Ears - Boom 2 - Wireless Speaker - Cashmere \", \"Sennheiser - CX SPORT - In-Ear Wireless Headset\", \"Ultimate Ears - Boom 3 Wireless Bluetooth Speaker - Lagoon Blue\", \"Urbanista - Seattle Wireless Headphones - Rose Gold  \", \"Ultimate Ears - Wonderboom 2 - Bluetooth Speaker - Red\", \"Beats X Earphones - Black  \", \"Beats EP On-Ear Headphones Black\", \"Moki - ACC-HPKSBR - Kid Safe Volume Limited Blue & Red Headphones\", \"Beats by Dre - Powerbeats Pro - Totally Wireless Earphones - Black   \", \"Beats Solo3 Wireless On-Ear Headphones - Satin Silver\", \"Beats Solo2 On-Ear Headphones \\u2013 Luxe Edition, Silver \", \"Urbanista Paris - True Wireless Headphones & Qi-wireless Pad Bundle - Rose Gold\", \"Beats Studio3 Wireless Headphones -  The Beats Skyline Collection - Desert Sand \", \"Urbanista Paris - True Wireless Headphones & Qi-wireless Pad Bundle - Black\", \"Sony - MDR-RF995RK - Wireless Headphones\", \"Urbanista Paris - True Wireless Headphones & Qi-wireless Pad Bundle - Olive Green\", \"Urbanista Athens - True Wireless In Earphones - Midnight Black - IP67\", \"Sony - WH-1000XM4S - Wireless Noise Cancelling Headphones - Silver\", \"urBeats3 Earphones with Lightning Connector - Black\", \"Beats Studio3 Wireless Over-Ear - Matt Black\", \"Sennheiser - RS 120-9 - RF Wireless Headphones \", \"Cygnett - CY2496FREPL - FreePlay Bluetooth\\u00ae Earphones - White\", \"Sony Wireless Noise Cancelling Headphones - WFSP700NW - White\", \"Blueant - Pump Lite Wireless HD Audio Sportbuds - Black \", \"Sony - WFSP700NP - Wireless Noise Cancelling Headphones - Pink\", \"Sennheiser MOMENTUM Wireless - Noise Cancelling Headphones - Sandy White \", \"Bowers & Wilkins PX7 Over-ear Noise Cancelling Wireless Headphones - Silver\", \"Ultimate Ears - MegaBlast Graphite - Bluetooth Wireless Speaker \", \"Ultimate Ears - Boom 3 Wireless Bluetooth Speaker - Black Night\", \"Sony - WH1000XM3 Silver - Wireless Noise Cancelling Headphones\", \"Sennheiser - CX 6.00BT - Wireless In-Ear Headset\", \"Ultimate Ears - MegaBoom 3 Wireless Bluetooth Speaker - Lagoon Blue\", \"Belkin - AV10044bt - Headphone Splitter\", \"Bowers & Wilkins PX5 Noise Cancelling Wireless Headphones - Space Grey\", \"Ultimate Ears - Wonderboom 2 - Bluetooth Speaker - Peach\", \"Ultimate Ears - Wonderboom - Bluetooth Speaker - Stone \", \"Ultimate Ears -  Roll 2 - Wireless Portable Bluetooth Speaker - Habanero \", \"Ultimate Ears - Wonderboom 2 - Bluetooth Speaker - Grey\", \"Jabra - Elite 25e Headphones - For Wireless Calls & Music\", \"Sennheiser - PXC 550 - Noise Cancelling Wireless Headphone Headset \", \"Sony - WH-1000XM4B - Wireless Noise Cancelling Headphones - Black\", \"Ultimate Ears - Boom 2 - Wireless Speaker - Stone \", \"Jabra Elite 65t True Wireless Earbuds - Titanium Black \", \"AKG - N700NC - Wireless, Adaptive Noise Cancelling Headphones\", \"Ultimate Ears -  Roll 2 - Wireless Portable Bluetooth Speaker - Volcano\", \"Jabra - 1009307000040 - Storm  Bluetooth Mono Headset\", \"Sennheiser - On Ear Stereo Headphones - HD 2.10\", \"Sennheiser HD 450BT Wireless Headphone - White\", \"Sennheiser - PXC 550-II - Wireless Headphone\", \"Sennheiser CX 350BT Wireless Earphones - Black\", \"Sennheiser HD 350BT Wireless Headphone - White\", \"Ultimate Ears - Wonderboom 2 - Bluetooth Speaker - Blue\", \"Urbanista - Tokyo Plus Moon Walk -  In-Ear Headphones\", \"Jabra Elite Active 75t Truly Wireless Headphones - Navy\", \"Sony - WF-SP700NB - Wireless Noise Cancelling Headphones - Black\", \"Ultimate Ears -  Roll 2 - Wireless Portable Bluetooth Speaker - Atmosphere\", \"Jabra - Elite 45e Headphones - For Superior Wireless Calls and Music\", \"Ultimate Ears - MegaBlast Blue Steel - Bluetooth Wireless Speaker\", \"Ultimate Ears - MegaBoom 3 Wireless Bluetooth Speaker - Night Black\", \"Ultimate Ears - Megaboom - Wireless Speaker - Juicy Orange\", \"Sennheiser - HDR 175 - Additional Headphone for the RS 175 \", \"Jabra  Elite 75t Truly Wireless Headphones - Titanium Black\", \"Jabra Elite 75t Truly Wireless Headphones - Gold\", \"Ultimate Ears - MegaBoom 3 Wireless Bluetooth Speaker - Ultraviolet Purple\", \"Jabra - Style Bluetooth Headset - 100-99600000-33\", \"Sony - WIC310B - Wireless In-ear Headphones - Black\", \"Urbanista - Stockholm - True Wireless In-Ear Headphones - Fluffy Cloud\", \"Jabra Move Style Edition Wireless Over-the-head Headphones - Gold Beige\"], \"type\": \"scatter\", \"x\": [0.3471324145793915, 0.1835971176624298, 0.2935536205768585, 0.2458512783050537, 0.34622812271118164, 0.22566398978233337, 0.2554160952568054, 0.2913340926170349, 0.255104660987854, 0.2260846644639969, 0.22134733200073242, 0.2984772324562073, 0.2620088756084442, 0.20079493522644043, 0.2723067104816437, 0.25765883922576904, 0.3634647727012634, 0.3253781199455261, 0.2564716041088104, 0.2736479341983795, 0.35140925645828247, 0.26661932468414307, 0.19528335332870483, 0.34175020456314087, 0.21333789825439453, 0.3005775809288025, 0.31058722734451294, 0.3030126988887787, 0.25268393754959106, 0.3231917917728424, 0.3019678294658661, 0.35142481327056885, 0.09567807614803314, 0.33975303173065186, 0.2974891662597656, 0.20573270320892334, 0.2556607723236084, 0.2418799251317978, 0.22687193751335144, 0.24458518624305725, 0.29220208525657654, 0.3026771545410156, 0.3054943084716797, 0.2859279215335846, 0.28097760677337646, 0.19307468831539154, 0.3045459985733032, 0.32182419300079346, 0.24437038600444794, 0.21783074736595154, 0.33827129006385803, 0.18720540404319763, 0.3464997410774231, 0.25298112630844116, 0.2355804741382599, 0.3281344771385193, 0.32510629296302795, 0.30943846702575684, 0.279142290353775, 0.28153568506240845, 0.31578171253204346, 0.319530189037323, 0.3250367045402527, 0.2510729134082794, 0.3443949520587921, 0.31931620836257935, 0.3448878824710846, 0.3093481659889221, 0.3339551091194153, 0.33324772119522095, 0.26455187797546387, 0.34129244089126587, 0.3413085341453552, 0.23362597823143005, 0.3557133376598358, 0.2832809388637543, 0.30053821206092834, 0.32936879992485046, 0.3240947127342224, 0.2089207023382187, 0.2737392783164978, 0.30090945959091187, 0.22338855266571045, 0.3493754267692566, 0.31090104579925537, 0.33925479650497437, 0.116309754550457, 0.1844581663608551, 0.2668231129646301, 0.29601630568504333, 0.21208560466766357, 0.34793946146965027, 0.23606500029563904, 0.2885143458843231, 0.2815283238887787, 0.32913777232170105, 0.3136035203933716, 0.17528684437274933, 0.25690045952796936, 0.2065110057592392, 0.3235087990760803, 0.33848118782043457, 0.2569573223590851, 0.33625394105911255, 0.289156049489975, 0.27151334285736084, 0.32184866070747375, 0.313466340303421, 0.31388673186302185, 0.20319242775440216, 0.3427354693412781, 0.33297649025917053, 0.3170565962791443, 0.29789555072784424, 0.2890644073486328, 0.32822927832603455, 0.3271487057209015, 0.28350144624710083, 0.29947686195373535, 0.28906765580177307, 0.3188350796699524, 0.3022450804710388, 0.27535784244537354, 0.28228044509887695, 0.24178770184516907, 0.22299467027187347, 0.2646756172180176, 0.2740262448787689, 0.25924384593963623, 0.24687150120735168, 0.3175514042377472, 0.30988121032714844, 0.31514230370521545, 0.2740021049976349, 0.14349445700645447, 0.2641088664531708, 0.3138301968574524, 0.2806718349456787, 0.3411794900894165, 0.3348708748817444, 0.2844597101211548, 0.2626398503780365, 0.30059975385665894, 0.2477625608444214, 0.24355539679527283, 0.2869882583618164, 0.2622532248497009, 0.25233811140060425, 0.3489041030406952, 0.30260005593299866, 0.2979085147380829, 0.3274891674518585, 0.31535467505455017, 0.3269934356212616, 0.21696636080741882, 0.21215808391571045, 0.2514490485191345, 0.3524022400379181, 0.2845754325389862, 0.2551042437553406, 0.29842039942741394, 0.2494841367006302, 0.29439112544059753, 0.2634475827217102, 0.24261882901191711, 0.30197495222091675, 0.24875716865062714, 0.2919512689113617, 0.23680366575717926, 0.31585314869880676], \"y\": [-0.2955867648124695, -0.22667533159255981, -0.37439030408859253, -0.25569915771484375, -0.1496010422706604, -0.3286667466163635, -0.24137628078460693, -0.14184752106666565, -0.3125697672367096, -0.23257337510585785, -0.18522855639457703, -0.2616384029388428, -0.36435484886169434, -0.21190369129180908, -0.24271613359451294, -0.3677695691585541, -0.31680840253829956, -0.2350393384695053, -0.23968857526779175, -0.28052955865859985, -0.3081965744495392, -0.16301727294921875, -0.35699135065078735, -0.14455342292785645, -0.37755733728408813, -0.3221636414527893, -0.34369325637817383, -0.3127533793449402, -0.38342607021331787, -0.29564476013183594, -0.2995370030403137, -0.2289072424173355, -0.23310121893882751, -0.32895416021347046, -0.17560270428657532, -0.21316659450531006, -0.3744497299194336, -0.22918502986431122, -0.34557217359542847, -0.2646135687828064, -0.20329800248146057, -0.2312910407781601, -0.32614830136299133, -0.38533109426498413, -0.1727081686258316, -0.1298222839832306, -0.39400970935821533, -0.22497010231018066, -0.2529715895652771, -0.29150956869125366, -0.19275793433189392, -0.33935612440109253, -0.2197500318288803, -0.3224943280220032, -0.295096218585968, -0.15111935138702393, -0.3094289302825928, -0.33829259872436523, -0.3641015291213989, -0.16914544999599457, -0.2864000201225281, -0.3597642183303833, -0.30105912685394287, -0.34448957443237305, -0.2717953324317932, -0.22101780772209167, -0.22891736030578613, -0.33298254013061523, -0.2513766884803772, -0.17460724711418152, -0.17322753369808197, -0.15867233276367188, -0.3326776325702667, -0.3767402172088623, -0.3173314332962036, -0.3989679217338562, -0.2074013650417328, -0.17350837588310242, -0.34542250633239746, -0.2862398624420166, -0.2543504238128662, -0.23712916672229767, -0.2539551854133606, -0.29856908321380615, -0.17045201361179352, -0.30314570665359497, -0.25187379121780396, -0.2671366333961487, -0.358645498752594, -0.3301994800567627, -0.24661055207252502, -0.24785180389881134, -0.24671363830566406, -0.3553850054740906, -0.31140589714050293, -0.2626693844795227, -0.33909571170806885, -0.23374179005622864, -0.25052762031555176, -0.24164512753486633, -0.23522818088531494, -0.2690373957157135, -0.37978070974349976, -0.249581441283226, -0.39911383390426636, -0.30948904156684875, -0.347870409488678, -0.25221458077430725, -0.25465574860572815, -0.31857776641845703, -0.308268278837204, -0.2970256507396698, -0.25046414136886597, -0.23579582571983337, -0.26322418451309204, -0.26138344407081604, -0.2488759309053421, -0.2402210235595703, -0.22282737493515015, -0.20538553595542908, -0.2941431403160095, -0.3206915259361267, -0.262515664100647, -0.280071496963501, -0.2160700261592865, -0.21477994322776794, -0.20461207628250122, -0.28750139474868774, -0.1941167116165161, -0.32967597246170044, -0.35898834466934204, -0.2370690554380417, -0.28754937648773193, -0.3872513473033905, -0.29147833585739136, -0.18687573075294495, -0.34170305728912354, -0.36394476890563965, -0.3695477247238159, -0.3296399712562561, -0.29781025648117065, -0.22666601836681366, -0.23441439867019653, -0.37231582403182983, -0.2349175363779068, -0.2345176339149475, -0.3408329486846924, -0.3108132481575012, -0.17640067636966705, -0.23732146620750427, -0.23421604931354523, -0.2990073561668396, -0.2705909013748169, -0.35119175910949707, -0.3176368176937103, -0.258633017539978, -0.22314974665641785, -0.3348143696784973, -0.27033770084381104, -0.34907108545303345, -0.34744927287101746, -0.3631342649459839, -0.12625855207443237, -0.24128027260303497, -0.24357165396213531, -0.35053306818008423, -0.3473406434059143, -0.2042146623134613, -0.2915860414505005, -0.3121144771575928]}, {\"marker\": {\"color\": 46, \"size\": 5}, \"mode\": \"markers\", \"name\": \"41\", \"text\": [\"Philips - GC557/30 - ComfortTouch Garment Steamer\", \"Philips - HR2401/06 - Pasta & Noodle Maker Accessory  \", \"Philips HUE Calla Outdoor Pedestal Kit - White and Color Ambiance\", \"Philips - HQ200/50 - Jet Clean Cleaning Solution\", \"Philips - Hue Motion sensor\", \"Philips - MG7770/15 - Multigroom Series 7000\", \"Philips - BT3216/14 - Beard Timmer 3000 Series\", \"Philips - AJ3115 - Digital Clock Radio\", \"Philips Nano Protect Filter Active Carbon  FY1413/30 \", \"Philips - GC9681/80 - PerfectCare Elite Plus Steam Generator Iron\", \"Philips - HR2490/00 - Pasta and Noodle Maker Accessory Kit\", \"Philips - SH50/51 - Shaving Heads\", \"Philips - SHB5500BK/00 - Wireless Bluetooth\\u00ae Headphones\", \"Philips - HC3520/15 - Hair Clipper\", \"Philips HUE Lily Outdoor Spot Light Kit - White & Color Ambiance\", \"Philips - Over-Ear Headphones - SHL4805RG/00\", \"Philips HUE Outdoor Lightstrip - White & Color Ambience - 2 meter  \", \"Philips - BRI863/00 - Lumea Essential IPL\", \"Philips - In-Ear Headphones - SHE4205WT/00\", \"Philips - Hue White and Color Ambiance - Single bulb GU10\", \"Philips Series 3000 Air Purifier -  AC3256/70\", \"Philips - HP8372/00 - MoistureProtect Straightener \", \"Philips - In-ear Headphones - SHE3855SG/00\", \"Philips HUE Outdoor Lightstrip - White & Color Ambience - 5meter  \", \"Philips - PQ208 - Electric Shaver\", \"Philips - In-Ear Headphones - SHE3205WT/00\", \"Philips - AZ1837/79 - CD Soundmachine\", \"Philips - S6630/11 - Wet and Dry Electric Shaver\", \"Philips - AZ100C/79 - CD Soundmachine - Pink\", \"Philips - GC2999/84 - PowerLife Steam Iron\", \"Philips - HD2778/60 - Viva Collection Inner Pot\", \"Philips - HC5630/15 - Series 5000 Washable Hair Clipper\", \"Philips - SHK1031/00 - Kids Headphones\", \"Philips - AquaTouch Wet & Dry Shaver - S5420/06\", \"Philips - GC3929/64 - PerfectCare Steam Iron\", \"Philips - GC7920/20 - PerfectCare Compact Plus Steam Generator\", \"Philips - Bluetooth Earphones - SHB5250WT/00\", \"Philips Nanoprotect HEPA Filter - FY1410/30   \", \"Philips - HX9912/07 - DiamondClean 9000 Electric Toothbrush - White\", \"Philips Air Humidifier - HU4803/70 \", \"Philips - AJ3400/79 - Clock FM Radio \", \"Philips - HD9952/01 - Airfryer XXL Baking Master Kit\", \"Philips - CD Soundmachine - AZ1852/79\", \"Philips - Hue Dimmer Switch\", \"Philips - Voice Tracer Audio Recorder - DVT6010\", \"Philips - GC012 - Soleplate Cleaning Stick\", \"Philips - BRE652/00 - Satinelle Prestige\", \"Philips - GC332/60 - Steam & Go 2-in-1\", \"Philips - HUEWHTBULB-B22 - Hue White - Single Bulb B22\", \"Philips - GC4517/20 - Azur Performer Plus Steam Iron\", \"Philips - HX6231/01 - Sonicare Plaque Control Toothbrush\", \"Philips - HQ200 - Jet Clean Solution\", \"Philips - Hue White and Color Ambiance - Starter Kit E27 \", \"Philips - SH90/70 - Series 9000 Shaving Replacement Heads  \", \"Philips - GC8962/40 - PerfectCare Expert Plus Steam Generator\", \"Philips Hue Single Bulb E14 - White and Coloured Light\", \"Philips - HUEWHTBULB-E27 - Hue White - Single Bulb E27\", \"Philips - BHD184/00 - DryCare Advanced Dryer\", \"Philips - GC362/80 - Handheld Garment Steamer  \", \"Philips - HUEWHTKIT - Hue White Starter Kit - E27 \", \"Philips - FY3432/10 - Nano Protect Filter\", \"Philips - Hue Go Portable Light\", \"Philips - HD9904/01 - Airfryer Party Master Kit\", \"Philips - HX6062/67 - Sonicare W2 Optimal White Tootbrush Heads - 2pk\", \"Philips - HR2403/06 - Pasta & Noodle Maker Accessory \", \"Philips - HX9912/17 - DiamondClean 9000 Electric Toothbrush - Black\", \"Philips - GC3920/24 - PerfectCare Steam Iron\", \"Philips - HX8331/01 - AirFloss Ultra Interdental Cleaner\", \"Philips - HX6068/67 - Sonicare W2 Standard Sonic Toothbrush Heads\", \"Philips - S9211/12 - Shaver 9000\", \"Philips - HX8491/03 - Sonicare Interdental Cleaner\", \"Philips - HC5612/15 - Washable Hair Clipper\", \"Philips - AT10/00 - Wireless Portable Radio\", \"Philips - Voice Tracer Audio Recorder - DVT2510\", \"Philips - Go Portable Light with Bluetooth\", \"Philips - HR2491/00 - Pasta and Noodle Maker Accessory Kit \", \"Philips - HX9023/67 - C2 Optimal Plaque Defense Brush Heads - 3Pk\", \"Philips - GC023/00 - AquaBlock Ironing Board Cover\", \"Philips - HC9450/15 - Hair Clipper\", \"Philips - HP8280/00 - MoistureProtect Dryer\", \"Philips - MyJam Vibes In-Ear Headphones - SHE3705WT/00\", \"Philips - S5380/06 - Wet and Dry Electric Shaver\", \"Philips - Pro Straightener - HPS930/00\", \"Philips - AZ127 - CD Soundmachine\", \"Philips - AJT5300 - Clock Radio - Bluetooth\", \"Philips - S7311/66 - Wet and Dry Electric Shaver\", \"Philips Series 2000 Air Purifier AC2887/70 \", \"Philips - HD2237/72 - All-In-One Multi Cooker \", \"Philips - HD9721/21 - Viva Collection Airfryer\", \"Philips - Sonicare DiamondClean Toothbrush - HX9368/35\", \"Philips - AirFloss Ultra Interdental Cleaner - HX8331/01\", \"Philips - GC4527/00 - Azur Performer Plus Steam Iron\", \"Philips - S3122/51 - AquaTouch Shaver 3000\", \"Philips - BRL140/00 - SatinShave Advanced Wet & Dry Shaver \", \"Philips - HD9861/99 - Airfryer XXL Premium\", \"Philips - GC2996/20 - PowerLife Steam Iron\", \"Philips - HD2178/72 - Premium Collection All-In-One Cooker\", \"Philips - HD9951/01 - Airfyer Grill Master Kit\", \"Philips - HD9218/51 - Daily Collection Airfryer\", \"Philips - HD9950/01 - Airfryer Party Master  Kit\", \"Philips - Hue Smart Bridge\", \"Philips - GC2145/29 - EasySpeed Plus Steam Iron\", \"Philips - PerfectCare Pure Anti-Scale Cartridge - GC002\", \"Philips - S5086/06 - Series 5000 Wet & Dry Electric Shaver\", \"Philips - HX6851/56 - ProtectiveClean 4500 Electric Toothbrush\", \"Philips - HX6063/96 - Sonicare W2 Optimal White Toothbrush Heads - 3 Pack\", \"Philips - HX6072/67 - Sonicare Wc  DiamondClean Brush Heads - 2Pk\", \"Philips -  Hue White and color ambiance - LightStrip Plus - 1 Meter Extension\", \"Philips - S5550/44 - Wet & Dry Electric Shaver\", \"Philips - FY2422/30 - NanoProtect Filter for Air Purifier\", \"Philips - HX9033/67 - Sonicare G2 Optimal Gum Care - 3Pk\", \"Philips - SHK1030/00 - Headband Kids Headphones\", \"Philips - Hue White and Color Ambiance -Single Bulb B22\", \"Philips - HD9630/21 - Viva Collection Airfryer XXL - White  \", \"Philips - BT7500/15 - Vacuum Beard Trimmer\", \"Philips - QP220/50 - OneBlade Replacement Blades\", \"Philips - QP6510/20 - OneBlade Pro Beard Trimmer \", \"Philips - Vacuum Beard Trimmer - BT7204/85\", \"Philips Active Carbon Filter FY2420/30 \", \"Philips - HD9940/00 - Airfryer Grill Pan Accessory\", \"Philips - HD9941/00 - Airfryer Grill Master Kit\", \"Philips - AJ3232B/79 - Clock Radio\", \"Philips - BRL170/00 - SatinShave Prestige Electric Shaver\", \"Philips - MG5730/15 - 11-in-1 Trimmer\", \"Philips - GC026/00 - Fabric Shaver\", \"Philips - HD9925/01 - Airfryer Baking Master Kit\", \"Philips - MG7735/15 - 12-in-1 Face, Hair and Body Trimmer\", \"Philips - HR2375/13 - Avance Collection Pasta and Noodle Maker\", \"Philips - HX9954/56 - Sonicare DiamondClean Electric Toothbrush\", \"Philips - BRE620/00 - Satinelle Advanced Wet & Dry Epilator\", \"Philips - HD9650/93 - Airfryer XXL Premium\", \"Philips Series 1000 Air Purifier AC1215/70\", \"Philips - GC5031/20 - Azur Elite Steam Iron\", \"Philips - HD9742/93 - Avance Collection AirFryer\", \"Philips - Hue Tap Switch\", \"Philips - DE5205/70 - Series 5000 2-in 1 Air Dehumidifier\", \"Philips - In-Ear Headphones - SHE3855RG/00\", \"Philips - JC302/51 - Cleaning Cartridge - 2Pk\", \"Philips - NT3160 - Nose Trimmer Series 3000\", \"Philips - Hue White and Colour Ambiance B22 with Bluetooth\", \"Philips - BRI956/00 - Lumea Prestige IPL - Hair Removal Device\", \"Philips HUE Lily Outdoor Spot Light Extension\", \"Philips - HX9618/24 - ExpertClean 7300 Electric Toothbrush\", \"Philips - AZ100B/79 - CD Soundmachine\"], \"type\": \"scatter\", \"x\": [-0.10460460931062698, -0.12251783907413483, 0.05600065737962723, 0.022806011140346527, 0.13694657385349274, 0.07658128440380096, 0.09611902385950089, 0.17539793252944946, 0.09551233798265457, -0.12354397028684616, -0.1212884709239006, 0.047171495854854584, 0.2726306915283203, 0.013163931667804718, 0.04133172333240509, 0.19078120589256287, 0.05509202927350998, 0.024592019617557526, 0.2248612642288208, 0.061877764761447906, 0.012178339064121246, -0.01705460250377655, 0.19278137385845184, 0.05134744197130203, -0.019924037158489227, 0.20720511674880981, 0.1505192518234253, -0.05147111415863037, 0.1687486469745636, -0.060108669102191925, -0.024064801633358, -0.008720196783542633, 0.19813424348831177, -0.016231879591941833, -0.09953176230192184, -0.07244765013456345, 0.23875395953655243, 0.08963794261217117, 0.06067174673080444, -0.039247699081897736, 0.17117786407470703, -0.0772433876991272, 0.1579795479774475, 0.056721724569797516, 0.1584361344575882, -0.030196882784366608, 0.03904467821121216, -0.012258529663085938, 0.051817089319229126, -0.008773580193519592, 0.07070492953062057, 0.0504516065120697, 0.07631772756576538, 0.04957279562950134, -0.06828249245882034, 0.08643057942390442, 0.03419166058301926, -0.04083395004272461, -0.12977011501789093, 0.012971095740795135, 0.08592765778303146, 0.14689217507839203, 0.07086870074272156, 0.1321008801460266, -0.12457704544067383, 0.08356627076864243, -0.11892720311880112, 0.032202839851379395, 0.11440809816122055, 0.046278297901153564, 0.07849538326263428, -0.0219893679022789, 0.253930926322937, 0.17837536334991455, 0.2586483657360077, -0.12354838848114014, 0.04902258515357971, -0.09997934103012085, 0.03089001774787903, -0.010865360498428345, 0.22818949818611145, -0.019960686564445496, 0.014278560876846313, 0.1655787080526352, 0.24183985590934753, -0.06398244947195053, -0.013257309794425964, -0.10168959200382233, 0.0763670802116394, 0.06280633807182312, 0.020134039223194122, -0.05851934105157852, 0.04773302376270294, -0.03562711179256439, 0.018416091799736023, -0.02342895418405533, -0.05622825026512146, 0.006156176328659058, 0.03768061101436615, 0.011120423674583435, 0.11402028053998947, -0.0735224112868309, 0.010756909847259521, -0.017008215188980103, 0.001914985477924347, 0.0910554975271225, 0.054857902228832245, 0.08565060049295425, -0.02738402783870697, 0.03663283586502075, 0.06651568412780762, 0.18906518816947937, 0.09239712357521057, 0.02414693683385849, 0.013774141669273376, -0.004751548171043396, -0.006831839680671692, -0.060195066034793854, 0.04294730722904205, -0.11723875999450684, -0.13070550560951233, 0.154998779296875, -0.018478289246559143, -0.01796889305114746, -0.04519224166870117, -0.14857636392116547, 0.05844826251268387, -0.0901355966925621, 0.05045716464519501, -0.05150022357702255, 0.020748481154441833, 0.004978962242603302, -0.0659787505865097, 0.09155429154634476, 0.06089593470096588, -0.0022615641355514526, 0.1943790316581726, 0.09899342060089111, 0.009360738098621368, 0.22310887277126312, 0.03305743634700775, 0.017917431890964508, -0.0055327340960502625, 0.1674533486366272], \"y\": [-0.0646582543849945, -0.11034806072711945, -0.13858965039253235, -0.08352287858724594, -0.10321146249771118, -0.053564637899398804, -0.1814594715833664, -0.1492641568183899, -0.09558641910552979, 0.009258963167667389, -0.07653528451919556, -0.14474159479141235, -0.30070775747299194, -0.13330456614494324, -0.13756674528121948, -0.1947709619998932, -0.09125828742980957, -0.15797215700149536, -0.18274535238742828, -0.09765271842479706, -0.1006249263882637, -0.1411818563938141, -0.17740951478481293, -0.07150781899690628, -0.10664225369691849, -0.2020818442106247, -0.13416236639022827, -0.0831039547920227, -0.12104266881942749, -0.03257684037089348, 0.03265814483165741, -0.05872340500354767, -0.2292851060628891, -0.12363356351852417, 0.009845193475484848, 0.01381378248333931, -0.2700340747833252, -0.12794438004493713, -0.09649011492729187, -0.057866305112838745, -0.16163355112075806, -0.0757073163986206, -0.129728764295578, -0.1296008974313736, -0.10056959092617035, -0.08703833818435669, -0.1920662224292755, 0.029508208855986595, -0.14250802993774414, 0.027964148670434952, -0.18798202276229858, -0.08508308976888657, -0.0747610330581665, -0.11564208567142487, -0.025938354432582855, -0.07122908532619476, -0.05478668212890625, -0.09934200346469879, -0.029108790680766106, -0.06851888447999954, -0.20088337361812592, -0.08837941288948059, -0.1025901585817337, -0.12180796265602112, -0.10855886340141296, -0.07956290990114212, -0.0235435850918293, -0.13230913877487183, -0.11009055376052856, -0.11194479465484619, -0.15622836351394653, -0.1065986156463623, -0.21088376641273499, -0.14130832254886627, -0.20919866859912872, -0.07957066595554352, -0.07853003591299057, -0.11300203204154968, -0.08642688393592834, -0.10598435252904892, -0.2363259643316269, -0.06804951280355453, -0.10248634219169617, -0.15374888479709625, -0.23974573612213135, -0.07645801454782486, -0.0559881366789341, 0.028146518394351006, -0.0467684268951416, -0.16617423295974731, -0.14158257842063904, 0.0048816874623298645, -0.1309758722782135, -0.21781183779239655, 0.04133978486061096, -0.03112451359629631, 0.06982032209634781, -0.1148037314414978, -0.012978676706552505, -0.07069533318281174, -0.10502193123102188, 0.006065024062991142, -0.1102178692817688, -0.04369125887751579, -0.05157622694969177, -0.16115117073059082, -0.12925085425376892, -0.11674296855926514, -0.116045281291008, -0.13755525648593903, -0.06453458964824677, -0.24022555351257324, -0.17679408192634583, 0.0007431209087371826, -0.20300430059432983, -0.10522184520959854, -0.06279460340738297, -0.18813180923461914, -0.08939718455076218, 0.0154460109770298, -0.04434192180633545, -0.1843041479587555, -0.1882219910621643, -0.09161536395549774, -0.11283894628286362, -0.04464869201183319, -0.09632661938667297, -0.09030815958976746, -0.1282782256603241, -0.23319320380687714, 0.04367602616548538, -0.07276468724012375, -0.04937160760164261, -0.026653021574020386, -0.13640928268432617, -0.0610751137137413, -0.19440099596977234, -0.13205091655254364, -0.12105923146009445, -0.21992754936218262, -0.16824036836624146, -0.09508046507835388, -0.06654918938875198, -0.14227476716041565]}, {\"marker\": {\"color\": 47, \"size\": 5}, \"mode\": \"markers\", \"name\": \"42\", \"text\": [\"SodaStream - Source Element - Drinks Maker - White\", \"Two Hands Hand Sanitiser - 500ml\", \"SodaStream - Lemon Lime 440ml - Lemon Lime 440ml\", \"SodaStream - Lemon Lime Bitters 440ml\", \"SodaStream - Blueberry & Lime - Organic Soda Syrup\", \"SodaStream - Sugar Free Cola 440ml - Sugar Free Cola 440ml\", \"SodaStream - Fruits Lemonade 440ml - Fruits Lemonade 440ml\", \"SodaStream - Orange 440ml - Orange 440ml\", \"Two Hands Hand Sanitiser - 100ml\", \"SodaStream - Ginger Beer 440ml - Ginger Beer 440ml\", \"SodaStream - Cola 440ml\", \"SodaStream - Cream Soda 440ml - Cream Soda 440ml\", \"SodaStream - Fuse 1L Bottles - (Twin Pack - White)\", \"SodaStream - Kombucha - Organic Soda Syrup\", \"Sodastream - 60 Litre Spare CO2 Cylinder\", \"SodaStream - Power - Black - Power Drinks Maker - Black \", \"SodaStream - Fuse 1L Bottles - Twin Pack - Metal\", \"SodaStream - Raspberry & Mint - Organic Soda Syrup\", \"SodaStream - Zeros Orange Mango 440ml - Zeros Orange Mango 440ml\", \"SodaStream - Source Element Drinks Maker -  Black\"], \"type\": \"scatter\", \"x\": [0.01994786038994789, -0.0257321298122406, -0.038069915026426315, -0.053228870034217834, 0.057475507259368896, -0.034012556076049805, -0.027635976672172546, -0.01987277716398239, -0.05112779140472412, 0.05106332525610924, -0.018575169146060944, -0.05078994482755661, -0.054434143006801605, 0.017330963164567947, -0.130872905254364, 0.03923024982213974, -0.07739710807800293, 0.04475482180714607, 0.034722428768873215, 0.051167335361242294], \"y\": [-0.10665497183799744, -0.061100706458091736, -0.01991933211684227, -0.04904043674468994, -0.10894190520048141, 0.015604334883391857, -0.04757797718048096, -0.017048411071300507, -0.054728709161281586, -0.05110641196370125, 0.02231897972524166, -0.006644257344305515, -0.13186192512512207, -0.07305768132209778, 0.01419753022491932, -0.10908608138561249, -0.09001539647579193, -0.07281014323234558, -0.042525358498096466, -0.11251328885555267]}, {\"marker\": {\"color\": 48, \"size\": 5}, \"mode\": \"markers\", \"name\": \"43\", \"text\": [\"Samsung - MUF-64BE4/APC - 64GB USB 3.1 Flash Drive BAR Plus\", \"Seagate - STEB4000300 - 4TB Expansion Desktop \", \"Samsung - MUF-128BE4/APC - 128GB USB 3.1 Flash Drive BAR Plus\", \"Sandisk - 256GB Ultra USB 3.0 Flash Drive - SDCZ48-256G-UQ46\", \"Seagate - 4TB Expansion Portable Hard Drive - STEA4000400\", \"Sandisk - SDUNC016GGN6IN - 16GB Ultra\\u00ae SDHC\\u2122 UHS-I Card\", \"Seagate - STCM250400 - 250GB Portable Fast SSD\", \"Samsung 500GB T7 Touch Portable SSD - Black - MU-PC500K/WW \", \"Sandisk - 128GB Extreme Pro microSDXC UHS-II CARD - SDSQXPJ-128G-CN6M3\", \"Sandisk - 128GB Extreme microSD UHS-I CARD - SDSQXVF-128G-QN6MA  \", \"Sandisk Extreme Portable SSD - 2TB\", \"Seagate - STJE1000402 - 1TB One Touch SSD - White\", \"Seagate - STJD500400 - 500GB Expansion SSD\", \"Sandisk - 64GB Extreme Pro microSDXC UHS-II CARD - SDSQXPJ-064G-CN6M3\", \"Sandisk - 128GB Extreme\\u00ae Go USB 3.1 Flash Drive - SDCZ800-128G-Q46\", \"Samsung 2TB T7 Touch Portable SSD - Silver - MU-PC2T0S/WW\", \"Seagate - STJM1000400 - 1TB Barracuda Fast SSD\", \"Seagate - STEA5000402 - 5TB Expansion Portable Hard Drive\", \"Sandisk - SDUNC064GGN6IN - 64GB Ultra SDXC Memory Card\", \"Sandisk - 64GB Ultra Dual Drive USB Type C - SDDDC2064GQ46  \", \"Seagate - STEH2000301 - 2TB Backup Plus Ultra Slim - Gold\", \"SanDisk Extreme\\u00ae 32GB microSDHC\\u2122 UHS-I Card with Adapter\", \"Seagate - STHP4000403 - 4TB Backup Plus Portable Drive - Red\", \"Samsung 1TB T7 Touch Portable SSD - MU-PC1T0S/WW  \", \"Seagate - STJM2000400 - 2TB Barracuda Fast SSD\", \"Sandisk - SQUAR-256G-GN6MA - 256GB Ultra microSDXC UHS-I CARD\", \"Sandisk - SDXX-G064G-GN4IN - 64GB Extreme PRO\\u00ae SDXC Memory Card\", \"Seagate - STEA2000400 - 2TB Expansion Portable Hard Drive\", \"Seagate - STJD1000400 - 1TB Expansion SSD\", \"Seagate - STHN2000400 - 2TB Backup Plus Slim Portable Drive - Black\", \"Seagate - STJL4000400 - 4TB Basic External HDD\", \"Seagate - 2TB Backup Plus Slim Portable Drive - Black\", \"Sandisk - SDCZ57016GB46T - 16GB Cruzer Dial USB Flash Drive - 3 Pack\", \"Sandisk - 64GB Extreme\\u00ae Pro\\u2122SDXC\\u2122 Memory Card\", \"Samsung MU-PC1T0K/WW - 1TB T7 Touch Portable SSD\", \"Sandisk Extreme Portable SSD - 1TB\", \"Sandisk Extreme\\u00ae 32GB SDHC\\u2122 UHS-I Card \", \"Samsung - MU-PC2T0R - 2TB Portable SSD T7 USB3.2 - Metallic Red\", \"WD - WDBGPU0010BBK - 1TB My Passport\\u00ae Ultra - Classic Black\", \"Sandisk 2TB Extreme Pro\\u00ae Portable SSD\", \"WD - 2TB My Passport - White - WDBYFT0020BWT\", \"WD - 2TB My Passport - RED - WDBYFT0020BRD\", \"Sandisk - 128GB Extreme PRO\\u00ae SDXC Memory Card - SDXXG-128G-GN4IN\", \"Sandisk - 64GB Extreme\\u00ae SDXC\\u2122 UHS-I Card\", \"SanDisk 64GB High Endurance Video Monitoring  MicroSDXC Card \", \"Sandisk Extreme 500 Portable SSD - 120GB \", \"Sandisk - 256GB Ultra microSD UHS-I CARD - SDSQUNI-256G-QN6MA\", \"Sandisk - SDCZ48-016G-UQ46 - 16GB Ultra USB 3.0 Flash Drive\", \"Sandisk - SDCZ48-064G-UQ46 - 64GB Ultra USB 3.0 Flash Drive\", \"WD - WDBBKD0020BBK - 2TB My Passport\\u00ae Ultra - Classic Black\", \"WD - WDBCTL0020HWT - 2TB My Cloud  \", \"Seagate - STHP4000402 - 4TB Backup Plus Portable Drive - Light Blue\", \"Sandisk - SDSQXA1-128G-GN6MA - 128GB  EXTREME\\u00ae microSD\\u2122 UHS-I CARD \", \"Sandisk - SDSQXA2-064G-GN6MA - 64GB  EXTREME\\u00ae microSD\\u2122 UHS-I CARD\", \"Sandisk - SDXX-G032G-GN4IN - 32GB Extreme PRO\\u00ae SDHC Memory Card\", \"WD - 2TB My Passport - Blue - WDBYFT0020BBL\", \"Seagate - STHN2000403 - 2TB Backup Plus Slim Portable Drive - Red\", \"Sandisk - SDSDX-128G-XQ46 - 128GB Extreme SD UHS-I Card\", \"SanDisk 256GB High Endurance Video Monitoring  MicroSDXC Card  \", \"Samsung 500GB T7 Touch Portable SSD - Silver - MU-PC500S/WW \", \"Seagate - STJL2000400 - 2TB Basic External HDD\", \"Sandisk Extreme Portable SSD - 500GB\", \"Samsung - MU-PC500T - 500GB Portable SSD T7 USB3.2 - Titan Gray\", \"Seagate - STJE500400 - 500GB One Touch SSD - Black\", \"Sandisk - SDSDX-064G-XQ46 - 64GB Extreme SD UHS-I Card \", \"Seagate - STJE1000400 - 1TB One Touch SSD - Black\", \"Seagate - STGD2000400 - Game Drive PS4\", \"Sandisk - SDDDC2-064G-A46 - 64GB Ultra Dual Drive USB Type-C Flash Drive  \", \"Sandisk - 200GB Ultra microSD UHS-I CARD - SDSDQUAN-200G-Q4A \", \"Western Digital - WDBU6Y0020BBK - 2TB Elements Portable HDD\", \"Sandisk - SDIX30C-064G-AN6NN - 64GB iXpand Flash Drive\", \"Sandisk - SDSDU-064G-UQ46 - 64GB Ultra\\u00ae SDXC\\u2122 UHS-I Card \", \"Sandisk - SDCZ48-1286G-UQ46 - 128GB Ultra USB 3.0 Flash Drive\", \"Sandisk - SDCZ50-032G-B35S - 32GB Cruzer\\u00ae Blade\\u2122 USB Flash Drive \", \"SanDisk 128GB High Endurance Video Monitoring  MicroSDXC Card  \", \"Sandisk - SDCZ50-064G - 64GB Cruzer Blade\\u2122 USB Flash Drive\", \"Seagate - STEL10000400 - 10TB Backup Plus Hub\", \"Seagate - STEH2000300 - 2TB Backup Plus Ultra Slim - Platinum\", \"Seagate - STJM500400 - 500GB BarraCuda SSD\", \"Sandisk - SQUAR-512G-GN6MA - 512GB Ultra microSDXC UHS-I CARD\", \"Seagate - STEA1000400 - 1TB Expansion Portable Hard Drive  \", \"Sandisk 1TB Extreme PRO\\u00ae Portable SSD \", \"Samsung 2TB T7 Touch Portable SSD - Black - MU-PC2T0K/WW  \", \"Seagate - STHP4000400 - 4TB Backup Plus Portable Drive - Black\", \"WD 2TB WD_Black\\u2122 P50 Game Drive SSD\", \"WD 1TB WD_Black\\u2122 P50 Game Drive SSD\", \"Seagate - STJP1000400 - 1TB FireCuda Gaming SSD \", \"Samsung - MU-PT500B - 500GB T3 Portable SSD\", \"Sandisk - SDCZ50-016G-B35S - 16GB Cruzer\\u00ae Blade\\u2122 USB Flash Drive \", \"Samsung - MU-PC1T0T - 1TB Portable SSD T7 USB3.2 - Titan Gray\", \"Sandisk 32GB SanDisk Extreme microSDHC UHS-I Card with Adapter\", \"Seagate - STJE500402 - 500GB One Touch SSD - White\", \"Samsung - MUF-256BE4/APC - 256GB USB 3.1 Flash Drive BAR Plus\", \"Sandisk - SDSQXA1-256G-GN6MA - 256GB  EXTREME\\u00ae microSD\\u2122 UHS-I CARD\", \"Samsung - MU-PA1T0R/WW - 1TB T5 Portable SSD - Metallic Red\", \"Seagate - 1TB Backup Plus Slim Portable Drive - Red\", \"Sandisk - 32GB Ultra microSD UHS-I CARD - SDSDQUA-032G-UQ46A\", \"Sandisk Extreme 500 Portable SSD - 240GB \", \"Seagate - STHP5000400 - 5TB Backup Plus Portable Drive - Black\", \"Asus ZenDrive U9M - SDRW-08U9M - Slim External DVD Burner - Black\", \"WD - WDBWVZ0080JWT - 8TB My Cloud Mirror (Gen 2)\", \"Sandisk - SDSDQUA-064G-UQ46A - 64GB Ultra microSD UHS-I CARD\", \"Sandisk - SDSDQUA-128G-UQ46A - 128GB Ultra microSD UHS-I CARD\", \"Samsung - MU-PT1T0B - 1TB T3 Portable SSD\", \"WD - WDBGPU0010BBY - 1TB My Passport Ultra - Wild Berry\", \"Samsung - MU-PC2T0T - 2TB Portable SSD T7 USB3.2 - Titan Grey\", \"Samsung - MU-PA250B/WW - 250GB Portable SSD T5\", \"Seagate - STHN2000402 - 2TB Backup Plus Slim Portable Drive - Light Blue\", \"Seagate - STJP500400 - 500GB FireCuda Gaming SSD \", \"WD - WDBLWE0080JCH - 8TB My Book Duo\", \"WD - WDBLWE0040JCH - 4TB My Book Duo\", \"Samsung - MU-PC1T0R - 1TB Portable SSD T7 USB3.2 - Metallic Red\", \"Sandisk - SDXVE-032G-GNCIN - 32GB Extreme SDHC UHS-I Card\"], \"type\": \"scatter\", \"x\": [0.2275155633687973, 0.1630329191684723, 0.23233920335769653, 0.21675926446914673, 0.20205731689929962, 0.22187155485153198, 0.1955014318227768, 0.3107078969478607, 0.2560640871524811, 0.2342795878648758, 0.28131282329559326, 0.21697333455085754, 0.21288996934890747, 0.24615532159805298, 0.24777820706367493, 0.3141067624092102, 0.2316097617149353, 0.1988265961408615, 0.1990293711423874, 0.1754818856716156, 0.14054732024669647, 0.2798851728439331, 0.2039468139410019, 0.3149268925189972, 0.22602280974388123, 0.22104498744010925, 0.2340964674949646, 0.19262635707855225, 0.21144217252731323, 0.2049574851989746, 0.1866767406463623, 0.22312013804912567, 0.22842127084732056, 0.26297569274902344, 0.30300435423851013, 0.2786980867385864, 0.23222163319587708, 0.30441057682037354, 0.20916494727134705, 0.30953845381736755, 0.15346811711788177, 0.17893218994140625, 0.25732868909835815, 0.23302412033081055, 0.2170538306236267, 0.24213072657585144, 0.23090243339538574, 0.21196633577346802, 0.19864964485168457, 0.19828110933303833, 0.16088226437568665, 0.2173026204109192, 0.22849565744400024, 0.2257373332977295, 0.23620545864105225, 0.18282143771648407, 0.18276476860046387, 0.23010939359664917, 0.2264094352722168, 0.2844159007072449, 0.17382964491844177, 0.2689210772514343, 0.34561416506767273, 0.24053825438022614, 0.20773737132549286, 0.24655047059059143, 0.18758752942085266, 0.21161018311977386, 0.22839437425136566, 0.15643395483493805, 0.1794736385345459, 0.21896806359291077, 0.21537727117538452, 0.20976346731185913, 0.23030507564544678, 0.18576054275035858, 0.14770513772964478, 0.13370874524116516, 0.21189042925834656, 0.2169705480337143, 0.19353945553302765, 0.3036503791809082, 0.33591166138648987, 0.22521694004535675, 0.1875179558992386, 0.18446184694766998, 0.15686558187007904, 0.27346035838127136, 0.21829979121685028, 0.3483174741268158, 0.2711445093154907, 0.2133394330739975, 0.2321261614561081, 0.2252906709909439, 0.263801246881485, 0.20748868584632874, 0.22814127802848816, 0.24766729772090912, 0.22904366254806519, 0.2021465301513672, 0.17669886350631714, 0.2302485555410385, 0.24762998521327972, 0.2817937135696411, 0.17773814499378204, 0.3483670949935913, 0.22641539573669434, 0.19966240227222443, 0.14305078983306885, 0.19161829352378845, 0.16010189056396484, 0.3000696003437042, 0.19403286278247833], \"y\": [0.27910685539245605, 0.13281670212745667, 0.24920718371868134, 0.23785802721977234, 0.16628088057041168, 0.23914101719856262, 0.21071188151836395, 0.37554094195365906, 0.24501992762088776, 0.28005608916282654, 0.21175304055213928, 0.15238384902477264, 0.21012523770332336, 0.26987770199775696, 0.2260146588087082, 0.3446499705314636, 0.17851704359054565, 0.17005400359630585, 0.2619943916797638, 0.28714340925216675, 0.10863128304481506, 0.21709632873535156, 0.15744122862815857, 0.3803942799568176, 0.1745988428592682, 0.2275562584400177, 0.2914009392261505, 0.10512004047632217, 0.19360357522964478, 0.10398000478744507, 0.1637740284204483, 0.08076101541519165, 0.2267259806394577, 0.15478157997131348, 0.3800824284553528, 0.20670351386070251, 0.22562579810619354, 0.34928572177886963, 0.166075199842453, 0.2065725028514862, 0.0999005138874054, 0.11299791932106018, 0.2545997202396393, 0.23876456916332245, 0.2946990728378296, 0.23625969886779785, 0.24966798722743988, 0.2643570303916931, 0.2818555235862732, 0.13669294118881226, 0.1581556349992752, 0.12192706763744354, 0.2737817168235779, 0.2770124673843384, 0.24481967091560364, 0.09676191210746765, 0.10384330153465271, 0.2783970236778259, 0.24134723842144012, 0.37587785720825195, 0.1077251136302948, 0.229226753115654, 0.3443979024887085, 0.18209391832351685, 0.30917617678642273, 0.15922963619232178, 0.18984295427799225, 0.27848610281944275, 0.24671253561973572, 0.18809285759925842, 0.26963120698928833, 0.28693288564682007, 0.2879050672054291, 0.19234710931777954, 0.2595014274120331, 0.23037639260292053, 0.1088683232665062, 0.09947805106639862, 0.191693514585495, 0.22051212191581726, 0.10836973041296005, 0.18532311916351318, 0.34085091948509216, 0.15398073196411133, 0.2700701355934143, 0.2795484662055969, 0.23772716522216797, 0.35500621795654297, 0.20025427639484406, 0.34160277247428894, 0.2479354739189148, 0.17084673047065735, 0.22919577360153198, 0.2556251287460327, 0.3491860628128052, 0.07644505798816681, 0.27868568897247314, 0.24238458275794983, 0.14564001560211182, 0.20504480600357056, 0.19657796621322632, 0.29926204681396484, 0.27880820631980896, 0.3453904390335083, 0.12162743508815765, 0.3300897479057312, 0.3693658709526062, 0.0652187168598175, 0.2521412968635559, 0.18803681433200836, 0.1745198369026184, 0.3521024286746979, 0.2543984651565552]}, {\"marker\": {\"color\": 49, \"size\": 5}, \"mode\": \"markers\", \"name\": \"44\", \"text\": [\"Hisense - 65PX - 65\\\" Smart OLED TV \", \"Samsung QA65Q70TAWXXY - 65\\\" Q70T QLED 4K Smart TV - 200Hz  \", \"LG 50UN7300PTC 50\\\" Smart 4K UHD TV - ThinQ\\u2122 AI \", \"CHiQ - L32K5 - 32\\\" HD Android TV \", \"LG - 32LH570D - 32\\\" HD Smart LED TV\", \"Samsung - QA82Q800TAWXXY - 82\\\" QLED 8K UHD HDR Smart TV   \", \"Blaupunkt - 65\\\" 4K UHD Android TV - BP650USG9200\", \"LG - 55UK7550PTA - Super UHD 4K TV 55\\\" - AI ThinQ\\u2122  \", \"Changhong - LED58D2600 - 58\\\" FHD LED TV\", \"Samsung QA65Q800TAWXXY 65\\\" QLED 8K UHD HDR Smart TV    \", \"Samsung UA65TU8000WXXY 65\\\" Crystal UHD 4K Smart TV  \", \"CHiQ - L24H4 - 24\\\" HD TV\", \"Samsung QA75Q800TAWXXY 75\\\" QLED 8K UHD HDR Smart TV  \", \"LG - UBK90 - 4K Ultra HD Blu-ray Player\", \"CHiQ - L40K5 - 40\\\" FHD Android TV\", \"TCL - 32S615 - 32\\\" HD Android TV\", \"TCL - 43P715 - 43\\u201d QUHD Android Smart TV\", \"Samsung QA65Q95TAWXXY 65\\\" Q95T QLED Smart 4K TV\", \"TCL - 85P715 - 85'' QUHD Android Smart TV\", \"Sony - KD-55X8500G - 55\\\" X85G 4K Ultra HD - HDR - Smart Android TV   \", \"Hisense - 50S8 - 50\\\" Series 8 UHD Smart TV\", \"Panasonic - TH-65GZ1500U - 65\\\" OLED 4K UHD HDR TV \", \"LG OLED55BXPTA - BX 55\\\" 4K Smart OLED TV w/ AI ThinQ\\u00ae\", \"Sony - W660E - 32\\\" FHD LED - Smart TV - KDL-32W660E\", \"Sony - KD-65X8000H - 65\\\" X8000H 4K Ultra HD HDR Smart Android TV  \", \"Sony - KD-85X8000H - 85\\\" X8000H 4K Ultra HD HDR Smart Android TV  \", \"LG - OLED65C8PTA - OLED 65\\\" TV C8  \", \"LG -  65UM7600PTA - 65\\\" UHD Smart 4K UHD TV - Magic Remote  \", \"Samsung - UA43NU7100WXXY - 43\\\" Series 7 NU7100 4K TV \", \"CHiQ - U58H10 - 58\\\" 4K UHD Android TV \", \"Samsung - 55\\\" MU6100 UHD LED TV - UA55MU6100WXXY\", \"Panasonic - TH-55GX740A - 55\\\" LED 4K UHD LED TV \", \"Hisense 55Q8 Series Q8  55\\u2033 ULED 4K Smart TV  \", \"Hisense 75Q8 Series Q8  75\\u2033 ULED 4K Smart TV  \", \"LG - OLED77C8PTA - 77\\\" OLED TV C8 \", \"LG - 65UK7550PTA - Super UHD 4K TV 65\\\" - AI ThinQ\\u2122\", \"Sony - KD-85X9500G - 85\\\" 4K Ultra HD - HDR - Smart Android TV\", \"Hisense - 40S4 - 40\\\" Series 4 FHD Smart TV\", \"Hisense - 32S4 - 32\\\" Series 4 HD Smart TV\", \"Hisense - 55S8 - 55\\\" Series 8 UHD Smart TV\", \"Samsung QA75Q95TAWXXY 75\\\" Q95T QLED Smart 4K TV\", \"TCL - 100P715 - 100'' QUHD Android Smart TV\", \"Samsung - LC49RG90SSEXXY - 49\\\" QLED Gaming Monitor\", \"Hisense - 75S8 - 75\\\" Series 8 UHD Smart TV\", \"Hisense 65Q8 Series Q8  65\\u2033 ULED 4K Smart TV  \", \"Sony - KD-65X9500H - 65\\\" X9500H 4K Ultra HD HDR Smart Android TV\", \"TCL - 55P715 - 55\\u201d QUHD Android Smart TV\", \"CHiQ - U65H10 - 65\\\" UHD Android TV\", \"CHiQ - U43H10 - 43\\\" 4K UHD Android TV\", \"Samsung The Frame 65\\\" QLED 4K TV - QA65LS03TAWXXY  \", \"LG NanoCell 75\\\" 4K UHD TV with LG AI ThinQ - 75NANO91TNA  \", \"TCL - 65X4US - 65\\u201d QLED Android TV\", \"Sony KD-55X8000H 55\\\" X8000H 4K Ultra HD HDR Smart Android TV  \", \"Sony - KD-49X8000H - 49\\\" X8000H 4K Ultra HD HDR Smart Android TV  \", \"Sony - KD-55A8G - 55\\\" A8G OLED 4K Ultra HD - HDR - Android TV\", \"Hisense - 85S8 - 85\\\" Series 8 UHD Smart TV\", \"CHiQ - U55H10 - 55\\\" 4K UHD Android TV \", \"Samsung - QA65Q7FNAWXXY - 65\\\" Q7 QLED 4K UHD TV  \", \"Sony - KD-85X8500G - 85\\\" X85G 4K UHD - HDR - Smart TV (Android TV)\", \"Hisense - 65S8 - 65\\\" Series 8 UHD Smart TV\", \"LG NanoCell 65NANO91TNA - 65\\\" Nano 9 Series 4K UHD TV with LG AI ThinQ \", \"LG - LMK410ZMW - K41S Smartphone\", \"Samsung - UA75NU8000WXXY - 75\\\" Premium 4K UHD Smart LED TV   \", \"Samsung The Frame 43\\\" QLED 4K TV - QA43LS03TAWXXY   \", \"Samsung The Frame 55\\\" QLED 4K TV - QA55LS03TAWXXY \", \"LG - 75SK8000PTA - Super UHD 4K TV 75\\\" \", \"Samsung QA75Q60TAWXXY 75\\\" Q60T QLED 4K UHD HDR Smart TV    \", \"Samsung QA65Q80TAWXXY 65\\\" Q80T QLED 4K UHD HDR Smart TV  - 200Hz   \", \"Samsung - UA75NU7100WXXY - 75\\\" 4K UHD Smart LED TV  \", \"Samsung - UA55NU7100WXXY - 55\\\" 4K UHD Smart LED TV\", \"Panasonic - TH49FX600A - 49\\\" 4K UHD Smart LED TV\", \"LG 65UN7300PTC - 65\\\" Smart 4K UHD TV - ThinQ\\u2122 AI   \", \"LG 65\\\" NanoCell Smart UHD 4K  TV w/ AI ThinQ\\u00ae  - 65NANO86TNA   \", \"LG - LMQ630EAW - K61 Smartphone\", \"Samsung - UA50KU6000W - Series 6 50\\\" UHD LED TV\", \"Samsung - 32\\\" FHD Smart LED TV - UA32M5500AWXXY\", \"Sony - KD-75X9500H - 75\\\" X9500H 4K Ultra HD HDR Smart Android TV\", \"Sony - KD-65A8G - 65\\\" A8G OLED 4K Ultra HD - HDR - Smart TV (Android TV) \", \"Samsung UA50TU8000WXXY 50\\\" Crystal UHD 4K Smart TV \", \"Sony - KD-75X8500G - 75\\\" X85G 4K UHD - HDR - Smart TV (Android TV)\", \"Hisense - 43S8 - 43\\\" Series 8 UHD Smart TV \", \"LG - OLED65W9PTA - 65\\\" OLED TV w Design on Wall   \", \"LG - 65SK8000PTA - Super UHD 4K TV 65\\\"\", \"Sony - KD-55X9500H - 55\\\" X9500H 4K Ultra HD HDR Smart Android TV\", \"CHiQ - L43G5 - 43\\\" Netflix - Freeview - YouTube - FHD TV\", \"Sony - X85 - KD-55X8500F - 55\\\" 4K UHD Smart LED Android TV\", \"Hisense - 43P6 - 43\\\" Series 6 UHD Smart LED TV\", \"LG 55UN7300PTC 55\\\" Smart 4K UHD TV - ThinQ\\u2122 AI \", \"LG - 55\\\" OLED TV E7 - OLED55E7T \", \"LG 86UN8100PTB 86\\\" Smart 4K UHD TV - ThinQ\\u2122 AI  \", \"TCL - 65P6US - 65\\u201d QUHD Android TV   \", \"Panasonic - TH-65FX600A - 65\\\" 4K UHD Smart LED TV\", \"TCL - 75C815 - 75\\u201d QLED Android TV\", \"LG 43UN7300PTC 43\\\" Smart 4K UHD TV - ThinQ\\u2122 AI \", \"Samsung UA75TU8000WXXY 75\\\" Crystal UHD 4K Smart TV   \", \"Sony - A8F - KD65A8F - 65\\\" 4K HDR OLED Android TV \", \"Hisense - Series 4 40R4 - 40\\\"  FHD LED LCD Smart TV  \", \"Samsung QA55Q80TAWXXY - 55\\\" Q80T QLED 4K UHD HDR Smart TV  - 200Hz    \", \"Hisense - 85Q8 - 85\\\" Series Q8 UHD Smart TV\", \"Samsung UA43TU8000WXXY - 43\\\" Crystal UHD 4K Smart TV\", \"CHiQ - U50H10 - 50\\\" 4K UHD Android TV \", \"Blaupunkt - 55\\\" 4K UHD Android TV - BP550USG9200\", \"LG - OLED55B8STB - 55\\\" B8 OLED TV  \", \"Panasonic - TH-55FX600A - 55\\\" 4K UHD Smart LED TV \", \"Hisense - 55P6 - 55\\\" Series 6 UHD Smart LED TV \", \"Samsung QA75Q950TSWXXY 75\\\" QLED 8K UHD HDR Smart TV     \", \"Hisense - 32R4 - 32\\\" Series 4  LED LCD Smart HD TV \", \"Hisense - 65R6 - 65\\\" Series 6 UHD Smart LED TV   \", \"Hisense - 32K3110W - 32\\\" HD Smart LED TV\", \"Samsung QA85Q950TSWXXY 85\\\" QLED 8K UHD HDR Smart TV      \", \"Apple TV 4K 32GB  \", \"Samsung QA65Q950TSWXXY 65\\\" QLED 8K UHD HDR Smart TV   \", \"LG OLED77CXPTA - 77\\\" OLED 4K with LG AI ThinQ \", \"TCL - 40S615 - 40\\u201d Full HD Android TV  \", \"LG -  55UM7600PTA - 55\\\" UHD Smart 4K UHD TV - Magic Remote  \", \"Samsung - LU32R590CWEXXY - 32\\\" UHD Curved Monitor \", \"TCL - 65C715 - 65\\u201d QLED UHD Android Smart TV\", \"Panasonic - TH43FX600A - 43\\\" UHD Smart LED TV  \", \"Samsung - Series 7 75\\\" RU7100 4K UHD TV - UA75RU7100WXXY \", \"LG - OLED55E8PTA - 55\\\" OLED TV E8\", \"LG - OLED65B8STB - 65\\\" B8 OLED TV \", \"Samsung - UA55NU8500WXXY - 55\\\" Curved Premium 4K UHD Smart LED TV\", \"Sony - UBP-X700 - 4K Ultra HD Blu-ray Player\", \"Samsung QA75Q80TAWXXY 75\\\" Q80T QLED 4K UHD HDR Smart TV  - 200Hz    \", \"Samsung QA85Q70TAWXXY - 85\\\" Q70T QLED 4K Smart TV - 200Hz  \", \"Samsung QA85Q80TAWXXY 85\\\" Q80T QLED 4K UHD HDR Smart TV  - 200Hz   \", \"Samsung QA55Q95TAWXXY 55\\\" Q95T QLED Smart 4K TV\", \"Samsung - QA55Q7FNAWXXY - 55\\\" Q7 QLED 4K UHD TV  \", \"TCL 24D3100 - 24\\u201d HD LED TV  \", \"Samsung UA55TU8000 55\\\" Crystal UHD 4K Smart TV \", \"Sony - KD43X8000H - 43\\\" X8000H 4K Ultra HD HDR Smart Android TV   \", \"TCL - 65P715 - 65\\u201d QUHD Android Smart TV \", \"TCL - 50P715 - 50\\u201d QUHD Android Smart TV\", \"Hisense - 32\\\" LED LCD Smart TV - Series 4 - 32N4\", \"TCL - 65P615 - 65\\\" UHD 4K Android TV \", \"LG OLED55CXPTA - CX 55\\\" OLED 4K with LG AI ThinQ\", \"TCL - 65C6US - 65\\u201d QUHD Android TV\", \"Samsung - UA55MU6103WXXY - 55\\\" 4K UHD Smart LED TV \", \"Samsung - UA55NU8000WXXY - 55\\\" Premium 4K UHD Smart LED TV       \", \"Sony - KD-43X7500F - 43\\\" X75F - 4K Ultra HD - HDR - Android TV \", \"CHiQ - L20G4 - G4 20\\\" HD TV\", \"Samsung - QA98Q900RBWXXY - 98\\\" QLED Smart 8K UHD TV\", \"LG NanoCell 86\\\" 4K UHD TV with LG AI ThinQ - 86NANO91TNA \", \"Samsung Odyssey G7  - LC27G75TQSEXXY - 27\\\" QLED Gaming Monitor\", \"Samsung - Series 7 - 65\\\" UHD QLED TV - QA65Q7FAMWXXY \", \"LG - 4K UHD 3D Blu-ray Player - UP970 \", \"LG - 65\\\" OLED TV B7 -  OLED65B7T  \", \"Samsung - LU28E590DS/XY - 28\\\" UHD Monitor\", \"Hisense - 75P5 - 75\\\" Series 5 UHD Smart LED TV  \", \"LG - OLED65W8PTA - 65\\\" OLED TV    \", \"TCL - 50C715 - 50\\u201d QLED UHD Android Smart TV\", \"LG OLED65BXPTA - BX 65\\\" 4K Smart OLED TV w/ AI ThinQ\\u00ae\", \"Panasonic - TH75FX780A - 75\\\" Premium 4K UHD Smart LED TV\", \"LG 75UN8100PTB 75\\\" Smart 4K UHD TV - ThinQ\\u2122 AI  \", \"Samsung UA82TU8000WXXY 82\\\" TU8000 Crystal UHD 4K Smart TV  \", \"LG NanoCell 65NANO95TNA - 65\\\" Nano 9 Series 8K TV\\u200b  \", \"Samsung - UA65NU7100WXXY - 65\\\" 4K UHD Smart LED TV  \", \"LG -  75UM7600PTA - 75\\\" UHD Smart 4K UHD TV - Magic Remote  \", \"TCL - 55C715 - 55\\u201d QLED UHD Android Smart TV\", \"Samsung - LC34J791WTEXXY - 34\\\" QLED Curved Monitor\", \"Samsung - UBD-K8500 - 4K Ultra HD Blu-ray\\u2122 Player\", \"LG NanoCell 75NANO95TNA - 75\\\" Nano 9 Series 8K TV\\u200b \", \"LG - 34UC79G - 34\\\" IPS Curved Gaming Monitor\", \"TCL - 75P715 - 75\\u201d QUHD Android Smart TV \", \"Samsung QA55Q60TAWXXY 55\\\" Q60T QLED 4K UHD HDR Smart TV    \", \"Samsung QA55Q70TAWXXY 55\\\" Q70T QLED 4K UHD HDR Smart TV  - 200Hz \", \"Samsung - Series 7 50\\\" RU7100 4K UHD TV - UA50RU7100WXXY \", \"Samsung QA75Q70TAWXXY - 75\\\" Q70T QLED 4K Smart TV - 200Hz  \", \"Samsung - Series 7 43\\\" RU7100 4K UHD TV - UA43RU7100WXXY\", \"Samsung Odyssey G7 - LC32G75TQSEXXY - 32\\\" QLED Gaming Monitor \", \"Samsung - Series 7 UA65KU7000W - 65\\\" UHD LED TV\", \"Sony - KD75X8000H - 75\\\" X8000H 4K Ultra HD HDR Smart Android TV   \", \"Asus - XG49VQ - 49\\\" ROG Strix Gaming Monitor\", \"Panasonic - 4K UHD Blu-ray Player - FHD Recorder - DMR-UBT1GL-K \", \"LG OLED65CXPTA - 65\\\" OLED 4K with LG AI ThinQ \", \"LG - 65SK8500PTA - Super UHD 4K TV 65\\\" - New 2018 Model\", \"LG - 55SK8500PTA - Super UHD 4K TV 55\\\" - New 2018 Model \", \"Samsung QA65Q60TAWXXY 65\\\" Q60T QLED 4K UHD HDR Smart TV   \", \"TCL - 55C6US - 55\\u201d QUHD Android TV  \", \"Samsung - UA49NU7100WXXY - 49\\\" 4K UHD Smart LED TV\", \"LG - LMK510ZMW - K51S Smartphone\", \"Hisense - 49S4 - 49\\\" Series 4 FHD Smart TV\", \"Apple TV 4K 64GB\", \"Samsung - UA32N5300AWXXY - 32\\\" FHD Smart LED TV \"], \"type\": \"scatter\", \"x\": [0.1597996950149536, 0.21339692175388336, 0.1807001829147339, 0.2076929360628128, 0.1792728155851364, 0.24215561151504517, 0.33343276381492615, 0.17214573919773102, 0.09930731356143951, 0.25053250789642334, 0.23367927968502045, 0.09791171550750732, 0.24195802211761475, 0.17062409222126007, 0.1722814291715622, 0.23738431930541992, 0.2522260546684265, 0.21624930202960968, 0.22368137538433075, 0.269355833530426, 0.19654953479766846, 0.14482197165489197, 0.20068290829658508, 0.18077430129051208, 0.28741899132728577, 0.27739614248275757, 0.14401941001415253, 0.20087604224681854, 0.21450334787368774, 0.21937908232212067, 0.17865343391895294, 0.15088683366775513, 0.19461657106876373, 0.17939716577529907, 0.1693025678396225, 0.15821130573749542, 0.26818087697029114, 0.1578127145767212, 0.20179644227027893, 0.21000079810619354, 0.21486227214336395, 0.22040386497974396, 0.20044711232185364, 0.17872580885887146, 0.17152738571166992, 0.27618637681007385, 0.23256126046180725, 0.20380356907844543, 0.23373043537139893, 0.18187479674816132, 0.16955751180648804, 0.19086238741874695, 0.2880956828594208, 0.30212637782096863, 0.28947901725769043, 0.19169113039970398, 0.22341124713420868, 0.22817805409431458, 0.25813615322113037, 0.18095625936985016, 0.2009895294904709, 0.15542365610599518, 0.22110573947429657, 0.22537237405776978, 0.20050552487373352, 0.16877374053001404, 0.21423901617527008, 0.22222408652305603, 0.20888249576091766, 0.22420893609523773, 0.19036543369293213, 0.19043104350566864, 0.19774815440177917, 0.1452350914478302, 0.16818030178546906, 0.23276136815547943, 0.2857353985309601, 0.29102951288223267, 0.23506005108356476, 0.259968638420105, 0.21382606029510498, 0.1157149076461792, 0.17810140550136566, 0.2867806851863861, 0.10967642813920975, 0.24140460789203644, 0.18370357155799866, 0.20196445286273956, 0.16544242203235626, 0.16358688473701477, 0.18695229291915894, 0.1526431143283844, 0.16679708659648895, 0.22102810442447662, 0.2260833978652954, 0.270519495010376, 0.15281318128108978, 0.2246677726507187, 0.18539246916770935, 0.2676609456539154, 0.20801304280757904, 0.34290698170661926, 0.15173718333244324, 0.16986915469169617, 0.17389604449272156, 0.24119044840335846, 0.18484479188919067, 0.14493897557258606, 0.18080052733421326, 0.24239814281463623, 0.30656662583351135, 0.2500433921813965, 0.18365785479545593, 0.198012575507164, 0.20932461321353912, 0.17788103222846985, 0.23096010088920593, 0.1899438500404358, 0.20735497772693634, 0.16573573648929596, 0.13519293069839478, 0.2198171615600586, 0.31324881315231323, 0.21829023957252502, 0.21023820340633392, 0.2203502207994461, 0.22364678978919983, 0.24121619760990143, 0.16006970405578613, 0.2568446099758148, 0.308076947927475, 0.22106263041496277, 0.22698868811130524, 0.17368876934051514, 0.2315918207168579, 0.17699475586414337, 0.17338809370994568, 0.23528523743152618, 0.23913250863552094, 0.2764553427696228, 0.09929107129573822, 0.23812560737133026, 0.16880829632282257, 0.2195461392402649, 0.23319561779499054, 0.24812538921833038, 0.13581305742263794, 0.22051483392715454, 0.16026146709918976, 0.14603416621685028, 0.24307867884635925, 0.18619628250598907, 0.1512351632118225, 0.1669013500213623, 0.23661138117313385, 0.19446492195129395, 0.2156922072172165, 0.19314561784267426, 0.24809423089027405, 0.2030286341905594, 0.2807920277118683, 0.1862964779138565, 0.15906749665737152, 0.20882414281368256, 0.2271352857351303, 0.230508491396904, 0.21021734178066254, 0.21140018105506897, 0.23159931600093842, 0.22225764393806458, 0.20663577318191528, 0.2822916805744171, 0.19026634097099304, 0.22072800993919373, 0.16512015461921692, 0.17346875369548798, 0.18206308782100677, 0.22015367448329926, 0.1802491694688797, 0.23367901146411896, 0.14596247673034668, 0.15677431225776672, 0.2876855731010437, 0.22545278072357178], \"y\": [0.32790422439575195, 0.5916306376457214, 0.5286779403686523, 0.3140484094619751, 0.40745100378990173, 0.594467282295227, 0.226205974817276, 0.5229958891868591, 0.27872055768966675, 0.6374025344848633, 0.5900668501853943, 0.2377709448337555, 0.6333571076393127, 0.27301427721977234, 0.3168225884437561, 0.3264463543891907, 0.3809262216091156, 0.6195036172866821, 0.3804708421230316, 0.46289747953414917, 0.3768528699874878, 0.4481143355369568, 0.4496624171733856, 0.3622595965862274, 0.4298364520072937, 0.41471603512763977, 0.3923989236354828, 0.4742092490196228, 0.5536534786224365, 0.4299453794956207, 0.5382028222084045, 0.4552229046821594, 0.4725404381752014, 0.4782736003398895, 0.3853309750556946, 0.5150856971740723, 0.4460151195526123, 0.3116055428981781, 0.3262594938278198, 0.423644095659256, 0.6183140277862549, 0.3250957429409027, 0.4166833162307739, 0.4033321738243103, 0.4739789664745331, 0.44192057847976685, 0.3936372995376587, 0.3986940085887909, 0.40667790174484253, 0.5500929355621338, 0.4829050898551941, 0.3293638527393341, 0.46312224864959717, 0.4385644793510437, 0.44045698642730713, 0.4016282558441162, 0.43581002950668335, 0.6129145622253418, 0.448058158159256, 0.4089330732822418, 0.49530309438705444, 0.23848333954811096, 0.5908899307250977, 0.5303722620010376, 0.5386135578155518, 0.4928640127182007, 0.6390587687492371, 0.6284147500991821, 0.601415753364563, 0.6038340330123901, 0.45548608899116516, 0.5404441952705383, 0.5113688707351685, 0.3314206898212433, 0.48953521251678467, 0.4987030029296875, 0.43189167976379395, 0.46723809838294983, 0.5585160255432129, 0.45180127024650574, 0.4079101085662842, 0.3544629216194153, 0.4960024356842041, 0.43533948063850403, 0.26636719703674316, 0.4439275860786438, 0.38341784477233887, 0.5595106482505798, 0.4110018014907837, 0.5083476901054382, 0.3652579188346863, 0.44559186697006226, 0.3204977214336395, 0.5459178686141968, 0.5887094140052795, 0.3960394859313965, 0.3105136752128601, 0.6097723245620728, 0.41424480080604553, 0.5676713585853577, 0.3831377625465393, 0.23056520521640778, 0.37079113721847534, 0.4362475275993347, 0.3864653408527374, 0.6378569602966309, 0.2993941009044647, 0.3623354434967041, 0.33030107617378235, 0.6230761408805847, 0.3990563154220581, 0.6417185664176941, 0.45355045795440674, 0.30462080240249634, 0.47963494062423706, 0.4222562909126282, 0.41083356738090515, 0.400270938873291, 0.5794569849967957, 0.40070265531539917, 0.37337222695350647, 0.5933104157447815, 0.15863269567489624, 0.623679518699646, 0.5890377163887024, 0.6182018518447876, 0.6195946931838989, 0.608797550201416, 0.29918384552001953, 0.5726054906845093, 0.43050533533096313, 0.3893126845359802, 0.335979700088501, 0.26836100220680237, 0.4064554274082184, 0.4593283236026764, 0.3651075065135956, 0.5922555327415466, 0.5895595550537109, 0.4126182496547699, 0.29278016090393066, 0.5758273601531982, 0.47464415431022644, 0.4643818736076355, 0.5835087299346924, 0.24291616678237915, 0.37391048669815063, 0.4395774006843567, 0.3625674843788147, 0.4041202664375305, 0.37296783924102783, 0.44905099272727966, 0.4467252194881439, 0.5212165713310242, 0.572109043598175, 0.39002886414527893, 0.6024991869926453, 0.4655517637729645, 0.41581612825393677, 0.41233956813812256, 0.29813772439956665, 0.3738262951374054, 0.3361087143421173, 0.37135064601898193, 0.6395815014839172, 0.6242443919181824, 0.5580196380615234, 0.590278148651123, 0.5786375403404236, 0.4842676818370819, 0.5500321984291077, 0.4327550232410431, 0.28105488419532776, 0.2569614052772522, 0.47344067692756653, 0.4733823835849762, 0.4773738384246826, 0.6423262357711792, 0.3687626123428345, 0.595477819442749, 0.25879448652267456, 0.34524115920066833, 0.408447802066803, 0.4908081889152527]}, {\"marker\": {\"color\": 50, \"size\": 5}, \"mode\": \"markers\", \"name\": \"45\", \"text\": [\"GoPro - CHDHS-502 - HERO5 Session \", \"GoPro - ACBAT-001 - MAX Rechargeable Battery\", \"GoPro - AKTAC-001 - Sports Kit\", \"GoPro - ASBHM-002 - MAX Grip + Tripod\", \"Scosche - MPOHMR - MagicMOUNT Pro Magnetic Office/Home Mount\", \"Garmin - fenix\\u00ae 5S GPS Watch - Sapphire Rose Gold \", \"Garmin fenix\\u00ae 5 Outdoor GPS Watch - Slate Gray with Black Band \", \"GoPro - AGBAG-001 - Replacement Parts\", \"GoPro - WETBAG - Waterproof Dry Bag 10L \", \"GoPro - AFAEM-001 - 3-Way Mount\", \"GoPro MAX 360 Action Camera\", \"Navman - MOVE100 - 5\\\" GPS System\", \"GoPro - AAMIC-001 - Pro 3.5mm Mic Adapter\", \"Navman MOVE100 5\\\" GPS Unit + MiVUE700 Dashcam Bundle  \", \"GoPro - CHDHX-601 - HERO6 Black\", \"Cygnett - DashView Vice Universal Car Mount - CY1738UNVIC\", \"Garmin - DriveAssist\\u2122 51 LMT-S GPS\", \"Garmin - DriveSmart\\u2122 55 In-Car GPS\", \"Scosche - MAGTHM2 - MagicMount XL Headrest\", \"Manfrotto - MKCOMPACTLT-BK - Compact Light Tripod \", \"GoPro - AWALC-002 - Supercharger (International Dual-Port Charger)\", \"Fitbit Charge 4 Advance Fitness Tracker + GPS - Black - FB417BKBK \", \"GoPro - Composite Cable - ACMPS-001\", \"Navman - CRUISE550MT - 5\\\" Car GPS System\", \"Garmin - BC\\u2122 40 Wireless Backup Camera With License Plate Mount \", \"GoPro - AJBAT-001 - Rechargeable Battery\", \"GoPro - AFAEM-001 - 3-Way Mount\", \"GoPro - AACFT-001 - Curved + Flat Adhesive Mounts\", \"GoPro - AJDBD-001 - Dual Battery Charger + Battery\", \"Garmin - v\\u00edvoactive\\u00ae 4S - White with Rose-gold Hardware\", \"GoPro - GCHM30-001 - Chest Mount Harness\", \"GoPro - AWRMK-001 - Wi-Fi Remote Mounting Kit \", \"Garmin - 010-02173-12 - Venu\\u2122 Black with Slate Hardware\", \"Garmin - Drive\\u2122 52 & Live Traffic - GPS\", \"Scosche - MAG12V - MagicMount\\u2122 Power\", \"Scosche - MAGVM2 - MagicMount\\u2122 Vent2\", \"GoPro - Large Tube Mount - AGTLM-001\", \"GoPro - CHDHS-102 - HERO Session\", \"Garmin - 010-01955-07 - v\\u00edvosmart\\u00ae HR - Purple (Regular)\", \"Tomtom - START 52 GPS System - 5\\\" - 8GB\", \"Tomtom - Via 52 GPS System - 5\\\" LCD - 8GB - Bluetooth\\u00ae\", \"GoPro - Floaty - AFLTY-004\", \"Garmin - Dash Cam\\u2122 66W \", \"Garmin - dezl 580 LMT-S - dezl\\u2122 580 LMT-S Trucking GPS\", \"GoPro - ANVGM-001 - NVG Mount\", \"Navman - CRUISE650MMT - 6\\\" LCD Car GPS System\", \"GarminVenu\\u2122 GPS Fitness Watch - Light Sand with Rose-gold Hardware \", \"GoPro - ACSST-005 - GoPro Sleeve (Red) + Lanyard\", \"GoPro - ACHMJ-301 - Junior Chesty (Chest Harness)\", \"Garmin - dezlCam\\u2122 785 LMT-S\", \"Navman - GPS Dual Dash Camera - MIVUE800   \", \"Garmin - Dash Cam\\u2122 45 - 010-01750-01\", \"GoPro - The Handler (Floating Hand Grip) - AFHGM-001\", \"Scosche - MAGCD2 - MagicMount CD Slot Magnetic Mount\", \"Scosche - MEDPMSR-XTET - MagicMount Elite - Double Pivot Magnet to Magnet Mount\", \"Scosche - MEBSR-XTET - MagicMount Elite - Dual Sided Magnetic Bar Mount\", \"Navman Big Rig Duo - GPS + 2K Dash Cam    \", \"GoPro - The Frame - Frame Mount  \", \"Scosche - MPQWD-XTSP - MagicMount\\u2122 Charge\", \"GoPro - GPAFLTY-003 - Floaty Backdoor\", \"Scosche - MAGMS2 - MagicMount\\u2122 MiniMat\", \"Navman - MiVUE740 - FHD - 2.7\\\"LCD - Dashcam \", \"GoPro - AADBD-001 - Dual Battery Charger + Battery (HERO5 Black)\", \"GoPro - AFHGM-002 - The Handler (Floating Hand Grip) \", \"GoPro Hero7 Black Bundle \", \"Uniden - iGO CAM 325 - Accident CAM Vehicle Recorder\", \"GoPro - Handlebar / Seatpost / Pole Mount - AGTSM-001\", \"Garmin Instinct\\u00ae Outdoor GPS Watch - Flame Red\", \"Tomtom - GO Professional 620 - Trucker GPS\", \"GoPro - the Strap Hand+Wrist+Arm+ Leg Mount - AHWBM-001\", \"Smeg - GT1T-2 - Telescopic Shelf Guide\", \"Garmin - v\\u00edvoactive\\u00ae 4 - Black with Slate Hardware\", \"GoPro - AHDMC-301 - Micro HDMI Cable\", \"GoPro - ADOGM-001 - Fetch\\u2122 Dog Harness \", \"Tomtom GO Supreme GPS System 5\\\" LCD\", \"GoPro - GPACHOM-001 - Head Strap + QuickClip\", \"GoPro - CHDHX-701 - Hero7 Black - Action Camera - 4K60 - 12MP - GPS \", \"Tomtom GO Supreme GPS System 6\\\" LCD\", \"Navman - MiVUE700 - Dash Camera\", \"Scosche - MAGFMI - MagicMount Surface\", \"Garmin - Dash Cam\\u2122 Mini\", \"Sanus - VMF720-B2 - Premium Full Motion Mount\", \"GoPro - ATBKT-005 - Camera Tethers\", \"GoPro - AHDWH-301 - Wrist Housing\", \"GoPro - AADBD-001-EU - Dual Battery Charger + Battery\", \"Inca - i3273D - 3-way Head Tripod\", \"Navman - MIVUE760 ULTRA - Dash Cam\", \"Scosche - MEVSR-XTET - MagicMount Elite\", \"GoPro - ACMPM-001 - Jaws: Flex Clamp\", \"Garmin - 010-01955-06 - v\\u00edvosmart\\u00ae HR - Black (Regular)\", \"GoPro - ALCAK-301 - HERO3 Caps + Doors\", \"GoPro - AUCMT-302 - Suction Cup\", \"GoPro - AHBBP-401 - Dual Battery Charger + Battery\", \"GoPro - AWALC-001 - Wall Charger\", \"GoPro - ARMTE-002 - Smart Remote\", \"GoPro - AHFMT-001 - Helmet Front Mount \", \"Garmin - Dash Cam\\u2122 56\", \"Garmin - Drive\\u2122 51 LM GPS\", \"Scosche - MEDSR-XTET - MagicMount Elite - Magnetic Dash Mount\", \"Garmin - Marvel Spider-Man - V\\u00edvofit\\u00ae Jr. 2 GPS Watch \", \"Cygnett - DashView Universal Smartphone Car Mount\", \"Cygnett - MagMount 360 Dash & Window Car Mount\", \"Garmin - RV 775 MT-S In Car GPS\", \"Navman - MIVUE750 - WIFI Dashcam\", \"GoPro - CHDHB-601 - Hero7 - White - Action Camera - FHD -10MP\", \"Scosche - MAGWDM - MagicMount Window\", \"Jivo - GPKIT1 - GoPro 6 Piece Accessory Kit\", \"GoPro - AHBBP-301 - Dual Battery Charger*\", \"Garmin - BC\\u2122 30 - Wireless Backup Camera \", \"Scosche - MAGWSM2 - MagicMount\\u2122 Dash/Window\", \"Scosche - MAGDM - MagicMount\\u2122 Dash\", \"GoPro - Grab Bag - AGBAG-002\", \"Navman - MIVUE820 - 1080p Dual Camera Dash Cam \", \"GoPro - CHDHX-701 - Hero7 Black\", \"Garmin - 010-01608-00 - v\\u00edvofit 3 - Black (Regular) \", \"Garmin Instinct\\u00ae Outdoor GPS Watch - Tundra\", \"GoPro - Auto Charger - ACARC-001\", \"GoPro - CHDSB-701 - Hero7 Black with 32GB SD Card\", \"Navman - MiVUE630 Dash Cam - 2\\\" LCD \", \"Scosche - MPQ2V-XTSP - MagicMount Pro\", \"Garmin - Disney Minnie Mouse - V\\u00edvofit\\u00ae Jr. 2 GPS Watch\", \"Scosche - MPWD2 - MagicMount\\u2122 Pro Window/Dash\", \"Garmin - DEZL 570LMT - dezl\\u2122 570LMT GPS\", \"GoPro - AHDAF-301 - Anti-Fog Inserts\", \"GoPro - AHDBT-401 - Rechargeable Battery - For HERO4 \", \"GoPro - CHDHX-701-BOX - Hero7 Black - Dry Bag Bundle  \", \"Fitbit Charge 4 Advance Fitness Tracker + GPS - Rosewood - FB417BYBY\", \"Fitbit Charge 4 Advance Fitness Tracker + GPS - Storm - FB417BKNV\", \"GoPro - AABAT-001-EU - Rechargeable Battery\", \"Cygnett - CY1882ACVEN - MagMount Magnetic Vent Car Mount\", \"Navman MOVE120M - 5\\\" LCD GPS System \", \"Garmin Instinct\\u00ae Outdoor GPS Watch - Graphite   \", \"Garmin - v\\u00edvomove\\u00ae HR Watch - Black with Rose Gold Hardware - S/M \", \"Scosche - MAGTHD2 - MagicMount\\u2122 XL Dash/Window\", \"GoPro Max 360 Action Camera Bundle \", \"GoPro - 3.5mm Mic Adapter - AMCCC-301\", \"Scosche - MPQ2WD-XTSP - MagicMount\\u2122 Charge Magnetic Mount\"], \"type\": \"scatter\", \"x\": [0.25271427631378174, 0.2354353815317154, 0.2378300428390503, 0.18562088906764984, 0.09728795289993286, 0.17522548139095306, 0.21397729218006134, 0.1956246942281723, 0.054528482258319855, 0.18747426569461823, 0.20526863634586334, 0.13732141256332397, 0.3545275330543518, 0.19320173561573029, 0.2200177013874054, 0.08869382739067078, 0.13561084866523743, 0.17219023406505585, 0.0746716633439064, 0.10666170716285706, 0.21350178122520447, 0.1415092796087265, 0.27296727895736694, 0.16064992547035217, 0.16089069843292236, 0.28385674953460693, 0.18747426569461823, 0.2037918120622635, 0.26436498761177063, 0.14416803419589996, 0.12970639765262604, 0.24887236952781677, 0.1244841143488884, 0.16714203357696533, 0.07759594917297363, 0.08767299354076385, 0.12658853828907013, 0.20268332958221436, 0.15049374103546143, 0.23245403170585632, 0.27741867303848267, 0.13964973390102386, 0.10076636075973511, 0.09491053968667984, 0.16538241505622864, 0.13067537546157837, 0.1819344460964203, 0.2239723801612854, 0.1492794007062912, 0.07660168409347534, 0.18158137798309326, 0.1582786738872528, 0.13942024111747742, 0.12979233264923096, 0.10975073277950287, 0.06831198930740356, 0.1723955124616623, 0.18636608123779297, 0.10043365508317947, 0.14352409541606903, 0.09566406905651093, 0.18523411452770233, 0.31704023480415344, 0.13994547724723816, 0.2888556718826294, 0.0967610776424408, 0.18686024844646454, 0.12885281443595886, 0.1352992057800293, 0.19279658794403076, 0.030758045613765717, 0.14796271920204163, 0.2773999571800232, 0.19014407694339752, 0.2803153991699219, 0.22976888716220856, 0.3042640686035156, 0.25627413392066956, 0.17531923949718475, 0.027626395225524902, 0.20280539989471436, 0.0827862098813057, 0.2154848426580429, 0.13555322587490082, 0.27713078260421753, 0.11022123694419861, 0.0741785392165184, 0.09364053606987, 0.19258522987365723, 0.16805589199066162, 0.21403741836547852, 0.06988754868507385, 0.2033858448266983, 0.19384102523326874, 0.28111279010772705, 0.17981797456741333, 0.12904177606105804, 0.13603103160858154, 0.0975775420665741, 0.2061503827571869, 0.24136339128017426, 0.05165604501962662, 0.12320417165756226, 0.18384380638599396, 0.20275846123695374, 0.01687145233154297, 0.16656728088855743, 0.1936762034893036, 0.1718931645154953, 0.08395446836948395, 0.08957257121801376, 0.17302796244621277, 0.14970004558563232, 0.2753237187862396, 0.11223529279232025, 0.2087230384349823, 0.26124879717826843, 0.2975960373878479, 0.1413053721189499, 0.16789256036281586, 0.2096422016620636, 0.15581253170967102, 0.15245772898197174, 0.13396266102790833, 0.2471017986536026, 0.2059059739112854, 0.12024568021297455, 0.09468767046928406, 0.24576345086097717, 0.010846346616744995, 0.15934248268604279, 0.1488146334886551, 0.20526844263076782, 0.09531725943088531, 0.19370099902153015, 0.3292422294616699, 0.11777728796005249], \"y\": [0.0393981859087944, -0.11246953904628754, -0.09721823036670685, -0.10887715220451355, -0.12013396620750427, 0.006117093376815319, -0.025566257536411285, -0.041674938052892685, -0.08362948894500732, -0.10101820528507233, 0.03358842432498932, -0.03151387721300125, -0.07918771356344223, 0.05211389809846878, 0.040814463049173355, -0.046620532870292664, -0.006360502913594246, 0.039233721792697906, -0.16384312510490417, -0.24427789449691772, -0.08931665122509003, -0.04781569167971611, -0.10853034257888794, -0.037425585091114044, -0.11833860725164413, -0.11946040391921997, -0.10101820528507233, -0.12794916331768036, -0.09821160137653351, 0.020397974178195, -0.053151458501815796, -0.12876951694488525, -0.08460815250873566, -0.03158769756555557, -0.09140492975711823, -0.09726668894290924, -0.02684912644326687, 0.017081376165151596, -0.023125920444726944, 0.07873020321130753, 0.0034366268664598465, -0.11297696828842163, -0.04293788969516754, 0.01356559433043003, -0.01701279729604721, -0.009604307822883129, -0.010003175586462021, -0.057353753596544266, -0.1593620777130127, -0.03145983815193176, -0.07400673627853394, -0.017184287309646606, -0.033926256000995636, -0.08468087017536163, -0.10201649367809296, -0.15582284331321716, -0.02070583403110504, -0.06637319922447205, -0.06511867046356201, -0.07738828659057617, -0.15616518259048462, 0.054152119904756546, -0.05761433392763138, -0.06876493990421295, 0.042468030005693436, -0.07433520257472992, 0.015072356909513474, -0.06119922548532486, -0.06669741868972778, -0.07720495760440826, 0.004104906693100929, -0.04959641396999359, 0.03369284048676491, -0.09949267655611038, 0.06508222222328186, -0.1057763397693634, 0.1723189651966095, 0.07313483953475952, -0.10212187469005585, -0.1467418670654297, -0.08444848656654358, 0.007926851511001587, -0.10906709730625153, -0.01406119205057621, -0.02071738801896572, -0.09201201051473618, -0.11370078474283218, -0.16690298914909363, -0.1516341120004654, -0.017797421663999557, -0.055484384298324585, -0.04541657865047455, -0.06278236210346222, -0.0740097165107727, -0.0324440523982048, -0.11656368523836136, -0.0444706454873085, -0.008739689365029335, -0.12291224300861359, -0.06351146101951599, 0.020907826721668243, -0.12745770812034607, -0.03154638037085533, -0.08578173071146011, 0.10903918743133545, -0.1363857090473175, -0.011973327025771141, -0.050826314836740494, -0.19486045837402344, -0.11830317229032516, -0.1588345766067505, -0.07568401843309402, 0.02863757684826851, 0.061162419617176056, -0.1110125258564949, -0.06322097778320312, -0.08809290826320648, 0.13445104658603668, -0.03289042040705681, -0.09852668642997742, -0.12149468064308167, -0.08989174664020538, 0.015490951016545296, -0.010432664304971695, -0.018976248800754547, -0.006232524290680885, -0.07013282924890518, -0.05390400439500809, -0.04534965753555298, -0.08166845142841339, 0.05119884014129639, -0.03600851818919182, 0.04476121813058853, -0.1106741800904274, 0.005959061905741692, -0.02383904531598091, -0.041296251118183136]}, {\"marker\": {\"color\": 51, \"size\": 5}, \"mode\": \"markers\", \"name\": \"46\", \"text\": [\"Smeg - FAB32LBLNA1 - 326L Retro Style Bottom Mount Fridge - Black\", \"Smeg - FAB32RBLNA1 - 326L Retro Style Bottom Mount Fridge - Black\", \"Smeg - FAB28RWH3AU - 281L 50's Retro Aesthetics Vertical Fridge - White\", \"Smeg - FAB32RCRNA1 - 326L Retro Style Bottom Mount Fridge - Cream\", \"Smeg - FAB28RCR3AU - 281L 50's Retro Aesthetics Vertical Fridge - Cream\", \"Smeg - FAB28LRD3AU - 281L 50's Retro Aesthetics Vertical Fridge - Red\", \"Smeg - KLF04PGAU - Retro Style Aesthetic Electric Kettle - Pastel Green\", \"Smeg - KLF04PKAU - Retro Style Aesthetic Electric Kettle - Pink\", \"Smeg - FAB32LPBNA1 - 326L Retro Style Bottom Mount Fridge - Pastel Blue\", \"Smeg - TSF03PBAU - 50's Style 4 Slice Toaster - Pastel Blue\", \"Smeg - FAB32LLINA1 - 326L Retro Style Bottom Mount Fridge - Lime Green\", \"Smeg - FAB32RLINA1 - 326L Retro Style Bottom Mount Fridge - Lime Green\", \"Smeg - FAB28RYW3 - 281L 50's Retro Aesthetics Fridge - Yellow\", \"Smeg - FAB28RDTP3 - 281L 50's Retro Aesthetics Fridge - Taupe\", \"Smeg - FAB28RDMC3 - 281L 50's Retro Aesthetics Fridge - Multicolour\", \"Smeg - KLF03BLAU - 50's Retro Style Aesthetic Electric Kettle - Black\", \"Smeg - FAB28LWH3AU - 281L 50's Retro Aesthetics Vertical Fridge - White\", \"Smeg - FAB50RRDAU - 467L 50's Retro Style Fridge - Red\", \"Smeg - FAB50RBLAU - 467L 50's Retro Style Fridge - Black\", \"Smeg - FAB28LSV3 - 281L 50's Retro Aesthetics Fridge - Silver\", \"Smeg - FAB50LRDAU - 467L 50's Retro Style Fridge - Red\", \"Smeg - KLF04CRAU - Retro Style Aesthetic Electric Kettle - Cream\", \"Smeg - FAB28 Mickey Mouse Fridge - Limited Edition\", \"Smeg - FAB5RRDA - 42L 50's Retro Style Bar Fridge - Red\", \"Smeg - FAB50LBLAU - 467L 50's Retro Style Fridge - Black\", \"Smeg - KLF03WHAU - 50's Retro Style Aesthetic Electric Kettle - White\", \"Smeg - TSF01PBAU - 50's Retro Style Aesthetic 2 Slice Toaster -  Pale Blue\", \"Smeg - TSF02PKAU - 50's Retro Style Aesthetic 4 Slice Toaster - Pink\", \"Smeg - FAB38RWHAU - 510L 50's Retro Style Bottom Mount Fridge - White\", \"Smeg - KLF04WHAU - Retro Style Aesthetic Electric Kettle - White\", \"Smeg - SMF13WHAU - 50's Retro Style Stand Mixer - White\", \"Smeg - BLF01CRAU - 50's Retro Style Blender - Cream\", \"Smeg - KLF03CRAU - 50's Retro Style Aesthetic Electric Kettle - Cream\", \"Smeg - TSF02SSAU - 50's Retro Style Aesthetic 4 Slice Toaster - Chrome\", \"Smeg - KLF04PBAU - Retro Style Aesthetic Electric Kettle - Pastel Blue\", \"Smeg - TSF01WHAU - 50's Retro Style Aesthetic 2 Slice Toaster -  White\", \"Smeg - TSF02PGAU - 50's Retro Style Aesthetic 4 Slice Toaster - Pastel Green\", \"Smeg - TSF01PGAU - 50's Retro Style Aesthetic 2 Slice Toaster - Pastel Green \", \"Smeg - FAB32RBENA1 - 326L Retro Style Bottom Mount Fridge - Royal Blue\", \"Smeg - FAB32RSVNA1 - 326L Retro Style Bottom Mount Fridge - Silver\", \"Smeg - FAB28RDBB3 - 281L 50's Retro Aesthetics Fridge\", \"Smeg - FAB28RBL3AU - 281L 50's Retro Aesthetics Vertical Fridge - Black\", \"Smeg - FAB28RBE3 - 281L 50's Retro Aesthetics Top Mount Fridge - Blue\", \"Smeg - HBF02BLAU - 50's Retro Style Blender - Black \", \"Smeg - FAB5RCRA - 42L Retro Style Bar Fridge - Cream\", \"Smeg - FAB28RAU1 - 256L Retro Refrigerator - Australian Flag\", \"Smeg - FAB38RPBAU - 510L 50's Retro Style Bottom Mount Fridge - Pastel Blue\", \"Smeg - FAB38RCRAU - 510L 50's Retro Style Bottom Mount Fridge - Cream\", \"Smeg - FAB50RCRAU - 467L 50's Retro Style Fridge - Cream\", \"Smeg - FAB32LORNA1 - 326L Retro Style Bottom Mount Fridge - Orange\", \"Smeg - FAB32LBENA1 - 326L Retro Style Bottom Mount Fridge - Royal Blue\", \"Smeg - FAB28RSV3 - 281L 50's Retro Aesthetics Fridge - Silver\", \"Smeg - FAB28RPK3 - 281L 50's Retro Aesthetics Fridge - Pink\", \"Smeg - FAB28ROR3 - 281L 50's Retro Aesthetics Fridge - Orange\", \"Smeg - FAB32RPGNA1 - 326L Retro Style Bottom Mount Fridge - Pale Green\", \"Smeg - HBF02PBAU - 50's Retro Style Blender - Pastel Blue\", \"Smeg - FAB50LWHAU - 467L 50's Retro Style Fridge - White\", \"Smeg - FAB28LYW3 - 281L 50's Retro Aesthetic Fridge - Yellow\", \"Smeg - FAB10HRP-1 - 135L Retro Bar Fridge - Cream\", \"Smeg - FAB10HLP - 135L Retro Bar Fridge - Cream\", \"Smeg - FAB10HLNE - 135L Retro Bar Fridge - Black\", \"Smeg - HBF02CRAU - 50's Retro Style Blender - Cream\", \"Smeg - TSF02WHAU - 50's Retro Style Aesthetic 4 Slice Toaster - White\", \"Smeg - SMF03BLAU - 50's Retro Style Stand Mixer - Black\", \"Smeg - TSF03WHAU - 50's Style 4 Slice Toaster - White\", \"Smeg - FAB38RPGAU - 510L 50's Retro Style Bottom Mount Fridge - Pastel Green\", \"Smeg - FAB28LOR3 - 281L 50's Retro Aesthetics Fridge - Orange\", \"Smeg - FAB28LDUJ3 - 281L 50's Retro Aesthetics Fridge - Union Jack\", \"Smeg - FAB28RPA1 - 256L Retro Refrigerator - Cream\", \"Smeg - FAB32RRDNA1 - 326L Retro Style Bottom Mount Fridge - Red\", \"Smeg - FAB10HRR - 135L Retro Bar Fridge - Red\", \"Smeg - FAB32RPKNA1 - 326L Retro Style Bottom Mount Fridge - Pink\", \"Smeg - FAB28RLI3 - 281L 50's Retro Aesthetics Fridge - Lime Green\", \"Smeg - FAB28RDUJ3 - 281L 50's Retro Aesthetics Fridge - Union Jack\", \"Smeg - FAB5RBLA - 42L Retro Style Bar Fridge - Black\", \"Smeg - TSF03PGAU - 50's Style 4 Slice Toaster - Pastel Green\", \"Smeg - FAB50LCRAU - 467L 50's Retro Style Fridge - Cream\", \"Smeg - FAB32LSVNA1 - 326L Retro Style Bottom Mount Fridge - Silver\", \"Smeg - FAB50RPBAU - 467L 50's Retro Style Fridge - Pastel Blue\", \"Smeg - FAB28ARR1 - 256L Retro Refrigerator - Red\", \"Smeg - KLF03PBAU - 50's Retro Style Aesthetic Electric Kettle - Pastel Blue\", \"Smeg - TSF01PKAU - 50's Retro Style Aesthetic 2 Slice Toaster - Pink\", \"Smeg - TSF02RDAU - 50's Retro Style Aesthetic 4 Slice Toaster - Red\", \"Smeg - TSF01RDAU - 50's Retro Style Aesthetic 2 Slice Toaster - Red\", \"Smeg - FAB38RBLAU - 510L 50's Retro Style Bottom Mount Fridge - Black\", \"Smeg - FAB32RWHNA1 - 326L Retro Style Bottom Mount Fridge - White\", \"Smeg - TSF03CRAU - 50's Style 4 Slice Toaster - Cream\", \"Smeg - FAB28RDIT3 - 281L 50's Retro Aesthetics Fridge - Italian Flag\", \"Smeg - FAB28LPG3AU - 281L 50's Retro Aesthetics Vertical Fridge - Pastel Green\", \"Smeg - FAB32LCRNA1 - 326L Retro Style Bottom Mount Fridge - Cream\", \"Smeg - FAB28RVE1 - 256L Retro Refrigerator - Lime Green\", \"Smeg - FAB28RPB3AU - 281L 50's Retro Aesthetics Vertical Fridge - Pastel Blue\", \"Smeg - SMF03CRAU - 50's Retro Style Stand Mixer - Cream\", \"Smeg - FAB28LPB3AU - 281L 50's Retro Aesthetics Vertical Fridge - Pastel Blue\", \"Smeg - KLF03PKAU - 50's Retro Style Aesthetic Electric Kettle - Pink\", \"Smeg - TSF03BLAU - 50's Style 4 Slice Toaster - Black\", \"Smeg - KLF04BLAU - Retro Style Aesthetic Electric Kettle - Black\", \"Smeg - FAB28RPG3AU - 281L 50's Retro Aesthetics Vertical Fridge - Pastel Green\", \"Smeg - FAB10HRNE-1 - 135L Retro Bar Fridge - Black\", \"Smeg - TSF01SSAU - 50's Retro Style Aesthetic 2 Slice Toaster - Chrome\", \"Smeg - FAB32LPGNA1 - 326L Retro Style Bottom Mount Fridge - Pale Green\", \"Smeg - FAB28RBKA1 - 256L Retro Refrigerator - Black\", \"Smeg - KLF03RDAU - 50's Retro Style Aesthetic Electric Kettle - Red\", \"Smeg - KLF03SSAU - 50's Retro Style Aesthetic Electric Kettle - Stainless steel\", \"Smeg - FAB38RRDAU - 510L 50's Retro Style Bottom Mount Fridge - Red\", \"Smeg - BLF01WHAU - 50's Retro Style Blender - White\", \"Smeg - BLF01PBAU - 50's Retro Style Blender - Pastel Blue \", \"Smeg - TSF01CRAU - 50's Retro Style Aesthetic 2 Slice Toaster - Cream\", \"Smeg - TSF01BLAU - 50's Retro Style Aesthetic 2 Slice Toaster -  Black\", \"Smeg - TSF02BLAU - 50's Retro Style Aesthetic 4 Slice Toaster - Black\", \"Smeg - TSF02PBAU - 50's Retro Style Aesthetic 4 Slice Toaster - Pale Blue\", \"Smeg - TSF02CRAU - 50's Retro Style Aesthetic 4 Slice Toaster - Cream\", \"Smeg - FAB38LCRAU - 510L 50's Retro Style Bottom Mount Fridge - Cream\", \"Smeg - FAB50RPGAU - 467L 50's Retro Style Fridge - Pastel Green\", \"Smeg - KLF04SSAU - Retro Style Aesthetic Electric Kettle - Stainless steel\", \"Smeg - FAB32LRDNA1 - 326L Retro Style Bottom Mount Fridge - Red\", \"Smeg - FAB32LPKNA1 - 326L Retro Style Bottom Mount Fridge - Pink\", \"Smeg - FAB28RRD3AU - 281L 50's Retro Aesthetics Vertical Fridge - Red\", \"Smeg - FAB28RDRB3 - 281L 50's Retro Aesthetics Fridge - Ruby Red\", \"Smeg - FAB28RDBLV3 - 281L 50's Retro Aesthetics Fridge - Black Velvet\", \"Smeg - FAB28LPK3 - 281L 50's Retro Aesthetics Fridge - Pink\", \"Smeg - FAB28LCR3AU - 281L 50's Retro Aesthetics Vertical Fridge - Cream\", \"Smeg - FAB28LBL3AU - 281L 50's Retro Aesthetics Vertical Fridge - Black\", \"Smeg - FAB50RWHAU - 467L 50's Retro Style Fridge - White\", \"Smeg - FAB10HLR - 42L Retro Style Bar Fridge - Red \", \"Smeg - KLF03PGAU - 50's Retro Style Aesthetic Electric Kettle - Pastel Green\", \"Smeg - KLF04RDAU - Retro Style Aesthetic Electric Kettle - Red\"], \"type\": \"scatter\", \"x\": [-0.22163823246955872, -0.21161386370658875, -0.26413798332214355, -0.20272961258888245, -0.20981097221374512, -0.2367568016052246, -0.20789507031440735, -0.16235798597335815, -0.2632608413696289, -0.18441280722618103, -0.2629244029521942, -0.2622397840023041, -0.23148366808891296, -0.21108442544937134, -0.20887607336044312, -0.1657232642173767, -0.26716387271881104, -0.26466894149780273, -0.2427777647972107, -0.22937831282615662, -0.26031526923179626, -0.14130264520645142, -0.07662025839090347, -0.2173050045967102, -0.2450563609600067, -0.2040923833847046, -0.13034172356128693, -0.1578843593597412, -0.24700558185577393, -0.20211926102638245, -0.15910834074020386, -0.12427020817995071, -0.1501794457435608, -0.13987404108047485, -0.20206546783447266, -0.17340803146362305, -0.17332486808300018, -0.15003633499145508, -0.22614088654518127, -0.2545473277568817, -0.2515796422958374, -0.22555309534072876, -0.21782422065734863, -0.09643113613128662, -0.17505419254302979, -0.1654156744480133, -0.2674473226070404, -0.22071200609207153, -0.23186534643173218, -0.18741565942764282, -0.22981777787208557, -0.22968515753746033, -0.2168804109096527, -0.19154879450798035, -0.2593919038772583, -0.16770586371421814, -0.2873421013355255, -0.2349865436553955, -0.15586155652999878, -0.15086525678634644, -0.15466764569282532, -0.1201171949505806, -0.19852322340011597, -0.12305355817079544, -0.22991755604743958, -0.27455219626426697, -0.1980101764202118, -0.20018154382705688, -0.18507635593414307, -0.2217383086681366, -0.1804841160774231, -0.23925554752349854, -0.22733286023139954, -0.19574633240699768, -0.17846748232841492, -0.1986081600189209, -0.23181965947151184, -0.25254276394844055, -0.2859216332435608, -0.21616005897521973, -0.20776358246803284, -0.13338372111320496, -0.1707461178302765, -0.14679542183876038, -0.22267454862594604, -0.2734982967376709, -0.18082883954048157, -0.14956411719322205, -0.2838171124458313, -0.18390193581581116, -0.23610341548919678, -0.2653299868106842, -0.14931251108646393, -0.25930866599082947, -0.16813281178474426, -0.18055853247642517, -0.15014588832855225, -0.2765381336212158, -0.15259979665279388, -0.11576500535011292, -0.2609489858150482, -0.18805193901062012, -0.1741807758808136, -0.2012026607990265, -0.2379811406135559, -0.15848413109779358, -0.16349981725215912, -0.12499701231718063, -0.12121997028589249, -0.14534533023834229, -0.15518178045749664, -0.15125538408756256, -0.22329393029212952, -0.29691845178604126, -0.1952451765537262, -0.21632933616638184, -0.24717047810554504, -0.23040291666984558, -0.21297535300254822, -0.21643933653831482, -0.21915927529335022, -0.20576941967010498, -0.22778666019439697, -0.2730650305747986, -0.19704154133796692, -0.21335747838020325, -0.16823914647102356], \"y\": [-0.09895475953817368, -0.11453361809253693, -0.04302534461021423, -0.1370711326599121, -0.08514728397130966, -0.057550691068172455, -0.03144507110118866, -0.08221504092216492, -0.12699712812900543, -0.15700450539588928, -0.11413974314928055, -0.11516670882701874, -0.0679536834359169, -0.11194366216659546, -0.1184808760881424, -0.11421750485897064, -0.0316348522901535, -0.10939204692840576, -0.13168981671333313, -0.0922815278172493, -0.10906188935041428, -0.11838081479072571, -0.13708055019378662, -0.11283168196678162, -0.12287750095129013, -0.06697943806648254, -0.1857055276632309, -0.08698082715272903, -0.0872439593076706, -0.07705581933259964, -0.11289587616920471, -0.22093465924263, -0.11225724220275879, -0.022953452542424202, -0.15212269127368927, -0.11414797604084015, -0.021379336714744568, -0.06093628704547882, -0.17219585180282593, -0.08887068182229996, -0.11785101890563965, -0.07224159687757492, -0.14340749382972717, -0.16840875148773193, -0.12890417873859406, -0.08380094915628433, -0.12431669235229492, -0.1303718090057373, -0.1426466405391693, -0.11974731087684631, -0.14598923921585083, -0.08701472729444504, -0.10850487649440765, -0.12999367713928223, -0.08529415726661682, -0.19229483604431152, -0.08076167106628418, -0.05250692367553711, -0.11522862315177917, -0.1047416552901268, -0.11027839034795761, -0.1629919707775116, -0.07489979267120361, -0.1773887425661087, -0.08291865140199661, -0.06831909716129303, -0.1211300641298294, -0.1261744499206543, -0.12204891443252563, -0.12317144870758057, -0.12305523455142975, -0.09208512306213379, -0.10814061760902405, -0.13271579146385193, -0.1226179301738739, -0.023010078817605972, -0.13292354345321655, -0.09169661998748779, -0.13493327796459198, -0.09740421175956726, -0.13949985802173615, -0.12611748278141022, -0.09239216148853302, -0.13162089884281158, -0.12135519832372665, -0.08790908753871918, -0.12115020304918289, -0.1008080542087555, 0.01615828648209572, -0.11104027181863785, -0.07996140420436859, -0.07970030605792999, -0.16362819075584412, -0.07493829727172852, -0.07317262887954712, -0.11689743399620056, -0.12914404273033142, -0.029823362827301025, -0.11298376321792603, -0.06361941993236542, -0.05296669527888298, -0.12982499599456787, -0.07935647666454315, -0.024615351110696793, -0.10662492364645004, -0.18684667348861694, -0.21973805129528046, -0.15437613427639008, -0.14525075256824493, -0.10930801928043365, -0.15363022685050964, -0.11778796464204788, -0.11793672293424606, -0.07483165711164474, -0.0421435683965683, -0.12107923626899719, -0.0843355804681778, -0.0722472295165062, -0.12118776142597198, -0.10722902417182922, -0.09700854122638702, -0.07356471568346024, -0.05849846452474594, -0.08337633311748505, -0.09624633938074112, -0.0225777979940176, -0.09110233187675476]}, {\"marker\": {\"color\": 52, \"size\": 5}, \"mode\": \"markers\", \"name\": \"47\", \"text\": [\"Excelair - 40cm Pedestal Fan - EPFR 40\", \"Omega Altise -  Brigadier Natural Gas Heater - Sand Dune - OABRFNGSD\", \"Omega Altise - Brigadier Natural Gas Heater - Silver Streak - OABRFNGSS\", \"Excelair - EPF 50 - 50cm Pedestal Fan\", \"Omega Altise - Lancer Natural Gas Heater - Black Marble - OALAFNGBM \", \"Omega Altise - OAPC1413 - Portable Air Conditioner\", \"Dyson Pure Hot+Cool\\u2122 Purifier Fan Heater White/Silver - 244384-01   \", \"Kambrook - KFA839GRY - Arctic LED Display Tower Fan\", \"Kambrook - KFH660GRY - Upright Fan Heater\", \"Omega Altise - SATINPED40 - 40cm Pedestal Fan\", \"Kambrook - KPF849WHT - 40cm Pedestal Fan\", \"Inalto - IO64-1 - 60cm Fan-Forced Oven\", \"Excelair - 30cm Box Fan - EBF 30\", \"Stadler Form - CHARLY-FL - Charly Floor Fan \", \"Dyson Pure Cool Me\\u2122 Personal Purifying Fan - 275920-01 - Gunmetal/Copper\", \"Sunbeam - 90cm Tower Fan with Night Mode - FA7250\", \"Omega Altise - OP408R - 40cm Pedestal Fan\", \"Dyson Pure Hot+Cool\\u2122 Purifier Fan Heater Black/Nickel - 248812-01  \", \"Honeywell - CL40PM - Evaporative Air Cooler\", \"Omega Altise - OP46BC - 46cm Pedestal Fan\", \"Excelair - ETF45RI - Tower Fan\", \"Excelair - EHVP4590 - 45cm Pedestal Fan\", \"Omega Altise - OT600B - 89cm Tower Fan\", \"Dyson Pure Cool\\u2122 Purifying Tower Fan Black/Nickel - 249230-01 \", \"Excelair - EPF40 - 40cm Pedestal Fan\", \"Omega Altise - Brigadier Natural Gas Heater - Black Marble - OABRFNGBM\", \"Dyson Cool\\u2122 Tower Fan White/Silver - 301216-01 \", \"Omega Altise - O14B - 35cm Box Fan\", \"Omega Altise - Lancer Nautral Gas Heater - Sand Dune - OALAFNGSD\", \"Tefal Easy Fry Deluxe Air Fryer - EY401D\", \"Omega Altise - 80cm Tower Fan - OT803RW\", \"Excelair - EBF36 - 36cm Box Fan\", \"Dyson Hot+Cool\\u2122 Fan Heater White/Silver - 302427-01\", \"Omega Altise - OHVP46C - 46cm High Velocity Fan\", \"Excelair - EPF46 - 46cm Pedestal Fan\", \"Excelair - 2.9kw Portable Airconditioner - EPA101A\", \"DeLonghi - DETF115 - Tower Fan\", \"Omega Altise OAGCH25NGW - 25 MJ/h Natural Gas Heater - White\", \"Kambrook - KTF816BLK - Arctic 77cm Tower Fan\", \"DeLonghi - DETF121 - Tower Fan\", \"Sunbeam - FA8900 - 40cm Pedestal Fan\", \"Dyson Pure Cool Me\\u2122 Personal Purifying Fan - 275919-01 - White/Silver\", \"Omega Altise - Lancer LPGas Heater - Black Marble - OALAFLPBM\", \"Sunbeam - 121cm Tower Fan - FA7550\", \"Dyson Hot+Cool\\u2122 Fan Heater Black/Nickel - 302644-01 \", \"Midea - FS40-12AR - 40cm DC Stand Fan\", \"Dyson Pure Cool\\u2122  Purifying Tower Fan White/Silver - 310132-01 \", \"Excelair - ETF1200 - Tower Fan\", \"Excelair - EHVF4590 - 45cm Floor Fan\", \"Omega Altise OAGCH25NGS - 25 MJ/h Natural Gas Heater - Silver\", \"Omega Altise - OP40C - 40cm Slimline Pedestal Fan\", \"Ninja - AF160ANZ - Air Fryer Max XL\", \"Dyson Pure Hot+Cool Link\\u2122 Purifying Fan Heater White/Silver - 308008-01  \", \"Excelair - ETF901 - Tower Fan\"], \"type\": \"scatter\", \"x\": [-0.15732404589653015, -0.13352817296981812, -0.1336195021867752, -0.16770270466804504, -0.0966649129986763, 0.06412044167518616, -0.12344340234994888, -0.07738472521305084, -0.19699010252952576, -0.11409784108400345, -0.1861743927001953, -0.33228087425231934, -0.15076154470443726, -0.11838331073522568, -0.10076048970222473, -0.15280961990356445, -0.100492462515831, -0.11661447584629059, -0.14874866604804993, -0.0952177420258522, -0.04738321155309677, -0.16641685366630554, -0.10951612144708633, -0.0708623006939888, -0.15639284253120422, -0.10704842209815979, -0.07182807475328445, -0.0352640300989151, -0.12984821200370789, -0.1080290675163269, -0.1467733383178711, -0.13995103538036346, -0.11393439024686813, -0.06988460570573807, -0.1324504315853119, 0.00420689582824707, -0.0763186514377594, -0.12159447371959686, -0.12743434309959412, -0.0575958788394928, -0.17777609825134277, -0.06065065413713455, -0.08730549365282059, -0.16903060674667358, -0.11780302971601486, -0.12790490686893463, -0.07249560207128525, -0.02565007656812668, -0.17291247844696045, -0.10969173908233643, -0.10583270341157913, -0.048915568739175797, -0.10000995546579361, -0.05894313007593155], \"y\": [-0.027700956910848618, 0.0006750263273715973, -0.020971283316612244, -0.05730152875185013, -0.02878459542989731, -0.03018791228532791, 0.006281678564846516, -0.06671170145273209, -0.09535284340381622, 0.03936469927430153, -0.049490462988615036, 0.11251982301473618, -0.08661846071481705, -0.12814004719257355, -0.018252942711114883, -0.0077692605555057526, 0.02132444456219673, 0.005455189384520054, -0.04059894382953644, -0.004376180469989777, -0.10310527682304382, 0.038191020488739014, 0.0016323402523994446, -0.06382163614034653, -0.02712802216410637, -0.056891072541475296, -0.06315140426158905, -0.011593326926231384, 0.02273031324148178, -0.11327248811721802, -0.001596156507730484, -0.055644333362579346, -0.005476567894220352, 0.09416669607162476, -0.013484809547662735, -0.06415759772062302, -0.16378501057624817, 0.059408560395240784, -0.14122918248176575, -0.16471165418624878, 0.005076766945421696, -0.019980469718575478, -0.04499714821577072, -0.04094382002949715, -0.014009742066264153, 0.006066922098398209, -0.050831910222768784, -0.13402335345745087, 0.039704106748104095, 0.06011960655450821, 0.06836418807506561, -0.08127851784229279, 0.010414223186671734, -0.11354956030845642]}, {\"marker\": {\"color\": 53, \"size\": 5}, \"mode\": \"markers\", \"name\": \"48\", \"text\": [\"Westinghouse - 501L Single Door Fridge - WRB5004WA\", \"Vintec 50 Bottle Wine Cabinet - VWS050SBB-X\", \"Beko - BBM450W - 450L Bottom Mount Fridge\", \"Vintec 130 Bottle Wine Cabinet - VWS130SSB-X\", \"Westinghouse - 700L Chest Freezer - WCM7000WD\", \"Westinghouse - WBE4500SC-L - 453L Bottom Mount Refrigerator\", \"Vintec 100 Beer Bottle Beverage Centre - VBS050SBB-X\", \"Beko - RCNA340K30ZX - 320L Bottom Mount Fridge\", \"Westinghouse - WBB3400AG - 340L Bottom Mount Fridge \", \"Westinghouse - WBE5304BB-R - 528L Bottom Mount Fridge\", \"Westinghouse - WFB4204WC-R - 425L Vertical Freezer\", \"Westinghouse - WRB5004SC-R - 501L Stainless Steel Single Door Fridge\", \"Westinghouse - WIM1200AD - 124L Bar Fridge\", \"Westinghouse - WBE4504SB-L - 453L Bottom Mount Refrigerator\", \"Westinghouse - WFB4204WC-L - 425L Vertical Freezer\", \"Inalto - IWC34B - Wine Chiller \", \"Westinghouse - WBE4500WAL - 450L Bottom Mount Fridge\", \"Westinghouse - WBE5300SC-R - 528L Bottom Mount Refrigerator\", \"Westinghouse - WTB4600WC-L - 460L White Top Mount Fridge\", \"Westinghouse - WFB2804WA - 280L White Vertical Freezer\", \"Westinghouse WRI514BB - 50cm Integrated Rangehood\", \"Westinghouse WRI500SB - 51cm Integrated Rangehood\", \"Westinghouse WRI524BB - 52cm Integrated Rangehood\", \"Vintec - VWS050SBA-X - 50 Bottle Wine Cabinet\", \"Westinghouse - WRM1400WD - 138L Bar Fridge\", \"Westinghouse - WBE4500WAR - 450L Bottom Mount Fridge\", \"Lemair - LWC59 - Wine Storage\", \"Westinghouse - WBE5304SB-R - 528L Bottom Mount Refrigerator\", \"Beko - RDNE350K30W - 347L Top Mount Fridge\", \"Westinghouse - WBE5300SC-L - 528L Bottom Mount Refrigerator\", \"Westinghouse - WTB4600WC-R - 460L White Top Mount Fridge\", \"Westinghouse - WRB5004SB-R - 501L Single Door All Fridge \", \"Westinghouse - WBE4504BB-R - 453L Bottom Mount Refrigerator\", \"Husky - HUS-WC168S-BK-ZY - 450L Single Zone Wine Fridge\", \"Beko - CN151140ZX - 505L Stainless Steel Bottom Mount Fridge\", \"Husky - HUS-WC168D-ZY - 440L Freestanding Wine Fridge\", \"Westinghouse WMB4425DSC - 44L Built-in Combination Microwave\", \"Husky - HUS-WC168D-BK-ZY - 440L Freestanding Wine Fridge\", \"Lemair - LWC646 - 46 Bottle Dual Zone Wine Chiller\", \"Westinghouse - WIM1200SC - 120L Bar Fridge\", \"Vintec 100 Beer Bottle Beverage Centre - VBS050SSB-X\", \"Vintec - 148 Bottle Wine Cabinet - VWM148SBA-L\", \"Vintec 35 Bottle Wine Cabinet - VWS035SSB-X\", \"Vintec 20 Bottle Wine Cabinet - VWS020SBB-X\", \"Vintec - 148 Bottle Wine Cabinet - VWM148SBA-R\", \"Vintec 50 Bottle Dual Zone Wine Cabinet - VWD050SBB-X\", \"Westinghouse - WCM1400WD - 140L Chest Freezerv\", \"Vintec 35 Bottle Wine Cabinet - VWS035SBB-X\", \"Birko - 1009005 - Domestic Urn 5 Litre\", \"Vintec 50 Bottle Wine Cabinet - VWS050SSB-X\", \"Inalto - IWC46 - Wine Chiller\", \"Beko - BTM345W - 345L Top Mount Fridge\", \"Vintec 130 Bottle Wine Cabinet - V110SGES3    \", \"Vintec 50 Bottle Dual Zone Wine Cabinet - VWD050SSB-X\", \"Inalto - IWCD46 - 46 Bottle Dual Zone Wine Chiller\", \"Vintec 40 Beer Bottle Beverage Centre - VBS020SBB-X\", \"Westinghouse - WCM2000WD - 200L Chest Freezer \", \"Beko - BTM510X - 510L Top Mount Fridge \", \"Westinghouse - WRB5004WB-R - 501L Single Door All Fridge\", \"Westinghouse - WBE4502SB-R - 453L Bottom Mount Fridge\", \"Westinghouse - WBB3400WG - 340L Bottom Mount Fridge\", \"Vintec - V190BVCBK - 250 Bottle Wine Chiller\", \"Westinghouse - WTB5400WA-L - 540L Top Mount Fridge\", \"Westinghouse - WSE6200SA - 620L Side By Side Fridge\", \"Westinghouse - WBE4500SAR - 450L Bottom Mount Fridge\", \"Westinghouse - WBE4500SAL - 450L Bottom Mount Fridge\", \"Westinghouse - WRM1300WC - 130L Bar Fridge\", \"Westinghouse - WIM1200WC - 120L Bar Fridge\", \"Westinghouse - WBE4500BB-R - 453L Bottom Mount Refrigerator\", \"Westinghouse - 690L Side by Side Fridge - WSE6900SA   \", \"Westinghouse - WSE6200WA - 620L Side By Side Fridge\", \"Westinghouse - WCM2900WD - 290L Chest Freezer\", \"Beko - TS 190320 - 90L Tabel Top Fridge\", \"Westinghouse - WBE4504SB-R - 453L Bottom Mount Refrigerator\", \"Lemair - LWC694 - 270L Wine Storage Freestanding Chiller\", \"Vintec 170 Bottle Multi Zone - V190SG2E-BKLH\", \"Beko - RDNE400K30ZX - 400L Stainless Steel Top Mount Fridge    \", \"Westinghouse - WRB5004SC-L - 501L Stainless Steel Single Door Fridge\", \"Beko - RDNE350K30X - 347L Top Mount Fridge\", \"Westinghouse - WRB5004SA - 501L Single Door Fridge - Stainless Steel \", \"Vintec - 170 Bottle Multi Zone -  V190SG2E-BK \", \"Westinghouse - WTB2300WG - 230L Top Mount Fridge\", \"Husky - HUS-WC54S-ZY - 154L Single Zone Wine Fridge\", \"Westinghouse - WTB4600SA-R - 460L Top Mount Fridge\", \"Beko - TSE1283 X - 119L Bar Fridge\", \"Westinghouse - WTB4600WA-L - 460L Top Mount Fridge\", \"Westinghouse - 540L Top Mount Fridge - WTB5404SAR\", \"Westinghouse - WCM5000WD - 500L Chest Freezer \", \"Westinghouse - WMF4102BA - 40L Benchtop Black Microwave\", \"Husky - HUS-WC54S-BK-ZY - 154L Single Zone Wine Fridge - Black\", \"Husky - HUS-WC54D-BK-ZY - 154L Dual Zone Wine Fridge - Black\", \"Husky - HUS-WC168S-ZY - 450L Single Zone Wine Fridge\", \"Westinghouse - WTB5400WC-R - 536L White Top Mount Fridge\", \"Westinghouse - WBE5300BC-R - 528L Bottom Mount Refrigerator\", \"Westinghouse - WBE4500SC-R - 453L Bottom Mount Refrigerator \", \"Westinghouse - 530L Bottom Mount Fridge - WBE5300WAR\", \"Vintec - V30SGMEBK - 35-Bottle Wine Cabinet\", \"Westinghouse WMB4425SC - 44L Built-in Combination  Microwave\", \"Husky - HUS-WC54D-ZY - 154L Dual Zone Wine Fridge\", \"Westinghouse - WBE4500BB-L - 453L Bottom Mount Refrigerator\", \"Beko - TSE1283 W - 119L Bar Fridge\"], \"type\": \"scatter\", \"x\": [-0.23701626062393188, -0.08906146138906479, -0.14835229516029358, -0.0859997346997261, -0.24660316109657288, -0.21932470798492432, 0.0005113556981086731, -0.2096538543701172, -0.29250654578208923, -0.28416720032691956, -0.32273775339126587, -0.20669114589691162, -0.24932557344436646, -0.23975470662117004, -0.3239106833934784, -0.12422598898410797, -0.23612791299819946, -0.2713581919670105, -0.2589040696620941, -0.31449002027511597, -0.21047285199165344, -0.15701057016849518, -0.20251968502998352, -0.07614591717720032, -0.2646850645542145, -0.25625720620155334, -0.1264646053314209, -0.27782371640205383, -0.2183387577533722, -0.2742311656475067, -0.2558498978614807, -0.19818171858787537, -0.24722254276275635, -0.1254093050956726, -0.18389007449150085, -0.138949453830719, -0.26621493697166443, -0.13893064856529236, -0.17211657762527466, -0.24678122997283936, 0.005196020007133484, -0.07055431604385376, -0.08269834518432617, -0.06718849390745163, -0.05936481058597565, -0.06988590955734253, -0.2546117305755615, -0.08323798328638077, -0.13055506348609924, -0.08694327622652054, -0.09821443259716034, -0.203111469745636, -0.08902902156114578, -0.06817407160997391, -0.1097012385725975, 0.010029450058937073, -0.2668355405330658, -0.1280900239944458, -0.20228028297424316, -0.2587909400463104, -0.29999053478240967, -0.14641156792640686, -0.28211715817451477, -0.2822621762752533, -0.21526259183883667, -0.23471736907958984, -0.2686082720756531, -0.2572726011276245, -0.22161951661109924, -0.27581989765167236, -0.2929892838001251, -0.27853038907051086, -0.25069963932037354, -0.24397066235542297, -0.2601398229598999, -0.05669613182544708, -0.1849997639656067, -0.21538189053535461, -0.20389604568481445, -0.21068844199180603, -0.06707487255334854, -0.2995438575744629, -0.13590463995933533, -0.2675713002681732, -0.1852077841758728, -0.27991700172424316, -0.2899360656738281, -0.258716344833374, -0.26831236481666565, -0.10107972472906113, -0.08383002877235413, -0.12508141994476318, -0.25550174713134766, -0.27408868074417114, -0.21862277388572693, -0.26912128925323486, -0.12885859608650208, -0.2706044018268585, -0.124900221824646, -0.2190265953540802, -0.21263867616653442], \"y\": [-0.007595244795084, -0.035254232585430145, -0.11424633860588074, -0.004086744040250778, 0.02114012837409973, 0.0710853710770607, -0.12050077319145203, -0.1236293762922287, 0.00502411462366581, 0.031705621629953384, 0.0738513171672821, 0.026250947266817093, -0.03668304160237312, 0.04971584305167198, 0.08437629789113998, -0.10596770793199539, 0.05509604513645172, 0.045300111174583435, 0.05746632069349289, 0.027502592653036118, -0.003609027713537216, 0.011070672422647476, 0.02651868388056755, -0.04777573421597481, 0.02156771346926689, 0.014123234897851944, -0.09780526906251907, 0.03846939280629158, -0.11164440959692001, 0.06101103872060776, 0.04320933669805527, -0.011895671486854553, 0.02632506936788559, -0.01666209101676941, -0.05646219104528427, -0.022943200543522835, 0.08680501580238342, -0.024950986728072166, -0.1013558879494667, -0.019617818295955658, -0.10713578015565872, -0.029713928699493408, -0.03949245810508728, -0.044280968606472015, -0.043991729617118835, -0.025748558342456818, 0.050195932388305664, -0.06557171046733856, -0.09330727159976959, -0.012153975665569305, -0.08302553743124008, -0.1424570530653, -0.0008119493722915649, -0.0026080086827278137, -0.03149586543440819, -0.10250511020421982, -0.0018128640949726105, -0.12839935719966888, -0.01112278550863266, 0.022831786423921585, -0.007864590734243393, -0.07177607715129852, 0.0757853090763092, 0.08578545600175858, 0.043447189033031464, 0.06331335753202438, -0.019485022872686386, -0.014916608110070229, 0.020887650549411774, 0.08444724977016449, 0.0639437735080719, 0.05304980278015137, -0.06604981422424316, 0.034918222576379776, -0.06888532638549805, 0.03524138033390045, -0.07229909300804138, 0.036286741495132446, -0.10403551161289215, 0.0373077355325222, 0.014966648072004318, -0.00404270738363266, -0.018621433526277542, 0.07413507997989655, -0.06455153226852417, 0.05563338100910187, 0.05596419423818588, 0.026725977659225464, 0.028589501976966858, -0.02018074132502079, -0.017196573317050934, -0.017159152776002884, 0.051848482340574265, 0.003285929560661316, 0.05369797348976135, 0.01908305659890175, -0.011661864817142487, 0.0935552567243576, -0.019411280751228333, 0.03924950957298279, -0.07514576613903046]}, {\"marker\": {\"color\": 54, \"size\": 5}, \"mode\": \"markers\", \"name\": \"49\", \"text\": [\"Franke Neptune Double Bowl Right Hand Drainer Sink - NEX621RHD\", \"Franke Box Centre Sink - BWX220-54/27SBL\", \"Franke - TA 9500 - Eos Swivel Mixer Tap\", \"Franke - TA7611MB - Active Plus Pull Out Tap\", \"Franke - TA 9511 - Taros Pull Out Tap\", \"Franke Aton Double Bowl Sink - ANX221LHD\", \"Franke - TA 7811 - Azimut Pull Out Spray Chrome Tap\", \"Franke Bolero Single Bowl Sink - BOX210-50\", \"Franke Acquario Line Sink - AEX610\", \"Franke Urban Fragranite Double Bowl Sink - Stone Grey - UBG221SG\", \"Franke - TA6831MB - Pyra Pull Out Tap\", \"Franke - TA 7311 - Pull Out Tap\", \"Franke Urban Fragranite 1 and 3/4 Bowl Sink - Polar White - UBG220-86PW\", \"Franke Kubus Single Bowl Sink - KBX 210-45/HW\", \"Franke - TA6300 - Sinos - Swivel Spout Chrome\", \"Franke - TA 6400 - Swing Kitchen Mixer Tap\", \"Franke Urban Fragranite Single Bowl Sink - Polar White - UBG211-100PW\", \"Franke Urban Fragranite 1 and 3/4 Bowl Sink - Onyx Black - UBG220-86ON\", \"Franke - TA 9510 - Taros Kitchen Mixer Tap\", \"Franke Maris Single Bowl Sink - MRX 210-70\", \"Franke Urban Fragranite Double Bowl Sink - Onyx Black - UBG221ON\", \"Franke - SD319 - Standard Soap Dispenser\", \"Franke Kubus Double Bowl Sink - KBG120ONYX\", \"Franke Bolero Double Bowl Sink - BOX220-36\", \"Franke Bolero Single Bowl Sink - BOX210-36\", \"Franke - TA 6300B - Sinos Swivel Mixer Tap\", \"Franke - TA 6301 - Sinos Pull Out Nozzle\", \"Franke - TA9501 - EOS Pull Out Tap\", \"Franke - TA 7610MB - Active Plus Swivel Mixer Tap\", \"Franke Chef Centre Sink - CUX11024-W\", \"Franke - BCX621R/TA6400 - Sink & Tap Package\", \"Franke Bolero Single Bowl Sink - BOX210-68\", \"Franke - TA 6831CH - Pyra Pull Out Tap\", \"Franke - TA 7300 - Verona Mixer Tap\", \"Franke Maris Single Bowl Sink - MRX 210-50\", \"Franke - TA 6850MB - Ozone Kitchen Mixer Tap\", \"Franke - TA 7610 - Active Plus Swivel Mixer Tap\", \"Franke Centinox 1 and 3/4 Bowl Sink - CMX220-50/34\", \"Franke - TA 7181 - Professional Flexible Spray Tap\", \"Franke - TA6841 - Pyra Light Pull Out Nozzle Tap\", \"Franke Aton Double Bowl Sink - ANX221RHD\", \"Franke - AMX621LHD - Harmony Double Bowl Sink\", \"Franke Maris Double Bowl Sink - MRX 220-40-40\", \"Franke - TA9520 - Atlas Kitchen Mixer Tap\", \"Franke - DRX621LHDPACK - Sink & Tap Pack ( DRX621LHD + TA6400 )\", \"Franke Urban Fragranite Double Bowl Sink - Polar White - UBG221PW\", \"Franke Maris Single Bowl Sink - MRX 210-34 \", \"Franke - TA 6851 - Ozone Pull Out Tap\", \"Franke Bolero 1 and 3/4 Bowl Sink - BOX 220-42/29 SBR\", \"Franke - TA 6000 - Eclipse Swivel Mixer Tap\", \"Franke Bolero 1 and 3/4 Bowl Sink - BOX 220-42/29 SBL\", \"Franke - PFX621L/TA8800 - Sink & Tap Pack\", \"Franke - TA6301B - Sinos - Pull Out Nozzle Onyx\", \"Franke Urban Fragranite Single Bowl Sink - Onyx Black - UBG211-100ON\", \"Franke - TA 6850 - Ozone Kitchen Mixer Tap\", \"Franke Urban Fragranite Single Bowl Sink - Stone Grey - UBG210-78SG\", \"Franke Urban Fragranite Single Bowl Sink - Onyx - UBG210-78ON\", \"Franke - BCX621L/TA6400 - Sink & Tap Package\", \"Franke - TA 621B - Mythos Pull Out Tap - Black\", \"Franke Box Centre Sink - BWX220-54/27SBR\", \"Franke Urban Fragranite 1 and 3/4 Bowl Sink - Stone Grey - UBG220-86SG\", \"Franke - TA 780R - Zambesi - Swivel Spout\", \"Franke - TA 5120 - Centinox Semi Pro Stainless Steel Tap\", \"Franke Urban Fragranite Single Bowl Sink - Stone Grey - UBG211-100SG\", \"Franke - TA 7611 - Active Plus Pull Out Tap\", \"Franke - TA 6001 - Eclipse Pull Out Tap\", \"Franke - TA6851MB - Ozone Pull Out Tap\", \"Franke Urban Fragranite Single Bowl Sink - Polar White - UBG210-78PW\", \"Franke - RM44 - Rollamat\", \"Franke - BFG621ONYX - Basis Double Bowl Sink\", \"Franke - TA 9521 - Atlas Pull Out Tap\"], \"type\": \"scatter\", \"x\": [-0.14679624140262604, -0.04732196033000946, -0.08909682184457779, -0.01721017062664032, -0.04242989420890808, -0.09808774292469025, -0.08629920333623886, -0.1401941180229187, -0.010187461972236633, -0.11497944593429565, -0.07119815051555634, -0.06041663885116577, -0.12080129235982895, -0.17611294984817505, -0.06129361689090729, -0.27587926387786865, -0.13602209091186523, -0.09300534427165985, -0.2532961666584015, -0.1327751874923706, -0.08532293885946274, -0.12337600439786911, -0.13060936331748962, -0.17805767059326172, -0.18262584507465363, -0.15024372935295105, -0.09528565406799316, 0.05211254954338074, -0.12075573205947876, -0.23376289010047913, -0.06413570046424866, -0.18351159989833832, -0.18331041932106018, -0.10965420305728912, -0.09706579148769379, -0.21146440505981445, -0.12910819053649902, -0.08371386677026749, -0.09073417633771896, -0.1594516932964325, -0.09490510821342468, -0.037276893854141235, -0.13800938427448273, -0.2154027223587036, -0.03781457245349884, -0.11728595197200775, -0.13151907920837402, -0.07105568051338196, -0.11686993390321732, -0.09594270586967468, -0.11163628101348877, -0.049505069851875305, -0.015128232538700104, -0.10122949630022049, -0.22235077619552612, -0.14427214860916138, -0.14783033728599548, -0.08619509637355804, -0.01490405946969986, -0.05986945331096649, -0.12729468941688538, -0.1069508045911789, -0.09315554052591324, -0.13598361611366272, -0.08196970075368881, -0.0415111780166626, 0.006451889872550964, -0.15349100530147552, -0.06431300193071365, -0.14613333344459534, 0.0040476396679878235], \"y\": [-0.1268603801727295, -0.1713694930076599, -0.16853566467761993, -0.15162914991378784, -0.19365385174751282, -0.12199991196393967, -0.12841233611106873, -0.21437089145183563, -0.21904844045639038, -0.13284194469451904, -0.17514193058013916, -0.17753368616104126, -0.12552638351917267, -0.157332181930542, -0.12506574392318726, -0.11878636479377747, -0.17250293493270874, -0.13775211572647095, -0.12633730471134186, -0.18866223096847534, -0.19290152192115784, -0.1009894534945488, -0.20623934268951416, -0.21786725521087646, -0.21395277976989746, -0.18815873563289642, -0.18874302506446838, -0.1670059859752655, -0.13281923532485962, -0.10193070769309998, -0.2118600606918335, -0.19730673730373383, -0.1420779675245285, -0.18647491931915283, -0.21804261207580566, -0.07784037292003632, -0.129114031791687, -0.1344950795173645, -0.14442452788352966, -0.1723974049091339, -0.16093292832374573, -0.17175893485546112, -0.19240111112594604, -0.15775950253009796, -0.12901322543621063, -0.1687181144952774, -0.2060001790523529, -0.16267281770706177, -0.1538579910993576, -0.21734394133090973, -0.15454798936843872, -0.19836853444576263, -0.21005913615226746, -0.19326242804527283, -0.06223885715007782, -0.10472749918699265, -0.15426400303840637, -0.2000124454498291, -0.23472470045089722, -0.17682325839996338, -0.08460940420627594, -0.1702599972486496, -0.13753938674926758, -0.1272130310535431, -0.14030170440673828, -0.23947234451770782, -0.1808657944202423, -0.13568571209907532, -0.2095716893672943, -0.2448750138282776, -0.2007536143064499]}],\n",
       "                        {\"showlegend\": true, \"template\": {\"data\": {\"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"bar\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"barpolar\"}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"choropleth\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"choropleth\"}], \"contour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"contour\"}], \"contourcarpet\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"contourcarpet\"}], \"heatmap\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmap\"}], \"heatmapgl\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmapgl\"}], \"histogram\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"histogram\"}], \"histogram2d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2d\"}], \"histogram2dcontour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2dcontour\"}], \"mesh3d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"mesh3d\"}], \"parcoords\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"parcoords\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}], \"scatter\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter\"}], \"scatter3d\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter3d\"}], \"scattercarpet\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattercarpet\"}], \"scattergeo\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergeo\"}], \"scattergl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergl\"}], \"scattermapbox\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattermapbox\"}], \"scatterpolar\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolar\"}], \"scatterpolargl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolargl\"}], \"scatterternary\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterternary\"}], \"surface\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"surface\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}]}, \"layout\": {\"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]], \"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}, \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"geo\": {\"bgcolor\": \"white\", \"lakecolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"showlakes\": true, \"showland\": true, \"subunitcolor\": \"white\"}, \"hoverlabel\": {\"align\": \"left\"}, \"hovermode\": \"closest\", \"mapbox\": {\"style\": \"light\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"ternary\": {\"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"title\": {\"x\": 0.05}, \"xaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}, \"yaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}}}},\n",
       "                        {\"responsive\": true}\n",
       "                    ).then(function(){\n",
       "                            \n",
       "var gd = document.getElementById('fdc150e7-6aa4-43b2-81ab-208e85c19a6b');\n",
       "var x = new MutationObserver(function (mutations, observer) {{\n",
       "        var display = window.getComputedStyle(gd).display;\n",
       "        if (!display || display === 'none') {{\n",
       "            console.log([gd, 'removed!']);\n",
       "            Plotly.purge(gd);\n",
       "            observer.disconnect();\n",
       "        }}\n",
       "}});\n",
       "\n",
       "// Listen for the removal of the full notebook cells\n",
       "var notebookContainer = gd.closest('#notebook-container');\n",
       "if (notebookContainer) {{\n",
       "    x.observe(notebookContainer, {childList: true});\n",
       "}}\n",
       "\n",
       "// Listen for the clearing of the current output cell\n",
       "var outputEl = gd.closest('.output');\n",
       "if (outputEl) {{\n",
       "    x.observe(outputEl, {childList: true});\n",
       "}}\n",
       "\n",
       "                        })\n",
       "                };\n",
       "                });\n",
       "            </script>\n",
       "        </div>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "vi_client.plot_dimensionality_reduced_vectors(\n",
    "    collection=collection_name,\n",
    "    cluster_field='name_vector_',\n",
    "    cluster_label='_clusters_.name_vector_.default',\n",
    "    point_label='name',\n",
    "    dim_reduction_field='_dr_.default.2.name_vector_', \n",
    "    include_centroids=True, \n",
    "    alias='default')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [],
   "source": [
    "docs = vi_client.retrieve_documents(collection_name)['documents']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.plotly.v1+json": {
       "config": {
        "plotlyServerURL": "https://plot.ly"
       },
       "data": [
        {
         "name": "name_vector_",
         "orientation": "h",
         "type": "bar",
         "x": [
          0.07206738505893784,
          0.10525474739988638,
          0.15914039814404968,
          0.1663562995751835,
          0.17847064506798072,
          0.189657026436447,
          0.2041152708559142,
          0.2165923008120969,
          0.2372974894568851,
          0.2419855862250827,
          0.2554914029565062,
          0.2771887732204348,
          0.2873555159601,
          0.30821892176591714,
          0.344094199083967,
          0.3923307833136622,
          0.4125814035896491,
          0.4616733825297157,
          0.5311675299396937,
          1
         ],
         "y": [
          "Samsung - MU-PC500T - 500GB Portable SSD T7 USB3.2 - Titan Gray",
          "JBL - Charge 4 Blue - Portable Bluetooth Speaker  ",
          "Philips - AT10/00 - Wireless Portable Radio",
          "Alogic - MF-AUS2PC7-02 - 2m Aus 2 Pin Mains Plug to IEC C7",
          "Miele - SMD 10 - Mattress Nozzle",
          "One For All - SV 1730 - Wireless 5.8Ghz TV Sender",
          "Sunbeam - EM5300K - Barista Max Espresso Machine - Black",
          "Kelvinator - KSV50HWH - 5kW/6kW Reverse Cycle Split System",
          "Panasonic - Wireless CD Hi-Fi System - SC-PMX152GNS",
          "Logitech - G213 Prodigy RGB Gaming Keyboard - 920-008096",
          "Panasonic - RP-HTX80BE-K - Bluetooth® Wireless Headphones - Black",
          "Philips - HC5612/15 - Washable Hair Clipper",
          "Husky - HUS-C3-840 - 307L Bar Fridge - Silver",
          "Sharp - 1000W Convection Microwave - R995DW",
          "Westinghouse WHI943BC - 90cm 4 Zone Induction Cooktop",
          "LG - GS-B680DSLE - 679L Side-by-Side Fridge  ",
          "Glem - CK52UCF - 52cm Under Cupboard Rangehood",
          "Asko - DBI654IB.S - XL 60cm Built-in Dishwasher  ",
          "Smeg - C6CMXA8 - 60cm Electric Upright Cooker",
          "Fisher & Paykel - CG604DX1 - 60cm Gas on Steel Cooktop"
         ]
        }
       ],
       "layout": {
        "barmode": "group",
        "template": {
         "data": {
          "bar": [
           {
            "error_x": {
             "color": "#2a3f5f"
            },
            "error_y": {
             "color": "#2a3f5f"
            },
            "marker": {
             "line": {
              "color": "#E5ECF6",
              "width": 0.5
             }
            },
            "type": "bar"
           }
          ],
          "barpolar": [
           {
            "marker": {
             "line": {
              "color": "#E5ECF6",
              "width": 0.5
             }
            },
            "type": "barpolar"
           }
          ],
          "carpet": [
           {
            "aaxis": {
             "endlinecolor": "#2a3f5f",
             "gridcolor": "white",
             "linecolor": "white",
             "minorgridcolor": "white",
             "startlinecolor": "#2a3f5f"
            },
            "baxis": {
             "endlinecolor": "#2a3f5f",
             "gridcolor": "white",
             "linecolor": "white",
             "minorgridcolor": "white",
             "startlinecolor": "#2a3f5f"
            },
            "type": "carpet"
           }
          ],
          "choropleth": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "type": "choropleth"
           }
          ],
          "contour": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "contour"
           }
          ],
          "contourcarpet": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "type": "contourcarpet"
           }
          ],
          "heatmap": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "heatmap"
           }
          ],
          "heatmapgl": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "heatmapgl"
           }
          ],
          "histogram": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "histogram"
           }
          ],
          "histogram2d": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "histogram2d"
           }
          ],
          "histogram2dcontour": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "histogram2dcontour"
           }
          ],
          "mesh3d": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "type": "mesh3d"
           }
          ],
          "parcoords": [
           {
            "line": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "parcoords"
           }
          ],
          "pie": [
           {
            "automargin": true,
            "type": "pie"
           }
          ],
          "scatter": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scatter"
           }
          ],
          "scatter3d": [
           {
            "line": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scatter3d"
           }
          ],
          "scattercarpet": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scattercarpet"
           }
          ],
          "scattergeo": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scattergeo"
           }
          ],
          "scattergl": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scattergl"
           }
          ],
          "scattermapbox": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scattermapbox"
           }
          ],
          "scatterpolar": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scatterpolar"
           }
          ],
          "scatterpolargl": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scatterpolargl"
           }
          ],
          "scatterternary": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scatterternary"
           }
          ],
          "surface": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "surface"
           }
          ],
          "table": [
           {
            "cells": {
             "fill": {
              "color": "#EBF0F8"
             },
             "line": {
              "color": "white"
             }
            },
            "header": {
             "fill": {
              "color": "#C8D4E3"
             },
             "line": {
              "color": "white"
             }
            },
            "type": "table"
           }
          ]
         },
         "layout": {
          "annotationdefaults": {
           "arrowcolor": "#2a3f5f",
           "arrowhead": 0,
           "arrowwidth": 1
          },
          "coloraxis": {
           "colorbar": {
            "outlinewidth": 0,
            "ticks": ""
           }
          },
          "colorscale": {
           "diverging": [
            [
             0,
             "#8e0152"
            ],
            [
             0.1,
             "#c51b7d"
            ],
            [
             0.2,
             "#de77ae"
            ],
            [
             0.3,
             "#f1b6da"
            ],
            [
             0.4,
             "#fde0ef"
            ],
            [
             0.5,
             "#f7f7f7"
            ],
            [
             0.6,
             "#e6f5d0"
            ],
            [
             0.7,
             "#b8e186"
            ],
            [
             0.8,
             "#7fbc41"
            ],
            [
             0.9,
             "#4d9221"
            ],
            [
             1,
             "#276419"
            ]
           ],
           "sequential": [
            [
             0,
             "#0d0887"
            ],
            [
             0.1111111111111111,
             "#46039f"
            ],
            [
             0.2222222222222222,
             "#7201a8"
            ],
            [
             0.3333333333333333,
             "#9c179e"
            ],
            [
             0.4444444444444444,
             "#bd3786"
            ],
            [
             0.5555555555555556,
             "#d8576b"
            ],
            [
             0.6666666666666666,
             "#ed7953"
            ],
            [
             0.7777777777777778,
             "#fb9f3a"
            ],
            [
             0.8888888888888888,
             "#fdca26"
            ],
            [
             1,
             "#f0f921"
            ]
           ],
           "sequentialminus": [
            [
             0,
             "#0d0887"
            ],
            [
             0.1111111111111111,
             "#46039f"
            ],
            [
             0.2222222222222222,
             "#7201a8"
            ],
            [
             0.3333333333333333,
             "#9c179e"
            ],
            [
             0.4444444444444444,
             "#bd3786"
            ],
            [
             0.5555555555555556,
             "#d8576b"
            ],
            [
             0.6666666666666666,
             "#ed7953"
            ],
            [
             0.7777777777777778,
             "#fb9f3a"
            ],
            [
             0.8888888888888888,
             "#fdca26"
            ],
            [
             1,
             "#f0f921"
            ]
           ]
          },
          "colorway": [
           "#636efa",
           "#EF553B",
           "#00cc96",
           "#ab63fa",
           "#FFA15A",
           "#19d3f3",
           "#FF6692",
           "#B6E880",
           "#FF97FF",
           "#FECB52"
          ],
          "font": {
           "color": "#2a3f5f"
          },
          "geo": {
           "bgcolor": "white",
           "lakecolor": "white",
           "landcolor": "#E5ECF6",
           "showlakes": true,
           "showland": true,
           "subunitcolor": "white"
          },
          "hoverlabel": {
           "align": "left"
          },
          "hovermode": "closest",
          "mapbox": {
           "style": "light"
          },
          "paper_bgcolor": "white",
          "plot_bgcolor": "#E5ECF6",
          "polar": {
           "angularaxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           },
           "bgcolor": "#E5ECF6",
           "radialaxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           }
          },
          "scene": {
           "xaxis": {
            "backgroundcolor": "#E5ECF6",
            "gridcolor": "white",
            "gridwidth": 2,
            "linecolor": "white",
            "showbackground": true,
            "ticks": "",
            "zerolinecolor": "white"
           },
           "yaxis": {
            "backgroundcolor": "#E5ECF6",
            "gridcolor": "white",
            "gridwidth": 2,
            "linecolor": "white",
            "showbackground": true,
            "ticks": "",
            "zerolinecolor": "white"
           },
           "zaxis": {
            "backgroundcolor": "#E5ECF6",
            "gridcolor": "white",
            "gridwidth": 2,
            "linecolor": "white",
            "showbackground": true,
            "ticks": "",
            "zerolinecolor": "white"
           }
          },
          "shapedefaults": {
           "line": {
            "color": "#2a3f5f"
           }
          },
          "ternary": {
           "aaxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           },
           "baxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           },
           "bgcolor": "#E5ECF6",
           "caxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           }
          },
          "title": {
           "x": 0.05
          },
          "xaxis": {
           "automargin": true,
           "gridcolor": "white",
           "linecolor": "white",
           "ticks": "",
           "title": {
            "standoff": 15
           },
           "zerolinecolor": "white",
           "zerolinewidth": 2
          },
          "yaxis": {
           "automargin": true,
           "gridcolor": "white",
           "linecolor": "white",
           "ticks": "",
           "title": {
            "standoff": 15
           },
           "zerolinecolor": "white",
           "zerolinewidth": 2
          }
         }
        },
        "title": {
         "text": "Comparing with Fisher & Paykel - CG604DX1 - 60cm Gas on Steel Cooktop"
        }
       }
      },
      "text/html": [
       "<div>\n",
       "        \n",
       "        \n",
       "            <div id=\"f8484ce1-1fc2-4cf8-bb57-7e94f2a260a5\" class=\"plotly-graph-div\" style=\"height:525px; width:100%;\"></div>\n",
       "            <script type=\"text/javascript\">\n",
       "                require([\"plotly\"], function(Plotly) {\n",
       "                    window.PLOTLYENV=window.PLOTLYENV || {};\n",
       "                    \n",
       "                if (document.getElementById(\"f8484ce1-1fc2-4cf8-bb57-7e94f2a260a5\")) {\n",
       "                    Plotly.newPlot(\n",
       "                        'f8484ce1-1fc2-4cf8-bb57-7e94f2a260a5',\n",
       "                        [{\"name\": \"name_vector_\", \"orientation\": \"h\", \"type\": \"bar\", \"x\": [0.07206738505893784, 0.10525474739988638, 0.15914039814404968, 0.1663562995751835, 0.17847064506798072, 0.189657026436447, 0.2041152708559142, 0.2165923008120969, 0.2372974894568851, 0.2419855862250827, 0.2554914029565062, 0.2771887732204348, 0.2873555159601, 0.30821892176591714, 0.344094199083967, 0.3923307833136622, 0.4125814035896491, 0.4616733825297157, 0.5311675299396937, 1.0], \"y\": [\"Samsung - MU-PC500T - 500GB Portable SSD T7 USB3.2 - Titan Gray\", \"JBL - Charge 4 Blue - Portable Bluetooth Speaker  \", \"Philips - AT10/00 - Wireless Portable Radio\", \"Alogic - MF-AUS2PC7-02 - 2m Aus 2 Pin Mains Plug to IEC C7\", \"Miele - SMD 10 - Mattress Nozzle\", \"One For All - SV 1730 - Wireless 5.8Ghz TV Sender\", \"Sunbeam - EM5300K - Barista Max Espresso Machine - Black\", \"Kelvinator - KSV50HWH - 5kW/6kW Reverse Cycle Split System\", \"Panasonic - Wireless CD Hi-Fi System - SC-PMX152GNS\", \"Logitech - G213 Prodigy RGB Gaming Keyboard - 920-008096\", \"Panasonic - RP-HTX80BE-K - Bluetooth\\u00ae Wireless Headphones - Black\", \"Philips - HC5612/15 - Washable Hair Clipper\", \"Husky - HUS-C3-840 - 307L Bar Fridge - Silver\", \"Sharp - 1000W Convection Microwave - R995DW\", \"Westinghouse WHI943BC - 90cm 4 Zone Induction Cooktop\", \"LG - GS-B680DSLE - 679L Side-by-Side Fridge  \", \"Glem - CK52UCF - 52cm Under Cupboard Rangehood\", \"Asko - DBI654IB.S - XL 60cm Built-in Dishwasher  \", \"Smeg - C6CMXA8 - 60cm Electric Upright Cooker\", \"Fisher & Paykel - CG604DX1 - 60cm Gas on Steel Cooktop\"]}],\n",
       "                        {\"barmode\": \"group\", \"template\": {\"data\": {\"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"bar\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"barpolar\"}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"choropleth\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"choropleth\"}], \"contour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"contour\"}], \"contourcarpet\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"contourcarpet\"}], \"heatmap\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmap\"}], \"heatmapgl\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmapgl\"}], \"histogram\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"histogram\"}], \"histogram2d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2d\"}], \"histogram2dcontour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2dcontour\"}], \"mesh3d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"mesh3d\"}], \"parcoords\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"parcoords\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}], \"scatter\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter\"}], \"scatter3d\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter3d\"}], \"scattercarpet\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattercarpet\"}], \"scattergeo\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergeo\"}], \"scattergl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergl\"}], \"scattermapbox\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattermapbox\"}], \"scatterpolar\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolar\"}], \"scatterpolargl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolargl\"}], \"scatterternary\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterternary\"}], \"surface\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"surface\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}]}, \"layout\": {\"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]], \"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}, \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"geo\": {\"bgcolor\": \"white\", \"lakecolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"showlakes\": true, \"showland\": true, \"subunitcolor\": \"white\"}, \"hoverlabel\": {\"align\": \"left\"}, \"hovermode\": \"closest\", \"mapbox\": {\"style\": \"light\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"ternary\": {\"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"title\": {\"x\": 0.05}, \"xaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}, \"yaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}}}, \"title\": {\"text\": \"Comparing with Fisher & Paykel - CG604DX1 - 60cm Gas on Steel Cooktop\"}},\n",
       "                        {\"responsive\": true}\n",
       "                    ).then(function(){\n",
       "                            \n",
       "var gd = document.getElementById('f8484ce1-1fc2-4cf8-bb57-7e94f2a260a5');\n",
       "var x = new MutationObserver(function (mutations, observer) {{\n",
       "        var display = window.getComputedStyle(gd).display;\n",
       "        if (!display || display === 'none') {{\n",
       "            console.log([gd, 'removed!']);\n",
       "            Plotly.purge(gd);\n",
       "            observer.disconnect();\n",
       "        }}\n",
       "}});\n",
       "\n",
       "// Listen for the removal of the full notebook cells\n",
       "var notebookContainer = gd.closest('#notebook-container');\n",
       "if (notebookContainer) {{\n",
       "    x.observe(notebookContainer, {childList: true});\n",
       "}}\n",
       "\n",
       "// Listen for the clearing of the current output cell\n",
       "var outputEl = gd.closest('.output');\n",
       "if (outputEl) {{\n",
       "    x.observe(outputEl, {childList: true});\n",
       "}}\n",
       "\n",
       "                        })\n",
       "                };\n",
       "                });\n",
       "            </script>\n",
       "        </div>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "vi_client.plot_1d_cosine_similarity(docs, vector_fields='name_vector_', label='name', anchor_document=docs[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.plotly.v1+json": {
       "config": {
        "plotlyServerURL": "https://plot.ly"
       },
       "data": [
        {
         "mode": "markers+text",
         "name": "name_vector_",
         "text": [
          "Fisher & Paykel - CG604DX1 - 60cm Gas on Steel Cooktop",
          "Kelvinator - KSV50HWH - 5kW/6kW Reverse Cycle Split System",
          "Philips - HC5612/15 - Washable Hair Clipper",
          "LG - GS-B680DSLE - 679L Side-by-Side Fridge  ",
          "Asko - DBI654IB.S - XL 60cm Built-in Dishwasher  ",
          "Panasonic - Wireless CD Hi-Fi System - SC-PMX152GNS",
          "Sunbeam - EM5300K - Barista Max Espresso Machine - Black",
          "JBL - Charge 4 Blue - Portable Bluetooth Speaker  ",
          "Husky - HUS-C3-840 - 307L Bar Fridge - Silver",
          "Alogic - MF-AUS2PC7-02 - 2m Aus 2 Pin Mains Plug to IEC C7",
          "Westinghouse WHI943BC - 90cm 4 Zone Induction Cooktop",
          "Logitech - G213 Prodigy RGB Gaming Keyboard - 920-008096",
          "Panasonic - RP-HTX80BE-K - Bluetooth® Wireless Headphones - Black",
          "Philips - AT10/00 - Wireless Portable Radio",
          "Samsung - MU-PC500T - 500GB Portable SSD T7 USB3.2 - Titan Gray",
          "Glem - CK52UCF - 52cm Under Cupboard Rangehood",
          "One For All - SV 1730 - Wireless 5.8Ghz TV Sender",
          "Sharp - 1000W Convection Microwave - R995DW",
          "Miele - SMD 10 - Mattress Nozzle",
          "Smeg - C6CMXA8 - 60cm Electric Upright Cooker"
         ],
         "type": "scatter",
         "x": [
          1,
          0.217,
          0.277,
          0.392,
          0.462,
          0.237,
          0.204,
          0.105,
          0.287,
          0.166,
          0.344,
          0.242,
          0.255,
          0.159,
          0.072,
          0.413,
          0.19,
          0.308,
          0.178,
          0.531
         ],
         "y": [
          0.217,
          1,
          0.285,
          0.35,
          0.217,
          0.28,
          0.22,
          0.184,
          0.299,
          0.179,
          0.255,
          0.166,
          0.194,
          0.133,
          0.116,
          0.323,
          0.265,
          0.386,
          0.135,
          0.377
         ]
        }
       ],
       "layout": {
        "template": {
         "data": {
          "bar": [
           {
            "error_x": {
             "color": "#2a3f5f"
            },
            "error_y": {
             "color": "#2a3f5f"
            },
            "marker": {
             "line": {
              "color": "#E5ECF6",
              "width": 0.5
             }
            },
            "type": "bar"
           }
          ],
          "barpolar": [
           {
            "marker": {
             "line": {
              "color": "#E5ECF6",
              "width": 0.5
             }
            },
            "type": "barpolar"
           }
          ],
          "carpet": [
           {
            "aaxis": {
             "endlinecolor": "#2a3f5f",
             "gridcolor": "white",
             "linecolor": "white",
             "minorgridcolor": "white",
             "startlinecolor": "#2a3f5f"
            },
            "baxis": {
             "endlinecolor": "#2a3f5f",
             "gridcolor": "white",
             "linecolor": "white",
             "minorgridcolor": "white",
             "startlinecolor": "#2a3f5f"
            },
            "type": "carpet"
           }
          ],
          "choropleth": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "type": "choropleth"
           }
          ],
          "contour": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "contour"
           }
          ],
          "contourcarpet": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "type": "contourcarpet"
           }
          ],
          "heatmap": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "heatmap"
           }
          ],
          "heatmapgl": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "heatmapgl"
           }
          ],
          "histogram": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "histogram"
           }
          ],
          "histogram2d": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "histogram2d"
           }
          ],
          "histogram2dcontour": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "histogram2dcontour"
           }
          ],
          "mesh3d": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "type": "mesh3d"
           }
          ],
          "parcoords": [
           {
            "line": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "parcoords"
           }
          ],
          "pie": [
           {
            "automargin": true,
            "type": "pie"
           }
          ],
          "scatter": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scatter"
           }
          ],
          "scatter3d": [
           {
            "line": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scatter3d"
           }
          ],
          "scattercarpet": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scattercarpet"
           }
          ],
          "scattergeo": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scattergeo"
           }
          ],
          "scattergl": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scattergl"
           }
          ],
          "scattermapbox": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scattermapbox"
           }
          ],
          "scatterpolar": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scatterpolar"
           }
          ],
          "scatterpolargl": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scatterpolargl"
           }
          ],
          "scatterternary": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scatterternary"
           }
          ],
          "surface": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "surface"
           }
          ],
          "table": [
           {
            "cells": {
             "fill": {
              "color": "#EBF0F8"
             },
             "line": {
              "color": "white"
             }
            },
            "header": {
             "fill": {
              "color": "#C8D4E3"
             },
             "line": {
              "color": "white"
             }
            },
            "type": "table"
           }
          ]
         },
         "layout": {
          "annotationdefaults": {
           "arrowcolor": "#2a3f5f",
           "arrowhead": 0,
           "arrowwidth": 1
          },
          "coloraxis": {
           "colorbar": {
            "outlinewidth": 0,
            "ticks": ""
           }
          },
          "colorscale": {
           "diverging": [
            [
             0,
             "#8e0152"
            ],
            [
             0.1,
             "#c51b7d"
            ],
            [
             0.2,
             "#de77ae"
            ],
            [
             0.3,
             "#f1b6da"
            ],
            [
             0.4,
             "#fde0ef"
            ],
            [
             0.5,
             "#f7f7f7"
            ],
            [
             0.6,
             "#e6f5d0"
            ],
            [
             0.7,
             "#b8e186"
            ],
            [
             0.8,
             "#7fbc41"
            ],
            [
             0.9,
             "#4d9221"
            ],
            [
             1,
             "#276419"
            ]
           ],
           "sequential": [
            [
             0,
             "#0d0887"
            ],
            [
             0.1111111111111111,
             "#46039f"
            ],
            [
             0.2222222222222222,
             "#7201a8"
            ],
            [
             0.3333333333333333,
             "#9c179e"
            ],
            [
             0.4444444444444444,
             "#bd3786"
            ],
            [
             0.5555555555555556,
             "#d8576b"
            ],
            [
             0.6666666666666666,
             "#ed7953"
            ],
            [
             0.7777777777777778,
             "#fb9f3a"
            ],
            [
             0.8888888888888888,
             "#fdca26"
            ],
            [
             1,
             "#f0f921"
            ]
           ],
           "sequentialminus": [
            [
             0,
             "#0d0887"
            ],
            [
             0.1111111111111111,
             "#46039f"
            ],
            [
             0.2222222222222222,
             "#7201a8"
            ],
            [
             0.3333333333333333,
             "#9c179e"
            ],
            [
             0.4444444444444444,
             "#bd3786"
            ],
            [
             0.5555555555555556,
             "#d8576b"
            ],
            [
             0.6666666666666666,
             "#ed7953"
            ],
            [
             0.7777777777777778,
             "#fb9f3a"
            ],
            [
             0.8888888888888888,
             "#fdca26"
            ],
            [
             1,
             "#f0f921"
            ]
           ]
          },
          "colorway": [
           "#636efa",
           "#EF553B",
           "#00cc96",
           "#ab63fa",
           "#FFA15A",
           "#19d3f3",
           "#FF6692",
           "#B6E880",
           "#FF97FF",
           "#FECB52"
          ],
          "font": {
           "color": "#2a3f5f"
          },
          "geo": {
           "bgcolor": "white",
           "lakecolor": "white",
           "landcolor": "#E5ECF6",
           "showlakes": true,
           "showland": true,
           "subunitcolor": "white"
          },
          "hoverlabel": {
           "align": "left"
          },
          "hovermode": "closest",
          "mapbox": {
           "style": "light"
          },
          "paper_bgcolor": "white",
          "plot_bgcolor": "#E5ECF6",
          "polar": {
           "angularaxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           },
           "bgcolor": "#E5ECF6",
           "radialaxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           }
          },
          "scene": {
           "xaxis": {
            "backgroundcolor": "#E5ECF6",
            "gridcolor": "white",
            "gridwidth": 2,
            "linecolor": "white",
            "showbackground": true,
            "ticks": "",
            "zerolinecolor": "white"
           },
           "yaxis": {
            "backgroundcolor": "#E5ECF6",
            "gridcolor": "white",
            "gridwidth": 2,
            "linecolor": "white",
            "showbackground": true,
            "ticks": "",
            "zerolinecolor": "white"
           },
           "zaxis": {
            "backgroundcolor": "#E5ECF6",
            "gridcolor": "white",
            "gridwidth": 2,
            "linecolor": "white",
            "showbackground": true,
            "ticks": "",
            "zerolinecolor": "white"
           }
          },
          "shapedefaults": {
           "line": {
            "color": "#2a3f5f"
           }
          },
          "ternary": {
           "aaxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           },
           "baxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           },
           "bgcolor": "#E5ECF6",
           "caxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           }
          },
          "title": {
           "x": 0.05
          },
          "xaxis": {
           "automargin": true,
           "gridcolor": "white",
           "linecolor": "white",
           "ticks": "",
           "title": {
            "standoff": 15
           },
           "zerolinecolor": "white",
           "zerolinewidth": 2
          },
          "yaxis": {
           "automargin": true,
           "gridcolor": "white",
           "linecolor": "white",
           "ticks": "",
           "title": {
            "standoff": 15
           },
           "zerolinecolor": "white",
           "zerolinewidth": 2
          }
         }
        },
        "title": {
         "text": "2D Cosine Similarity Comparison With Fisher & Paykel - CG604DX1 - 60cm Gas on Steel Cooktop and Kelvinator - KSV50HWH - 5kW/6kW Reverse Cycle Split System"
        },
        "xaxis": {
         "title": {
          "text": "Comparing with Fisher & Paykel - CG604DX1 - 60cm Gas on Steel Cooktop"
         }
        },
        "yaxis": {
         "title": {
          "text": "Comparing with Kelvinator - KSV50HWH - 5kW/6kW Reverse Cycle Split System"
         }
        }
       }
      },
      "text/html": [
       "<div>\n",
       "        \n",
       "        \n",
       "            <div id=\"49c6a748-1905-47e4-b01a-b51c5b60c75b\" class=\"plotly-graph-div\" style=\"height:525px; width:100%;\"></div>\n",
       "            <script type=\"text/javascript\">\n",
       "                require([\"plotly\"], function(Plotly) {\n",
       "                    window.PLOTLYENV=window.PLOTLYENV || {};\n",
       "                    \n",
       "                if (document.getElementById(\"49c6a748-1905-47e4-b01a-b51c5b60c75b\")) {\n",
       "                    Plotly.newPlot(\n",
       "                        '49c6a748-1905-47e4-b01a-b51c5b60c75b',\n",
       "                        [{\"mode\": \"markers+text\", \"name\": \"name_vector_\", \"text\": [\"Fisher & Paykel - CG604DX1 - 60cm Gas on Steel Cooktop\", \"Kelvinator - KSV50HWH - 5kW/6kW Reverse Cycle Split System\", \"Philips - HC5612/15 - Washable Hair Clipper\", \"LG - GS-B680DSLE - 679L Side-by-Side Fridge  \", \"Asko - DBI654IB.S - XL 60cm Built-in Dishwasher  \", \"Panasonic - Wireless CD Hi-Fi System - SC-PMX152GNS\", \"Sunbeam - EM5300K - Barista Max Espresso Machine - Black\", \"JBL - Charge 4 Blue - Portable Bluetooth Speaker  \", \"Husky - HUS-C3-840 - 307L Bar Fridge - Silver\", \"Alogic - MF-AUS2PC7-02 - 2m Aus 2 Pin Mains Plug to IEC C7\", \"Westinghouse WHI943BC - 90cm 4 Zone Induction Cooktop\", \"Logitech - G213 Prodigy RGB Gaming Keyboard - 920-008096\", \"Panasonic - RP-HTX80BE-K - Bluetooth\\u00ae Wireless Headphones - Black\", \"Philips - AT10/00 - Wireless Portable Radio\", \"Samsung - MU-PC500T - 500GB Portable SSD T7 USB3.2 - Titan Gray\", \"Glem - CK52UCF - 52cm Under Cupboard Rangehood\", \"One For All - SV 1730 - Wireless 5.8Ghz TV Sender\", \"Sharp - 1000W Convection Microwave - R995DW\", \"Miele - SMD 10 - Mattress Nozzle\", \"Smeg - C6CMXA8 - 60cm Electric Upright Cooker\"], \"type\": \"scatter\", \"x\": [1.0, 0.217, 0.277, 0.392, 0.462, 0.237, 0.204, 0.105, 0.287, 0.166, 0.344, 0.242, 0.255, 0.159, 0.072, 0.413, 0.19, 0.308, 0.178, 0.531], \"y\": [0.217, 1.0, 0.285, 0.35, 0.217, 0.28, 0.22, 0.184, 0.299, 0.179, 0.255, 0.166, 0.194, 0.133, 0.116, 0.323, 0.265, 0.386, 0.135, 0.377]}],\n",
       "                        {\"template\": {\"data\": {\"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"bar\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"barpolar\"}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"choropleth\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"choropleth\"}], \"contour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"contour\"}], \"contourcarpet\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"contourcarpet\"}], \"heatmap\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmap\"}], \"heatmapgl\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmapgl\"}], \"histogram\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"histogram\"}], \"histogram2d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2d\"}], \"histogram2dcontour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2dcontour\"}], \"mesh3d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"mesh3d\"}], \"parcoords\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"parcoords\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}], \"scatter\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter\"}], \"scatter3d\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter3d\"}], \"scattercarpet\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattercarpet\"}], \"scattergeo\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergeo\"}], \"scattergl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergl\"}], \"scattermapbox\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattermapbox\"}], \"scatterpolar\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolar\"}], \"scatterpolargl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolargl\"}], \"scatterternary\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterternary\"}], \"surface\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"surface\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}]}, \"layout\": {\"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]], \"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}, \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"geo\": {\"bgcolor\": \"white\", \"lakecolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"showlakes\": true, \"showland\": true, \"subunitcolor\": \"white\"}, \"hoverlabel\": {\"align\": \"left\"}, \"hovermode\": \"closest\", \"mapbox\": {\"style\": \"light\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"ternary\": {\"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"title\": {\"x\": 0.05}, \"xaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}, \"yaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}}}, \"title\": {\"text\": \"2D Cosine Similarity Comparison With Fisher & Paykel - CG604DX1 - 60cm Gas on Steel Cooktop and Kelvinator - KSV50HWH - 5kW/6kW Reverse Cycle Split System\"}, \"xaxis\": {\"title\": {\"text\": \"Comparing with Fisher & Paykel - CG604DX1 - 60cm Gas on Steel Cooktop\"}}, \"yaxis\": {\"title\": {\"text\": \"Comparing with Kelvinator - KSV50HWH - 5kW/6kW Reverse Cycle Split System\"}}},\n",
       "                        {\"responsive\": true}\n",
       "                    ).then(function(){\n",
       "                            \n",
       "var gd = document.getElementById('49c6a748-1905-47e4-b01a-b51c5b60c75b');\n",
       "var x = new MutationObserver(function (mutations, observer) {{\n",
       "        var display = window.getComputedStyle(gd).display;\n",
       "        if (!display || display === 'none') {{\n",
       "            console.log([gd, 'removed!']);\n",
       "            Plotly.purge(gd);\n",
       "            observer.disconnect();\n",
       "        }}\n",
       "}});\n",
       "\n",
       "// Listen for the removal of the full notebook cells\n",
       "var notebookContainer = gd.closest('#notebook-container');\n",
       "if (notebookContainer) {{\n",
       "    x.observe(notebookContainer, {childList: true});\n",
       "}}\n",
       "\n",
       "// Listen for the clearing of the current output cell\n",
       "var outputEl = gd.closest('.output');\n",
       "if (outputEl) {{\n",
       "    x.observe(outputEl, {childList: true});\n",
       "}}\n",
       "\n",
       "                        })\n",
       "                };\n",
       "                });\n",
       "            </script>\n",
       "        </div>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "vi_client.plot_2d_cosine_similarity(docs[:20], docs[:2], vector_fields='name_vector_', label='name')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Clean up"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Clean up and delete the collections and aggregations."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': 'complete', 'message': 'aggregation_ecommerce stopped'}"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "{'status': 'complete', 'message': 'aggregation_ecommerce deleted'}"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "{'status': 'complete', 'message': 'aggregated_ecommerce deleted'}"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "vi_client.stop_aggregation(aggregation_name)\n",
    "vi_client.delete_published_aggregation(aggregation_name)\n",
    "vi_client.delete_collection(aggregated_collection_name)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "celltoolbar": "Edit Metadata",
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
